]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
e3d4b5482ff9a29a0311db1f634ca7d013ac3038
[~andy/gtk] / ChangeLog.pre-2-10
1 Fri Jun 29 03:14:16 2001  Jonathan Blandford  <jrb@webwynk.net>
2
3         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
4         add path argument to selection callbacks.
5
6 Fri Jun 29 00:13:34 2001  Jonathan Blandford  <jrb@redhat.com>
7
8         * gtk/gtktreemodel.c (gtk_tree_model_foreach): New function to
9         walk through a model in a depth first manner, with the option to
10         break out.
11
12 Fri Jun  8 18:52:10 2001  Jonathan Blandford  <jrb@redhat.com>
13
14         * gtk/gtktreeview.[hc]: Patch Thomas Broyer from
15         <tbroyer@ltgt.net>. Expander arrows are now attached to a specific
16         column and follow it when draged, rather than a location in the
17         view. "expander_column" property and drawing functions changed
18         accordingly.  Fixes bug #55942.
19
20         (gtk_tree_view_{set,get}_expander_column): Now works with a
21         GtkTreeViewColumn* instead of int.
22
23 Thu Jun 28 22:53:18 2001  Owen Taylor  <otaylor@redhat.com>
24
25         *  gdk/gdk.c gtk/gtktypeutils.c: Fix args to g_type_init(). 
26
27 2001-06-28  Havoc Pennington  <hp@pobox.com>
28
29         * gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): Clip the retrieved
30         image data to the screen, using a server grab to avoid race
31         conditions.
32
33         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove 
34         check for NULL return from gtk_image_new_from_stock(), it never
35         returns NULL.
36         (gtk_item_factory_create_item): fix bug where we parsed the stock
37         ID as an inline pixbuf
38
39         * gtk/gtktext.c (gtk_text_key_press): numeric keypad support
40
41         * gtk/gtkspinbutton.c (gtk_spin_button_key_press): numeric keypad
42         support (should be using binding set here)
43
44         * gtk/gtkoptionmenu.c (gtk_option_menu_key_press): numeric keypad
45         support (should be using binding set here)
46
47         * gtk/gtkmenushell.c (gtk_menu_shell_class_init): numeric keypad 
48         support
49
50         * gtk/gtkmenu.c (gtk_menu_class_init): numeric keypad support
51
52         * gtk/gtkmenubar.c (gtk_menu_bar_class_init): numeric keypad
53
54         * gtk/gtklistitem.c (gtk_list_item_class_init): numeric keypad
55
56         * gtk/gtkimcontextsimple.c
57         (gtk_im_context_simple_filter_keypress): keypad
58
59         * gtk/gtkfilesel.c (gtk_file_selection_key_press): keypad 
60
61         * gtk/gtkentry.c (gtk_entry_class_init): numeric keypad fixes
62
63         * gtk/gtkctree.c (gtk_ctree_class_init): numeric keypad support
64
65         * gtk/gtkcolorsel.c (palette_activate): keypad support (of course,
66         should be binding-setted)
67
68         * gtk/gtkwindow.c (gtk_window_class_init): numeric keypad fixes
69
70         * gtk/gtkclist.c (gtk_clist_class_init): numeric keypad fixes
71
72         * gtk/gtkcalendar.c: numeric keypad fixes
73
74         * gtk/gtktextview.c (gtk_text_view_class_init): numeric keypad
75         support
76
77         * gdk/gdkwindow.c (gdk_window_get_clip_region): fix infinite loop
78         screwup
79
80         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha): 
81         clip the render area to the drawable's clip region in advance,
82         so we don't get data from the server that we don't need.
83
84         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
85         check return value of gdk_pixbuf_get_from_drawable(), fall back 
86         to bilevel alpha if we can't get the pixbuf to composite against.
87
88         * gdk/gdkdraw.c (gdk_drawable_get_image): set the image colormap
89
90         * gdk/gdkimage.c (gdk_image_get_colormap): add
91         gdk_image_set_colormap, gdk_image_get_colormap
92
93         * gdk/gdkpixbuf-drawable.c (rgbconvert): Change all converters to
94         take a region of the image, instead of converting the entire
95         image.
96
97         * gtk/gtkwidget.h (struct _GtkWidgetClass): add show_help
98         keybinding signal. Add default bindings for it. Add default
99         handler for show_help that shows the tooltip for the widget.
100
101         * gtk/gtkdialog.c (gtk_dialog_class_init): add binding set and
102         "close" keybinding signal, remove key press handler.
103
104         * gtk/gtktooltips.c (gtk_tooltips_set_colors): Just remove this,
105         it's not our usual practice to leave a deprecated function around
106         with a runtime warning, plus we don't want it to appear in docs,
107         plus if we make them yellow no one will want to change them
108         anyhow.
109
110 Thu Jun 28 23:53:31 2001  Tim Janik  <timj@gtk.org>
111
112         * gtk/gtkwidget.c (gtk_widget_hide): !GTK_OBJECT_DESTROYED() ->
113         GTK_WIDGET_REALIZE() for resize queueing.
114
115         * gtk/gtkmain.c (gtk_main_do_event): !GTK_OBJECT_DESTROYED() ->
116         GTK_WIDGET_REALIZE() for post event delivery destruction upon
117         GDK_DESTROY.
118         
119         * gtk/gtkwidget.c: added GtkWidget::event-after notification signal, to
120         sompensate for former (pre-2.0) connect_after() facility.
121         (gtk_widget_send_expose): 
122         (gtk_widget_event): assert the widget is realized, since event delivery
123         to non-realized widgets is essentially a bug. event handlers should
124         be able to unconditionally rely on widget->window (unless they
125         emit events on their own which can trigger widget destruction).
126         (gtk_widget_event_internal): removed old outdated GTK_OBJECT_DESTROYED()
127         logic. event delivery happens as follows:
128         a) emission of GtkWidget::event (RUN_LAST handler). returns was_handled.
129         b) if !was_handled in (a) and the widget is still realized, emit event-
130            specific signal (RUN_LAST handler). returns was_handled.
131         c) emission of GtkWidget::event-after for notification if the widget is
132            still realized (regardless of was_handled from previous stages, no
133            class handler). no return value.
134         d) was_handled gets passed on to caller, to determine further
135            propagation. if the widget got unrealized meanwhile, was_handled
136            is returned as TRUE.
137
138         * gdk/gdkevents.[hc]: added gdk_event_get_root_coords() and
139         gdk_event_get_coords().
140
141 Thu Jun 28 17:18:41 2001  Tim Janik  <timj@gtk.org>
142
143         * configure.in (GTK_MICRO_VERSION): up version to 1.3.7, interface
144         age 0, binary age 0. depend on glib 1.3.7.
145
146         * gtk/gtkcontainer.c: remove g_signal_handlers_disconnect_by_func() hack.
147
148         * gtk/gtkmenubar.c: same here.
149         
150         * gtk/gtkcontainer.c (gtk_container_focus_tab): fix param-spec retrival.
151
152         * gtk/gtkcolorsel.c (gtk_color_selection_init): fix connect_data() usage.
153
154         * gtk/gtkentry.c (gtk_entry_focus_in): same here.
155         
156         * gtk/gtkmenubar.c (add_to_window): likewise.
157         
158         * gtk/gtktextbtree.c: and here...
159         
160         * gtk/gtktextview.c (gtk_text_view_ensure_layout): same thing.
161         
162         * gtk/gtktoolbar.c (gtk_toolbar_init): once more.
163         
164         * gtk/gtktreemodel.c (connect_ref_callbacks): and another time.
165         
166         * gtk/gtktreeviewcolumn.c:
167         (_gtk_tree_view_column_set_tree_view): yet again.
168
169         * demos/gtk-demo/images.c (progressive_timeout): demonstrate
170         signal connections without g_signal_connect_data().
171         
172         * demos/gtk-demo/stock_browser.c (do_stock_browser): second
173         demo of the matter.
174         
175         * demos/testpixbuf.c (main): running out of equality phrases for the
176         ChangeLog, but had to adapt connections here as well.
177         
178         * demos/testanimation.c (progressive_timeout): and for the fun of it,
179         tackled this the same way.
180         
181         * tests/testtext.c (create_view): ok, it's becoming a pain at this
182         point, but had enough enery for one more fix.
183
184         * tests/testtreecolumns.c (main): stand up man, do your work!
185
186         * tests/testtreeview.c (set_columns_type): ok, this is the last file i
187         fix, either that's been all of it or CVS gtk is broken yet again.
188         
189 2001-06-29  James Henstridge  <james@daa.com.au>
190
191         The following changes correspond to bug #56812
192
193         * gdk/gdkinput.h, gdk/gdkevents.c (GDK_TYPE_DEVICE): register type
194         code for GdkDevice.
195
196         * gdk/gdkcursor.[ch] (GDK_TYPE_CURSOR): register type code for
197         GdkCursor.
198
199 2001-06-19  Havoc Pennington  <hp@pobox.com>
200
201         * gdk/x11/gdkwindow-x11.c (gdk_window_show_unraised): new function
202         for mapping a window without fooling with stacking order, but
203         updating the "withdrawn" flag
204
205         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Do event
206         filtering as soon as possible, moving move resize and wmspec_check
207         handling after the event filter.  Make default filter apply to all
208         events, not just those with no GdkWindow wrapped around the X
209         window. Fix a FIXME about how the window could be a pixmap using 
210         RTTI; this of course assumes GDK_IS_WINDOW() is optimized. 
211
212         Also, be robust against events not on a known GdkWindow.
213
214         * gdk/x11/gdkmain-x11.c (gdk_x11_grab_server,
215         gdk_x11_ungrab_server): export reference-counted server grabs, so
216         other people can grab server over a GDK function that also does
217         so.
218
219 Wed Jun 27 19:40:31 2001  Jonathan Blandford  <jrb@redhat.com>
220
221         * gtk/gtktreeviewcolumn.c
222         (gtk_tree_view_column_pack_start_cell_renderer): New function to
223         reflect that you can (hypothetically) pack cell renderers into a
224         column.
225         (gtk_tree_view_column_pack_end_cell_renderer): ditto.
226         (gtk_tree_view_column_cell_is_visible): Move more functionality to
227         the column.
228         (gtk_tree_view_column_cell_can_focus): Move more functionality to
229         the column.
230
231         * gtk/gtktreeview.c: Move to use new column-packing code.
232         (gtk_tree_view_real_expand_row): remove totally braindead code.
233         (gtk_tree_view_real_collapse_row): ditto.
234
235 2001-06-27  Kjartan Maraas  <kmaraas@gnome.org>
236
237         * gtk/gtktreeviewcolumn.c: Fix a typo.
238         
239 2001-06-26  Joel Becker  <jlbec@evilplan.org>
240
241         * gdk-pixbuf/gdk-pixbuf-csource.c: remove '#include "x"' line
242           at the end of the file
243
244 2001-06-26  Havoc Pennington  <hp@redhat.com>
245
246         * gtk/gtkwindow.c (gtk_window_set_policy): forgot a notification
247
248 2001-06-26  Havoc Pennington  <hp@redhat.com>
249
250         * gtk/gtkwindow.c (gtk_window_class_init): add "resizable"
251         property
252
253 Tue Jun 26 12:59:28 2001  Jonathan Blandford  <jrb@redhat.com>
254
255         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): fix
256         stupid missing statement
257
258         * gtk/gtktreeview.c (gtk_tree_view_set_destroy_count_func): New
259         private function for ATK.  It notifies you of how many _visible_
260         children are deleted when a node is deleted.  Should be used by
261         atk only.
262
263 Tue Jun 26 11:06:34 2001  Owen Taylor  <otaylor@redhat.com>
264
265         * gtk/gtkclist.c gtk/gtkentry.c gtk/gtkspinbutton.c:
266         Use new pango_context_get_metrics() to fix problems
267         with font lists in descriptions. (#56184, reported by
268         Jonas Borgström)
269
270 Tue Jun 26 10:04:30 2001  Tim Janik  <timj@gtk.org>
271
272         * gtk/gtkiconfactory.c:
273         * gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up
274         item factory so inlined pixbufs actually work.
275
276 2001-06-25  Havoc Pennington  <hp@redhat.com>
277
278         * gtk/gtktreeviewcolumn.h, gtk/gtktreeviewcolumn.c:
279         s/RESIZEABLE/RESIZABLE/
280
281         * gtk/gtkwindow.c, gtk/gtkwindow.h: s/resizeable/resizable/
282
283 2001-06-25  Alexander Larsson  <alexl@redhat.com>
284
285         * configure.in:
286         Added --enable-fbmanager. This is some experimental code
287         that lets several GtkFB apps coordinate their access to the
288         framebuffer.
289         
290         * acconfig.h:
291         Added ENABLE_FB_MANAGER.
292
293         * gdk/linux-fb/Makefile.am:
294         Added gdkfbmanager and gdkfbswitch.
295
296         * gdk/linux-fb/gdkkeyboard-fb.c:
297         * gdk/linux-fb/gdkmouse-fb.c:
298         * gdk/linux-fb/gdkprivate-fb.h:
299         Split device init and open so that
300         they can be opened and closed while switched
301         away.
302
303         * gdk/linux-fb/gdkmain-fb.c:
304         Add the basic manager communication.
305
306         * gdk/linux-fb/gdkrender-fb.c:
307         Don't update to the shadow fb if we're
308         blocked by the fb manager.
309
310 Sun Jun 24 22:15:16 2001  Owen Taylor  <otaylor@redhat.com>
311
312         * docs/Changes-2.0.txt: Add note about child property
313         changes.
314
315 Sun Jun 24 21:34:32 2001  Owen Taylor  <otaylor@redhat.com>
316
317         * gtk/gtkenums.h gtk/gtkiconfactory.c: Add a special size for
318         drag-and-drop GTK_ICON_SIZE_DND (Default to 32x32)
319
320         * gtk/gtkdnd.c (gtk_drag_dest_set_target_list): Fix problem
321         with un'reffing wrong list reported by Jeff Franks.
322
323         * gtk/gtkdnd.[ch] (_gtk_drag_{source,}dest_handle_event): _prefix.
324
325         * gtk/gtkdnd.c (gtk_drag_set_icon_default): Use GTK_STOCK_DND
326         for the default icon. Remove inline XPM.
327
328         * gtk/gtkstock.h gtk/gtkiconfactory.c:
329         Add GTK_STOCK_DND GTK_STOCK_DND_MULTIPLE (Currently, stock_new
330         is used for GTK_STOCK_DND, but it is a bit too small.)
331
332         * gtk/stock-icons/stock_dnd_multiple.png
333         gtk/stock-icons/Makefile.am: New stock icon moved from gnome-libs.
334
335         * gtk/gtkdnd.c (gtk_drag_source_event_cb): Only return
336         TRUE when starting a drag. In other cases, we are
337         just observing. (#52995)
338
339         * gtk/gtkdnd.[ch] (gtk_drag_set_icon_{stock,pixbuf}): Add 
340         function to set the icon for a drag from a GdkPixbuf
341         or stock ID.
342
343         * gtk/gtkdnd.[ch] (gtk_drag_source_set_icon_{stock,pixbuf}): 
344         Likewise, for drag sources.
345
346         * gtk/gtkdnd.h: Deprecate gtk_drag_set_default_icon.
347         (Now should be done using the stock system.)
348
349 Sun Jun 24 12:06:47 2001  Owen Taylor  <otaylor@redhat.com>
350
351         * gtk/gtktextview.[ch] (gtk_text_view_set_text_window_size): 
352         Removed - didn't work and not particularly useful anyways
353         if it did. 
354
355 Sun Jun 24 11:29:35 2001  Owen Taylor  <otaylor@redhat.com>
356
357         * gdk/x11/gdkimage-x11.c (gdk_image_new): Fix stupid error
358         introduced last night that was making things decidedly not work.
359
360         * gtk/*.[ch]: Patch from Kristian Rietveld adding 80 getters
361         so that we have getter/setter pairing everywhere it makes
362         sense. (#55767)
363
364         * gtk/gtkradiobutton.[ch] gtk/gtktoolbar.c tests/testgtk.:
365         Rename gtk_radio_button_group to gtk_radio_button_get_group, add a
366         deprecated compat macro. (#55516)
367
368         * gtk/gtklabel.[ch]: Add functions
369         gtk_label_set/get_use_underline(), gtk_label_set/get_use_markup(),
370         gtk_label_set_label(), which mirror the property API for GtkLabel.
371         Make gtk_label_get_attributes() only reflect the attributes
372         set by gtk_label_set_attributes.
373
374         * gtk/gtknotebook.c (gtk_notebook_set_current_page) gtk/gtkcompat.h: Rename
375         from gtk_notebook_set_page().
376
377 Sat Jun 23 18:02:46 2001  Owen Taylor  <otaylor@redhat.com>
378
379         * configure.in: Fix tests for XShm.h.
380
381         * gdk/x11/gdkimage-x11.c: Cleanup error handling in
382         gdk_image_new() by use of goto, properly use g_object_unref().
383
384 Sat Jun 23 22:03:20 2001  Tim Janik  <timj@gtk.org>
385
386         * gdk/x11/gdkimage-x11.c (gdk_image_init): disabled g_free (image)
387         calls, as GdkImage is an object. these should be g_obejct_unref()
388         instead but that won't work because of the g_error() statement
389         in gdk_x11_image_destroy(). so for now, i did s/g_free/LEAK_IMAGE/
390         to spot these places.
391
392 Sat Jun 23 10:27:53 2001  Owen Taylor  <otaylor@redhat.com>
393
394         * modules/input/gtkimcontextxim.c: Fixup some problems with 
395         text length handling in error cases.
396
397         * gtk/gtkwidget.c (gtk_widget_size_allocate): Reorder
398         a bit to make test actually warn on attempt to allocation
399         a negative size. (#56101, Matthias Clasen)
400
401 Fri Jun 22 14:06:08 2001  Jonathan Blandford  <jrb@redhat.com>
402
403         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug
404         noticed by Brian Cameron.
405         (gtk_tree_view_real_expand_row): Fix bug noticed by Brian
406         Cameron.
407
408 2001-06-22  Hans Breuer  <hans@breuer.org>
409
410         * gdk/gdk.def : updated externals
411
412         * gdk/win32/gdkdrawable-win32.c : corrected some casts
413         in GDK_NOTEs
414
415         * gdk/win32/gdkevents-win32.c : use _gdk_windowing_window_get_offsets
416         to translate coordinates to the internal > 16 bit system
417         Try to handle WM_WINDOWPOSCHANGED to get better performance for
418         when moving/resizing
419
420         * gdk/win32/gdkkeys-win32.c : implement gdk_keymap_get_default ()
421         and gdk_keymap_get_direction (). The latter is untested for
422         the RTL case
423
424         * gtk/gtk.def : updated externals
425
426         * gtk/gtkmain.c : gtk_get_default_language () should reurn the result
427         from pango_language_from_string (), not an already freed pointer
428
429         * gtk/stock-icons/stock_menu_sort_ascending.png : PNGs need to be 
430         binary (-kb) to be useable on windoze
431  
432 2001-06-21  Alexander Larsson  <alexl@redhat.com>
433
434         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description): 
435         Update to new PangoLanguage changes.
436         
437         * gtk/gtkwindow-decorate.c:
438         * gtk/gtkwindow.[ch]:
439         Added setting argument to gtk_window_set_has_frame ()
440         
441 Thu Jun 21 13:42:01 2001  Owen Taylor  <otaylor@redhat.com>
442
443         * gdk/x11/gdkkeys-x11.c (gdk_keymap_get_direction): Handle
444         the case without XKB properly.
445
446         * gtk/gtkrc.c (gtk_rc_set_default_files): Remove
447         unused gtk_rc_auto_parse variable.
448
449         * gtk/gtkrc.[ch] gtk/gtkstyle.c docs/Changes-2.0.txt:
450         Remove gtk_rc_set_image_loader(), gtk_rc_load_image(), no
451         longer needed with GdkPixbuf.
452
453         * gtk/gtkrc.c (_gtk_rc_init): Make private.
454
455 Fri Jun 15 16:26:12 2001  Owen Taylor  <otaylor@redhat.com>
456
457         * gtk/gtkentry.h: Mark deprecated functions with
458         GTK_DISABLE_DEPRECATED.
459
460 Mon Jun 11 18:15:16 2001  Owen Taylor  <otaylor@redhat.com>
461
462         * gdk/gdk.h: Add missing gdk_rectangle_get_type() prototype.
463
464         * gtk/gtk[hv]scale.c: Include math.h, stdlib.h
465
466         * gdk/gdkpango.h gtk/gtkclist.c gtk/gtkentry.c gtk/gtkmain.[ch]
467           gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtktextbuffer.c
468           gtk/gtktextdisplay.c gtk/gtktextiter.[ch]
469           gtk/gtktextlayout.c gtk/gtktexttag.[ch] gtk/gtkwidget.c: Adapt
470           to recent changes in Pango.
471
472         * tests/testgtk.c: Set language tags with gtk_label_set_markup()
473           to test whether the basic engine honors them.
474
475 Thu Jun 21 02:13:40 2001  Tim Janik  <timj@gtk.org>
476
477         * gtk/gtkcontainer.[hc]: added gtk_container_child_set_property() and
478         gtk_container_child_get_property().
479
480 Wed Jun 20 19:19:15 2001  Jonathan Blandford  <jrb@redhat.com>
481
482         * gtk/gtktreeview.c (gtk_tree_view_move_cursor_up_down): clean up
483         (gtk_tree_view_move_cursor_page_up_down): implement.
484
485 Wed Jun 20 05:32:05 2001  Tim Janik  <timj@gtk.org>
486
487         * gtk/gtkspinbutton.c: make maximum digits compile time configurable
488         via MAX_DIGITS and up to 20. 5 was just ridiculously small.
489         don't use automatic fixed size buffer for printf-ing floats, doubles
490         can expand to really _huge_ strings, use g_strdup_printf() instead.
491
492 Wed Jun 20 04:28:24 2001  Tim Janik  <timj@gtk.org>
493
494         * gtk/gtkrange.c (gtk_range_class_init): hum, "adjustment" was a
495         construct property in 1.2 and still needs to be.
496
497         * gtk/gtkwidget.c: "composite_child" is not a settable property.
498
499 Tue Jun 19 19:13:19 2001  Jonathan Blandford  <jrb@redhat.com>
500
501         * gtk/gtkliststore.c (gtk_list_store_clear): 
502         * gtk/gtktreestore.c (gtk_tree_store_clear): New functions to
503         clear a model.
504
505 Mon Jun 18 02:00:49 2001  Tim Janik  <timj@gtk.org>
506
507         * gtk/gtkwidget.c (gtk_widget_get_property): fix PROP_EVENTS.
508
509         * gtk/Makefile.am:
510         * gtk/gtk.h: disabled GtkPacker compilation.
511
512         * gtk/gtkarg.[hc], gtk/gtkargcollector.c: got rid of these.
513
514         * gtk/gtknotebook.c:
515         * gtk/gtktable.c:
516         * gtk/gtkbox.c: ported this over to child properties.
517
518         * gtk/gtksettings.c: fetch class properties via
519         g_object_class_list_properties().
520
521         * gtk/gtkcontainer.[hc]: implemented child properties, got rid of the
522         child arg interface. use gobjectnotifyqueue.c for child property
523         notification.
524
525         * gtk/gtkwidget.[hc]: provide necessary means for container child
526         properties, i.e. ::child_notify signal,
527         gtk_widget_freeze_child_notify(),
528         gtk_widget_child_notify(),
529         gtk_widget_thaw_child_notify().
530
531         * tests/testgtk.c: removed inferior property handling code, for
532         property editing, a generic module should be used, and GLE
533         coincidentally fullfills that purpose.
534
535         * docs/reference/Makefile.am: disabled gtk docs building, gtk-doc
536         needs to be adapted to g_object_class_list_properties() before this
537         builds again.
538
539 Mon Jun 18 20:06:10 2001  Jonathan Blandford  <jrb@redhat.com>
540
541         * gtk/gtktreeview.c (gtk_tree_view_row_expanded): New function to
542         test if a node is expanded.
543
544 Mon Jun 18 19:41:38 2001  Jonathan Blandford  <jrb@redhat.com>
545
546         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug
547         where collapsing a selected row would result in the cursor/anchor
548         getting screwed up.
549
550 Fri Jun 15 18:53:48 2001  Jonathan Blandford  <jrb@redhat.com>
551
552         * gtk/gtktreesortable.c (gtk_tree_sortable_set_sort_func): Rename
553         gtk_tree_sortable_sort_column_id_set_func.  It's much shorter now.
554         * gtk/gtktreeview.c (gtk_tree_view_sort_iter_changed): WOOO!!!
555         Now I can really reorder/sort all Store widgets.  treesorttest
556         seems to just work now.
557         * gtk/gtklistview.c (gtk_list_store_iter_changed): Whoops.
558         testtreesort worked through a big coincidence all this time.
559         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Nasty bug fix in nasty
560         code.
561         * tests/testtreecolumns.c: Big 'ol warning at the top letting
562         people know that this code should never ever ever be copied.
563
564 2001-06-15  Jonas Borgström  <jonas@codefactory.se>
565
566         * gtk/gtkwindow.h: Fixed a small typo, it should be
567         GTK_WINDOW_GROUP_GET_CLASS and not GTK_WINDOW_GET_CLASS
568         on line 134.
569
570 2001-06-14  Havoc Pennington  <hp@redhat.com>
571
572         Docs fixups, and:
573         
574         * gtk/gtkcompat.h: remove GTK_DISABLE_COMPAT_H, replace with
575         GTK_DISABLE_DEPRECATED
576
577 Thu Jun 14 19:21:27 2001  Jonathan Blandford  <jrb@redhat.com>
578
579         * gtk/gtktreestore.c (gtk_tree_store_sort_helper): Whoops.  Forgot
580         this a couple months ago.  Now GtkTreeStore sort of sorts.  I'll
581         finish it off tonight, though it basically works now when it's a
582         list.  Also, I have a sinking feeling neither GtkTreeStore or
583         GtkListStore actually resort when adding a new item.  I'll look
584         into it.
585
586 2001-06-14  Havoc Pennington  <hp@redhat.com>
587
588         * demos/gtk-demo/main.c (load_file): fix bug identified by
589         warnings I just added to gtktextbuffer
590
591 2001-06-14  Havoc Pennington  <hp@redhat.com>
592
593         * gtk/gtkwindow.c (window_group_cleanup_grabs): fix other typo
594
595         * gtk/gtkwidget.c (gtk_widget_propagate_state): fix typo
596
597         * gtk/gtktextbtree.c: don't leak node data all over the place.
598
599         * demos/gtk-demo/main.c (main): create fontify tags for the right
600         buffer
601
602         * gtk/gtktextbuffer.c, gtk/gtktexttagtable.c: enhance docs
603         to mention tags in the same table can't have the same name,
604         suggested by Skip Montanaro
605
606 2001-06-11  Havoc Pennington  <hp@redhat.com>
607
608         * gtk/gtktexttagtable.c (gtk_text_tag_table_add): improve warning 
609         for trying to add two tags with same name to the tag table
610
611         * demos/gtk-demo/main.c (main): fix colors ;-)
612
613 `Fri Jun  8 17:56:52 2001  Owen Taylor  <otaylor@redhat.com>
614
615         * gtk/gtkwindow.[ch] gtk/gtkmain.c: Add a GtkWindowGroup struct
616         that allows grouping together multiple windows so that grabs
617         within that set of windows only affect those windows.
618
619         * gtk/gtkmain.c gtk/gtkwidget.[ch]: Add a "grab_notify"
620         signal for notification when a widget becomes shadowed
621         by a grab or is no longer shadowed by a grab.
622
623         * gtk/gtkwidget.c (gtk_widget_propagate_state)
624           gtk/gtkmain.c: (gtk_widget_grab_add): Don't allow
625         insenstive widgets to maintain a grab.
626
627 2001-06-14  Alexander Larsson  <alexl@redhat.com>
628
629         * docs/README.linux-fb:
630         Add some example config files that can be used with the URW fonts.
631         
632         * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init): 
633         Set up the color ramps for DirectColor mode.
634
635 2001-06-11  Havoc Pennington  <hp@redhat.com>
636
637         * Release 1.3.6
638          
639 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
640
641         * gdk/linux-fb/gdkwindow-fb.c:
642         Unify shaped window code and make it repaint the area that used
643         to be part of the shape, but isn't anymore.
644
645 2001-06-11  Havoc Pennington  <hp@redhat.com>
646
647         * NEWS: Updates
648
649         * configure.in (GTK_MINOR_VERSION): bump version to 1.3.6
650
651         * gtk/Makefile.am: glib_genmarshal already contains top_builddir
652         
653 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
654
655         * gdk/linux-fb/gdkdnd-fb.c (gdk_drag_status):
656         Don't pass on GDK_ACTION_DEFAULT. The Xdnd code
657         passes zero instead, so do we.
658         
659 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
660
661         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
662         Deep copy dash_list too.
663         (_gdk_fb_gc_new): Set default cap_style before
664         setting values.
665
666 2001-06-12  Alexander Larsson  <alla@lysator.liu.se>
667
668         * gdk/linux-fb/gdkkeyboard-fb.c (gdk_keymap_get_default,
669         gdk_keymap_get_direction): New functions.
670
671 Tue Jun 12 12:41:27 2001  Jonathan Blandford  <jrb@redhat.com>
672
673         * gtk/gtktreemodel.h (GTK_TREE_MODEL_LIST_ONLY): further justify
674         gtk_tree_model_get_flags by adding a second flag for atk.
675
676         * gtk/gtktreemodel.c: make cursor behavior interact better with
677         mouse presses.
678
679 Mon Jun 11 12:43:08 2001  Jonathan Blandford  <jrb@redhat.com>
680
681         * gtk/gtktreeview.c (gtk_tree_view_class_init): changed
682         expand_row/collapse_row to be 2 signals each -- test_expand_row
683         and row_expanded as well as test_collapse_row and row_collapsed.
684
685 2001-06-10  Anders Carlsson  <andersca@codefactory.se>
686
687         * demos/gtk-demo/stock_browser.c (do_stock_browser): Update
688         signal name to be changed instead of selection_changed.
689
690 2001-06-08  Havoc Pennington  <hp@redhat.com>
691
692         * gtk/gtkentry.c (gtk_entry_class_init): add read-only
693         "scroll_offset" property for notification when the layout offsets
694         may have changed
695         (gtk_entry_adjust_scroll): add notify for scroll_offset
696         (gtk_entry_layout_index_to_text_index): function to compensate for
697         preedit string when doing coordinate stuff on the entry's layout
698         (gtk_entry_text_index_to_layout_index): inverse function
699         (gtk_entry_get_layout_offsets): hook to get current position of
700         the layout      
701         (gtk_entry_get_layout): hook to get the layout itself.
702
703         * gtk/gtklabel.c (gtk_label_get_layout): new function
704
705 Fri Jun  8 19:49:29 2001  Jonathan Blandford  <jrb@redhat.com>
706
707         * gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): New
708         keybinding.
709         (gtk_tree_view_focus): Fix merge conflict.
710
711 Fri Jun  8 18:41:30 2001  Jonathan Blandford  <jrb@redhat.com>
712
713         * gtk/gtktreeview.c (gtk_tree_view_set_cursor): new function to
714         clean up cursor handling.
715
716 2001-06-08  Havoc Pennington  <hp@redhat.com>
717
718         * gtk/gtktextbuffer.c (gtk_text_buffer_get_start_iter): added this
719         function
720
721         * gtk/gtktextview.c (gtk_text_view_get_default_attributes): added
722         this function
723
724 2001-06-08  Alex Larsson  <alexl@redhat.com>
725
726         * gtk/gtkcompat.h.in:
727         Added compat macros for all old GTK_TYPE_GDK_xxx types.
728         Fixes bug #52892
729
730 2001-06-08  Havoc Pennington  <hp@redhat.com>
731         
732         * gtk/gtkhsv.h (struct _GtkHSVClass): had GtkContainerClass as
733         parent still
734
735 2001-06-08  Havoc Pennington  <hp@redhat.com>
736
737         * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): geez,
738         don't call g_list funcs on GSList
739
740         * gtk/gtkwidget.c (gtk_widget_child_focus): replaces
741         gtk_container_focus(), since some widgets have focusable locations
742         which are not other widgets. These widgets should not have to be 
743         containers just to manage the focus. For example, GtkHSV is
744         currently a container for no good reason. Also, this cleans
745         up the "if (is_container && is_sensitive && is_drawable)
746         container_focus ()" mess in widget implementations.
747
748         * gtk/gtkcontainer.c (gtk_container_focus): deprecate this
749         function, and have it just call gtk_widget_child_focus().
750
751         * gtk/gtkhsv.c: derive from widget not container
752         
753         Throughout: fix to reflect GtkContainer::focus change
754         
755 Fri Jun  8 12:38:49 2001  Jonathan Blandford  <jrb@redhat.com>
756
757         * gtk/gtktable.c (gtk_table_resize): warn if row/cols are out of
758         range.  Fix bug #55921
759
760         * gtk/gtkliststore.c (gtk_list_store_new_with_types): fix doc bug
761         (#55920).
762
763 Fri Jun  8 12:03:07 2001  Owen Taylor  <otaylor@redhat.com>
764
765         * gdk/gdkkeys.[ch]: Add a direction-changed signal,
766         and gdk_keymap_get_current_direction().
767
768         * gdk/x11/gdkevents-x11.c gdk/x11/gdkkeys-x11.c
769           gdk/x11/gdkmain-x11.c gdk/x11/gdkprivate-x11.h: Track
770         the current locked group, use it to set the keymap
771         direction.
772
773         * gtk/gtksettings.c: Add a new gtk-split-cursor setting
774         to determine whether we draw a split cursor or use
775         a jumping cursor based on the current direction.
776
777         * gtk/gtkentry.c gtk/gtktextview.c gtk/gtktextlayout.[ch]:
778         Obey the split cursor setting. 
779
780 Fri Jun  8 11:57:50 2001  Owen Taylor  <otaylor@redhat.com>
781
782         * gtk/gtkimmulticontext.c (activate_cb): Only activate
783         when toggling on, not when toggling off... (#55906)
784
785 Wed Jun  6 10:37:07 2001  Owen Taylor  <otaylor@redhat.com>
786
787         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): 
788         s/gdk_window_begin_paint/gdk_window_begin_paint_region/
789         in docs. (#55812, Vitaly Tishkov)
790
791 2001-06-08  Anders Carlsson  <andersca@codefactory.se>
792
793         * demos/gtk-demo/main.c (create_tree): Changed signal name from
794         selection_changed to changed in signal connection to GtkTreeSelection,
795         also used g_signal_connectc since GtkTreeSelection is now a GObject.
796
797 Thu Jun  7 18:25:42 2001  Jonathan Blandford  <jrb@redhat.com>
798
799         * gtk/gtktreeselection.c: Now it's a GObject instead of a
800         GtkObject.  The GtkTreeSelection::selection_changed signal is now
801         the GtkTreeSelection::changed signal.
802
803         * gtk/gtktreeview.c: Modified to deal with new GtkTreeSelection
804         object.
805
806         * tests/gtktree*.c: Modified to deal with new GtkTreeSelection
807         object.
808
809 2001-06-07  Havoc Pennington  <hp@redhat.com>
810
811         * gtk/Makefile.am: fix glib-mkenums and glib-genmarshal again
812
813 2001-06-07  Havoc Pennington  <hp@redhat.com>
814         
815         * gtk/Makefile.am: fixups for glib-mkenums and glib-genmarshal
816         (not tested yet because with absolute path to srcdir I can't build
817         atk, but it was broken anyway so this may help) 
818
819 2001-06-07  Havoc Pennington  <hp@redhat.com>
820
821         * configure.in: output m4macros/Makefile
822         
823 Wed Jun  6 21:59:16 2001  Jonathan Blandford  <jrb@redhat.com>
824
825         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): hook up arrow
826         buttons.  Fixes #55460 reported by matthiasc@poet.de.
827
828 Wed Jun  6 21:18:54 2001  Jonathan Blandford  <jrb@redhat.com>
829
830         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): centralize
831         expansion/collapsing so it only happens in one place.
832         (gtk_tree_view_real_expand_row): ditto.
833
834 2001-06-07  Havoc Pennington  <hp@redhat.com>
835
836         * tests/Makefile.am: add missing -I flag
837
838         * gtk/Makefile.am: use @GLIB_MKENUMS@, @GLIB_GENMARSHAL@, etc.
839
840         * configure.in: use pkg-config to see if GModule is
841         supported; fix to properly turn on included loaders 
842         when GModule isn't supported; don't use AC_CHECK_LIB 
843         when libs are not installed yet
844
845         * autogen.sh: add support for AUTOGEN_SUBDIR_MODE
846
847         * Makefile.am (SUBDIRS): add m4macros subdir
848
849         * gtk/Makefile.am: $(srcdir)/foo targets must be $(srcdir)/foo in
850         dependencies also.
851
852 Wed Jun  6 19:31:11 2001  Jonathan Blandford  <jrb@redhat.com>
853
854         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix silly bug
855         reported by "Padraig O'Briain" <Padraig.Obriain@Sun.COM>.
856
857 Wed Jun  6 20:01:38 2001  Jonathan Blandford  <jrb@redhat.com>
858
859         * gtk/gtktreeview.c
860         (gtk_tree_view_real_expand_collapse_cursor_row): Handle key
861         bindings to expand and collapse rows.
862         (gtk_tree_view_real_select_cursor_parent): New key binding.
863         (gtk_tree_view_real_toggle_cursor_row): New key binding.
864
865         * gtk/gtkmarshal.list: new
866         marshaller. (VOID__BOOLEAN_BOOLEAN_BOOLEAN)
867
868 2001-06-06  Havoc Pennington  <hp@redhat.com>
869
870         * gtk/gtkrange.c (gtk_range_class_init): add "inverted" property
871
872         * gtk/gtkscale.c (gtk_scale_class_init): Change Page Up and Page
873         Down to move visually rather than logically, since it confuses 
874         people. Add -/+ and Ctrl--/+ bindings for logical movement.
875
876 2001-06-06  Alex Larsson  <alexl@redhat.com>
877
878         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
879         Fix up error messages.
880
881 Wed Jun  6 10:34:42 2001  Owen Taylor  <otaylor@redhat.com>
882
883         * gtk/gtktooltips.h: Include gtkwidget.h 
884         (#55798, Karl Nelson)
885
886         * gdk/x11/gdkwindow-x11.c (utf8_is_latin1): 0xff is
887         a valid latin-1 character. (Marc Lehmann, #35467)
888
889         * gdk/x11/gdkwindow-x11.c: Fix minor typo in comment. 
890         (Marc Lehmann, #35467)
891         
892 2001-06-05  Alex Larsson  <alexl@redhat.com>
893
894         * demos/gtk-demo/appwindow.c (do_appwindow):
895         Don't swap the order of the args to gtk_widget_destroyed.
896
897         * tests/testgtk.c (destroy_properties):
898         Don't crash when the properties window is destroyed.
899
900         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_from_stock):
901         Use with_mnemonics to handle the case of stock items with
902         underscores in them.
903
904 2001-06-05  Havoc Pennington  <hp@redhat.com>
905
906         * gtk/gtktextiter.c (gtk_text_iter_order): rename from 
907         gtk_text_iter_reorder
908
909 2001-06-05  Havoc Pennington  <hp@redhat.com>
910
911         * gtk/gtktoolbar.c (gtk_toolbar_remove_space): new function
912
913 2001-06-05  Havoc Pennington  <hp@redhat.com>
914
915         * gtk/gtkspinbutton.c (gtk_spin_button_set_range): clamp the value 
916         to the range that was set
917
918         * gtk/gtkrange.c: add value_changed signal, primarily 
919         intended for use with GtkScale
920         (gtk_range_set_increments): new function
921         (gtk_range_set_range): new function with weird name
922         (gtk_range_set_value): new function
923         (gtk_range_get_value): new function
924
925         * gtk/gtkspinbutton.c (gtk_spin_button_get_value): rename 
926         from gtk_spin_button_get_value_as_float(). Compat #define
927         added for get_value_as_float.
928
929         * gtk/gtkhscale.c (gtk_hscale_new_with_range): new function
930
931         * gtk/gtkvscale.c (gtk_vscale_new_with_range): new function
932
933 Tue Jun  5 14:57:18 2001  Jonathan Blandford  <jrb@redhat.com>
934
935         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_size): Fix bug #55573
936
937 Mon Jun  4 12:41:25 2001  Owen Taylor  <otaylor@redhat.com>
938
939         * gtk/gtkwidget.h: Deprecate gtk_widget_set().
940
941         * tests/testgtk.c (create_tooltips): Remove usage of
942         gtk_widget_set().
943
944 2001-06-05  Havoc Pennington  <hp@redhat.com>
945
946         * gtk/gtkcolorsel.c: Use new mnemonic convenience functions
947
948         Applying patch from Jeff Franks, with function docs added.
949         
950         * gtk/gtkcheckbutton.c (gtk_check_button_new_with_mnemonic):
951         remove call to set_mnemonic_widget, change docs a bit.  
952
953         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_with_mnemonic):
954         new function
955
956         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_new_with_mnemonic):
957         new function
958
959         * gtk/gtkmenuitem.c (gtk_menu_item_new_with_mnemonic): new function
960
961         * gtk/gtkradiobutton.c (gtk_radio_button_new_with_mnemonic): new
962         function
963         (gtk_radio_button_new_with_mnemonic_from_widget): new function
964
965         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_with_mnemonic):
966         new function
967
968         * gtk/gtktogglebutton.c (gtk_toggle_button_new_with_mnemonic): new
969         function        
970
971         * gtk/gtklabel.c (gtk_label_new_with_mnemonic): Improve docs on 
972         auto-selection of mnemonic widget.
973
974 Mon Jun  4 15:05:24 2001  Jonathan Blandford  <jrb@redhat.com>
975
976         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_max_width):
977         Fix segfault found by Vitaly Tishkov <tvv@sparc.spb.su>.
978         (gtk_tree_view_column_set_min_width): ditto.
979
980 Tue Jun  5 11:04:06 2001  Owen Taylor  <otaylor@redhat.com>
981
982         * gdk/gdkpixmap.h (GDK_PIXMAP_GET_CLASS): 
983         s/GdkPixmapClass/GdkPixmapObjectClass/. (#51890, Jeff Franks)
984
985 Mon Jun  4 12:50:11 2001  Owen Taylor  <otaylor@redhat.com>
986
987         * gtk/gtkctree.c (gtk_ctree_insert_gnode): Add a missing
988         gtk_clist_thaw().
989
990 2001-06-04  Havoc Pennington  <hp@pobox.com>
991
992         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore 
993         releases for buttons 6, 7
994
995 2001-06-04  Havoc Pennington  <hp@redhat.com>
996
997         * gtk/gtkseparatormenuitem.h: Fix a search-and-replace screwup
998         (s/CHECK/SEPARATOR/ gone awry). Patch from Jeff Franks, bug
999         #55562
1000
1001 2001-06-04  Havoc Pennington  <hp@redhat.com>
1002
1003         * gtk/gtktextview.c (gtk_text_view_size_request): handle case
1004         where text_view->layout == NULL by assuming its size is 0, 
1005         i.e. same as if we haven't done any reflow. Reported by 
1006         Hidetoshi Tajima #55448 
1007
1008 2001-06-04  Havoc Pennington  <hp@redhat.com>
1009
1010         * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6
1011         and 7 for scroll left/right, from Thomas Broyer
1012
1013 2001-05-10  Havoc Pennington  <hp@redhat.com>
1014
1015         * gtk/gtksettings.c (gtk_settings_get_property): Handle case where
1016         we need to parse the xsetting as if it were an RC file string.
1017
1018         * gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial
1019         value of palette from settings, not from static variable
1020
1021         * gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to
1022         xsettings translation table
1023
1024         * gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because 
1025         hardcoding the toolbar style conflicts with new customizable 
1026         toolbar style philosophy
1027         (gtk_toolbar_class_init): add settings for default toolbar style;
1028         these are used unless the app specifically forces a toolbar style
1029
1030         * gtk/gtksettings.c (settings_install_property_parser): only
1031         return at the start if we warn and parser == NULL
1032
1033         * gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the
1034         palette changed handler so we don't notify dead color selections
1035
1036         * gtk/gtkstyle.c (gtk_default_draw_shadow): handle
1037         xthickness/ythickness of 0 or 1 properly 
1038         (gtk_default_draw_resize_grip): clear the background behind the
1039         resize grips, and align to bottom right if we square the 
1040         area to be drawn.
1041
1042         * gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on 
1043         statusbar label to 1, so it doesn't make toplevels resize oddly
1044         (gtk_statusbar_size_request): add grip size to request
1045         (gtk_statusbar_size_allocate): hack so the hbox still works with 
1046         the grip size in the request
1047
1048         * gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix 
1049         bug where showing all on a toplevel makes the toolbar 
1050         button text appear despite the toolbar mode
1051
1052         * gtk/gtkmenubar.c: add internal padding style property
1053
1054         * gtk/gtktoolbar.c: Add internal padding style property; add
1055         shadow type style property
1056
1057         * gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget
1058         state; and put Container::border_width outside the frame
1059
1060         * gtk/gtktextview.c: don't draw focus rectangle if we're in
1061         interior focus mode, we just use blinking cursor
1062
1063 2001-06-04  Havoc Pennington  <hp@redhat.com>
1064
1065         * configure.in: Make gdk-pixbuf have same version number as GTK
1066
1067 2001-06-04  Havoc Pennington  <hp@redhat.com>
1068
1069         * gtk/gtkspinbutton.c: Get rid of stupid g_return_if_fail on 
1070         digits greater than 6. If there actually are limits (which there
1071         likely aren't), should clamp to them not warn.
1072         (gtk_spin_button_new_with_range): don't take log of 0
1073         (gtk_spin_button_size_request): use digits to compute size
1074         request, rather than step increment.
1075
1076         * tests/testgtk.c (create_spins): test larger values of digits
1077         
1078         * gtk/gtkfontsel.c (gtk_font_selection_init): scroll to selected
1079         font on map not expose, so we don't get weirdness during scrolling
1080
1081 2001-06-04  Havoc Pennington  <hp@redhat.com>
1082
1083         * gtk/gtkclist.c (vadjustment_value_changed): Apply fix from
1084         Sam Solon, bug #54577, update value even if not drawable.
1085
1086 2001-06-04  Havoc Pennington  <hp@redhat.com>
1087
1088         * gtk/gtkrange.c (gtk_range_scroll_event): change SCROLL_RIGHT to
1089         SCROLL_LEFT, reported by Thomas Broyer.
1090
1091 2001-06-04  Havoc Pennington  <hp@redhat.com>
1092
1093         * gtk/gtkrange.c (gtk_range_adjustment_value_changed): 
1094         Process updates immediately, to prevent funny lag effect
1095         when scrolling, at some mild potential efficiency cost.
1096
1097 2001-06-04  Havoc Pennington  <hp@redhat.com>
1098
1099         * gtk/gtkrange.c (gtk_range_button_press): on middle click, center
1100         slider on the click.
1101
1102 2001-06-03  Havoc Pennington  <hp@pobox.com>
1103
1104         * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case
1105         hscale/vscale details, so we can use it for scrollbar as well.
1106
1107         * tests/testgtk.c (reformat_value): honor digits from GtkScale
1108
1109         * gtk/gtkenums.h (GtkTroughType): Remove this enum
1110         (GtkScrollType): add START and END from GtkTroughType
1111
1112         * gtk/gtkstyle.c (gtk_default_draw_slider): was not properly using
1113         its x/y arguments
1114
1115         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkscrollbar.h,
1116         gtk/gtkscrollbar.c, gtk/gtkscale.h, gtk/gtkscale.c,
1117         gtk/gtkhscrollbar.h, gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.h,
1118         gtk/gtkvscrollbar.c, gtk/gtkhscale.h, gtk/gtkhscale.c,
1119         gtk/gtkvscale.h, gtk/gtkvscale.c: Rewrite GtkRange and subclasses.
1120
1121         Notable changes in the process:
1122          
1123         - stepper_size style property is the height for vertical 
1124           ranges, width for horizontal; the other dimension matches
1125           the trough size
1126         - add ability to do NeXT-style steppers (and several other styles
1127           that don't make any sense)
1128         - added min_slider_length, fixed_slider_length properties to
1129           GtkScrollbar
1130         - cleaned some private (or at least useless) functions out of
1131           gtkscale.h    
1132         - moved bindings to GtkScale from subclasses, even arrow keys,
1133           since blind users don't know scale orientation.
1134         - change move_slider action signal to use new GtkScrollType,
1135           remove GtkTroughType argument
1136         - digits rounds the values a range will input to the given 
1137           number of decimals, but will not try to force adjustment 
1138           values set by other controllers. That is, we no longer
1139           modify adjustment->value inside a value_changed handler.
1140         - added getters for GtkScale setters
1141         - middle-click begins a slider drag
1142         
1143 Fri Jun  1 18:54:47 2001  Jonathan Blandford  <jrb@redhat.com>
1144
1145         * gtk/gtktreeview.c: (gtk_tree_view_focus): Initial stab at
1146         getting the focus code to work.
1147         (gtk_tree_view_class_init): Add a bunch of keybindings.
1148
1149         * gtk/gtktreeviewcolumn.c
1150         (gtk_tree_view_column_set_cell_data_func):
1151         s/GtkCellDataFunc/GtkTreeCellDataFunc.
1152         (_gtk_tree_view_column_set_tree_view): Use "notify::model" instead
1153         of "properties_changed" to help justify the death of the latter
1154         signal. (-:
1155
1156         * tests/testtreefocus.c (main): Let some columns be focussable to
1157         test focus better.
1158
1159 2001-06-01  Havoc Pennington  <hp@redhat.com>
1160
1161         * gtk/gtkentry.c (gtk_entry_commit_cb): implement overwrite mode
1162         
1163         * gtk/gtktextview.c (gtk_text_view_commit_handler): don't
1164         overwrite in overwrite mode if we already deleted the selection
1165         and replaced it with new text.  
1166
1167         * gtk/gtklabel.c (gtk_label_select_region_index): if you set the
1168         selection to an empty range, clear the clipboard if we owned it.
1169         (gtk_label_set_selectable): give up selection if we become
1170         unselectable.
1171         (gtk_label_state_changed): override state changed to unselect text
1172         when insensitive
1173         (get_text_callback): add paranoia check that indexes aren't
1174         outside of label->text
1175         (gtk_label_select_region): make -1 for start_offset mean "end of
1176         label," for consistency with GtkEditable
1177
1178         * gtk/gtkmessagedialog.c (gtk_message_dialog_new): honor
1179         GTK_DIALOG_NO_SEPARATOR flag
1180
1181 Fri Jun  1 11:47:11 2001  Owen Taylor  <otaylor@redhat.com>
1182
1183         * gtk/gtkcombo.c (gtk_combo_set_use_arrows_always): Fix 
1184         notifications on non-existant "enable_arrow_keys".
1185         (#53753, Skip Montanaro)
1186
1187 Fri Jun  1 11:31:55 2001  Owen Taylor  <otaylor@redhat.com>
1188
1189         * gdk/gdkrectangle.c (gdk_rectangle_get_type): Add 
1190         GDK_TYPE_RECTANGLE.
1191
1192         * gtk/gtkwidget.c (gtk_widget_class_init): Fix type
1193         of allocation argument be GDK_TYPE_RECTANGLE.
1194
1195 Thu May 31 12:43:57 2001  Owen Taylor  <otaylor@redhat.com>
1196
1197         * gtk/gtkoptionmenu.c: Account for the fact that the border
1198         width is _outside_ the window. (Fixes #54585, bug found
1199         by Bastien Nocera.)
1200
1201 Wed May 30 15:56:30 2001  Owen Taylor  <otaylor@redhat.com>
1202
1203         * gtk/gtksettings.c (gtk_settings_get_property): Validate
1204         value from GDK settings against parameter spec.
1205
1206         * gdk/x11/gdkevents-x11.c (gdk_setting_get): Add assignments
1207         to temporary values and use g_value_transform(), since
1208         thinking that GValue was going to be easy or efficient
1209         to use was, of course, a mistake.
1210
1211         * gtk/gtksettings.c: Add cursor blink setting.
1212         
1213         * gdk/x11/gdkevents-x11.c: Add cursor blink X settings.
1214
1215         * gtk/gtkentry.c: Add cursor blinking.
1216
1217         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Use
1218         cursor blink global settings.
1219
1220         * gtk/gtkentry.c (gtk_entry_button_press): Add notification
1221         for :text_position in places where it is missing.
1222
1223 Tue May 29 18:17:11 2001  Owen Taylor  <otaylor@redhat.com>
1224
1225         * autogen.sh (have_libtool): Fix GNU sedism (#55430)
1226
1227 Tue May 29 17:40:29 2001  Owen Taylor  <otaylor@redhat.com>
1228
1229         * configure.in (GTK_DEP_CFLAGS): Use $PKG_CONFIG,
1230         not pkg-config. (#51032)
1231
1232         * gdk/gdkproperty.h: Remove inappropriate G_GNUC_CONST
1233         (fixes #51952, James Henstridge)
1234         
1235 2001-05-27  Alexander Larsson  <alla@lysator.liu.se>
1236
1237         * gtk/gtkstock.h (GTK_STOCK_GO_UP):
1238         Rename to the more correct gtk-go-up.
1239
1240         * gtk/stock-icons/stock_menu_sort_ascending.png:
1241         Added new file.
1242         
1243         * gtk/stock-icons/stock_menu_sort_descending.png:
1244         Changed to show descending instead of ascending.
1245
1246         * gtk/gtkiconfactory.c:
1247         Added menu size icon to sort ascending.
1248
1249         * gtk/stock-icons/Makefile.am:
1250         Added stock_menu_sort_ascending.png.
1251         
1252         * gtk/gtkseparatormenuitem.c:
1253         Use correct typenames.
1254
1255 Sun May 20 20:07:35 2001  Tim Janik  <timj@gtk.org>
1256
1257         * gtk/gtksignal.[hc] (gtk_signal_connect_full): make hanlder id a
1258         gulong as in GSignal.
1259
1260 Fri May 25 19:04:17 2001  Jonathan Blandford  <jrb@redhat.com>
1261
1262         * gtk/gtktreeview.c (gtk_tree_view_calc_size): Remove almost all
1263         instances of GtkCellRenderer in code (all but dnd icon code).
1264         Virtualized in GtkTreeViewColumn.  Now I need to move focus in
1265         there, and I can do multiple Cells per column.
1266
1267         * gtk/gtktreeviewcolumn.c: Proxy all cell calls correctly
1268
1269         * gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): fix bug
1270         when model was unreffed prior to removing the row reference.
1271
1272 2001-05-25  Havoc Pennington  <hp@redhat.com>
1273
1274         * gtk/gtkiconfactory.c: fix so that default icons are created if 
1275         you call gtk_stock_list_ids()
1276
1277         * demos/gtk-demo/stock_browser.c (create_model): sort stock items
1278         in list
1279
1280 2001-05-25  Havoc Pennington  <hp@redhat.com>
1281
1282         * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
1283         set can render without falling back to missing image icon
1284
1285         * gtk/gtktextview.c (gtk_text_view_size_request): request full
1286         size of text, instead of random values
1287
1288         * gtk/gtktreeview.c (gtk_tree_view_size_request): request full
1289         size of tree view, instead of random values
1290
1291         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): render fallback
1292         image in an appropriate size
1293
1294         * gtk/gtkstock.h: Rename the stock items including _BUTTON_,
1295         etc. not to include that. i.e. s/GTK_STOCK_BUTTON_OK/GTK_STOCK_OK/
1296
1297         Throughout: fix GTK_STOCK_BUTTON_ instances
1298         
1299         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
1300         gtk/gtkiconfactory.c, gtk/stock-icons/Makefile.am:
1301         Add a bunch of new stock items/icons
1302
1303         * gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func):
1304         new function, convenience for inserting columns with a data func
1305
1306         * gtk/gtkiconfactory.c: keep a list of all existing icon factories
1307         (_gtk_icon_factory_list_ids): use list of all factories to
1308         generate a list of all known IDs
1309
1310         * gtk/gtkstock.c (gtk_stock_list_ids): replace
1311         gtk_stock_list_items() with a function that returns all IDs known
1312         including those for GtkIconFactory.
1313
1314 2001-05-25  Hans Breuer  <hans@breuer.org>
1315
1316         * gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
1317         work -> check boxes and radio buttons are drawn now, even on win9x.
1318         Improved line settings a bit, still no clue how to get really dotted
1319         lines on win9x, on NT it's PS_ALTERNATE.
1320
1321         * gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for 
1322         GDK_HINT_MIN_SIZE as well
1323
1324         * gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
1325
1326         * gtk/gtk.def : updated
1327
1328         * gtk/gtktreeprivate.h : change column_drop_func to be a function
1329         pointer not a function pointer pointer
1330
1331         * tests/testdnd.c : include <stdlib.h> for putenv prototype
1332
1333         * tests/testsocket.c : made it compile on win32 again
1334
1335         * tests/makefile.msc : one more test-app uses prop-editor.obj
1336
1337 2001-05-22  Havoc Pennington  <hp@pobox.com>
1338
1339         * gtk/gtkbin.c (gtk_bin_get_child): New function
1340
1341 Wed May 23 20:07:53 2001  Owen Taylor  <otaylor@redhat.com>
1342
1343         * gtk/gtkimcontextsimple.c: Add Mode_Switch to list of keys
1344         to ignore when doing compose processing.
1345
1346 2001-05-22  Joe Shaw  <joe@ximian.com>
1347
1348         * gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_last_toggle): 
1349         Simplify as suggested by Havoc. Just get the last iter and work
1350         backward to the tag instead of getting a line and working back from
1351         there. Fixes passing in an invalid offset to
1352         iter_init_from_byte_offset().
1353
1354 Tue May 22 16:25:27 2001  Jonathan Blandford  <jrb@redhat.com>
1355
1356         * gtk/gtktreeview*.h: 
1357         * gtk/gtkcell*.h:
1358         * gtk/gtk*store.h:
1359         Added patch from Jeff Franks <jcf@tpg.com.au> to add GET_CLASS
1360         macros to all objects.
1361
1362 Tue May 22 15:13:52 2001  Jonathan Blandford  <jrb@redhat.com>
1363
1364         * gtk/gtkcellrenderertext.c
1365         (gtk_cell_renderer_text_set_fixed_size): Evil function to deal
1366         with very large (TM) amounts of text.  May be moved to
1367         GtkCellRenderer in the future, though I'm not sure it wants to be
1368         this accessible.
1369
1370         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button):
1371         More sanity brought to this class.  I like it.
1372
1373         * tests/testtreecolumns.c (ViewColumnModel): Amazingly scary test
1374         case.  Kids, don't try this at home.
1375
1376         * gtk/gtktreemodel.c (gtk_tree_model_get_iter_root): new
1377         convenience function.
1378
1379         * gtk/gtkwindow.c (gtk_window_set_geometry_hints): Fix typo in docs.
1380
1381 2001-05-21  Alexander Larsson  <alexl@redhat.com>
1382
1383         * gtk/gtkfontsel.c:
1384         Added properties. Based on patch by Lee Mallabone.
1385
1386         * gtk/gtkruler.c:
1387         * gtk/gtkhruler.c:
1388         * gtk/gtkvruler.c:
1389         * gtk/gtktext.c:
1390         * gtk/gtktextview.c:
1391         Converted GtkArg to GParam. Based on patches by John Margaglione.
1392
1393         * tests/Makefile.am:
1394         * tests/testtext.c:
1395         Add a property editor to testtext.
1396         
1397 Mon May 21 11:29:21 2001  Owen Taylor  <otaylor@redhat.com>
1398
1399         * gtk/gtk{h,v,}paned.c: Only show the separator if 
1400
1401         * configure.in: Fixed reversed conditional causing all image
1402         libraries to be linked in.
1403
1404 2001-05-21  Joe Shaw  <joe@ximian.com>
1405
1406         * gtk/gtklayout.c (gtk_text_layout_get_lines): Remove the assertion
1407         that top_y needs to be >= 0.
1408
1409 2001-05-11  Havoc Pennington  <hp@pobox.com>
1410         
1411         * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and
1412         losing connection to the X server.
1413
1414 Sun May 20 13:59:20 2001  Owen Taylor  <otaylor@redhat.com>
1415
1416         * configure.in: Start checks for X from pangox/pangoxft
1417         CFLAGS to avoid duplicate libraries.
1418
1419         * gdk/Makefile.am (LDFLAGS): Remove extra -lm.
1420
1421         * configure.in (GDK_PIXBUF_PACKAGES): Fix GDK_PIXBUF_PACKAGES
1422         to include gobject.
1423         
1424 2001-05-18  Alexander Larsson  <alexl@redhat.com>
1425
1426         * gtk/gtkspinbutton.c:
1427         Convert GtkArgs to GParams. Based on patch by John Margaglione.
1428         Also do size request reasonable for MAXDOUBLE. Previously it printed
1429         the limits to a buffer and overran it. Instead do it using log10() and
1430         limit the width to 10 digits.
1431         
1432         * gtk/gtkwidget.c (gtk_widget_get_property):
1433         Correctly handle setting the parent property to NULL.
1434
1435 Fri May 18 15:26:26 2001  Owen Taylor  <otaylor@redhat.com>
1436
1437         * gtk/gtktextview.c (gtk_text_view_style_set): Reset 
1438         style attributes even if the widget isn't realized.
1439
1440         * demos/gtk-demo/main.c: Use a slightly smaller font.
1441
1442 Fri May 18 14:25:20 2001  Owen Taylor  <otaylor@redhat.com>
1443
1444         * gtk/gtkcontainer.c: Remove reallocate-redraws property.
1445         This is something that only a widget writer would ever want
1446         to change.
1447
1448         * gtk/gtksignal.c: Handle G_SIGNAL_TYPE_STATIC_SCOPE for
1449         gtk_signal_emit_by_name().
1450
1451         * gtk/gtkviewport.c: Fix some warnings.
1452
1453         * gtk/gtkwidget.c gtk/gtksizegroup.c: Add "size group" facility
1454         allowing the requisitions of multiple widgets to be grouped
1455         together.
1456
1457         * tests/testgtk.c: Add GtkSizeGroup test
1458
1459         * demos/gtk-demo/sizegroup.c: Add GtkSizeGroup demo.
1460
1461         * demos/gtk-demo/main.c demos/gtk-demo/pixbufs.c: Fix some
1462         warnings.
1463
1464         * configure.in: Switch to using AM_GLIB_GNU_GETTEXT.
1465
1466 2001-04-28  Martin Baulig  <baulig@suse.de>
1467
1468         * gtk/gtkimagemenuitem.[ch]: Renamed gtk_image_menu_item_add_icon()
1469         to gtk_image_menu_item_set_icon() and made it work if there's already
1470         an image.
1471         (gtk_image_menu_item_new): This function doesn't take any arguments anymore.
1472         (gtk_image_menu_item_new_with_label): New function.
1473
1474 Thu May 17 16:20:04 2001  Jonathan Blandford  <jrb@redhat.com>
1475
1476         * demos/gtk-demo/main.c (fontify): It's the worlds ugliest
1477         highlighting code!!!!  The result is okay so long as you don't try
1478         to stress it.  It also highlights a bug in the TextView so it's in
1479         an unproportional font right now until it's fixed.
1480
1481         *demos/gtk-demo/*.c: Clean up code a bit to make it
1482         ugly-parser(TM) friendly. (-:
1483
1484 2001-05-17  Joe Shaw  <joe@ximian.com>
1485
1486         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove the assertions
1487         that x_offset and y_offset must be >= 0. Clip the cursor being drawn
1488         if it is only partially onscreen.
1489
1490 Thu May 17 17:10:13 2001  Owen Taylor  <otaylor@redhat.com>
1491
1492         * gtk/gtkentry.c: Make logical motion and deletion by graphemes, 
1493         not by characters.
1494
1495         * gtk/gtkentry.c: Handle "trailing" returns from Pango when they
1496         are not zero or one; that is, when graphemes of multiple characters
1497         are involved.
1498
1499         * gtk/gtktextlayout.c (line_display_index_to_iter): Remove unnecessary
1500         FIXME.
1501
1502 2001-05-17  Alexander Larsson  <alla@lysator.liu.se>
1503         
1504         * gtk/gtkbbox.c:
1505         Add properties, based on patch by Lee Mallabone.
1506
1507         * gtk/gtknotebook.c:
1508         * gtk/gtktoolbar.c:
1509         Convert from GtkArg to GParam, based on patch by John Margaglione.
1510         
1511         * gtk/gtkhscale.c:
1512         * gtk/gtkvscale.c:
1513         * gtk/gtkhscrollbar.c:
1514         * gtk/gtkvscrollbar.c:
1515         * gtk/gtkrange.c:
1516         Move adjustment property to GtkRange.
1517
1518         * gtk/gtklabel.c:
1519         Setup mnemonics on property changes
1520
1521         * gtk/gtkwidget.c (gtk_widget_get_property):
1522         GdkExtensionMode is an enum, not a flag. Set it with
1523         g_value_set_enum ().
1524
1525         * tests/prop-editor.c:
1526         Better propery editor.
1527
1528         * tests/testgtk.c:
1529         Add new property test. Pass zero to the property editor to
1530         get properties from all derived types.
1531         
1532 Sun May 13 12:01:12 2001  Owen Taylor  <otaylor@redhat.com>
1533
1534         * autogen.sh (have_automake): Require libtool-1.4,
1535         automake-1.4p1.
1536
1537         * acinclude.m4: Remove libtool macros.
1538
1539         * gdk-pixbuf/Makefile.am: Add dependencies to loade
1540         modules.
1541
1542         * gdk/Makefile.am: Add dependency on libgdk_pixbuf.la
1543         for libgdk.
1544
1545         * gtk/Makefile.am: Add dependency on libgdk_pixbuf.la
1546         libgdk.la for libgtk.
1547
1548         * modules/input/Makefile.am: Make modules have full
1549         dependencies.
1550
1551 Wed May 16 14:06:01 2001  Jonathan Blandford  <jrb@redhat.com>
1552
1553         * gtk/gtktreemodel.c (gtk_tree_path_new_from_string): fix bug
1554         #54699 where paths weren't being checked for correctness.
1555
1556 Tue May 15 20:13:24 2001  Jonathan Blandford  <jrb@redhat.com>
1557
1558         * gtk/gtktreeviewcolumn.c: You can now set all sorts of properties
1559         in any order you wan, whether or not the column is added to the
1560         tree, or the tree is realized.  Yay!
1561
1562         * gtk/gtktreeviewcolumn.c
1563         (gtk_tree_view_column_setup_sort_column_id_callback): handle
1564         sorting columns a lot saner
1565
1566         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_reorderable):
1567         new function to actually set wether or not a column is
1568         reorderable.
1569
1570         * gtk/gtktreeview.c (gtk_tree_view_unrealize): Only destroy things
1571         if we have 'em.
1572
1573         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_set_tree_view):
1574         Fix nasty bug where we were showing the button just before
1575         realizing it.  As a result, the parent window was
1576         tree_view->window instead of tree_view->priv->header_window.
1577
1578         * gtk/gtktreeview.c (gtk_tree_view_set_reorderable): new property
1579         to let you easily reorder a list or tree.
1580
1581 2001-05-15  Alexander Larsson  <alla@lysator.liu.se>
1582
1583         * gtk/gtkpacker.c: Apply patch from John Margaglione that converts
1584         from args to properties.
1585
1586 Tue May 15 10:11:59 2001  Owen Taylor  <otaylor@redhat.com>
1587
1588         * gtk/gtkpreview.c: Apply patch from John Margaglione converting
1589         from args to properties. (#51957)
1590
1591         * gtk/gtkscale.c (gtk_scale_class_init): Move install property
1592         calls to after ->set_property call.
1593
1594 Mon May 14 14:56:21 2001  Owen Taylor  <otaylor@redhat.com>
1595
1596         * tests/prop-editor.c: Block against redundant changes.
1597
1598         * gtk/gtkpaned.c gtk/gtk[hv]paned.c: Add position, position_set
1599         properties.
1600
1601 Sun May 13 18:40:04 2001  Owen Taylor  <otaylor@redhat.com>
1602
1603         * gdk/gdkpixmap.h: Remove creative formatting.
1604
1605 Thu May 10 19:22:28 2001  Owen Taylor  <otaylor@redhat.com>
1606
1607         * gtk/gtktogglebutton.c:  Patch from John Margaglione converting to
1608         property API. (#51669)
1609
1610         * gtk/gtkscale.c: Patch from John Margaglione converting to
1611         property API. (#51891)
1612
1613         * gtk/gtkaccellabel.c: Applied patch from Lee Mallabone, converting
1614         to property API. (#50985)
1615
1616 Fri May 11 20:13:44 2001  Tim Janik  <timj@gtk.org>
1617
1618         * gtk/gtkmain.c (gtk_main_do_event): remember widget's double
1619         buffering state across expose event, so we still call end_paint().
1620
1621 2001-05-11  Alexander Larsson  <alexl@redhat.com>
1622
1623         * gtk/gtkhsv.c (paint_triangle):
1624         Expose the ring in the triangle at the correct place when
1625         exposing just a part of the triangle.
1626
1627         * gtk/gtkwindow-decorate.c (gtk_decorated_window_focus_change):
1628         Return FALSE, or window focusing will not work.
1629
1630 2001-05-11  Havoc Pennington  <hp@pobox.com>
1631
1632         * gtk/gtkimage.c (gtk_image_new_from_stock): docs, fixes bug
1633         #54144
1634
1635         * gtk/gtkcolorsel.c (gtk_color_selection_new): docs, fixes
1636         bug #54330
1637
1638 Fri May 11 02:53:57 2001  Tim Janik  <timj@gtk.org>
1639
1640         * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't
1641         propagate exposes to NULL child.
1642
1643         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard
1644         against not having one of the scrollbars.
1645
1646         * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us,
1647         we don't keep a mnemonic window if we have no mnemonic installed.
1648
1649 Fri May 11 01:05:00 2001  Tim Janik  <timj@gtk.org>
1650
1651         * gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST
1652         it has the _important_ side effect of initializing a class.
1653
1654 2001-05-10  Alexander Larsson  <alexl@redhat.com>
1655
1656         * gdk/linux-fb/gdkprivate-fb.h:
1657         Make sure you can compile out the implementation/wrapper assert
1658         macros.
1659
1660         * gdk/linux-fb/gdkdrawable-fb2.c:
1661         Check implementation/wrappers, initialize type for pixmap dummys.
1662
1663         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
1664         Hide the cursor if reading from the screen.
1665
1666         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
1667         Fix sign bug in tiling code.
1668
1669         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
1670         Handle background pixmaps.
1671
1672 Wed May  9 15:27:22 2001  Jonathan Blandford  <jrb@redhat.com>
1673
1674         * gtk/gtktreeview.c (gtk_tree_view_set_column_drag_function): New
1675         function to let user control where columns are dragged.
1676
1677         * gtk/gtktreeview.c (gtk_tree_view_key_press): Cancel drags if
1678         Escape is pressed.
1679
1680 Wed May  9 09:08:44 2001  Jonathan Blandford  <jrb@redhat.com>
1681
1682         * gtk/gtktreeview.c (gtk_tree_view_class_init): New
1683         "columns_changed" signal.
1684         (gtk_tree_view_motion_draw_column_motion_arrow): Change column
1685         motion code to draw arrows to the side if indicator is outside the
1686         widget.
1687         (gtk_tree_view_map_expanded_rows): Implement.
1688
1689 2001-05-07  Alexander Larsson  <alexl@redhat.com>
1690
1691         * demos/testpixbuf-save.c: 
1692         * demos/testpixbuf-drawable.c:
1693         Include gdkfb.h on linux-fb.
1694
1695 2001-05-07  Alexander Larsson  <alexl@redhat.com>
1696
1697         * gdk/linux-fb/gdkdnd-fb.c (get_toplevel_window_at):
1698         New function for getting toplevel window at position.
1699         (gdk_drag_find_window): Use get_toplevel_window () instead
1700         of gdk_window_get_pointer(). (gdk_drag_status): Use
1701         correct context for getting window.
1702
1703         * gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name):
1704         g_strdup the atom name.
1705
1706         * gdk/linux-fb/gdkwindow-fb.c:
1707         Costmetic fix.
1708
1709         * gtk/gtkdnd.c (gtk_drag_source_handle_event):
1710         Add code for changing cursor on linux-fb backend (same as
1711         win32).
1712
1713 2001-05-07  Federico Mena Quintero  <federico@ximian.com>
1714
1715         * gtk/gtkwindow.c (gtk_window_focus): Test for bin->child being
1716         present before doing anything with it.  Patch from HÃ¥vard KvÃ¥len
1717         <havardk@netcom.no>.  Fixes Ximian bugzilla #2492 (OK, the bug
1718         report was not for the development branch of GTK+, but it applies
1719         anyways).
1720
1721 2001-05-04  Havoc Pennington  <hp@redhat.com>
1722
1723         * configure.in: fix some shell typos
1724
1725         * gtk/gtkcolorsel.c (gtk_color_selection_destroy): warning fix
1726
1727         * gtk/gtkimage.c: handle animations
1728
1729         * gtk/gtkcheckbutton.c (gtk_check_button_size_request): request
1730         border_width * 2, not just border_width
1731
1732         * gtk/gtkscale.c: add "format_value" signal to allow people
1733         to override the way values are drawn.
1734         (gtk_scale_get_value_size): fix width/height mistake,
1735         and compute size from actual displayed text, not 
1736         from made-up text.
1737
1738         * gtk/gtktexttag.c (gtk_text_tag_class_init): fix return type in 
1739         signal registration
1740
1741         * tests/testtext.c: Add "Remove all tags" menu item for testing
1742
1743         * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): implement
1744
1745         * demos/gtk-demo/main.c (main): add hack so we can find modules
1746         without installing gtk
1747
1748         * demos/gtk-demo/textview.c (insert_text): demo font scaling
1749
1750         * gtk/gtkcellrenderertext.c: Add "scale" property (font scaling
1751         factor)
1752         (gtk_cell_renderer_text_set_property): remove some bogus
1753         g_object_notify
1754
1755         * gtk/gtktexttag.c: add "scale" property which is a font scaling
1756         factor
1757
1758         * gtk/gtktextlayout.c (add_text_attrs): add font scale attribute 
1759         to layout
1760
1761         * gtk/gtktextiter.c (gtk_text_iter_is_start): rename from
1762         gtk_text_iter_is_first
1763
1764 2001-01-06  Hans Breuer  <hans@breuer.org>
1765
1766         * gdk/gdk.def : updated exports
1767
1768         * gdk/win32/makefile.msc : -DGDK_ENABLE_BROKEN otherwise
1769         gdk won't compile anymore
1770  
1771         * gdk/win32/gdkevents-win32.c : initialize ret_val when
1772         processing GDK_FILTER functions, initialize event.key->hardware_keycode.
1773         Improved gdk_flush () to not only do pending drawing operations
1774         but also process all currently pending events. This should make
1775         the behaviour more similar to the X11 version.  
1776
1777         * gdk/win32/gdkgc-win32.c (predraw_set_background) : a background
1778         option needs to be set even if there is no GDK_GC_BACKGROUND.
1779         (gdk_win32_hdc_get) : use predraw_set_background () independent
1780         of value_mask. This allows to draw dashed lines leaving the original
1781         background intact.
1782
1783         * gdk/win32/gdkimage-win32.c (gdk_image_new_bitamp) : free data
1784         after processing, because we can't reuse it as the X11 version does.
1785
1786         * gtk/gtk.def : updated exports
1787
1788         * gtk/makefile.msc.in : added ATK, removed all test apps. (I
1789         would like to get rid of this file again, and use straight
1790         makefile.msc again, as the other Gtk+ subdirs do)
1791
1792         * test/makefile.msc (new file) : build the test apps here
1793
1794 2001-05-05  ERDI Gergo  <cactus@cactus.rulez.org>
1795
1796         * gdk/gdkpango.c (gdk_pango_get_item_properties): Peek
1797         strike-through setting
1798         (gdk_draw_layout_line_with_colors): Render strike-through
1799
1800 Sat May  5 10:06:24 2001  Owen Taylor  <otaylor@redhat.com>
1801
1802         * Release 1.3.5
1803
1804         * configure.in (GTK_MICRO_VERSION): Up to 1.3.5
1805
1806         * NEWS: Updated
1807
1808         * demos/gtk-demo/Makefile.am (EXTRA_DIST): Fix minor
1809         Makefile breakage.
1810
1811 Sat May  5 09:18:30 2001  Owen Taylor  <otaylor@redhat.com>
1812
1813         * demos/gtk-demo/images.c (progressive_timeout): Fix
1814         typo in filename.
1815
1816         * gtk/gtktreeview.c (gtk_tree_view_row_activated): Comment
1817         out FIXME warning; just too annoying.
1818
1819 2001-05-04  Alex Larsson  <alla@lysator.liu.se>
1820
1821         * gdk/linux-fb/gdkcolor-fb.c:
1822         Better error messages.
1823
1824         * gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_new):
1825         Initialize abs_x and abs_y.
1826         
1827         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
1828         Correct handling of stipple offset.
1829
1830         * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init):
1831         Treat directcolor framebuffers as truecolor.
1832         
1833 Thu May  3 14:13:49 2001  Owen Taylor  <otaylor@redhat.com>
1834
1835         * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
1836         dependency on Atk for accessibility support.
1837
1838         * configure.in **/Makefile.am: Major reworking of substituted
1839         variables for CFLAGS/LIBS to make a lot more sane and 
1840         keep the the compile/link lines a bit shorter.
1841
1842         * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
1843
1844 Thu May  3 08:10:54 2001  Owen Taylor  <otaylor@redhat.com>
1845
1846         * gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
1847         value to be G_TYPE_BOOLEAN, not G_TYPE_INT, also,
1848         use _gtk_boolean_handled_accumulator.
1849
1850 Thu May  3 07:00:09 2001  Owen Taylor  <otaylor@redhat.com>
1851
1852         * gtk/gtktextview.c: Patch from Juan Pablo Mendoza Mendoza
1853         to fix things so clicking inside selection leaves cursor
1854         at point where clicked. (#50324)
1855
1856         * gtk/gtksettings.c (gtk_settings_class_init): Restore
1857         sane value for default double click time.
1858
1859         * tests/testtext.c (test_init): Really path to input modules.
1860
1861 2001-05-03  Sven Neumann  <sven@convergence.de>
1862
1863         * demos/testpixbuf-save.c: include target-specific headers as
1864         done in testpixbuf-drawable.c
1865
1866 Wed May  2 20:36:38 2001  Owen Taylor  <otaylor@redhat.com>
1867
1868         * gtk/gtkentry.c (gtk_entry_real_insert_text): Reduce
1869         new_text_length appropriately when we run into the 
1870         size limit for the entry. (#53445, reported by Jeff Franks)
1871
1872         * tests/testgtk.c (create_entry): Remove most of the
1873         property toggle buttons. Replace with a "Props" button
1874         that brings up a property editor.
1875
1876         * tests/prop-editor.[ch] test/testtreeview.c tests/Makefile.am:
1877         Split the property editor code out for reuse, improve.
1878
1879 Wed May  2 17:26:22 2001  Owen Taylor  <otaylor@redhat.com>
1880
1881         * gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.c: Always
1882         trap errors around calls to XSetInputFocus since we have
1883         no way of knowing reliably whether we are viewable or
1884         not. (#53947)
1885
1886 Tue May  1 09:21:23 2001  Jonathan Blandford  <jrb@redhat.com>
1887
1888         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
1889         fix bug in dropping columns.  Moving columns now basically works
1890         modula some fine tuning.
1891
1892 Tue May  1 19:09:21 2001  Jonathan Blandford  <jrb@redhat.com>
1893
1894         * gtk/gtktreeview.c (gtk_tree_view_horizontal_autoscroll): Add
1895         autoscroll support.  It mostly works, but could use some fine
1896         tuning.
1897         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
1898         Actually move the column.
1899
1900 Mon Apr 30 20:29:27 2001  Owen Taylor  <otaylor@redhat.com>
1901
1902         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c 
1903           gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtkwidget.c:
1904           New default theme! A slighly improved version of the 2.0 Raleigh
1905           theme, with Windows-esque focus/drawing default. 
1906           (GtkWidget::interior_focus defaults to TRUE.)
1907
1908         * gtk/gtkstyle.[ch]: Add a text_aa color halfway between text and base.
1909
1910 2001-04-30  Havoc Pennington  <hp@pobox.com>
1911
1912         * tests/testtext.c (line_numbers_expose): fix to work with
1913         gtk_paint_layout change
1914
1915 Mon Apr 30 19:18:07 2001  Owen Taylor  <otaylor@redhat.com>
1916
1917         * gtk/gtkstyle.[ch] gtk/gtkaccellabel.c gtk/gtkcellrenderertext.c
1918           gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c gtk/gtkprogressbar.c
1919           gtk/gtkvruler.c gtk/gtkvscale.c: Add an extra parameter
1920           use_text to gtk_paint_label() to deal with style->bg[] vs style->text[].
1921
1922         * gtk/gtkbbox.c gtk/gtkdialog.c: Tweak padding some to deal
1923           with GtkWidget::interior_focus = TRUE better.
1924
1925         * gtk/gtkbutton.c: Switch ::default_spacing to ::default_border,
1926         ::default_outside_border for more flexibility.
1927
1928         * gtk/gtkwidget.c (gtk_widget_style_get_valist): Remove 
1929         G_VALUE_NO_COPY_CONTENTS, to correspond with the recent
1930         change that had to be made with g_object_get.
1931
1932 Sun Apr 29 20:13:40 2001  Jonathan Blandford  <jrb@redhat.com>
1933
1934         * gtk/gtktreeview.c (gtk_tree_view_get_columns): new function.
1935         (gtk_tree_view_move_column_after): Clean up interface. 
1936
1937 Sun Apr 29 03:02:02 2001  Tim Janik  <timj@gtk.org>
1938
1939         * gtk/gtkpacker.h:
1940         * gtk/gtkenums.h: moved GtkAnchorType and GtkSideType from gtkpacker.h
1941          to gtkenum.h.
1942
1943         * gtk/gtkmain.c (gtk_main_do_event): silence compiler (GDK_SETTING not
1944         handled in switch).
1945
1946         * gtk/Makefile.am:
1947         (gtk.defs): generate enum portions with  glib-mkenums.
1948         (gtktypebuiltins_evals.c): generate this with glib-mkenums.
1949         got rid of makeenums.pl and makeenums.awk in distributed tarballs.
1950         
1951         * gtk/gtkaccelgroup.c (gtk_accel_group_add): refined havocs warning
1952         addition.
1953
1954         * docs/Changes-2.0.txt: keep a note on signal handlers now
1955         not getting emitted during the emission they were connected within.
1956
1957 2001-04-28  Havoc Pennington  <hp@pobox.com>
1958
1959         * gtk/gtkcolorsel.c (palette_new): fix bug in tooltip
1960
1961 2001-04-24  Havoc Pennington  <hp@redhat.com>
1962
1963         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): 
1964         (gtk_text_layout_move_iter_to_next_line): fix these two for
1965         invisible text, lots of other stuff still hosed.
1966
1967         * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
1968         new function, replaces the get/set palette stuff. This function 
1969         is intended for use by libgnomeui which should set the hook to a
1970         thing which sets the palette in GConf, and we need the
1971         GConf-to-xsettings proxy which will result in the change being
1972         propagated back to the GTK app.
1973
1974         * gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning 
1975         about unusable signals that it may be because the signal has 
1976         parameters.
1977
1978         * gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
1979         style, otherwise gtkrc.c won't know to create a new GtkStyle for
1980         it.
1981         (gtk_widget_modify_color_component): call
1982         gtk_widget_modify_style() so the rc style will get copied.
1983         (gtk_widget_modify_font): ditto
1984
1985         * gtk/gtkrc.c: make a couple variables static
1986
1987         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
1988         help button by default, since it does nothing
1989
1990         * gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
1991         around with UI
1992
1993         * gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
1994         so we can have tooltips
1995
1996         * gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
1997         can have tooltips
1998
1999         * gdk/gdkimage.h: mark gdk_image_new_bitmap with
2000         GDK_ENABLE_BROKEN, because its memory behavior is completely
2001         hosed.
2002
2003         * gtk/gtknotebook.c: remove key press handler, replace with
2004         binding set, add numeric keypad support
2005
2006         * gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete
2007
2008         * gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms
2009
2010         * gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
2011         addition to plain Delete
2012
2013         * gtk/gtktextview.c (gtk_text_view_key_press_event): accept
2014         GDK_KP_Enter in addition to GDK_Return
2015
2016         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
2017         activate on entry instead of key press
2018         (gtk_font_selection_on_clist_key_press): get
2019         rid of this signal handler, not needed with new font sel.
2020
2021         * gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
2022         no-longer-needed emit_stop_by_name(), just return TRUE
2023
2024         * gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
2025         cruft, this widget is no longer focusable.
2026
2027         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
2028         gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
2029         move_slider action signal, add binding set for vscale/hscale, in
2030         the process support numeric keypad
2031
2032         * gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings; 
2033         make GDK_Return and GDK_KP_Enter activate the entry via 
2034         binding set, instead of hardcoded.
2035
2036 Fri Apr 27 20:27:21 2001  Jonathan Blandford  <jrb@redhat.com>
2037
2038         * gtk/gtktreeview.[hc]: Massive reorder/cleanup of a lot of the
2039         code.  Some documentation added.
2040
2041 2001-04-27  Havoc Pennington  <hp@redhat.com>
2042
2043         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning
2044
2045         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable
2046
2047         * gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
2048         line/para separators
2049         (gtk_entry_create_layout): set single paragraph mode on the layout
2050
2051         * gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
2052         spacing between the image and label; instead, inside a button box 
2053         the button will get extra space that will go there, but if people 
2054         configure button box for 0 chubbiness, then there's no spacing.
2055
2056         * gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
2057         and min/max size style properties, so people can tune their
2058         chubbiness.
2059
2060         * tests/testgtk.c (make_toolbar): remove calls to removed toolbar
2061         functions
2062
2063         * gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
2064         space_style, and button_relief into style properties, remove
2065         functions for setting them
2066         
2067         * gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop 
2068         it back down
2069
2070         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
2071         types from gtk_widget_style_get
2072
2073         * gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
2074         with a style property.
2075
2076         * gdk/x11/gdkevents-x11.c: namespace the settings
2077
2078         * gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.
2079
2080         * gtk/gtksettings.c (gtk_settings_class_init): remove code with
2081         side effects from inside g_assert(), so that G_DISABLE_ASSERT can
2082         be used. Also, translate doc strings for settings. Also, namespace
2083         the double-click-time property. Also, remove bell properties crap.
2084
2085 2001-04-27  Sven Neumann  <sven@gimp.org>
2086
2087         * Makefile.am: before creating links, check if pkg-config files
2088         exist for the default target. Otherwise link to the pkg-config files
2089         that got installed with this build.
2090
2091 Thu Apr 26 19:11:46 2001  Jonathan Blandford  <jrb@redhat.com>
2092
2093         * gtk/gtktreeview.c (gtk_tree_view_motion): clean up column
2094         dragging code.  Revealed some (potential) GdkWindow bugs.
2095
2096         * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): add
2097         _gdk_window_init_position to the end of reparent to fix the case
2098         of reparenting when new_x != old_x and new_y != old_y.
2099
2100 Thu Apr 26 10:54:50 2001  Owen Taylor  <otaylor@redhat.com>
2101
2102         * gtk/gtkentry.c (strstr_len): Fix optimization that
2103         was correct for the use here, but completely incorrect
2104         in general.
2105
2106 Thu Apr 26 10:40:41 2001  Owen Taylor  <otaylor@redhat.com>
2107
2108         * gtk/gtkwindow.h: Remove deprecation of gtk_window_set_default_size()
2109         until patch adding gtk_window_set_size() is recommitted. 
2110
2111         * **Makefile.am configure.in gdk/x11/gdkim-11.c
2112           gtk/gtkmain.c gtk/gtkimmulticontext.c gtk/gtkmain.c
2113           gtk/gtkrc.c: Remove all traces of -DX_LOCALE support.
2114           (#10784)
2115
2116 Wed Apr 25 12:16:36 2001  Owen Taylor  <otaylor@redhat.com>
2117
2118         * gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for 
2119         window == NULL in a number of cases.
2120
2121         * tests/testdnd.c: Set module path for gdk-pixbuf.
2122
2123 Thu Apr 19 16:11:07 2001  Owen Taylor  <otaylor@redhat.com>
2124
2125         * gtk/Makefile.am xembed.h: File containing #defines
2126         for XEMBED protocol.
2127
2128         * gtk/gtkplug.[ch] gtk/gtksocket.[ch]: 
2129
2130         - Change protocol from old plug/socket specific protocol
2131           to XEMBED draft
2132         - Various fixes to work with GTK+-2.0
2133
2134         Still quite a bit of work to do here to handle initiation
2135         from the socket side (as specified by XEMBED), to handle
2136         the more advanced features of XEMBED, and to figure out
2137         a good way to handle same-app embedding with less overhead
2138         than using full XEMBED.
2139
2140 Wed Apr 18 16:04:28 2001  Owen Taylor  <otaylor@redhat.com>
2141
2142         * gtk/gtkwindow.[ch] (gtk_window_real_set_focus): Keep
2143         track of whether the toplevel has the focus; only send
2144         focus-in events to the focus widget when the window
2145         actually has the focus.
2146
2147 2001-04-25  Havoc Pennington  <hp@pobox.com>
2148
2149         * gtk/gtkwindow.h: set_decorations_hint and set_functions_hint
2150         were still in the header
2151
2152 2001-04-24  Alexander Larsson  <alexl@redhat.com>
2153
2154         * gtk/gtkclist.[ch]:
2155         * gtk/gtkctree.c:
2156         When there is a row highlighted for D'n'D it must alse
2157         be painted hightlighted on exposes. Otherwise exposes from
2158         the icon being dragged will mess up the hightlight.
2159
2160         * gtk/gtkfontsel.c:
2161         Don't recenter selected font when exposing the font family
2162         clist. This means you can now actually scroll the font family
2163         list.
2164
2165         * gtk/gtknotebook.c:
2166         Fix focus movement on scrolling tabs that are placed on the left
2167         and right.
2168
2169 2001-04-21  Havoc Pennington  <hp@pobox.com>
2170
2171         * gtk/gtktextdisplay.c (gtk_text_layout_draw): handle 0-height
2172         empty/invisible lines.
2173
2174         * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset)
2175         (gtk_text_iter_set_visible_line_index): new functions to set
2176         indexes excluding invisible text
2177
2178         * gtk/gtktextlayout.c (line_display_iter_to_index): get visible 
2179         index
2180
2181         * gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index)
2182         (gtk_text_iter_get_visible_line_offset): new functions to 
2183         get indexes excluding invisible text
2184
2185         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): strip out a
2186         bunch of extra padding that served no purpose
2187
2188         * gtk/gtkdialog.c: Make all the spacings configurable via style
2189         properties, for chubbiness configuration in themes
2190
2191         * tests/testtext.c: fix path to the immodules.
2192         
2193 Mon Apr 23 18:57:03 2001  Jonathan Blandford  <jrb@redhat.com>
2194
2195         * gtk/gtksocket.c (gtk_socket_filter_func): add missing '}' that
2196         got munched by #endif.
2197
2198         * gtk/Makefile.am (gtk_plug_c_sources): add missing '\'
2199
2200         * gtk/gtktreeview.c: Refactored code to clean up a number of
2201         events.
2202
2203         * gtk/gtktreemodel.c (gtk_tree_path_compare): Switched return
2204         values to make consistent with other functions.  Spotted by Jeff
2205         Franks <jcf@tpg.com.au>.
2206
2207         * gtk/gtktreeview.h (struct _GtkTreeViewClass): Fixes to signal
2208         declaration spotted by Jeff Franks <jcf@tpg.com.au>.
2209
2210 2001-04-23  Sven Neumann  <sven@gimp.org>
2211
2212         * gtk/Makefile.am
2213         * gtk/gtkplug.c
2214         * gtk/gtksocket.c: on request of Owen, reverted my last change 
2215         and exclude gtkplug.c/gtksocket.c from the build for non-X11 targets
2216
2217 2001-04-23  Sven Neumann  <sven@gimp.org>
2218
2219         * gtk/gtkplug.c: put into #ifdef GDK_WINDOWING_X11 to make GTK+
2220         compile for non-X11 targets again
2221
2222 2001-04-20  Alexander Larsson  <alexl@redhat.com>
2223
2224         * gtk/gtkcolorsel.[ch]:
2225         API Change. Take GdkColor arguments instead of gdouble *.
2226         Leave the old gtk_color_selection_set_color for compatibility,
2227         but marked deprecated.
2228         Do correct rounding when converting RGB <-> HSV.
2229         
2230         * gtk/gtkcolorseldialog.c:
2231         * tests/testgtk.c:
2232         Use new GtkColorSelection API.
2233
2234         * gtk/gtkhsv.c:
2235         Fix problem selecting colors in triangle when Hue is 330.
2236         Fix some black dots around the HSB triangle.
2237         
2238         * gtk/gtkfilesel.c:
2239         return FALSE from the focus_in_event handler to fix focus problems.
2240
2241 2001-04-18  Havoc Pennington  <hp@redhat.com>
2242
2243         * gtk/gtkwindow.c (gtk_window_class_init): add signals and binding
2244         set, so keybindings are configurable    
2245         (gtk_window_activate_default): Change to activate the focus widget
2246         instead if there's a focus widget, to be consistent with the
2247         behavior that previously existed in key_press_event
2248
2249 2001-04-18  Havoc Pennington  <hp@redhat.com>
2250
2251         * gdk/gdkkeyuni.c: Handle numeric keypad keysyms; bug #50201
2252
2253 2001-04-18  Havoc Pennington  <hp@redhat.com>
2254
2255         Close bug #50615:
2256         
2257         * gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw
2258         the layout
2259
2260         * gtk/gtktext.c: Use base/text instead of bg/fg throughout
2261
2262         * gtk/gtkentry.c: Use base/text instead of bg/fg throughout
2263
2264         * gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout
2265         
2266         * gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default
2267         to blue for base, in addition to bg
2268         
2269 2001-04-18  Havoc Pennington  <hp@redhat.com>
2270
2271         * tests/testgtk.c (create_image): allow shrinking the image window
2272         to test that we clip to allocation.
2273
2274         * gtk/gtkimage.c (gtk_image_expose): clip to allocation,
2275         #9845
2276
2277         * gtk/gtkenums.h: move GtkWrapMode in here, #50472
2278
2279 Wed Apr 18 14:23:14 2001  Owen Taylor  <otaylor@redhat.com>
2280
2281         * gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
2282         mode on shm segments to 0600. We'll see who complains.
2283
2284         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
2285         _gdk_windowing_window_destroy() AFTER recursing through
2286         children.
2287
2288         * tests/Makefile.am (noinst_PROGRAMS): Build testsocket,
2289         testsocket_child on X.
2290
2291         * tests/testsocket[_child].c: Fix uses of
2292         gtk_window_get_default_accel_group().
2293
2294         [ Merge patch from Ramiro Estrugo  <ramiro@eazel.com> from gtk-1-2 ]
2295
2296         * gdk/gdkimage.c: (gdk_image_get):
2297         Deal with the possibility that XGetImage() might return NULL.
2298         Allocate the GdkImagePrivate structure only after XGetImage()
2299         succeeds in order not to dereference a NULL ximage pointer.  This
2300         prevents a core dump when XGetImage() fails - which is unlikely,
2301         but can happen due to race conditions accessing the geometries of
2302         drawables.  An x error will still be triggered, but the gdk image
2303         wrapper at least wont seg fault.
2304         
2305 2001-04-18  Havoc Pennington  <hp@redhat.com>
2306
2307         * gtk/gtkimage.c: fix to properly queue resizes when the image is
2308         set
2309
2310         * gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
2311         if the insertion point isn't editable
2312
2313         * demos/gtk-demo/images.c: Added a GtkImage demo
2314
2315         * demos/gtk-demo/drawingarea.c: drawing area demo
2316         
2317         * demos/gtk-demo/menus.c (create_menu): cleanups
2318
2319 Wed Apr 18 12:15:52 2001  Owen Taylor  <otaylor@redhat.com>
2320
2321         * gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h 
2322           gdk/x11/gdkevents-x11.c: Introduce an extra child
2323         of toplevel windows that serves to hold the focus to
2324         avoid events being delivered to embedded windows.
2325
2326         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
2327         some extra variables to clean up code and reduce the
2328         number of casts.
2329
2330         * gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
2331         guint for 1 bit bit fields, not gboolean.
2332
2333 Wed Apr 18 10:04:23 2001  Owen Taylor  <otaylor@redhat.com>
2334
2335         * gtk/gtktooltips.c (gtk_tooltips_paint_window): Return FALSE,
2336         not TRUE. (Fixes #52925)
2337
2338 Tue Apr 17 18:05:34 2001  Owen Taylor  <otaylor@redhat.com>
2339
2340         * Released 1.3.4
2341
2342         * NEWS: Updated
2343
2344         * gtk/gtktextview.c (gtk_text_view_class_init): Fix to not
2345         use GTK_TYPE_ENUM.
2346
2347 Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>
2348
2349         * configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
2350
2351         * gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
2352         names to compatibility #defines so docs work.
2353
2354         * gtk/gtkenums.h: Remove GtkMenuFactoryType
2355
2356         * gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.
2357
2358         * configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS
2359
2360         * tests/testgtkrc: No magenta cursors, please.
2361
2362         * README.in INSTALL.in HACKING README.cvs-commits: Updated.
2363
2364         * gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
2365         
2366 Mon Apr 16 14:38:41 2001  Owen Taylor  <otaylor@redhat.com>
2367
2368         * gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer
2369         grabs, since they are no longer necessary.
2370
2371         * gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926
2372         by signal_connect() and call gtk_button_pressed() rather
2373         than signal_connect_after().
2374
2375         * tests/testgtk.c: Restore radio menu items to combos 
2376         since they'll look OK with Raleigh, and it is easier
2377         than finishing the process of removing them that was
2378         started earlier.
2379
2380 2001-04-16  Hans Breuer  <hans@breuer.org>
2381
2382         * gdk/gdk.def :
2383         * gtk/gtk.def : added all exports required to link PyGtk 0.7.1
2384
2385         * gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
2386         we are interested in the functions return value not the function address
2387         * gdk/gdkvisual.h : same for GDK_TYPE_VISUAL
2388
2389         * gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk
2390
2391 2001-04-14  Hans Breuer  <hans@breuer.org>
2392
2393         * gdk/gdk.def :
2394         * gdk/makefile.msc : updated
2395
2396         * gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is 
2397         "fill with tile" do so with new helper function gdk_win32_draw_tiles 
2398         (the testgtk::text backgound pixmap is drawn again)
2399         Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect 
2400         Win32 Pango change
2401         * gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
2402
2403         * gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
2404         Not sure if the returned settings have the right unit, because I couldn't
2405         find any docs for the X version ...
2406
2407         * gtk/gtk.def :
2408         * gtk/makefile.msc.in : updated
2409
2410 Thu Apr 12 17:41:17 2001  Owen Taylor  <otaylor@redhat.com>
2411
2412         * gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some
2413         wording problems. (Compared to version from Johannes Stezenbach to
2414         check correctness.)
2415
2416 Thu Apr 12 21:04:26 2001  Tim Janik  <timj@gtk.org>
2417
2418         * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get
2419         this to compile.
2420
2421 2001-04-12  Anders Carlsson  <andersca@codefactory.se>
2422
2423         * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
2424         not pixbufpos.
2425
2426         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.
2427
2428         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
2429         are unsigned insts, therefore use g_value_set_uint.
2430         (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.
2431
2432 Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@redhat.com>
2433
2434         * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.
2435
2436         * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
2437         GTK_TYPE_STRING.
2438
2439         * gtk/gtktreeview.c: New functions to allow initial column
2440         dragging work.
2441
2442         * gtk/gtktreeviewcolumn.c: Initial column dragging support.
2443
2444         * tests/testtreefocus.c: give dave some love.
2445
2446         * tests/testtreesort.c: Modify test to check really long samples.
2447
2448 2001-04-11  Alexander Larsson  <alexl@redhat.com>
2449
2450         * gtk-2.0.m4: Pass pkg-config options
2451         before the other args so it works even if
2452         POSIXLY_CORRECT is set.
2453
2454 Mon Apr  9 19:02:07 2001  Tim Janik  <timj@gtk.org>
2455
2456         * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
2457         0, interface 0).
2458
2459 2001-04-04  Denis Oliver Kropp  <dok@convergence.de>
2460
2461         * gtk/gtkcalendar.c (gtk_calendar_button_press):
2462         check for action_func != NULL
2463
2464 2001-04-04  Sven Neumann  <sven@gimp.org>
2465
2466         * tests/testgtk.c (test_init): corrected path to gtk.immodules
2467
2468 Wed Apr  4 09:18:18 2001  Tim Janik  <timj@gtk.org>
2469
2470         * Released Gtk+-1.3.3.
2471
2472 Wed Apr  4 07:42:23 2001  Tim Janik  <timj@gtk.org>
2473
2474         * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST.
2475
2476 Wed Apr  4 04:13:18 2001  Tim Janik  <timj@gtk.org>
2477
2478         * gtk/stock-icons/Makefile.am: stay in builddir and read/write
2479         files to/from source dir. (if we don't stay in builddir, we
2480         can't reach make-inline-pixbuf.
2481
2482         * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl
2483         deps.
2484
2485         * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
2486         ages 0).
2487
2488 Tue Apr  3 15:04:45 2001  Jonathan Blandford  <jrb@redhat.com>
2489
2490         * gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
2491         moved to the GtkTreeSortable interface.
2492
2493         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
2494         Make more efficient (fixes #50262).
2495
2496 Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>
2497
2498         * NEWS: Updated.
2499
2500         * configure.in: Remove support for uninstalled glib.
2501
2502         * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
2503         so as not to stop emission.
2504
2505         * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
2506         is no longer supported.
2507
2508         * Makefile.am gtk/Makefile.am tests/*: Moved all tests
2509         into tests, change build order to build modules before
2510         gtk/.
2511
2512         * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
2513         to here.
2514
2515 Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
2516
2517         * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
2518         and gtk_item_factory_dump_rc() GtkPatternSpec argument to
2519         GPatternSpec. this is actually unlikely to cause breakage in
2520         third-party apps since except for gle, pretty much ever caller
2521         passes NULL here.
2522
2523         * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
2524
2525         * *.c: use g_pattern_*() API.
2526
2527         * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
2528
2529         * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
2530         directions aren't passed in.
2531
2532         * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
2533         functionality to be usable from gtkstyle.c as well, give precedence
2534         for conversion to user-supplied parsers.
2535         s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
2536
2537         * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
2538         _gtk_settings_parse_convert() for rcporperty value conversion.
2539
2540 2001-04-03  Alexander Larsson  <alexl@redhat.com>
2541
2542         * gdk/linux-fb/gdkevents-fb.c:
2543         Add empty gdk_setting_get().
2544
2545 Tue Apr  3 05:09:07 2001  Tim Janik  <timj@gtk.org>
2546
2547         * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
2548         variable names.
2549         
2550         * gtk/makeenums.pl: touch this so enum files get remade.
2551
2552 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
2553
2554         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
2555         work again when not sorted.
2556
2557         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
2558         and "expand_row" signal, closing bug 52578.
2559
2560         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
2561         support.
2562
2563         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
2564         support.
2565
2566 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
2567
2568         * gdk/gdkevents.h: Add GdkEventSetting event for notification
2569         of changes to system settings, gdk_setting_get() to retrieve
2570         a single system setting.
2571
2572         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
2573         to the draft XSETTINGS mechanism.
2574
2575         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
2576         XSETTINGS.
2577
2578         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
2579         of GDK settings changes to the GtkSettings object.
2580
2581         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
2582         double-click-timeout property to GDK.
2583
2584         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
2585         Define GDK boxed types here.
2586
2587         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
2588         gdk/gdkenumtypes.[ch] for enum definitions.
2589
2590         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
2591         * gtk/gtk-boxed.defs: Comment out GDK types
2592         * gtk/gtktypeutils.h: Remove GDK types
2593         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
2594
2595 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
2596
2597         * Applied patch from Ron Steinke to add signal accumulators
2598         so that signals with the convention 'TRUE return means
2599         handled' stop emission on a TRUE return.
2600
2601         * gtk/gtkmain.[ch]: Add private accumulator 
2602         _gtk_boolean_handled_accumulator, used throughout GTK+.
2603         
2604         * gtk/gtkspinbutton.c: Add accumulator for ::output.
2605
2606         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
2607         
2608         * gtk/gtkwidget.c: Add accumulators for event signals,
2609         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
2610         for ::mnemonic-activate.
2611
2612         * gtk/gtkwindow.c: Add accumulator for ::frame_event
2613
2614 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
2615
2616         * gtk/gtkwidget.c: Add missing include.
2617
2618 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
2619
2620         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
2621         marshaller.
2622
2623         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
2624         "changed" signal to "range_changed".
2625
2626         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
2627         removing a tree from one model would remove all trees from that
2628         model.
2629         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
2630         changed signal instead.
2631
2632 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
2633
2634         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
2635         chaining up to parent impl, since we have a INPUT_ONLY
2636         window.
2637
2638         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
2639         foreground color for the cursor.
2640
2641 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
2642
2643         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
2644         param spec when caching property values, since we unref it
2645         later when we free the style.
2646
2647         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
2648         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
2649
2650 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
2651
2652         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
2653         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
2654         stupidity.
2655
2656 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
2657
2658         [ First pass at adding style properties. Still needs some definite
2659         fine-tuning. ]
2660
2661         * gtk/gtkbutton.c: Add ::default_spacing style property.
2662          
2663         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
2664         ::indicator_spacing style properties.
2665
2666         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
2667         style properties.
2668
2669         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
2670         rather than a normal property.
2671
2672         * gtk/gtkwidget.c: Add an ::interior_focus style property to
2673         draw focus inside buttons, in the Windows/Java Metal/etc. style.
2674
2675         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
2676         Honor ::interior_focus.
2677         
2678         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
2679         TRUE.
2680
2681         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
2682         Add ::slider_width, ::trough_border, ::stepper_size,
2683         ::stepper_spacing style properties.
2684
2685         * gtk/gtkscale.[ch] Add ::slider-length style property.
2686
2687 2001-04-02 Alexander Larsson   <alexl@redhat.com>
2688
2689         * gdk/linux-fb/gdkwindow-fb.c:
2690         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
2691         warnings that were spewed on startup.
2692
2693         * gtk/gtkwindow-decorate.c:
2694         gtk_window_reposition -> _gtk_window_reposition
2695
2696 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
2697
2698         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
2699         Add boxed type for GtkRequistion. Use it for ::size-request.
2700
2701         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
2702         Add a new GtkBorder structure useful for geometry properties
2703         for widgets. Add corresponding GTK_TYPE_BORDER.
2704         
2705         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
2706         Support automatic parser selection like
2707         gtk_settings_install_property_parser().
2708
2709         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
2710         functionality for use by gtk_widget_class_install_style_property.
2711         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
2712
2713 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
2714
2715         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
2716         g_param_spec_unichar(). 
2717
2718 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
2719
2720         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
2721         _NET window managers.
2722
2723         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
2724
2725 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
2726
2727         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
2728         bad needs to be nuked, not just deprecated.
2729
2730         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
2731         gtk_widget_popup().
2732
2733         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
2734         
2735         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
2736         widget.
2737         
2738         * docs/Changes-2.0.txt: updates.
2739         
2740 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
2741
2742         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
2743         for (i = 0; i < 100; i ++)
2744           g_print ("I will confirm it compile before committing\n");
2745
2746 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
2747
2748         * gtk/gtktreestore.c: Initial work on implementing the
2749         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
2750
2751 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
2752
2753         * gtk/gtkwidget.c: fixed a bunch of notifications, added
2754         reference counts around emissions where the widget is used afterwards.
2755         added freeze/thaws around multiple properties being notified.
2756         (_gtk_widget_get_aux_info): cleanups.
2757         
2758         * gtk/gtksettings.c (gtk_settings_install_property): provide
2759         default parsing functions for gdkcolor, enums and flags.
2760
2761         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
2762         applied by owen.
2763         backed out gtk_window_get_location(), gtk_window_set_location(),
2764         gtk_window_get_size() and gtk_window_set_size(), these
2765         have to be sorted out wrg x/y/width/height/default_with/default_height
2766         properties.
2767         kept a flag in GtkWindowGeometryInfo to handle user
2768         resetting default sizes.
2769         cleaned up ZVT comments.
2770         bunch of assorted bug fixes, notification fixes.
2771         (_gtk_window_reposition): make this a really internal function.
2772         
2773         * gtk/testgtk.c: fixups.
2774         
2775 2001-03-31  Hans Breuer  <hans@breuer.org>
2776
2777         * config.h.win32.in : disable USE_MMX for msvc build cause
2778         the assembler doesn't fit and is out of my scope. Disable
2779         USE_GMODULE for msvc build as wel. The right way to share
2780         binaries on win32 would be to use libtiff.dll etc. To reduce
2781         installation hassles IMO it's better to include all fileformats
2782         builtin to gdk-pixbuf
2783
2784         * gdk-pixbuf/makefile.msc : new file
2785
2786         * gdk/gdk.def : updated
2787
2788         * gdk/win32/gdkevents-win32.c : don't erase the background if
2789         .no_bg is set. It improves the scrolling (e.g. of testgtk main
2790         buttons
2791         * gdk/win32/gdkgeometry-win32.c : added comment about the above
2792
2793         * gdk/win32/gdkwindow-win32.c : added three new functions like
2794         the X version. Only one is implemented, because the other two
2795         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
2796         be default behaviour on win32 anyway ...
2797
2798         * gtk/gtk.def : updated
2799
2800         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
2801         from where it was built and add an additional rule to automagically
2802         build gtkmarshal.[hc]
2803
2804         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
2805         before array access for the current entry isn't finished
2806
2807         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
2808         use g_return_val_if_fail
2809
2810         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
2811         for the static array, but let the compiler calculate it. It
2812         makes me wonder if gcc isn't capable to catch bugs like this ...
2813
2814 2001-03-31  James Henstridge  <james@daa.com.au>
2815
2816         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
2817         constant "-1" in the aux info structure.
2818
2819 2001-03-30  Alexander Larsson  <alexl@redhat.com>
2820
2821         * gtk/gtkbutton.c (gtk_button_get_property):
2822         * gtk/gtklabel.c:
2823         Remove leaks.
2824         
2825         * gtk/gtkcontainer.c:
2826         * gtk/gtkhscale.c:
2827         * gtk/gtkhscrollbar.c:
2828         * gtk/gtklayout.c:
2829         * gtk/gtkmisc.c:
2830         * gtk/gtkprogress.c:
2831         * gtk/gtkprogressbar.c:
2832         * gtk/gtkrange.c:
2833         * gtk/gtktable.c:
2834         * gtk/gtkviewport.c:
2835         * gtk/gtkvscale.c:
2836         * gtk/gtkvscrollbar.c:
2837         * gtk/gtkwidget.c:
2838         Property patches, based on patches from John Margaglione and Lee Mallabone.
2839
2840 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
2841
2842         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
2843         adjustment. Cleaned redundant preconditions (spin != NULL). Added
2844         inline API function docs.
2845         (gtk_spin_button_new_with_range): New convenience constructor.
2846         (gtk_spin_button_set_increments): New adjustment helper.
2847         (gtk_spin_button_set_range): New adjustment helper.
2848
2849         * gtk/testgtk.c : added test of the new convenince constructor and
2850         value_changed signals.
2851
2852 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
2853
2854         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
2855         listen to the reorder signal.
2856
2857 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
2858
2859         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
2860         to get the aux info structure fo the widget.
2861
2862         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
2863         above function.
2864
2865         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
2866
2867         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
2868         to get the size of the window manager frame, basically the same
2869         code that gdk_window_get_root_origin() had
2870         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
2871
2872         * gtk/gtkwindow.c (gtk_window_set_default_size): use
2873         gdk_window_resize() if the window is realized and resizeable
2874
2875         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
2876         typo so that setting gravity works
2877
2878         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
2879         allocation if auto_shrink is on, even if the default size
2880         has not changed.
2881
2882         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
2883         g_return_if_fail
2884
2885 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
2886
2887         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
2888         reordering/sorting work.  Now pretty much works.
2889
2890         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
2891         reorder mostly work.  Still need to get the parity correct.
2892
2893         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
2894         signal, so I can listen for the sort_column_changed signal so I
2895         can change my "sort_indicator" property.  Cool.
2896
2897 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
2898
2899         [ Patch from Havoc Pennington, hp@redhat.com ]
2900
2901         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
2902         Add functions gdk_window_begin_resize_drag/begin_move_drag
2903         to start resizing or moving a toplevel window. This
2904         is done either using the _NET_WM_MOVERESIZE protocol,
2905         or, if that isn't present, by emulation.
2906
2907         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
2908         to export the above to GTK+-land.
2909
2910         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
2911         
2912         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
2913         Move this function into gdkwindow, since we need it
2914         when implementing fallback resizing.
2915
2916         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
2917         Fix typo when setting gravity.
2918
2919         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
2920         Add an optional (but on by default) resize grip for resizing 
2921         the parent window.
2922
2923 01-03-29  Alexander Larsson  <alexl@redhat.com>
2924
2925         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
2926         Don't return TRUE from the event handler, that blocks all
2927         event signals on the tooltip widget. Now you can press buttons
2928         in toolbars again.
2929
2930 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
2931
2932         * gtk/testtext.c (create_buffer): Add missing NULL on
2933         valist.
2934
2935         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
2936         c-n-p problem with INCONSISTENT property.
2937
2938         [ Patch from Havoc Pennington  <hp@redhat.com> ]
2939
2940         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
2941         hook.
2942
2943         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
2944         signal as a hook for extending the default popup menu
2945
2946         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
2947         use radio menu items for the input method menuitems
2948
2949         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
2950         inserted unicode from Ctrl-Shift-hex input method
2951
2952         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
2953         validatation here, already done at GtkTextBuffer level.
2954
2955         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
2956         popup_menu run action signal and Shift+F10 and Menu keybindings.
2957
2958         * gtk/gtkentry.c: implement a default handler for popup_menu
2959
2960         * gtk/gtktextview.c: implement a default handler for popup_menu
2961
2962         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
2963         from a key event
2964         
2965         * gtk/gtklabel.c: remove "trailer" cruft
2966
2967 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
2968
2969         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
2970         handle reordering of trees.  Seems to mostly work w/ the exception
2971         of the parity flag.
2972
2973         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
2974         signal.
2975
2976 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
2977
2978         * gtk/gtkwidget.h: c++ fixes.
2979
2980 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
2981
2982         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
2983         memory.
2984
2985 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
2986
2987         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
2988         Nils Barth fixing event return values. (#51041)
2989
2990         * gtk/gtkwidget.c: Fix some return values for default
2991         functions.
2992
2993         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
2994         return values for trough_keys functions.
2995
2996         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
2997         value for add_accelerator (shoudl have been a void
2998         return.)
2999
3000         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
3001         Fix return type of EVENT.
3002
3003         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
3004         signal return a boolean.
3005
3006 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
3007
3008         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
3009         reordered signal.
3010
3011         * tests/testtreesort.c (main): fix spelling.
3012
3013 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
3014
3015         * gtk/gtkliststore.c: More work on implementing sortable
3016         interface.
3017
3018 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
3019
3020         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
3021         reference the widgets in the resulting list. (#11821)
3022         This makes this consistent with gtk_container_children.
3023
3024         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
3025         uses of gtk_window_list_toplevels.
3026
3027 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
3028
3029         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
3030         a virtual function to set whether the IM context should use 
3031         the preedit string. (#51922)
3032         
3033 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
3034
3035         * gdk/gdkpango.h: Remove stale FIXME comment.
3036
3037 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
3038
3039         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
3040         Fixed bug that returned NULL if a filename was selected.
3041
3042 2001-03-24  Havoc Pennington  <hp@pobox.com>
3043
3044         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
3045         to contain the word "theme"
3046
3047 2001-03-24  Havoc Pennington  <hp@pobox.com>
3048
3049         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
3050         slower but finer-grained
3051         (gtk_hsv_focus): get initial focus on the ring or triangle 
3052         according to tab direction
3053
3054         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
3055
3056 2001-03-23  Havoc Pennington  <hp@pobox.com>
3057
3058         * gtk/gtkhsv.c: make this somewhat key-navigable
3059
3060         * gtk/gtkfontsel.c: mnemonics
3061
3062         * gtk/gtkgamma.c: mnemonics
3063
3064         * gtk/gtkcolorsel.c: add mnemonics to labels
3065
3066 2001-03-22  Havoc Pennington  <hp@pobox.com>
3067
3068         Applied big patch from Seth Lytle to fix event handler return
3069         values, slightly modified.
3070
3071         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
3072         handled.
3073         (gtk_calendar_key_press): return TRUE for GDK_space triggers
3074         select_day
3075
3076         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
3077         (gtk_clist_button_release): return TRUE if handled
3078
3079         * gtk/gtkcolorsel.c (mouse_release):
3080         (palette_activate): 
3081         (palette_press): 
3082         (palette_new): 
3083         (mouse_press): 
3084         (get_screen_color): 
3085         fixed return type (void to gboolean), return TRUE,
3086         added GTK_SIGNAL_FUNC cast
3087
3088         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
3089         (void to gboolean), and return TRUE
3090         (gtk_combo_button_release): changed return value to TRUE after
3091         gtk_grab_add on combo->popwin
3092
3093         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
3094         collapse or expand
3095
3096         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
3097         button/motion
3098
3099         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
3100         press/release and motion that trigger act
3101
3102         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
3103
3104         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
3105         for GDK_Return
3106         
3107         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
3108         (gtk_list_button_release): return TRUE if selection
3109
3110         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
3111         press
3112
3113         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
3114         (gtk_menu_shell_button_release): chain parent_menu_shell retval
3115
3116         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
3117         nothing triggered
3118         (gtk_notebook_button_release): return TRUE if we do anything
3119
3120         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
3121         (gtk_spin_button_button_release): return TRUE or chained retval
3122
3123         * gtk/gtktext.c (gtk_text_button_press): 
3124         (gtk_text_button_release): return TRUE
3125         (gtk_text_key_press): remove redundant retval code
3126         
3127         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
3128         and sensitive
3129         (gtk_tree_item_subtree_button_click): changed type to gint, and return
3130         TRUE if sensitive
3131
3132         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
3133         return TRUE
3134
3135 2001-03-23  Havoc Pennington  <hp@redhat.com>
3136
3137         * gtk/testgtk.c: fix warnings
3138
3139         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
3140
3141         * gtk/gtktextview.c: fix warnings
3142
3143         * gtk/gtktext.c (find_cursor_at_line): fix warning
3144
3145         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
3146
3147         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
3148         of this function
3149
3150         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
3151         fix warning
3152
3153         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
3154
3155         * gtk/gtkfontsel.c: fix warning
3156
3157         * gtk/gtkcolorsel.c: fix warnings
3158
3159 2001-03-23  Havoc Pennington  <hp@redhat.com>
3160
3161         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
3162
3163         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
3164
3165         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
3166         and deprecated gtk_check_menu_item_set_show_toggle().
3167         
3168         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
3169
3170         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
3171
3172         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
3173
3174 2001-03-23  Havoc Pennington  <hp@redhat.com>
3175
3176         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
3177         some docs
3178
3179 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
3180
3181         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
3182         this.
3183
3184         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
3185         set_cell to set_value
3186
3187         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
3188         set_cell to set_value
3189
3190 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
3191
3192         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
3193         fix braino.
3194         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
3195         support.
3196
3197         * gtk/gtktreeview.c: Addition of initial sortable support.
3198
3199         * gtk/gtktreestore.c: Addition of initial sortable support.
3200
3201         * gtk/gtkliststore.c: Addition of initial sortable support.
3202
3203         * gtk/gtkmarshal.list: yet another marshaller.
3204
3205         * gtk/gtktreedatallist.[ch]: shared code between the store models
3206         for handling sorting headers.
3207
3208 2001-03-22  Havoc Pennington  <hp@redhat.com>
3209
3210         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
3211         (gtk_container_unset_focus_chain): Add ability to override the 
3212         focus chain for a container explicitly
3213
3214 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
3215
3216         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
3217         added PROP_MNEMONIC_WIDGET.
3218
3219         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
3220         (gtk_window_remove_mnemonic): 
3221         (gtk_window_add_mnemonic): fixed assertions.
3222         (gtk_window_activate_mnemonic): constrain modifier checks to those
3223         permitted by gtk_accelerator_get_default_mod_mask().
3224         got rid of gtk_window_get_default_accel_group().
3225
3226         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
3227         activatable widgets either by focussing or a warning.
3228         added a signal accumulator to ::activate_mnemonic which stops the
3229         emission once a handler returned TRUE.
3230
3231 2001-03-22  Havoc Pennington  <hp@pobox.com>
3232
3233         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
3234         the stock item label
3235
3236         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
3237
3238         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
3239
3240         * demos/gtk-demo/*.c: Add mnemonics all over the place
3241
3242         * gtk/gtklabel.h: mark parse_uline deprecated
3243
3244 2001-03-21  Alexander Larsson  <alexl@redhat.com>
3245
3246         * gtk/gtkitemfactory.[ch]:
3247         Add support for stock and normal imagemenuitems.
3248         
3249         * gtk/testgtk.c:
3250         Add some tests for mnemonics, stock toolbars, stock
3251         and image menuitems in itemfactory and gdk_window_scroll.
3252
3253 2001-03-21  Alexander Larsson  <alexl@redhat.com>
3254
3255         * gtk/gtkbutton.[ch]:
3256         * gtk/gtkdialog.c:
3257         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
3258         removed accel_group argument. Renamed gtk_button_new_accel() to
3259         gtk_button_new_with_mnemonic() and removed accel_group argument.
3260
3261         * gtk/gtkcheckbutton.[ch]:
3262         New function gtk_check_button_new_with_mnemonic().
3263
3264         * gtk/gtkentry.c:
3265         Override activate_mnemonic and just grab focus.
3266
3267         * gtk/gtkitemfactory.c:
3268         Don't add menu uline accel group, instead use mnemonics support.
3269
3270         * gtk/gtklabel.[ch]:
3271         New support for mnemonics.
3272
3273         * gtk/gtkmarshal.list:
3274         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
3275
3276         * gtk/gtkmenu.[c]:
3277         * gtkmenushell.c:
3278         Use mnemonics instead of accel groups for uline
3279         support in menu items.
3280         Removed gtk_menu_get_uline_accel_group() and
3281         gtk_menu_ensure_uline_accel_group().
3282
3283         * gtk/gtkmenuitem.c:
3284         Override activate_mnemonic to handle switching between
3285         menu items if there are collisions.
3286         
3287         * gtk/gtknotebook.c:
3288         Connect to activate_mnemonic on the tab_label, so that
3289         activating it switches to that notebook page.
3290
3291         * gtk/gtkwidget.[ch]:
3292         Add activate_mnemonic signal. New function
3293         gtk_widget_activate_mnemonic() to emit it.
3294         Default implementation does activate/grab_focus.
3295
3296         * gtk/gtkwindow.[ch]:
3297         Add support for mnemonics in windows.
3298         New functions:
3299         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
3300         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
3301
3302         * gtk/testgtk.c:
3303         Update to function name changes.
3304         
3305 2001-03-21  Alexander Larsson  <alexl@redhat.com>
3306
3307         * gtk/gtkimagemenuitem.[c]:
3308         Add gtk_image_menu_item_new_from_stock()
3309
3310 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
3311
3312         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
3313         Fix buglet in meeting.
3314
3315 2001-03-19  Havoc Pennington  <hp@redhat.com>
3316
3317         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
3318         add a bunch of accessor functions. This is because we have
3319         reasonable expectations of extending what fields it contains in
3320         the future.
3321
3322         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
3323         changes
3324
3325         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
3326         GtkIconSource   
3327
3328 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
3329
3330         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
3331         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
3332
3333         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
3334           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
3335           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
3336           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
3337         Change float to double everywhere with the exception of 0<->1.0 alignment
3338         and GtkCurve.
3339
3340 2001-03-19  Tor Lillqvist  <tml@iki.fi>
3341
3342         * gdk/win32/gdkdrawable-win32.c
3343         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
3344         output.
3345
3346         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
3347         gdkwin32.h.
3348
3349 2001-03-18  Tor Lillqvist  <tml@iki.fi>
3350
3351         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
3352         print_event_state, print_event): Use preprocessor macro to make
3353         code more compact. Print also GDK_WINDOW_STATE events.
3354         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
3355         
3356         * gtk/gtk.def
3357         * gtk/makefile.mingw.in: Update.
3358
3359         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
3360         to catch also Cygwin.
3361
3362 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
3363
3364         * gtk/gtkspinbutton.[hc]: added rc-style argument
3365         GtkSpinButton::shadow_type.
3366         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
3367         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
3368         rc-style settings.
3369
3370         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
3371
3372         * gtk/gtkwidget.c: quark cleanups.
3373
3374         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
3375         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
3376         to create_rc_style() (we don't do cloning in standard OO sense).
3377         added per rc style properties.
3378         
3379         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
3380         property values and for caching those. some cleanups.
3381         
3382         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
3383         
3384         * gtk/gtksettings.[hc]: new file for global rc-file properties
3385         (at least currently, should get extended to support X properties
3386         and other communication mechanisms).
3387         
3388         * gtk/gtkwidget.[hc]: added style property support:
3389         (gtk_widget_class_install_style_property_parser): install style
3390         property pspec with parser function for rc-file values other
3391         than LONG, DOUBLE or STRING.
3392         (gtk_widget_class_install_style_property): same as above without
3393         parser (parsers are going to be needed quite infrequently).
3394         (gtk_widget_style_get_property): retrive style property value.
3395         (gtk_widget_style_get_valist): same as above with varargs support,
3396         has NOCOPY semantics.
3397         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
3398
3399 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
3400
3401         * demos/gtk-demo/main.c (row_activated_cb): modified to use
3402         "row_activated" signal.
3403
3404         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
3405         stupidity.  Lets actually pass in the row with this signal...
3406
3407 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
3408
3409         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
3410
3411         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
3412
3413         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
3414         everything into the ::destroy function, and freed a lot more.
3415
3416 2001-03-16  Havoc Pennington  <hp@redhat.com>
3417
3418         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
3419         instead of gint16, to avoid overflow issues, since sizes > 16-bit
3420         are now allowed.
3421
3422 2001-03-16  Havoc Pennington  <hp@redhat.com>
3423
3424         * Applied patch from Nils Barth (bug # 51041) to 
3425         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
3426         in various places.
3427
3428 2001-03-15  Havoc Pennington  <hp@redhat.com>
3429         
3430         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
3431         for properties to set on the tag.
3432
3433         * gtk/testtext.c: fixups to reflect create_tag change
3434         
3435         * gtk/gtktexttag.c (gtk_text_tag_set_property):
3436         background/foreground stipple are objects, not boxed.
3437
3438         * demos/gtk-demo/textview.c: intellihancing
3439
3440 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
3441
3442         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
3443         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
3444
3445 2001-03-16  Alexander Larsson  <alexl@redhat.com>
3446
3447         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
3448         Fix sign error with queued region translations.
3449
3450 2001-03-15  HideToshi Tajima  <tajima@happy>
3451
3452         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
3453         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
3454         * gtk/gtkentry.c (update_im_cursor_location): 
3455         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
3456         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
3457         set_cursor_pos to set_cursor_location in GtkInputContext class
3458
3459 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
3460
3461         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
3462         the location of the cell relative to its area.
3463         * gtk/gtkcell*: modified for above change
3464         * gtk/gtktreeview.c: modified for above change.
3465
3466 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
3467
3468         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
3469          (gtk_tree_view_finalize): actually unref the model.  Thanks to
3470         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
3471
3472 2001-03-14  Havoc Pennington  <hp@redhat.com>
3473
3474         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
3475         
3476         * gtk/gtk.h: remove gtkdata.h
3477
3478         * gtk/Makefile.am: remove gtkdata
3479         
3480         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
3481         not "disconnect" on the adjustments.
3482         
3483         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
3484         GtkData
3485
3486         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
3487         not GtkData
3488
3489         * configure.in: handle case where X render exists, but Pango lacks
3490         Xft support.
3491
3492 2001-03-15 Alexander Larsson  <alexl@redhat.com>
3493
3494         * gtk/gtktoolbar.[ch]:
3495         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
3496         to add stock items to toolbars.
3497
3498         * gtk/Makefile.am:
3499         Remove ../gdk/gdkim.h from gdk_headers.
3500
3501 2001-03-15  Sven Neumann  <sven@gimp.org>
3502
3503         * gdk/gdkim.h: removed
3504         
3505         * gdk/gdkprivate.h
3506         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
3507
3508 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
3509
3510         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
3511         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
3512         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
3513         set_cursor_pos() virtual method
3514
3515         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
3516         (gtk_im_context_xim_set_cursor_pos): add implementation for
3517         set_cursor_pos() method
3518
3519         * gtk/gtkentry.c (recompute_idle_func): set current cursor
3520         position to input methods
3521
3522 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
3523
3524         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
3525         code a lot.
3526
3527         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
3528         g_mem_chunk.
3529         (_gtk_tree_data_list_alloc): use g_mem_chunk.
3530         (_gtk_tree_data_list_node_to_value): Fix to switch on
3531         G_TYPE_FUNDAMENTAL.
3532         (_gtk_tree_data_list_value_to_node): Fix to switch on
3533         G_TYPE_FUNDAMENTAL.
3534         (_gtk_tree_data_list_node_copy): Fix to switch on
3535         G_TYPE_FUNDAMENTAL.
3536
3537 2001-03-12  Havoc Pennington  <hp@redhat.com>
3538
3539         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
3540         to convert to new property API. Also, change default_width and
3541         default_height get_property to return 0 as the flag value for
3542         "unset"; -1 is not a valid value for these fields.
3543
3544 2001-03-12  Havoc Pennington  <hp@redhat.com>
3545
3546         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
3547         enum with registration for icon sizes, instead of strings.
3548
3549         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
3550         gtkwidget.c: Fix to reflect GtkIconSize
3551         
3552 2001-03-12  Alexander Larsson  <alexl@redhat.com>
3553
3554         Make GtkFB compile and link.
3555         
3556         * gdk/linux-fb/gdkdrawable-fb2.c:
3557         window->mapped to GDK_WINDOW_IS_MAPPED(). 
3558         
3559         * gdk/linux-fb/gdkwindow-fb.c:
3560         window->mapped to GDK_WINDOW_IS_MAPPED(). 
3561         Added gdk_window_shape_combine_region.
3562         Added assorted placeholders for unimplemented new GdkWindow API calls.
3563
3564 2001-03-12  Alexander Larsson  <alexl@redhat.com>
3565
3566         * gtk/gtkfilesel.c:
3567         Add more test when converting filenames from/to utf-8.
3568         Don't allow entering text in the filename entry which isn't allowed in
3569         a filename. Just beep instead.
3570
3571 2001-03-12  Alexander Larsson  <alexl@redhat.com>
3572
3573         * gtk/gtkclist.c:
3574         Scroll using gdk_window_scroll(). Don't wait for exposes.
3575         Move the column headers in an order that makes them flash less.
3576
3577 2001-03-10  Hans Breuer  <hans@breuer.org>
3578
3579         * gdk/gdk.def : updated
3580
3581         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
3582         to offseting the clip_mask at the right place
3583
3584         * gdk/win32/gdkwindow-win32.c : don't create background brushes
3585         for all the gdkClasses, especially not for the input_only case.
3586         Otherwise flickering wont be avoidable, because we don't get
3587         WM_ERASEBKGND message for these windows.
3588
3589         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
3590         and fixed massive redraw problems apparently triggered by Alexanders 
3591         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
3592         but it seems to work quite well :-)
3593
3594         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
3595         prototype
3596
3597 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
3598
3599         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
3600         (gtk_list_store_set_cell): Fix a stupid typo.
3601
3602 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
3603
3604         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
3605         select_all not work if you're in SINGLE mode (it doesn't make that
3606         much sense, anyway.)
3607
3608         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
3609         handle types more sanely.
3610         (_gtk_tree_data_list_value_to_node): handle types more sanely.
3611         (_gtk_tree_data_list_node_copy): handle types more sanely.
3612
3613         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
3614         GValue better. Converts the type as well.
3615
3616         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
3617         GValue better. Converts the type as well.
3618
3619 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
3620
3621         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
3622         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
3623         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
3624         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
3625
3626         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
3627         gdk_im/gdk_ic.
3628
3629 2001-03-09  Hans Breuer  <hans@breuer.org>
3630
3631         * gdk/gdk.def : updated
3632
3633         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
3634         for their palette
3635
3636         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
3637         removing
3638
3639         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
3640         removing and implemented Havoc's GdkWindow state functions; 
3641         stick/unstick only as no-op, cause I don't know how to emulate 
3642         on win32 ...
3643
3644         * gtk/gtk.def : updated
3645
3646         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
3647
3648         * gtk/gtktypeutils.c : #include <string.h>
3649
3650         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
3651
3652 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
3653
3654         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
3655         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
3656         not a boxed.
3657
3658 2001-03-09  Alexander Larsson  <alexl@redhat.com>
3659
3660         * docs/Changes-2.0.txt:
3661         Document expose event->region change and that gtk_widget_event
3662         doesn't allow passing expose events.
3663
3664         * gdk/gdkevents.h:
3665         Add region to expose event.
3666         
3667         * gdk/gdkevents.c:
3668         Handle event->region in gdk_event_copy() and gdk_event_free().
3669
3670         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
3671         Generate expose_event->region when creating expose events.
3672
3673         * gdk/x11/gdkevents-x11.c:
3674         Generate expose events with regions when translating X events.
3675
3676         * gtk/gtkcontainer.[ch]:
3677         Default expose handler that propagates expose events to NO_WINDOW
3678         children. New function gtk_container_propagate_expose()
3679
3680         * gtk/gtkwidget.[ch]:
3681         Moved gtk_widget_event implementation to gtk_widget_event_internal.
3682         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
3683         expose events. New function gtk_widget_send_expose() to send expose
3684         events. New function gtk_widget_region_intersect() to calculate
3685         window/region intersections.
3686         
3687         * gtk/gtkmain.c (gtk_main_do_event):
3688         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
3689         Use gtk_widget_send_expose() to send expose events.
3690         
3691         * gtk/gtkbin.c:
3692         * gtk/gtkbox.c:
3693         * gtk/gtkfixed.c:
3694         * gtk/gtkimagemenuitem.c:
3695         * gtk/gtklist.c:
3696         * gtk/gtkpacker.c:
3697         * gtk/gtktable.c:
3698         * gtk/gtktree.c:
3699         Remove expose handler, using the default container implementation
3700         instead.
3701         
3702         * gtk/gtkbutton.c:
3703         * gtk/gtkcheckbutton.c:
3704         * gtk/gtkeventbox.c:
3705         * gtk/gtkfixed.c:
3706         * gtk/gtkhandlebox.c:
3707         * gtk/gtklayout.c:
3708         * gtk/gtklistitem.c:
3709         * gtk/gtkmenu.c:
3710         * gtk/gtkmenubar.c:
3711         * gtk/gtkmenuitem.c:
3712         * gtk/gtknotebook.c:
3713         * gtk/gtkoptionmenu.c:
3714         * gtk/gtkpaned.c:
3715         * gtk/gtkscrolledwindow.c:
3716         * gtk/gtktogglebutton.c:
3717         * gtk/gtktoolbar.c:
3718         * gtk/gtktreeitem.c:
3719         * gtk/gtkviewport.c:
3720         Chain expose handler to parent class handler. Use
3721         gtk_container_propagate_expose() to propagate exposes.
3722
3723         * gtk/gtkclist.c (check_exposures):
3724         * gtk/gtktext.c (process_exposes):
3725         Use gtk_widget_send_expose instead of gtk_widget_event.
3726
3727 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
3728
3729         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
3730
3731 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
3732
3733         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
3734         unref the nodes.   Fixes bug #50058.
3735
3736         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
3737         "::ref_iter" to "::ref_node".
3738         (gtk_tree_model_unref_node): change "::unref_iter" to
3739         "::unref_node". Fixes bug #50064.
3740
3741 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
3742
3743         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
3744         support for invisible cells.
3745          (gtk_tree_view_bin_expose): ditto
3746
3747 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
3748
3749         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
3750         on gobjects.
3751
3752         * tests/testtreefocus.c (main): New test file.
3753
3754         * tests/testtreeview.c: update to latest glib changes.
3755
3756         * tests/testtreecolumns.c: update to latest glib changes.
3757
3758 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
3759
3760         * gtk/testgtk.c: re-enabled event watcher emission hooks.
3761
3762 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
3763
3764         * *.c: added accumulator data argument to g_signal_newc()
3765         functions.
3766
3767         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
3768         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
3769         * gtk/treestoretest.c (make_window):
3770         s/g_signal_connect/g_signal_connectc/.
3771
3772         * gtk/gtktextbuffer.c: completed signal arg fixups,
3773         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
3774
3775 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
3776
3777         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
3778         G_CONST_RETURN.
3779
3780         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
3781         ::hierarchy-changed signal when a widget changes
3782         from anchored to unanchored or vice versa.
3783         (anchored means 
3784          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
3785         Use a private flag to keep track of this efficiently.
3786
3787 2001-03-07  Havoc Pennington  <hp@redhat.com>
3788
3789         * gtk/testgtk.c (create_spins): uglify so that size request gets
3790         tested.
3791
3792         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
3793         request on values for upper/lower, completes #6152
3794
3795 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
3796
3797         * Makefile.am: Remove gtk-config-2.0 again.
3798         (Grrrr, pkg-config. And stops make loops.)
3799
3800 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
3801
3802         * gtk/gtksignal.[hc]: removed old emission hook API.
3803         
3804         * docs/Changes-2.0.txt: fixed sections.
3805         
3806         * gtk/gtktextbuffer.c: signal arg fixups.
3807
3808 2001-03-07  Havoc Pennington  <hp@redhat.com>
3809
3810         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
3811
3812         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
3813         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
3814         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
3815         validation and the redraw which is higher priority than the
3816         validation.
3817
3818 2001-03-07  Havoc Pennington  <hp@redhat.com>
3819
3820         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
3821         (gtk_entry_set_property): remove trailer
3822
3823         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
3824         (gtk_entry_get_width_chars): new functions, to set size request to 
3825         a given number of characters
3826
3827         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
3828
3829         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
3830         (gtk_dialog_get_has_separator): new function
3831         (run_delete_handler): fix to not emit "response" signal
3832         because we already did in the delete event handler installed
3833         at dialog creation time.
3834         
3835         * gtk/gtkdialog.h: add a has_separator property,
3836         add GTK_DIALOG_NO_SEPARATOR flag
3837
3838 2001-03-07  Havoc Pennington  <hp@redhat.com>
3839
3840         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
3841         off decorations for a window.
3842
3843         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
3844         changes
3845
3846         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
3847         to get location of PangoLayout inside the label, closes #51198
3848
3849         * gtk/testgtk.c (create_bbox): fix up button box usage
3850
3851         * gtk/testcalendar.c (create_calendar): fix up button box usage
3852
3853         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
3854
3855         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
3856
3857         * gtk/gtkhbbox.h: deprecations
3858
3859         * gtk/gtkvbbox.h: deprecations
3860
3861         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
3862         emulate deprecated gtk_button_box_get_spacing
3863
3864         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
3865         the "set global default" functions
3866         (struct _GtkButtonBox): remove "spacing" field, use the one from 
3867         GtkBox base class
3868
3869         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
3870
3871         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
3872         render the icon, return the missing image icon.
3873
3874         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
3875         image icon if the load fails.   
3876
3877         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
3878         when no image is found; should be the Netscape "missing image"
3879         icon eventually but for now is a random image
3880
3881         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
3882         role for the session manager
3883
3884         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
3885
3886         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
3887         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
3888
3889         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
3890
3891 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
3892
3893         * gtk/*.c: marshaller fixes.
3894         
3895         * gtk/gtkmarshal.list: extreme cleanup.
3896
3897         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
3898         param spec for now.
3899
3900         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
3901         where appliable.
3902
3903         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
3904         special cased autogenerated boxed types from gtktypebuiltins_ids.c
3905         which are not reference counted:
3906         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
3907         PangoFontDescription, GtkTreeIter and GtkTreePath.
3908
3909 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
3910
3911         * gtk/gtktreeselection.h: 
3912         * gtk/gtktreemodel.c:
3913         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
3914         file should be included directly, and gobject/gmarshal.h
3915         as well as gtk/gtkmarshal.h even can't be included directly.
3916
3917         * Makefile.am: grr, install gtk-config-2.0.
3918
3919         * gtk/testgtk.c:
3920         * gtk/simple.c:
3921         * gtk/gtkmenu.c:
3922         * gtk/gtkitemfactory.c: use g_object_connect() instead of
3923         passing "*signal*::*" args to gtk_widget_set().
3924         
3925         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
3926         
3927         * gtk/*.c: removed trailer arg from property setters and getters.
3928         macro fixups.
3929
3930 2001-03-07  Alexander Larsson  <alexl@redhat.com>
3931
3932         * gtk/gtklabel.c (set_markup): Removed warning
3933
3934 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
3935
3936         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
3937         field to allow you to hide cell renderers.
3938
3939         * gtk/gtkcellrenderer.c: Add support for invisible cells.
3940
3941         * gtk/gtktreeview.c: Add support for invisible cells.
3942
3943 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
3944
3945         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
3946         Add "clicked" signal back to columns.
3947
3948         * ChangeLog: remove conflict markers.
3949
3950 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
3951
3952         * gtk/gtkbutton.c: Add animation of activation by, on 
3953         activate, pressing the button, and adding a timeout that 
3954         releases the button after 250ms or on key release and
3955         emits ::clicked. (#51501)
3956
3957         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
3958         action area, we connect to ::clicked instead of ::activate
3959         so the dialog stays up through the animation.
3960
3961 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
3962
3963         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
3964         check the ignore_enter flag for the menu shell that
3965         the item is actually a child of, not for attached
3966         submenus. (#51536)
3967
3968 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
3969
3970         * gtk/gtkmain.c (gtk_propagate_event): Only do special
3971         special key-press grab handling for widgets within
3972         GtkWindows. Otherwise, fall through to normal case.
3973
3974         This prevents key events being sent twice to GtkInvisible
3975         widgets, which can cause all sorts of mischief.
3976
3977 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
3978
3979         * gtk/gtkmain.c (gtk_propagate_event): When a grab
3980         widget is in effect, give the grab widget a first
3981         crack at KEY_PRESS/RELEASE events. (#424)
3982
3983 2001-03-06  James Henstridge  <james@daa.com.au>
3984
3985         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
3986         offset for the window_state_event to point at window_state_event
3987         rather than no_expose_event.
3988
3989 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
3990
3991         * gtk/gtkimmodule.h: fix busted /* comment */
3992
3993 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
3994
3995         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
3996         object properties.
3997
3998 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
3999
4000         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
4001         add object properties.
4002
4003         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
4004         to add object properties.
4005
4006         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
4007         object properties.
4008
4009         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
4010         add object properties.
4011
4012         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
4013         object properties.
4014
4015 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
4016
4017         * gtk/gtktreemodel.c: renamed "child_toggled" to
4018         "has_child_toggled".
4019
4020         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
4021         handle new signal name.
4022
4023         * gtk/gtktreestore.c: Updated to handle new signal name.
4024         * gtk/gtklisttore.c: Updated to handle new signal name.
4025         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
4026
4027 2001-03-05  Alexander Larsson  <alexl@redhat.com>
4028
4029         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
4030         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
4031
4032 2001-03-05  Michael Natterer  <mitch@gimp.org>
4033
4034         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
4035         pixbuf-engine coincidentially also failed to make one of it's
4036         parent_class pointers static, causing overwriting of GtkLabel's
4037         parent_class pointer in pixbuf_style_class_init().
4038         (Will commit the fix to the pixbuf-engine too).
4039
4040 2001-03-05  Alexander Larsson  <alexl@redhat.com>
4041
4042         * gdk/gdkwindow.h:
4043         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
4044         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
4045         gdk_window_set_icon_list for net wmspec functionality.
4046
4047         * gdk/x11/gdkwindow-x11.c:
4048         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
4049         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
4050         gdk_window_set_icon_list.
4051         Added gdk_wmspec_change_state helper function and used it in the code.
4052         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
4053
4054         * gtk/gtkdialog.c (gtk_dialog_init):
4055         Set GDK_WINDOW_TYPE_HINT_DIALOG.
4056
4057         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
4058         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
4059
4060         * gtk/gtkwindow.c:
4061         new function gtk_window_set_type_hint.
4062         On realize, set type hint and modal hint.
4063
4064         * gtk/gtkwindow.h:
4065         Added type_hint field and gtk_window_set_type_hint.
4066
4067 2001-03-05  Alexander Larsson  <alexl@redhat.com>
4068
4069         * gtk/gtklabel.[ch]:
4070         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
4071         New function gtk_label_get_accel_keyval () to get the underline accelerator
4072         of the label. Setting the label pattern overrides other attributes.
4073
4074 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
4075
4076         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
4077         Added missing initializers to gtk_rc_style_init().
4078
4079 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
4080
4081         * gtk/gtktextview.c: fixed bug #51097 about setting 
4082         gtk_text_view_set_border_window_size() if the widget is 
4083         already realized.
4084
4085 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
4086
4087         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
4088
4089         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
4090         comment. Won't do to have duplicated doc comments between
4091         the platform subdirs.
4092
4093 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
4094
4095         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
4096           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
4097
4098         Detectable auto-repeat - make a repeating key generate
4099         press/press/press/release instead of press/release pairs.
4100
4101         If we have Xkb and XkbSetDectableAutoRepeat supports
4102         that, we do it that way. Otherwise, when we get
4103         a release event, we check ahead with XPending to see
4104         if the next key is a KeyPress with the same keycode
4105         and timestamp. (Not 100% reliable, but pretty close.)
4106           
4107 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
4108         
4109         * gtk/gtkmain.c (gtk_propagate_event): Only do special
4110         special key-press grab handling for widgets within
4111         GtkWindows. Otherwise, fall through to normal case.
4112  
4113         This prevents key events being sent twice to GtkInvisible
4114         widgets, which can cause all sorts of mischief.
4115  
4116 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
4117  
4118         * gtk/gtkmain.c (gtk_propagate_event): When a grab
4119         widget is in effect, give the grab widget a first
4120         crack at KEY_PRESS/RELEASE events. (#424)
4121  
4122 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
4123
4124         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
4125         to extend the selection. (Roughly based on patch
4126         from Jay Cox, #50939)
4127
4128         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
4129         to properly handle previous GDK_BUTTON_PRESS. 
4130         (Patch from Jay Cox, #50938)
4131
4132         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
4133         '\0' back along with the deleted text. (#51148)
4134
4135 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
4136
4137         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
4138         the group when extracting it from the X keyboard event.
4139
4140         * modules/input/Makefile.am modules/input/imipa.c: 
4141         Simple module for entering IPA. (Do we need a 
4142         gtk-stupid-input-tricks CVS module?)
4143
4144 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
4145
4146         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
4147         const.
4148
4149         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
4150
4151         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
4152         is no focus widget for the dialog currently, grab the focus as well
4153         as the default.
4154
4155         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
4156         the action area's children to iterate through, not the
4157         dialog's children.
4158
4159 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
4160
4161         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
4162         Add plug-socket tests. (Won't work worth a darn until I commit
4163         the rest of the plug-socket changes, but no reason these
4164         can't go into CVS now.)
4165
4166 2001-03-02  Havoc Pennington  <hp@redhat.com>
4167
4168         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
4169         _gdk_region_get_xrectangles()
4170
4171         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
4172
4173         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
4174
4175         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
4176         function, contributed by Ron Steinke    
4177
4178         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
4179         gdk_net_wm_supports
4180
4181         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
4182         New function, contributed by Ron Steinke
4183
4184         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
4185         used to line up the text in the entry when using the entry for
4186         editable sheet cell hacks
4187
4188         * gtk/testgtk.c (create_entry): test the activate_default setting
4189         on GtkEntry
4190
4191         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
4192         cause the entry to activate the default button for a dialog when 
4193         activated
4194         (gtk_entry_get_activates_default): new function
4195
4196 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
4197
4198         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
4199         Hwang to move call to sync_selection() up a few lines
4200         to before the row list is modified, to fix crash when
4201         removing rows in the undo_selection list.
4202
4203         (Test case provided by Daniel Elstner:
4204
4205         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
4206
4207 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
4208
4209         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
4210         of tree->root_tree in parent_set rather than _map(), 
4211         fixing #50892 in a bit better manner.
4212
4213 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
4214
4215         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
4216
4217 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
4218
4219         * gtk/gtkstyle.c : Remove duplicate fwd decl for
4220         gtk_default_draw_shadow.
4221
4222 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
4223
4224         * gdk/gdkimage.c (gdk_image_new): Remove excess 
4225         warning, make warnings more verbose, treat a error
4226         in shmat as permanent, and don't try again.
4227         (#51163, Ed Randall.)
4228
4229 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
4230
4231         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
4232         delay for the first click before starting to scroll.
4233         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
4234
4235         * gtk/gtktext.c: GtkText should have I-beam cursor. 
4236         (based on gtk-enf-990513-1.patch, Eric Fisher.)
4237
4238 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
4239
4240         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
4241         cleanup to remove some references to unused
4242         ->xoffset, ->yoffset.
4243
4244 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
4245
4246         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
4247         mask. (#51039, fix from Martin Maierhofer)
4248
4249 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
4250
4251         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
4252         for unshifted + and shifted = for non-us keyboards.
4253         Make <Control>+ and <Control>- work as well as 
4254         <Control>KP_Plus, <Control>KP_Minus for recursive
4255         open/close.  (#2682, René Seindal)
4256
4257 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
4258
4259         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
4260         the active menu item before deactivating the menu,
4261         so gtk_menu_popdown doesn't change the history. (#50964)
4262         
4263 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
4264
4265         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
4266         draw lines with text_gc rather than black_gc.
4267         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
4268
4269 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
4270
4271         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
4272         Move handling of buttons fully in gtktreeviewcolumn.  This code is
4273         less interrelated then it was, but it still requires the
4274         GtkTreeView to map it.
4275
4276         * test/testtreecolumn.c: Now I can add a column to one view,
4277         remove it, add it to the another view, remove it, then re-add it
4278         to the first.  Nifty.
4279
4280 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
4281
4282         * docs/tutorial/gtk-tut.sgml: Minor corrections
4283
4284 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
4285
4286         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
4287         GtkRowReference.
4288
4289 2001-02-28  Havoc Pennington  <hp@redhat.com>
4290
4291         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
4292         draw_default
4293         (gtk_widget_draw_focus): remove this function; we could instead
4294         make it just gtk_widget_draw(), but in most cases I think the
4295         result would be broken user code, so think it's better to have
4296         that code not compile and get fixed
4297         (gtk_widget_draw_default): ditto
4298
4299         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
4300         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
4301         
4302         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
4303         widgets lose/get the default, instead of calling draw_default
4304         
4305         * docs/Changes-2.0.txt: note about all this
4306
4307         Then fixed every widget in GTK, I won't list all the filenames.
4308
4309 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
4310
4311         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
4312         _gtk_tree_row_reference_deleted.
4313         (inserted_callback): Proxy out to
4314         _gtk_tree_row_reference_inserted.
4315         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
4316         get around signal emission ordering problem.
4317
4318         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
4319         fix to work with SINGLE 
4320         (_gtk_tree_selection_internal_select_node): Major sanitization on
4321         selections.  SINGLE now seems to work.
4322
4323         * tests/Makefile.am: add testtreecolumn.c:
4324
4325         * tests/testtreecolumn.c: New test.  Mostly points out selection
4326         bugs currently, but will test columns later.
4327
4328         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
4329         selection bug.  I hate touching this code -- it's scary.
4330
4331 2001-02-26  Havoc Pennington  <hp@redhat.com>
4332
4333         * gtk/testgtk.c: test the window state stuff
4334
4335         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
4336         window come to the user's attention as if it were just created
4337         (gtk_window_iconify): new function
4338         (gtk_window_deiconify): new function
4339         (gtk_window_stick): new function
4340         (gtk_window_unstick): new function
4341         (gtk_window_maximize): new function
4342         (gtk_window_unmaximize): new function
4343
4344         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
4345
4346         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
4347
4348         * gdk/x11/gdkevents-x11.c: create window state events when
4349         appropriate
4350         (gdk_wmspec_supported): new function
4351
4352         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
4353         iconification before showing the window
4354         (gdk_window_deiconify): new function
4355         (gdk_window_stick): new function
4356         (gdk_window_unstick): new function
4357         (gdk_window_maximize): new function
4358         (gdk_window_unmaximize): new function
4359
4360         * gdk/gdkwindow.c: store the window state in the window; 
4361         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
4362         window->mapped.
4363         (gdk_window_get_state): return the current window state
4364
4365         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
4366         (gdk_event_get_state): handle GDK_WINDOW_STATE
4367         (gdk_synthesize_window_state): function to create the window state
4368         events
4369
4370         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
4371         event, for changes to "window state" such as maximized, sticky, 
4372         etc.
4373         
4374         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
4375         focuses a window
4376
4377         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
4378         finds out if we support a given WM spec hint
4379
4380 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
4381
4382         * docs/faq/gtk-faq.sgml: New question re memory leaks.
4383
4384 2001-02-25  Hans Breuer  <hans@breuer.org>
4385
4386         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
4387         cause we want to loose those prototypes only in the latter case
4388
4389         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
4390         GdkPixmapImplWin32 because it itsn't derived from it. Use the
4391         impl member variable instead
4392
4393         * gtk/gtk.def : updated
4394
4395         * gtk/gtklist.c : 
4396         * gtk/gtkmenus.c : include <string.h> for memset ()
4397
4398         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
4399         for everthing built here, but for gtk-x.x.dll only. This solves
4400         problem of indifferent gtk type definitions
4401
4402 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
4403
4404         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
4405
4406 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
4407
4408         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
4409         column that is exposed.
4410
4411         (_gtk_tree_view_update_size): Changed name from set_size, and
4412         changed function to do more work, and not force people calling it
4413         to figure out the size.  Simplifies a lot of code elsewhere.
4414
4415 2001-02-23  Alexander Larsson  <alexl@redhat.com>
4416
4417         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
4418         return solid masks for xpms that have no transparent color.
4419         This makes the ..._create_from_xpm... API backwards
4420         compatible.
4421
4422 2001-02-23  Tor Lillqvist  <tml@iki.fi>
4423
4424         * README.win32: Update. Mention the gtk-1-3-win32-production
4425         branch.
4426
4427         * gdk/win32/bdfcursor.c: New file. A program that generates
4428         xcursors.h. Thanks to Stefan Ondrejicka.
4429
4430         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
4431         compact format.
4432
4433         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
4434
4435         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
4436         function, uses xcursors.h.
4437         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
4438         cursor from inline data instead of using LoadCursor() to generate
4439         it from a resource.
4440
4441         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
4442         event, must check the Windows message for mouse button state, as
4443         the GDK event state might not have been built if it is
4444         undelivered. Remove one goto.
4445
4446         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
4447         SetCursor() if the current cursor as returned by GetCursor() is
4448         the window's previous cursor. The ChildWindowFromPoint() test
4449         apparently didn't work correctly.
4450
4451         * gdk/win32/rc/*.cur: Remove.
4452
4453         * gdk/win32/rc/gdk.rc.in: Remove cursors.
4454
4455         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
4456
4457         * gtk/makefile.{mingw,msc}.in: Updates.
4458
4459 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
4460
4461         * gtk/gtktreemodel.h: add functions for signal emission.
4462
4463         * gtk/gtktreestore.c: move to use above functions instead of
4464         g_signal_emit.
4465
4466         * gtk/gtkliststore.c: ditto
4467
4468 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
4469
4470         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
4471         GObject instead of GtkObject.
4472
4473         * gtk/gtkliststore.c: ditto.
4474
4475         * gtk/gtktreemodelsort.c: ditto.
4476
4477         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
4478         GtkTreeModelIface, instead of in each model.
4479
4480 2001-02-21  Havoc Pennington  <hp@redhat.com>
4481
4482         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
4483         unbreak this function
4484
4485         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
4486         properties
4487
4488         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
4489         properties
4490
4491         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
4492         properties
4493
4494         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
4495         mean unset the max length
4496
4497 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
4498
4499         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
4500         Changed name to be set_cell_data_func to make it clear what
4501         the functino does.  Close bug #51069.
4502
4503 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
4504
4505         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
4506         have memory actually freed.  Keeps box running longer.
4507
4508 2001-02-21  Alexander Larsson  <alexl@redhat.com>
4509         
4510         * gtk/gtkseparatormenuitem.[ch]:
4511         Added new menu separator item. The drawing and size handling
4512         is still done in GtkMenuItem, but the API is a bit more sane.
4513         
4514         * gtk/Makefile.am:
4515         Add gtkseparatormenuitem.[ch].
4516
4517         * gtk/gtk.h:
4518         Add gtkseparatormenuitem.h.
4519         
4520         * gtk/gtkentry.c:
4521         * gtk/gtkmenufactory.c:
4522         * gtk/gtktextview.c:
4523         Use the new API for menu separators.
4524         
4525         * demos/gtk-demo/menus.c (create_menu):
4526         Add some GtkSeparatorMenuItem demo code.
4527
4528 2001-02-20  Havoc Pennington  <hp@redhat.com>
4529
4530         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
4531         Lee Mallabone
4532
4533         * gtk/gtkarrow.c: Convert to new property API, patch from 
4534         Lee Mallabone
4535
4536 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
4537
4538         * tests/testtreeview.c (toggled_callback): fix to reflect change
4539         in GtkTreeModelStore.
4540
4541 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
4542
4543         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
4544         function to create an icon set from a pixbuf.
4545
4546 2001-02-20  Alexander Larsson  <alexl@redhat.com>
4547
4548         * gtk/gtkcellrenderertext.[ch]:
4549         Add a "markup" property.
4550
4551         * gtk/treestoretest.c:
4552         Use the markup property, remove some leftover stuff from
4553         GtkTreeModelMapping.
4554
4555 2001-02-20  Alexander Larsson  <alexl@redhat.com>
4556
4557         * gtk/gtklabel.c (gtk_label_set_selectable):
4558         Queue a redraw if the selectable setting was changed.
4559
4560 2001-02-20  Alexander Larsson  <alexl@redhat.com>
4561
4562         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
4563         Actually copy the whole gc, not just the public parts.
4564         
4565         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
4566         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
4567         labels.
4568
4569 2001-02-19  Havoc Pennington  <hp@pobox.com>
4570
4571         * gdk/gdkwindow.c: docs
4572
4573         * gdk/gdkrgb.c: docs
4574
4575         * gdk/gdkregion-generic.c: docs
4576
4577         * gdk/gdkgc.c (gdk_gc_set_values): docs
4578
4579         * gdk/gdkdraw.c: docs
4580
4581         * gdk/gdkdrawable.h: deprecate drawable get/set data
4582
4583 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
4584
4585         * demos/gtk-demo/dialog.c: Add simple new demo.
4586
4587 2001-02-19  Havoc Pennington  <hp@redhat.com>
4588
4589         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
4590         insert_child_anchor signal, bug #50245
4591
4592         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
4593         from create_child_anchor, so the anchor is passed in
4594
4595         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
4596         (_gtk_widget_segment_new): have the child anchor object passed in, 
4597         instead of creating it.
4598
4599         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
4600         to gtk_text_buffer_get_modified
4601
4602 2001-02-19  Havoc Pennington  <hp@redhat.com>
4603
4604         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
4605         changed GLib without fixing GTK
4606
4607         * gtk/gtkrange.h: Rename all the stupid implementation detail 
4608         functions to have an underscore in front. Most of them should 
4609         probably just go away, but for starters don't export them.
4610         Bug #50482
4611
4612 2001-02-19  Havoc Pennington  <hp@redhat.com>
4613
4614         * gdk/gdkcolor.h: test was backward, so deprecated functions were
4615         excluded by default
4616
4617         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
4618         clean up the old code a bit
4619
4620         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
4621         inconsistent state
4622
4623         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
4624         draw inconsistent state
4625
4626         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
4627         (create_menu): add inconsistent test
4628
4629         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
4630         new function
4631         (gtk_check_menu_item_get_inconsistent): new function
4632         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
4633         state (using etched in for now)
4634
4635         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
4636         draw inconsistent state
4637
4638         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
4639         function, used when the user has selected a range of stuff in
4640         different states
4641         (gtk_toggle_button_get_inconsistent): accessor for that
4642         (gtk_toggle_button_paint): draw inconsistent state (etched in?
4643         don't know what else to do)
4644
4645 2001-02-19  Hans Breuer <hans@breuer.org>
4646
4647         * gtk/gtk.def : updated exported symbols
4648
4649         * gtk/makefile.msc.in : updated
4650
4651         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
4652         a colormap, when invoked from testgtk::entry. I'm not sure where
4653         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
4654         avoids immediate crashing ...
4655
4656         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
4657         any objections ?
4658
4659         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
4660         0 parameter. At least msvc doesn't like macros with var args. 
4661         I simply removed the extra 0, was it a feature or a typo ?
4662
4663         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
4664         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
4665         because the value assignment to the internal struct wasn't working.
4666         I'm not absolutely sure. The problem could have been resolved by
4667         changing the "func" declartion in the struct, but was the pointer
4668         to the function pointer intended ?
4669
4670         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
4671
4672         * gdk/gdk.def : updated exported symbols
4673
4674         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
4675         only use SetDIBitsToDevice if there is a palette at the drawable
4676         and the image is GDK_VISUAL_PSEUDO_COLOR
4677
4678         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
4679
4680         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
4681
4682         * gdk/*/makefile.msc : updated
4683
4684 2001-02-19  Havoc Pennington  <hp@redhat.com>
4685
4686         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
4687         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
4688
4689         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
4690         (gdk_key_repeat_restore): nuke
4691
4692         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
4693         (gdk_init_check): no atexit func
4694
4695         * gdk/gdkrgb.h: mark some stuff deprecated
4696
4697         * gdk/gdkcolor.h: mark some stuff deprecated
4698         
4699         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
4700
4701         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
4702
4703 2001-02-16  Havoc Pennington  <hp@redhat.com>
4704
4705         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
4706         scroll steps.
4707
4708         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
4709         steps, and add Ctrl-arrow shortcuts for paging visually as with
4710         HScale, since Page Up and Page Down move logically.
4711
4712         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
4713         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
4714         
4715         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
4716         steps
4717         (gtk_range_scroll): handle the visual steps
4718
4719         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
4720         scroll steps
4721
4722         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
4723         steps, not the logical ones.
4724
4725         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
4726         (scroll_vertical): handle up/down steps
4727
4728 2001-02-19 Alexander Larsson  <alexl@redhat.com>
4729
4730         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
4731         Copy data and free data with free().
4732
4733         * gdk-pixbuf/gdk-pixbuf.c:
4734         * gdk-pixbuf/io-jpeg.c:
4735         * gdk-pixbuf/io-png.c:
4736         Use g_try_malloc/g_free instead malloc/free.
4737         
4738         * gdk-pixbuf/test-gdk-pixbuf.c:
4739         Must... initialize... gobject...
4740         
4741         * gdk-pixbuf/pixops/timescale.c:
4742         * gtk/gtkcalendar.c:
4743         Use g_malloc instead of malloc.
4744         
4745 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
4746
4747         * gtk/testgtkrc:
4748         Comment out property assignments, these don't work yet.
4749
4750 2001-02-17  Havoc Pennington  <hp@pobox.com>
4751
4752         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
4753         bit.
4754
4755 2001-02-17  Havoc Pennington  <hp@pobox.com>
4756
4757         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
4758         shadowed variables that had broken size request in some cases,
4759         leading to bogus tooltips (#50996)
4760
4761 2001-02-06  Jon K Hellan  <hellan@acm.org>
4762
4763         Implement fast browsing of tooltips, bug #50619
4764         
4765         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
4766         and last_popdown
4767         
4768         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
4769         use_sticky_delay and last_popdown.
4770         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
4771         time of popdown.
4772         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
4773         is NULL.
4774         (gtk_tooltips_recently_shown): New static function.  Return true
4775         if < sticky_delay has elapsed since last popdown.
4776         (gtk_tooltips_event_handler): Display window after sticky_delay
4777         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
4778         since last popdown.
4779         
4780 2001-02-17  Havoc Pennington  <hp@pobox.com>
4781
4782         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
4783         instead of (). #6394
4784
4785         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
4786         G_CONST_RETURN, make it return by reference, #50473
4787         
4788 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
4789
4790         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
4791         generated ENTER_NOTIFY event with 0, otherwise not explicitely
4792         setup fields contain garbage (e.g. subwindow, breaking
4793         gdk_drawable_ref() upon event copy).
4794         (gtk_menu_stop_navigating_submenu_cb): same here.
4795
4796         * gtk/gtklist.c (gtk_list_vertical_timeout): 
4797         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
4798         * gtk/gtkclist.c (vertical_timeout): 
4799         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
4800         default-zero-intialization for unions to memset(,0,), as unions are
4801         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
4802         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
4803
4804         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
4805         g_closure_sink() warning.
4806
4807         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
4808         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
4809         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
4810         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
4811         
4812 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
4813
4814         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
4815         gtk_*_store_get, and moved to GtkTreeModel.
4816
4817         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
4818
4819         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
4820
4821         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
4822
4823         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
4824         set the func.
4825
4826         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
4827         freeze/thaw notify between setting all the properties for a cell.
4828
4829         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
4830
4831 2001-02-15  Havoc Pennington  <hp@redhat.com>
4832
4833         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
4834         the X coordinates so they're with respect to the line, rather than 
4835         with respect to the layout.
4836
4837         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
4838         Mallabone
4839
4840         * gtk/testgtk.c (create_range_controls): add vscale tests, 
4841         and inverted test
4842
4843         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
4844         #50806
4845
4846         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
4847
4848         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
4849         gtk_text_iter_is_end
4850
4851         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
4852         rename gtk_text_buffer_get_end_iter
4853
4854         * gtk/testgtk.c (create_labels): Add test for selectable
4855
4856         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
4857         the selection stuff. This code is kind of broken since it doesn't 
4858         use the theme engine.
4859
4860         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
4861         fix infinite loop and y offset problem
4862         (gdk_draw_layout_line_with_colors): fix foreground color handling
4863
4864         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
4865         that makes the label selectable.
4866         
4867         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
4868         layout when the style is set, since fonts etc. could have changed.      
4869
4870 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
4871
4872         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
4873
4874         * gtk/gtktreemodelsimple.[ch]: removed.
4875
4876 2001-02-16  Alexander Larsson  <alexl@redhat.com>
4877
4878         * gtk/gtktreemodelmapping.[ch]:
4879         New files. Implement GtkTreeModelMapping.
4880         
4881         * gtk/Makefile.am:
4882         Add gtktreemodelmapping.[ch].
4883         
4884         * gtk/gtk.h:
4885         Add gtktreemodelmapping.h
4886
4887         * gtk/treestoretest.c:
4888         Test the GtkTreeModelMapping
4889
4890 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
4891
4892         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
4893         have a demo, we might as well pass in real values.  Thanks to
4894         clahey for pointing this out.
4895
4896 2001-02-14  Havoc Pennington  <hp@pobox.com>
4897
4898         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
4899         "static" to a private function
4900         (gtk_image_menu_item_class_init): remove destroy handler,
4901         add "image" object property
4902
4903 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
4904
4905         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
4906         Add a shortcut if the window and the current clip_region doesn't
4907         overlap. This is needed when there are a lot of windows in a
4908         window. The layout test in testgtk is a good test.
4909
4910         * gdk/linux-fb/gdkwindow-fb.c:
4911         Whitespace fix.
4912
4913 2001-02-13  Sven Neumann  <sven@convergence.de>
4914
4915         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
4916
4917 2001-02-13  Alexander Larsson  <alexl@redhat.com>
4918
4919         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
4920         Don't reference last_cursor if it is null. Fixes crash when rotating
4921         the screen before having moved the mouse.
4922
4923         * gdk/linux-fb/gdkcc-fb.c: Zapp!
4924
4925         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
4926
4927         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
4928         when using 90 or 270 degrees rotation.
4929
4930 2001-02-12  Havoc Pennington  <hp@pobox.com>
4931
4932         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
4933         it always set the foreground, even if we were only using
4934         a stipple.
4935         (gdk_draw_layout_line_with_colors): new function, allow
4936         override colors
4937         (gdk_draw_layout_with_colors): new function, allow override
4938         colors
4939         (gdk_pango_layout_line_get_clip_region): function to get the clip
4940         region for a logical text range
4941         (gdk_pango_layout_get_clip_region): get the clip region for a
4942         logical text range
4943
4944         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
4945         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
4946         the right number of arguments.
4947
4948         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
4949         enhance the function to check that node data corresponds to a 
4950         view still belonging to the tree.
4951
4952         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
4953         GtkTreePath
4954         (gtk_tree_view_inserted): ditto
4955         (gtk_tree_view_child_toggled): ditto
4956
4957         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
4958         simplify this code.
4959
4960         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
4961         a PangoAttrList
4962
4963         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
4964
4965         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
4966
4967         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
4968         size in the size request 
4969         (gtk_menu_bar_size_allocate): consider toggle size here
4970
4971         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
4972         that displays a widget in the toggle slot
4973
4974         * gtk/testgtk.c: test GtkImageMenuItem
4975
4976         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
4977         
4978         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
4979         request and allocation
4980
4981         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
4982
4983         * gtk/gtkcheckmenuitem.c
4984         (gtk_check_menu_item_toggle_size_request): ditto
4985         
4986 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
4987
4988         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
4989         reference.
4990
4991         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
4992         and refuse to initialize GTK+ if they fail.
4993
4994 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
4995
4996         * configure.in: Add check for gtk-doc version.
4997
4998 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
4999
5000         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
5001         where the xpad/ypad was only being used on one side!
5002
5003 2001-02-11  Tor Lillqvist  <tml@iki.fi>
5004
5005         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
5006         function, copied from X11 version.
5007
5008         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
5009         DestroyCursor failures. The reason for the problem (despite the
5010         inconsistent messages from GetLastError()) was that
5011         DestroyCursor() cannot be called while a cursor is set in a
5012         window. Set the new cursor first and then destroy the old one.
5013         Thanks to jpe@archaeopteryx.com.
5014
5015         * gdk/win32/gdkcc-win32.c: Remove.
5016
5017         * gdk/win32/Makefile.am: Remove from here, too.
5018         
5019         * gdk/gdk.def
5020         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
5021
5022         * gtk/gtk.def
5023         * gtk/makefile.mingw.in: Updates.
5024
5025 2001-02-08  Havoc Pennington  <hp@redhat.com>
5026
5027         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
5028         add a widget to a bin that already has a child.
5029
5030         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
5031
5032         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
5033         
5034         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
5035
5036         * gdk/gdk.h: remove gdkcc.h
5037
5038         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
5039
5040         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
5041         GdkPixbuf, since the previous implementation was GdkColorContext
5042         dependent.
5043
5044         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
5045         
5046 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
5047
5048         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
5049         a sane value!
5050
5051 2001-02-08  Havoc Pennington  <hp@redhat.com>
5052
5053         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
5054         lighten them.
5055
5056 2001-02-08  Havoc Pennington  <hp@redhat.com>
5057
5058         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
5059         validation idle
5060
5061         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
5062         cell renderer
5063
5064         * demos/pixbuf-demo.c (timeout): remove deprecated
5065         gtk_widget_draw
5066
5067         * demos/testpixbuf-save.c (main): remove deprecated
5068         gtk_drawing_area_size
5069
5070         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
5071         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
5072         at the start of the allocation.
5073         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
5074         unsetup or NULL model.
5075
5076         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
5077         even/odd/sorted cells in the tree view.
5078
5079         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
5080         bugfixes
5081
5082         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
5083         backgrounds with draw_flat_box using different detail for even/odd
5084         rows.
5085
5086         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
5087         row, so we can draw the alternating colors thing
5088
5089         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
5090         property from a synonym property, notify for the synonym.
5091         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
5092         (gtk_text_tag_get_property): Always return the font, even if
5093         all its fields aren't set
5094
5095         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
5096         store the attr list; it leaves us with no way to change attributes
5097         in _render according to the render flags, and no way to implement
5098         get_property. Instead store all the specific text attributes. 
5099         Separate whether an attribute is enabled from its value. Sync all
5100         properties with GtkTextTag, make them all consistent, etc.
5101
5102         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
5103         renderers can highlight the sort row/column     
5104
5105         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
5106         accessor functions to get values; this has the side effect of
5107         showing up which accessor functions were missing. Added those.
5108
5109         * gtk/gtktreeviewcolumn.h: Replace set_justification with
5110         set_alignment, to be consistent with GtkLabel, GtkMisc
5111
5112         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
5113         arrow.
5114
5115         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
5116
5117         * gtk/gtktreesortable.h: updates in here
5118
5119 2001-02-07  Sven Neumann  <sven@convergence.de>
5120
5121         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
5122         pango dimensions after painting the background. We used to draw
5123         gigantic flat boxes here.
5124
5125 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
5126
5127         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
5128         error introduced with earlier commit) (pointed out by
5129         Ollie Lho)
5130
5131 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
5132
5133         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
5134         which are no longer necessary.
5135
5136 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
5137
5138         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
5139
5140 2001-02-04  Tor Lillqvist  <tml@iki.fi>
5141
5142         * gdk/gdk.def
5143         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
5144         Provide dummy implementations.
5145
5146 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
5147
5148         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
5149
5150         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
5151         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
5152         deprecated this function.
5153
5154         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
5155         argument.
5156
5157 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
5158
5159         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
5160
5161 2001-02-03  Havoc Pennington  <hp@pobox.com>
5162
5163         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
5164         Mikael Hermansson with patch from Mikael (if there was a toggle
5165         start one after the first character in the range, this function
5166         was broken). Bug #50380
5167
5168 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
5169
5170         * configure.in: Remove confusing comment about X11.
5171
5172 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
5173
5174         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
5175         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
5176         
5177 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
5178
5179         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
5180         it breaks things on BSD. If you want to compile GTK+ with
5181         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
5182         when configuring, since GTK+ simply can't be "pure ANSI" 
5183         in the header files it uses. (#8170, Greg Hudson)
5184
5185 2001-02-02  Havoc Pennington  <hp@redhat.com>
5186
5187         * gtk/gtkwindow.c: docs
5188
5189         * gtk/gtkwidget.c: docs
5190         (gtk_widget_set_colormap): add a reference to the colormap
5191         (gtk_widget_get_default_colormap): add a reference to the colormap
5192
5193         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
5194
5195         * gtk/gtktextiter.c: docs
5196
5197         * gtk/gtkmain.c (gtk_propagate_event): docs
5198
5199         * gtk/gtkpaned.c (gtk_paned_get_position): docs
5200         (gtk_paned_set_position): docs
5201
5202         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
5203         sort interface, no implementation yet.
5204
5205         * demos/testpixbuf.c (new_testrgb_window): replace
5206         gtk_drawing_area_size() with gtk_widget_set_usize()
5207
5208         * demos/testpixbuf-drawable.c (main): ditto
5209         
5210         * gtk/testgtk.c: remove use of GtkStatusbarMsg
5211
5212         * gtk/gtktextbuffer.c: docs
5213
5214         * gtk/gtkstock.c: docs
5215
5216         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
5217
5218         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
5219
5220         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
5221         
5222         * gtk/gtkimage.c: add some docs in here
5223         (gtk_image_size_request): change name of
5224         gtk_widget_render_stock_icon
5225         (gtk_image_get_icon_set): don't dup returned string
5226         (gtk_image_get_icon_set): don't dup returned string
5227
5228         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
5229         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
5230         and gtkiconfactory.h functions
5231
5232         * gtk/gtkiconfactory.c: add some docs in here
5233
5234         * gtk/gtkmain.c (gtk_get_default_language): document
5235         (gtk_get_current_event): document
5236         (gtk_get_current_event_state): document
5237         (gtk_get_event_widget): document
5238
5239         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
5240
5241         * gtk/gtkcontainer.c: Add some documentation
5242         (gtk_container_add): give a more explanatory warning on adding an
5243         already-parented widget, this is kind of a FAQ and also a common
5244         typo that's easier to debug with a nice warning 
5245
5246         * gtk/gtkcellrenderertoggle.c
5247         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
5248         adding this, it's useless
5249         (gtk_cell_renderer_toggle_set_active): remove
5250         (gtk_cell_renderer_toggle_get_radio): add
5251
5252         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
5253         the NULL cell renderer, that doesn't make any sense to me. 
5254
5255         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
5256         demo code should never use deprecated features.
5257
5258         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
5259         code should never use deprecated features.
5260
5261         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
5262         gtk_widget_queue_clear_area deprecated
5263
5264         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
5265         deprecated
5266
5267         * gtk/gtklabel.h: mark gtk_label_get() deprecated
5268
5269         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
5270         a GdkImage deprecated, replaced by new consistently-named
5271         functions       
5272
5273         * gtk/gtkmain.h: Mark gtk_exit() deprecated
5274
5275         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
5276
5277         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
5278         deprecated
5279
5280         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
5281         so it won't appear in docs and confuse people.
5282
5283         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
5284
5285         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
5286         macros deprecated. (can't mark the type itself deprecated, since
5287         GtkProgressBar is not deprecated and we need the type decl to use
5288         GtkProgressBar)
5289
5290         * gtk/gtkpixmap.h: Mark deprecated
5291
5292         * gtk/gtkoldeditable.h: Mark deprecated
5293
5294         * gtk/gtklist.h: Mark deprecated
5295
5296         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
5297         for anything anymore.
5298
5299         * gtk/gtkctree.h: Mark deprecated
5300
5301         * gtk/gtkclist.h: Mark deprecated
5302
5303         * gtk/gtkpreview.h: Mark deprecated
5304
5305         * gtk/gtkpacker.h: Mark deprecated
5306
5307         * gtk/gtktipsquery.h: Mark deprecated
5308
5309         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
5310
5311         * gtk/gtkvruler.h: Add comment that it will move out of GTK
5312
5313         * gtk/gtkhruler.h: Add comment that it will move out of GTK
5314
5315         * gtk/gtkruler.h: Add comment that it will move out of GTK
5316
5317         * gtk/gtkgamma.h: Add comment that it will move out of GTK
5318
5319         * gtk/gtkcurve.h: Add comment that it will move out of GTK
5320
5321 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
5322
5323         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
5324         gdk_colormap_sync private since it was never exported
5325         in a header file.
5326
5327         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
5328         colormap->colors[] for StaticGray, StaticColor colormaps.
5329
5330         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
5331         was being used as if it was image->bits_per_pixel.
5332
5333         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
5334         for the image in the GdkImage structure since it isn't
5335         reconstructable, and we need it to handle packed types
5336
5337         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
5338         the assumption that on Win32 image->bits_per_pixel == image->depth,
5339         always.
5340
5341         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
5342
5343         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
5344         warning message if no converter can be found. 
5345
5346 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
5347
5348         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
5349         chars to isupper() / tolower(). (#567)
5350
5351         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
5352         to clear up 64-bit warnings. (#567)
5353
5354 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
5355
5356         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
5357         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
5358
5359         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
5360         since some people set $(libdir) separately. (#1290, David Kaelbling)
5361
5362 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
5363
5364         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
5365         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
5366         MAXPATHLEN, but the code here depends on a fixed value.)
5367         (#4524)
5368
5369 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
5370
5371         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
5372         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
5373
5374 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
5375
5376         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
5377         viewable there is no way that moving the node will cause the 
5378         focus row to become not viewable, so omit check on the visibility
5379         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
5380
5381 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
5382
5383         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
5384         selection before inserting new text.
5385
5386 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
5387
5388         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
5389         Make the sensitivity of the reparented child track that of
5390         the original parent menu item. (#34218, David Hodson)
5391
5392         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
5393         the case where the current item is destroyed properly.
5394
5395         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
5396         some edge cases with child-less menuitems.
5397         
5398 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
5399
5400         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
5401         key pop down window. (#12074, Jon K Hellan)
5402
5403 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
5404
5405         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
5406         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
5407         The solution here isn't perfect - you get an extraneous
5408         emission of "toggle", which could conceivably confuse an app,
5409         but better than the current situation. LXR search seems to
5410         indicate that no apps in GNOME CVS connect to "toggle".
5411
5412 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
5413
5414         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
5415         gtk_public_h_sources to directly here to avoid warning when
5416         building srcdir != builddir. (#9656)
5417
5418 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
5419
5420         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
5421         handlers in gtkrange.c return the proper values (TRUE == handled)
5422         (#10316).
5423
5424         This is just the tip of the iceberg, but gtkrange.c is the
5425         most common place where the propagation is problematical,
5426         and also a place where it is almost certainly safe to change
5427         this in the stable branch.
5428
5429         (You don't want right click popups on a range control or anything...)
5430
5431 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
5432
5433         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
5434         area on focus out, even if a background pixmap isn't set.
5435         (#13941)
5436         
5437 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
5438
5439         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
5440         to deal with setting the shape properly when scrolling arrows are
5441         turned on, but not visible because there is sufficient space.
5442         (#13432)
5443
5444 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
5445
5446         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
5447         items with submenus, destroy the item along with the submenu.
5448         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
5449         properly.
5450
5451         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
5452         later.
5453
5454 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
5455
5456         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
5457         the focus widget sometimes wasn't drawn with the default if there
5458         was no default widget.
5459
5460         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
5461         unreference pixmaps. 
5462
5463         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
5464         for some extra safety.
5465
5466 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
5467
5468         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
5469         the text of a cell to the old pointer value better, by
5470         copying the new text before freeing the old text. Some code
5471         cleanup. (#8079, Karl Nelson)
5472
5473 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
5474
5475         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
5476         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
5477
5478 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
5479
5480         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
5481         item from a menu, check to see if it matches 
5482         menu->old_active_menu_item, and if so, unref and clear
5483         old_active_menu_item (Patch from Pavel Cisler)
5484
5485         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
5486         menu_shell->active_menu_item, if it is the child being
5487         removed. (Patch based on that of Gene Ragan, #50337)
5488
5489 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
5490
5491         * gdk/linux-fb/gdkselection-fb.c: 
5492         * gdk/linux-fb/gdkcolor-fb.c: 
5493         * gdk/linux-fb/gdkdrawable-fb2.c: 
5494         * gdk/linux-fb/gdkfont-fb.c: 
5495         * gdk/linux-fb/gdkim-fb.c: 
5496         * gdk/linux-fb/gdkinput.c: 
5497         * gdk/linux-fb/gdkkeyboard-fb.c: 
5498         * gdk/linux-fb/gdkmain-fb.c: 
5499         * gdk/linux-fb/gdkrender-fb.c: 
5500         A bunch of whitespace cleanup.
5501         
5502 2001-01-30  Havoc Pennington  <hp@pobox.com>
5503
5504         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
5505         #ifdef GTK_ENABLE_BROKEN.
5506
5507         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
5508         GTK_ENABLE_BROKEN just before including the broken headers.
5509         
5510         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
5511         deprecated types registered.
5512
5513         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
5514         we have to test the broken stuff.
5515
5516         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
5517         
5518 2001-01-30  Havoc Pennington  <hp@redhat.com>
5519
5520         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
5521         here where prev pointer was set to the wrong thing
5522
5523         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
5524         (gtk_tree_path_is_descendant): new function
5525
5526         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
5527         cached length
5528         (gtk_list_store_get_iter): don't modify iter if we can't get the
5529         path.
5530
5531         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
5532         
5533         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
5534         GtkTreeDragDest
5535
5536         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
5537         was causing segfault
5538
5539         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
5540         pointer to NULL
5541
5542         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
5543
5544         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
5545         on returning FALSE
5546         (gtk_list_store_iter_children): ditto
5547         (gtk_list_store_iter_nth_child): ditto
5548         (gtk_list_store_iter_nth_child): ditto
5549         (gtk_list_store_iter_parent): ditto
5550
5551         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
5552         on iter->user_data != NULL instead of silently accepting it.
5553         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
5554         we are returning TRUE.
5555         (gtk_tree_store_iter_children): ditto
5556         (gtk_tree_store_iter_nth_child): ditto
5557         (gtk_tree_store_iter_parent): ditto
5558         (gtk_tree_store_insert): remove handling of parent->user_data ==
5559         NULL, replace with parent == NULL       
5560
5561         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
5562         and a comment explaining things
5563
5564         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
5565         interface support to GtkTreeStore.
5566
5567         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
5568         FALSE if no prev, fix
5569
5570         * gtk/gtktreeview.c (set_source_row): use a row reference
5571         (set_dest_row): use a row reference
5572
5573 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
5574
5575         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
5576         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
5577         (gtk_tree_selection_select_iter): The same as above.
5578
5579 2001-01-26  Havoc Pennington  <hp@redhat.com>
5580
5581         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
5582         which holds a handle to a specific row (particular set of values
5583         in the model, i.e. pointer-identity row).
5584
5585         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
5586         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
5587         Still need to use it for the src/dest row saved on the drag context.
5588
5589 2001-01-26  Havoc Pennington  <hp@redhat.com>
5590
5591         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
5592
5593         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
5594         not offset by TREE_VIEW_HEADER_HEIGHT
5595         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
5596         TREE_VIEW_HEADER_HEIGHT
5597
5598         * configure.in (included_loaders): for me, --with-included-loaders
5599         generates the error "the specified loader yes does not exist",
5600         i.e. the arg defaults to "yes", so change test for value ""
5601         to test for value "yes", and include all loaders in that case.
5602
5603         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
5604
5605         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
5606         handle TREE_VIEW_VERTICAL_SEPARATOR
5607         (gtk_tree_view_bin_expose): fix to consider the row offset as
5608         pointing halfway into vertical separator.       
5609         (gtk_tree_view_draw_node_focus_rect): ditto
5610
5611         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
5612         --gtk-debug=updates, which causes gdk_window_set_debug_updates
5613         (TRUE) to be called.
5614
5615         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
5616         debug mode where the invalid region is colored in on invalidate,
5617         so you can see the flicker and know whether your redraw code is 
5618         doing a good job.
5619
5620         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
5621         tree window coordinates (clip rect is in tree window coords)
5622
5623         * gtk/Makefile.am: add gtktreednd.[hc]
5624
5625         * gtk/gtkliststore.c: implement gtktreednd interfaces.
5626
5627         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
5628         drag-and-drop data operations on a model (so we can set up tree
5629         drag-and-drop automatically)
5630
5631         * gtk/testgtk.c: Add a window to change sensitivity in the
5632         GtkLabel test; add a way to change the entry frame in GtkEntry
5633         test
5634
5635         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
5636         (gtk_entry_get_has_frame): new functions to remove the frame
5637         around an entry
5638         (gtk_entry_size_request): shrink requisition if no frame
5639         (gtk_entry_draw_focus): don't draw frame if no frame
5640
5641         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
5642         checks inside a cell renderer
5643         (gtk_default_draw_option): ditto for options
5644
5645         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
5646         children from the alignment, not the button
5647         (gtk_tree_view_column_init): ref/sink the column, to emulate
5648         GObject refcounting.
5649
5650         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
5651         
5652         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
5653         Use theme functions to draw the toggles 
5654
5655         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
5656
5657         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
5658         GdkPangoAttrEmbossed to use in rendering insensitive text
5659
5660         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
5661
5662         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
5663         using new GDK features
5664         
5665 2001-01-24  Alexander Larsson  <alexl@redhat.com>
5666
5667         * gtk/gtkimage.c:
5668         Splitted gtk_image_clear into gtk_image_clear() and
5669         gtk_image_reset(). Call gtk_image_clear() in ::destroy
5670         to avoid leaks.
5671
5672         * gtk/gtklabel.c (set_markup):
5673         Don't leak text.
5674
5675         * gtk/gtktextlayout.c:
5676         Always free display->shaped_objects.
5677
5678         * gtk/testgtk.c (create_clist):
5679         Don't leak custom style.
5680
5681 2001-01-23  Alexander Larsson  <alexl@redhat.com>
5682
5683         * gtk/gtkcolorsel.c (grab_color_at_mouse):
5684         Don't leak image. Simplify using gdk_colormap_query_color().
5685         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
5686
5687         * linux-fb/gdkcolor-fb.c:
5688         Implemented gdk_colormap_query_color.
5689
5690 2001-01-23  Alexander Larsson  <alexl@redhat.com>
5691
5692         * linux-fb/gdkcursor-fb.c:
5693         Don't leak built-in cursors.
5694
5695         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
5696         Don't leak tmp_points.
5697
5698         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
5699         Don't modify desc. Don't leak font if the PangoFont
5700         isn't found.
5701         
5702         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
5703         Free dash_list.
5704
5705         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
5706         Don't leak string.
5707         
5708 2001-01-20  Havoc Pennington  <hp@pobox.com>
5709
5710         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
5711         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
5712         me, matches Pango
5713
5714 2001-01-22  Havoc Pennington  <hp@redhat.com>
5715
5716         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
5717
5718         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
5719
5720         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
5721         Remove, move back to gdk-pixbuf
5722
5723         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
5724         to all the word functions
5725
5726         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
5727         before doing anything on NULL layout or if we don't have the focus
5728
5729         * gtk/testtext.c (fill_example_buffer): "justification"
5730
5731         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
5732         to be called "justification" not "justify"
5733
5734         * demos/gtk-demo/textview.c (create_tags): "justification"
5735         
5736         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
5737
5738 2001-01-22  Alexander Larsson  <alexl@redhat.com>
5739
5740         * gdk/gdkwindow.c (gdk_window_invalidate_region):
5741         Don't leak visible_region. Use visible_region instead of region.
5742         
5743         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
5744         Don't do extra gdk_drawable_ref(). This is not X.
5745         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
5746         gdk_fb_focused_window is ref:ed.
5747         (gdk_fb_window_send_crossing_events): Watch out for destroyed
5748         windows.
5749
5750 2001-01-22  Alexander Larsson  <alexl@redhat.com>
5751
5752         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
5753         Don't leak the PangoFontDescriptor.
5754
5755 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
5756
5757         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
5758         when not realized.
5759         (gtk_tree_view_scroll_to_cell): Make work when not realized.
5760         (gtk_tree_view_realize): add scroll_to support
5761         (gtk_tree_view_finalize): add a finalize method.  Populate.
5762         (gtk_tree_view_insert_column): ref and sink the column.
5763         (gtk_tree_view_append_column): ref and sink the column.
5764         (gtk_tree_view_queue_draw_node): New function to handle redrawing
5765         individual nodes.  Should make the code much more efficient, if
5766         actually used.
5767
5768 2001-01-19  Havoc Pennington  <hp@redhat.com>
5769
5770         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
5771         byte_offset variable was being used to mean both "offset into
5772         layout" and "offset into buffer line" which was no longer true
5773         with addition of preedit string; fix
5774
5775 2001-01-19  Havoc Pennington  <hp@redhat.com>
5776
5777         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
5778
5779         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
5780         function
5781
5782         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
5783         implement
5784
5785         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
5786         scroll_to_cell, matches TextView scroll functions better
5787         (gtk_tree_view_tree_to_widget_coords): new function
5788         (gtk_tree_view_widget_to_tree_coords): new function
5789         (gtk_tree_view_get_visible_rect): new function
5790         (gtk_tree_view_get_path_at_pos): accept negative coordinates
5791         (gtk_tree_view_draw_node_focus_rect): new function moved from
5792         draw_focus, also, use width of bin_window as width of the focus
5793         rect
5794         (gtk_tree_view_expand_row): fix bug where it didn't recognize
5795         already-expanded rows
5796         (gtk_tree_view_get_cell_rect): new function
5797         (gtk_tree_view_get_path_at_pos): return the click position
5798         relative to the passed-in cell
5799         (gtk_tree_view_set_expander_column): new function
5800
5801         * configure.in: remove gtk-config-2.0 chmod
5802
5803         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
5804         and properly handle drags with targets we don't understand
5805         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
5806         scrolling anyway
5807         (gtk_text_view_drag_drop): stop scrolling here though, and set the
5808         mark invisible
5809
5810         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
5811         function
5812         (gtk_drag_dest_get_target_list): new function
5813         (gtk_drag_dest_set_target_list): new function
5814         
5815         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
5816
5817         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
5818         related to drag-and-drop
5819
5820 2001-01-19  Alexander Larsson  <alexl@redhat.com>
5821
5822         * gdk/linux-fb/gdkprivate-fb.h:
5823         Define EMULATE_GDKFONT.
5824         Add extra pango_font stuff to GfkFontPrivate.
5825         
5826         * gdk/linux-fb/gdkdrawable-fb2.c:
5827         * gdk/linux-fb/gdkfont-fb.c:
5828         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
5829         emulation using PangoFont.
5830
5831 2001-01-17  Havoc Pennington  <hp@pobox.com>
5832
5833         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
5834         all the non-deprecated set_foo functions. Added missing object
5835         properties, and added g_object_notify() to setters. 
5836         Wrote docs.
5837         
5838 2001-01-18  Tor Lillqvist  <tml@iki.fi>
5839
5840         * gtk/gtkmain.c
5841         * gtk/gtkrc.c: (Win32) Use the new
5842         g_win32_get_package_installation_(sub)directory() functions.
5843
5844         * config.h.win32.in: New file.
5845         
5846         * config.h.win32: Removed.
5847
5848         * configure.in: Output config.h.win32.
5849
5850         * Makefile.am: Add it to EXTRA_DIST.
5851
5852         * gtk/gtk.def: Update.
5853
5854 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
5855
5856         * gtk/gtklabel.c (gtk_label_size_request): Set the
5857         attributes onto the PangoLayout even if they are newly
5858         created from label->pattern.
5859
5860 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
5861
5862         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
5863
5864         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
5865         structures in functions. Fixes bug where gtk_dataset_*
5866         was accidentally still being used in one place, causing
5867         every dest side event to be treated independently.
5868
5869         * gtk/gtkdnd.c: Remove last vestages of handling
5870         ::draw (fixes warning)
5871         
5872         * gtk/gtkentry.[ch]: Add drag and drop support.
5873
5874         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
5875         new function gtk_check_drag_threshhold() for checking
5876         to check if (dx,dy) has exceeded the threshhold for starting
5877         a drag and use it everywhere.
5878
5879 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
5880
5881         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
5882         add -I{includedir}/gtk-2.0.
5883
5884         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
5885         gdk/gdk-pixbuf.h: Doc fixups.
5886         
5887         * gtk/gtkobject.h: Remove trailing , from enum
5888
5889 2001-01-17 Alexander Larsson <alexl@redhat.com> 
5890
5891         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
5892         Doh! Mixed up x and y.
5893
5894         * gdk/linux-fb/gdkglobals-fb.c:
5895         Removed gdk_fb_pointer_grab_window_events,
5896         added _gdk_fb_pointer_grab_owner_events and
5897         _gdk_fb_keyboard_grab_owner_events.
5898
5899         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
5900         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
5901         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
5902         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
5903         Send crossing events after ungrab finished.
5904         (gdk_keyboard_grab): Set ..._owner_events
5905         (type_masks): Move out of function.
5906         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
5907         gdk_fb_keyboard_event_window): New functions, return the
5908         window an event should be targeted at. Handles grabs and
5909         event propagation. Can return NULL.
5910         (gdk_event_make): Remove event_mask checking. Now always
5911         returns an event.
5912                 
5913         * gdk/linux-fb/gdkkeyboard-fb.c:
5914         * gdk/linux-fb/gdkproperty-fb.c:
5915         * gdk/linux-fb/gdkselection-fb.c:
5916         Use new event_window/gdk_event_make() behaviour.
5917         
5918         * gdk/linux-fb/gdkmouse-fb.c:
5919         Use new event_window/gdk_event_make() behaviour.
5920         Only send motion events if in the same window.
5921         If grabbed, use cursor from window if sibling of grabbed
5922         window, and cursor from grabbed window otherwise.
5923
5924         * gdk/linux-fb/gdkprivate-fb.h:
5925         Update gdk_fb_window_send_crossing_events, gdk_event_make
5926         and grab varaible declarations. Add gdk_fb_*_event_window().
5927
5928         * gdk/linux-fb/gdkwindow-fb.c:
5929         Use new event_window/gdk_event_make() behaviour.
5930         Keep correct track of focus window.
5931         (gdk_window_set_events): Set all specific button motion masks
5932         if GDK_BUTTON_MOTION_MASK set.
5933
5934         * gtk/gtkdnd.c (gtk_drag_update):
5935         Free info->last_event if gdk_drag_motion returned FALSE.
5936
5937 2001-01-16  Tor Lillqvist  <tml@iki.fi>
5938
5939         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
5940         Eliminate redraws when input-only windows are shown or
5941         hidden. Thanks to jpe@archaeopteryx.com.
5942
5943 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
5944
5945         * docs/faq/gtk-faq.sgml: FAQ update:
5946           - Update to bugzilla
5947           - Add GTK+ and security/SUID/SGID
5948           - Add DnD question
5949
5950 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
5951
5952         * gdk/linux-fb/gdkdnd-fb.c:
5953         Some cleanups.
5954         
5955 2001-01-15  Havoc Pennington  <hp@pobox.com>
5956
5957         * tests/testtreeview.c: add test stuff for CellRendererToggle
5958
5959         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
5960         accessor
5961
5962         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
5963         only toggle on button press (would do release like GtkButton, but
5964         we'd need implicit grab code for treeview cells)
5965
5966 2001-01-16  Tor Lillqvist  <tml@iki.fi>
5967
5968         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
5969
5970         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
5971         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
5972
5973         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
5974         to g_{locale,filename}_{to,from}_utf8 to match current API.
5975
5976         * gtk/makefile.msc.in (gtk_OBJECTS)
5977         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
5978
5979         * gtk/gtk.def: Update.
5980
5981 2001-01-15  Tor Lillqvist  <tml@iki.fi>
5982
5983         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
5984         implementaion that more closely mimics the events that an X server
5985         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
5986         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
5987         with nested preview widgets, for instance, more responsive when
5988         you move the mouse quickly into them.
5989         (find_window_for_pointer_event): Make it actually compile.
5990         (gdk_event_translate): Set send_event to the value of
5991         InSendMessage (). This doesn't really mean the same as X11's
5992         send_event flag, but is close enough, says jpe@archaeopteryx.com
5993
5994 2001-01-15  Alexander Larsson  <alexl@redhat.com>
5995
5996         * gdk/linux-fb/gdkdnd-fb.c:
5997         Implemented drag and drop.
5998         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
5999         when it tries to free and then copy the same event (info->last_event).
6000         I am not sure about why this happens, but will continue looking.
6001
6002 2001-01-15  Alexander Larsson  <alexl@redhat.com>
6003
6004         * gdk/linux-fb/gdkwindow-fb.c:
6005         Use gdk_window_invalidate_rect instead of
6006         gdk_window_invalidate_rect_clear to minimise flashing.
6007         When hiding windows you need to clear the root window though.
6008
6009 2001-01-15  Alexander Larsson  <alexl@redhat.com>
6010
6011         * gdk/linux-fb/gdkdrawable-fb2.c:
6012         For optization, add an full_shapes argument to gdk_fb_clip_region.
6013         If this is false, only the cliprects of the shapes are used.
6014
6015         * gdk/linux-fb/gdkprivate-fb.h:
6016         Export gdk_fb_window_peek_shape.
6017         Add full_shapes to gdk_fb_clip_region.
6018
6019         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
6020         When moving a window, don't clear everything under the it, just the
6021         root window. Makes stuff faster and flash less.
6022         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
6023         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
6024         offset of the shape.
6025         
6026
6027 2001-01-12  Havoc Pennington  <hp@redhat.com>
6028
6029         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
6030         current invalid region, fixes redraw bug while scrolling the 
6031         text widget
6032
6033         * gtk/gtktextview.c, gtk/gtktextview.h:
6034         Rearrange the scrolling/validation/etc. code in a major way, 
6035         so it seems to make sense to me. Probably isn't genuinely that
6036         much better, but...
6037
6038         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
6039         notifies
6040
6041         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
6042
6043 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
6044
6045         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
6046         Hide mouse pointer while rotation. Show it afterwards.
6047
6048 2001-01-12  Alexander Larsson  <alexl@redhat.com>
6049
6050         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
6051         windows in consideration when generating clip region.
6052
6053         * gdk/linux-fb/gdkfb.h:
6054         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
6055
6056         * gdk/linux-fb/gdkprivate-fb.h:
6057         Add shape to GdkWindowFBDatat.
6058         exported gdk_fb_window_get_abs_shape().
6059         removed gdk_fb_draw_lines declaration.
6060
6061         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
6062         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
6063         send focus changes when there is a grabbed window.
6064         (gdk_window_get_pointer): Handle shaped windows.
6065         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
6066         (gdk_fb_window_peek_shape): Returns the shape for a window,
6067         handles GDK_FB_USE_CHILD_SHAPE.
6068         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
6069         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
6070         (gdk_window_shape_combine_mask): Implement.
6071
6072         * gtk/gtkwindow-decorate.c:
6073         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
6074         setting the shape of a window makes the window transparent.
6075
6076 2001-01-11  Havoc Pennington  <hp@redhat.com>
6077
6078         * gtk/gtktreemodelsimple.h: Oops, broke some macros
6079
6080 2001-01-10  Havoc Pennington  <hp@redhat.com>
6081
6082         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
6083         add this function, bug 40251
6084
6085         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
6086         of type macro   
6087
6088 2001-01-11  Alexander Larsson  <alexl@redhat.com>
6089
6090         * acconfig.h:
6091         Added ENABLE_SHADOW_FB
6092
6093         * configure.in:
6094         Added --disable-shadowfb
6095
6096         * gdk/linux-fb/gdkcursor-fb.c:
6097         Update shadowfb when updating cursor
6098
6099         * gdk/linux-fb/gdkdrawable-fb2.c:
6100         Added wrappers for shadowfb that calls  the normal drawable
6101         methods, but calls gdk_shadow_fb_update(bounding box) when
6102         GdkWindows are drawed to.
6103         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
6104         which also returns the bounding box.
6105
6106         * gdk/linux-fb/gdkfb.h:
6107         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
6108
6109         * gdk/linux-fb/gdkgeometry-fb.c:
6110         Update shadowfb when scrolling window.
6111
6112         * gdk/linux-fb/gdkglobals-fb.c:
6113         Add _gdk_fb_screen_angle.
6114         
6115         * gdk/linux-fb/gdkkeyboard-fb.c:
6116         Test code for screen rotation. Shift-F2 in the xlate driver
6117         rotates the screen.
6118
6119         * gdk/linux-fb/gdkmain-fb.c:
6120         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
6121
6122         * gdk/linux-fb/gdkmouse-fb.c:
6123         Use fb_width/height instead of modeinfo.xres/yres.
6124
6125         * gdk/linux-fb/gdkprivate-fb.h:
6126         Added fb_men, fb_width, fb_height & fb_stride. When using
6127         shadow fb these can differ from the framebuffer stuff.
6128         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
6129         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
6130         _gdk_fb_screen_angle. Removed CM, RP.
6131
6132         * gdk/linux-fb/gdkrender-fb.c:
6133         Added code for shadowfb handling and screen rotation using
6134         shadowfb.
6135
6136         * gdk/linux-fb/gdkwindow-fb.c:
6137         Use fb_mem, fb_stride, fb_width, fb_height.
6138         Added recompute_rowstride to reset the rowstride of all windows.
6139         Added gdk_fb_recompute_all() which recomputes rootwindow size,
6140         window abs positions and window rowstrides. Usefull when the
6141         rotation has changed.
6142
6143 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
6144
6145         * docs/faq/gtk-faq.sgml: update to make web site updating easier
6146
6147 2001-01-10  Havoc Pennington  <hp@redhat.com>
6148
6149         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
6150         where sibling == iter
6151         (gtk_tree_store_insert_after): handle sibling == iter
6152         (gtk_tree_store_prepend): remove stamp checks
6153         (gtk_tree_store_insert_before): ditto
6154         (gtk_tree_store_append): ditto
6155         (gtk_tree_store_get_path): ditto
6156         (gtk_tree_store_get_value): ditto
6157         (gtk_tree_store_iter_has_child): ditto
6158         (gtk_tree_store_iter_n_children): ditto
6159         (gtk_tree_store_iter_nth_child): ditto
6160         (gtk_tree_store_insert_after): ditto
6161         (gtk_tree_store_is_ancestor): ditto
6162         (gtk_tree_store_iter_depth): ditto
6163         (gtk_tree_store_insert_before): assert that sibling's parent is
6164         the same as the passed-in parent
6165         (gtk_tree_store_insert_after): assert that sibling's parent is
6166         the same as the passed-in parent
6167
6168         
6169         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
6170         function to get the first iterator in a model
6171         
6172         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
6173         conventionally the "root" in this sense is just NULL afaict.
6174
6175         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
6176         where sibling == iter
6177         (gtk_list_store_insert_after): handle case where sibling == iter
6178
6179         * tests/testtreeview.c (run_automated_tests): fairly lame basic
6180         automated tests for ListStore, TreeStore
6181
6182         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
6183         (gtk_list_store_insert): update tail pointer, and fix it to work
6184         (gtk_list_store_insert_before): update tail pointer, and fix it to work
6185         (gtk_list_store_append): use tail to be faster
6186         (gtk_list_store_prepend): fix it, update tail pointer
6187         (gtk_list_store_insert_after): fix it, update tail pointer
6188
6189         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
6190         the list
6191
6192 2001-01-09  Havoc Pennington  <hp@redhat.com>
6193
6194         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
6195         is NULL due to a pending resize
6196
6197         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
6198         column width to values less than 1
6199
6200         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
6201         width to be between min/max width, and still set the width 
6202         even if autosize is turned on, so the tree view can use this 
6203         function in order to autosize.
6204         (gtk_tree_view_column_init): set initial width to 1 not 0
6205
6206         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
6207         setter function to modify column width, so we get notification
6208         (gtk_tree_view_insert_iter_height): ditto
6209         (gtk_tree_view_calc_size): ditto
6210         (gtk_tree_view_check_dirty): ditto
6211
6212         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
6213         properties to change all the interesting attributes of the tree
6214         view column.
6215         (gtk_tree_view_column_set_header_clickable): rename set_clickable
6216         (gtk_tree_view_column_get_clickable): add
6217         (gtk_tree_view_column_set_cell_renderer): don't unset the current
6218         attributes; assume a cell renderer with equivalent object
6219         properties has been swapped in. Do g_object_notify().
6220         (gtk_tree_view_column_set_visible): g_object_notify
6221         (gtk_tree_view_column_get_sizing): rename from get_col_type
6222         (gtk_tree_view_column_set_sizing): g_object_notify
6223         (gtk_tree_view_column_set_width): add g_object_notify
6224         (gtk_tree_view_column_set_min_width): ditto
6225         (gtk_tree_view_column_set_max_width): ditto
6226         (gtk_tree_view_column_set_title): ditto
6227         (gtk_tree_view_column_set_clickable): ditto
6228         (gtk_tree_view_column_set_widget): ditto
6229         (gtk_tree_view_column_set_justification): ditto
6230
6231 2001-01-09  Havoc Pennington  <hp@redhat.com>
6232
6233         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
6234         there are no rows in the model
6235
6236         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
6237         NULL, then return the start of the list
6238
6239         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
6240         if we can't get any rows from an empty model 
6241
6242         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
6243         extraneous * after function pointer typedef usage
6244
6245         * Makefile.am: don't specify full path to cp and rm
6246
6247         * gtk/gtkcellrenderertextpixbuf.c
6248         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
6249         NULL before dereferencing, fixes a segfault that happened from
6250         time to time
6251
6252         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
6253         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
6254         and reindent the function
6255         (gtk_cell_renderer_pixbuf_get_size): indentation
6256
6257         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
6258         we quit it
6259         (gtk_dialog_add_buttons_valist): add g_return_if_fail
6260         (gtk_dialog_set_default_response): New function, to set default
6261         button
6262         (gtk_dialog_set_response_sensitive): New function, to set 
6263         sensitivity of buttons
6264
6265         * gtk/gtkcellrendererpixbuf.c
6266         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
6267         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
6268
6269         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
6270         handle any G_TYPE_OBJECT subclass, not just the base class, and 
6271         also boxed types.
6272         (_gtk_tree_data_list_value_to_node): ditto
6273
6274         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
6275         --gtk-debug=tree
6276
6277         * gtk/gtkmain.c: add GTK_DEBUG_TREE
6278
6279         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
6280
6281 2001-01-09  Tor Lillqvist  <tml@iki.fi>
6282
6283         * gdk/win32/gdkevents-win32.c: Implement better mouse
6284         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
6285         (find_window_for_pointer_event): New function.
6286         (gdk_event_translate): Use it when handling mouse events.
6287
6288 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
6289
6290         * configure.in:
6291         Added --with-included-loaders option
6292
6293         * gdk-pixbuf/Makefile.am:
6294         * gdk-pixbuf/gdk-pixbuf-io.c:
6295         Add support for including selected gdk-pixbuf loaders only.
6296
6297         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
6298         gtk_window_set_has_frame):
6299         Added inline documentation.
6300
6301         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
6302         * docs/reference/gdk/tmpl/windows.sgml:
6303         Added inline documentation.
6304
6305 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
6306
6307         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
6308         realizing buttons that have already been realized.
6309
6310 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
6311
6312         * tests/testtreeview.c (main): Show menu items before adding to
6313         option menu.
6314
6315         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
6316         around if we kill them.
6317
6318         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
6319         Return if we pass in a NULL model.
6320
6321 2001-01-08  Havoc Pennington  <hp@redhat.com>
6322
6323         * tests/testtreeview.c: hack on this some
6324
6325         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
6326         gtk_tree_store_set_valist, v is for arrays, valist for varargs
6327         list
6328         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
6329
6330         * gtk/gtkliststore.h: Add varargs set() and get() convenience
6331         functions
6332
6333 2001-01-08  Alexander Larsson  <alexl@redhat.com>
6334
6335         * gtk/gtkwindow-decorate.[hc]:
6336         * gtk/Makefile.am:
6337         New files. Contains an implementation of a minimal WM for
6338         linux-fb.
6339
6340         * gtk/gtkwindow.h:
6341         Add the possibility for GtkWindows to specify a frame. This
6342         is used for the window decoration code, but could concievably
6343         be used for X programs too (xmms style windows).
6344         GtkWindow->frame is the toplevel window if the window is framed.
6345         The signal frame_event gets all events that are targeted to
6346         GtkWindow->frame.
6347         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
6348         
6349         * gtk/gtkwindow.c:
6350         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
6351         Call out to gtkwindow-decorate.c for WM support in linx-fb.
6352
6353 2001-01-08  Alexander Larsson  <alexl@redhat.com>
6354
6355         * docs/README.linux-fb:
6356         Correct filename ~/.pangoft2_aliases
6357
6358         * gdk/gdkwindow.h:
6359         Added new function gdk_window_get_decorations.
6360
6361         * gdk/linux-fb/gdkfb.h:
6362         Removed _gdk_window_get_decorations declaration.
6363         Renamed _gdk_window_set_child_handler to
6364         gdk_fb_window_set_child_handler.
6365
6366         * gdk/linux-fb/gdkwindow-fb.c:
6367         Renamed _gdk_window_set_child_handler to
6368         gdk_fb_window_set_child_handler.
6369
6370         * gdk/x11/gdkwindow-x11.c:
6371         New function gdk_window_get_mwm_hints().
6372         Implemented gdk_window_get_decorations.
6373
6374         * docs/reference/gdk/tmpl/windows.sgml:
6375         * docs/reference/gdk/gdk-sections.txt:
6376         Added gdk_window_get_decorations docs.
6377         
6378 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
6379
6380         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
6381         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
6382         gdk_fb_window_send_crossing_events):
6383         Possibly send focus events when the mouse moves from one
6384         window to another.
6385
6386 2001-01-07  Tor Lillqvist  <tml@iki.fi>
6387
6388         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
6389         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
6390         to match current API.
6391
6392         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
6393         environment variable is set, don't call g_error when on a
6394         palettized (PseudoColor) display. Some people want to use GTK+ 
6395         in 256-colour mode even though works only partially.
6396
6397         * gdk/gdk.def
6398         * gtk/gtk.def
6399         * gtk/makefile.mingw.in: Update.
6400
6401 2001-01-05  Havoc Pennington  <hp@redhat.com>
6402
6403         * tests/testtreeview.c: hack on this a bit
6404
6405         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
6406         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
6407
6408         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
6409         was spelled incorrectly
6410         (GTK_IS_TREE_MODEL_SIMPLE): ditto
6411
6412         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
6413         from gtk_tree_view_set_headers_active   
6414
6415         * gtk/gtktexttag.c:
6416         (gtk_text_tag_get_property): handle PROP_DIRECTION
6417         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
6418         properties, bug 40235
6419
6420         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
6421         forward_to_line_end
6422
6423 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
6424
6425         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
6426         modules/input/gtkimcontextxim.c: Adapt to new prototypes
6427         for unicode,locale,filename conversion functions.
6428
6429 2001-01-05  Havoc Pennington  <hp@redhat.com>
6430
6431         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
6432         broken if called on the first position in the buffer.
6433
6434         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
6435         forward_to_delimiters to be called only if we aren't already at
6436         the delimiters.
6437
6438 2001-01-05  Havoc Pennington  <hp@redhat.com>
6439
6440         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
6441
6442 2001-01-05  Alexander Larsson  <alexl@redhat.com>
6443
6444         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
6445         colormap in here. Sync from X port.
6446         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
6447         Sync from X port.
6448         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
6449         This happens now and then, and i don't think it is a bug.
6450         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
6451         != endpoint.
6452         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
6453         GDK_LINE_SOLID.
6454
6455         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
6456         some of the fields filled in at least.
6457
6458         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
6459         miLineArcD is no more, remove it from the function definition.
6460
6461 2001-01-04  Havoc Pennington  <hp@redhat.com>
6462
6463         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
6464         this
6465
6466         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
6467         user_data instead of tree_node
6468
6469         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
6470         TREE_VIEW_COLUMN_SIZE
6471
6472         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
6473         "size" field to "width" finishes bug 40061
6474
6475         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
6476         for bitfields, bug 40268
6477
6478 2001-01-04  Havoc Pennington  <hp@redhat.com>
6479
6480         Rename some stuff:
6481         
6482         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
6483
6484         s/GtkModelSimple/GtkTreeModelSimple/g;
6485         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
6486         s/gtk_model_simple/gtk_tree_model_simple/g;
6487         s/gtkmodelsimple/gtktreemodelsimple/g;
6488
6489         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
6490
6491         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
6492         s/column_set_col_type/column_set_sizing/g;
6493
6494         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
6495         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
6496
6497         s/GtkCellRendererType/GtkCellRendererState/g;
6498         
6499         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
6500         (gtk_cell_renderer_toggle_class_init): change "state" property to
6501         "active", to match GtkToggleButton
6502         (gtk_cell_renderer_toggle_get_active): new function, bug
6503         40269
6504         (gtk_cell_renderer_toggle_set_active): new function
6505         (gtk_cell_renderer_toggle_set_property): route changes to toggle
6506         state through gtk_cell_renderer_set_active
6507
6508 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
6509
6510         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
6511         temporarily until they work again.  Brought up to date with
6512         changes in the model.
6513         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
6514         model.
6515
6516 2001-01-04  Havoc Pennington  <hp@redhat.com>
6517
6518         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
6519         equal to the line length, then position iterator before paragraph 
6520         separators. Fixes crash reported by Mikael Hermansson when
6521         pressing left arrow from the start of a line.   
6522
6523         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
6524         about byte indexes off the end
6525         (iter_set_from_char_offset): add g_error about char offsets
6526         off the end
6527
6528 2001-01-03  Havoc Pennington  <hp@redhat.com>
6529
6530         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
6531
6532         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
6533         of private functions; remove inclusion of private headers.
6534
6535         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
6536         function, so we don't need private functions in gtktextdisplay.c
6537
6538         * gtk/gtktextiterprivate.h: underscore-ification
6539
6540         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
6541         to instead say "only useful to implement widgets"
6542
6543         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
6544         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
6545         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
6546
6547         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
6548         This function was completely broken
6549
6550         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
6551
6552         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
6553
6554         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
6555
6556         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
6557
6558         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
6559
6560         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
6561
6562         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
6563         gtk_paint_layout
6564
6565         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
6566         gtk_paint_layout
6567
6568         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
6569         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
6570         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
6571         which were not implemented.     
6572
6573         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
6574         insert_pixbuf signal. Rename delete_text to delete_range since it
6575         also deletes pixbufs and child anchors. This almost closes bug
6576         40245 (still need to deal with child anchors)
6577
6578         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
6579         insert_pixbuf, change signal names as appropriate, change types of
6580         signals taking marks/tags to have the specific type, not just
6581         G_TYPE_OBJECT
6582         
6583         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
6584         closes bug 40051
6585
6586         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
6587         unnecessary remove_contents() call
6588         (gtk_option_menu_class_init): add a "changed" signal, closes
6589         bug 40039
6590         (gtk_option_menu_update_contents): emit "changed" if the 
6591         active menu item changes
6592
6593         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
6594         cast to GtkObject, reported by Jonas Borgstrom
6595         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
6596         we can't do stuff with side effects in finalize. Instead, spew a
6597         warning if the loader isn't closed.
6598
6599         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
6600         colormap in here, non-X ports probably need to sync to this change
6601
6602         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
6603         assertion that colormap != NULL, you can set the colormap to NULL
6604         if you like.
6605         
6606         * Makefile.am: remove gtk-config-2.0
6607
6608         * configure.in: Use pkg-config to locate GLib. Remove
6609         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
6610         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
6611         Use pkg-config to locate Pango. Output correct Pango libs to
6612         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
6613
6614         * Makefile.am (pkgconfig_DATA): install only target-specific pc
6615         files
6616         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
6617         X11 pc files
6618
6619         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
6620         unref from here
6621
6622 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
6623
6624         * configure.in:
6625         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
6626
6627 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
6628
6629         * gtk/gtktextlayout.c
6630         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
6631         variable when moving back onto a single line.
6632
6633 2001-01-01  Havoc Pennington  <hp@redhat.com>
6634
6635         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
6636
6637         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
6638
6639         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
6640         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
6641
6642 2001-01-01  Havoc Pennington  <hp@redhat.com>
6643
6644         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
6645
6646         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
6647         GtkTextAttributes
6648
6649         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
6650         #40246
6651         (gtk_text_attributes_copy_values): rename from 
6652         gtk_text_attributes_copy
6653         (gtk_text_attributes_copy): a more standard GTK copy function, 
6654         which returns a new object
6655
6656 2001-01-01  Havoc Pennington  <hp@redhat.com>
6657
6658         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
6659         
6660         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
6661         don't fill in tree_view->priv->selection, kind of an unexpected
6662         side effect
6663
6664         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
6665         gtkintl.h
6666         
6667         * gtk/gtkcellrenderer.c: Remove definition of _ and include
6668         gtkintl.h
6669         (gtk_cell_renderer_get_property): remove calls to g_value_init
6670
6671         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
6672         gtkintl.h
6673
6674         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
6675         and include gtkintl.h
6676         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
6677         property names
6678
6679         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
6680         GtkTreeSelection
6681         (_gtk_tree_selection_new_from_with_view): rename, return
6682         GtkTreeSelection
6683         (_gtk_tree_selection_set_tree_view): rename with uscore
6684         (gtk_tree_selection_get_selected): fill in the "model" out param
6685         first, so it gets filled in even if we return at the top of the 
6686         function
6687         (gtk_tree_selection_real_select_all): add a comment and an else{}
6688         to clarify this a bit
6689         (gtk_tree_selection_real_unselect_all): add the same else{}
6690
6691         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
6692         set_tree_view to have underscore prefixes, move them to the
6693         private header, fix return type of new_with_tree_view
6694         (struct _GtkTreeSelection): mark struct
6695         fields private  
6696
6697         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
6698         GtkTreeModelFlags, not a guint
6699         (gtk_tree_path_prev): return gboolean not gint
6700         (gtk_tree_path_up): return gboolean not gint
6701
6702         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
6703         return GtkTreeModelFlags, not a guint
6704
6705         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
6706         that child model is non-null before unrefing it
6707         (g_value_int_compare_func): make this a qsort compare func, not 
6708         a boolean predicate
6709
6710         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
6711         (add -umn to the end), and mark it unimplemented
6712         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
6713         I don't see what it's for - doesn't the model always sort itself?
6714         (gtk_tree_model_sort_set_compare): this had the wrong signature
6715
6716         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
6717         Fix the docs to say that it destructively replaces existing
6718         attributes (previously said that it added attributes).
6719         (gtk_tree_view_column_set_visible): canonicalize bool before
6720         equality testing. Also, check for realization before
6721         hiding/showing the tree_column->window; if this window could exist
6722         before realization, then it's busted and needs fixing, we can't 
6723         create GDK resources pre-realization. Also, remove
6724         superfluous queue_resize(), since set_size() does that for us.
6725         (gtk_tree_view_column_set_col_type): check realization before 
6726         using tree_column->window
6727
6728         * gtk/gtktreedatalist.c: fix filename in copyright notice
6729
6730 2000-12-31  Havoc Pennington  <hp@pobox.com>
6731
6732         * gtk/gtktextview.c: Rearrange all the
6733         scroll-while-dragging-or-selecting code to be different, not
6734         necessarily better. ;-)
6735         (gtk_text_view_scroll_to_mark): Change this
6736         function to take within_margin as a fraction instead of a pixel
6737         value, and to take alignment arguments (indicating where to align 
6738         the mark inside the visible area)
6739         
6740         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
6741         to GtkObject
6742
6743         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
6744         behavior so that offsets past the end of the line are not 
6745         allowed, and an offset equal to the line length moves the iterator
6746         to the next line
6747         (gtk_text_iter_set_line_index): make parallel change
6748         (gtk_text_iter_get_bytes_in_line): add this function
6749         
6750         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
6751         of byte indexes off the end of the line; byte index at the end of
6752         the line now returns FALSE and doesn't fill in the requested
6753         values, byte index past the end of the line is an error.  Also,
6754         don't allow -1 offset anymore, since its meaning is unclear.
6755
6756         This change exposes some bug in visual cursor motion, where we
6757         end up with a huge invalid byte index; needs fixing. Symptom of 
6758         bug is a crash when you hit up arrow.
6759         
6760         (_gtk_text_line_char_locate): match the change to byte_locate
6761
6762         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
6763         from start of line properly. fixes bug reported by Mikael
6764         Hermansson where backspace would delete all text before the
6765         cursor.
6766
6767 2000-12-30  Tor Lillqvist  <tml@iki.fi>
6768
6769         * gdk/win32/gdkwindow-win32.c
6770         (gdk_window_impl_win32_get_visible_region): New function, as in
6771         the X11 backend.
6772         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
6773         instead of duplicating the same code here.
6774
6775         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
6776         GDK_COLORMAP macro.
6777
6778         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
6779         destroy function.
6780         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
6781         access that.
6782
6783         * gtk/gtk.def: Update.
6784
6785         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
6786
6787 2000-12-30  Havoc Pennington  <hp@pobox.com>
6788
6789         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
6790         colormap on input only windows, to avoid special cases all over
6791         the code for these windows.
6792
6793 2000-12-26  Tor Lillqvist  <tml@iki.fi>
6794
6795         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
6796         we are on a palettized display ("PseudoColor" in X11), as the code
6797         for that doesn't work anyway, and never has.
6798
6799 2000-12-22  Alexander Larsson  <alexl@redhat.com>
6800
6801         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
6802         Don't use isprint() for chars > 255.
6803
6804 2000-12-21  Havoc Pennington  <hp@redhat.com>
6805
6806         * tests/testtreeview.c: more work
6807
6808 2000-12-21  Alexander Larsson  <alexl@redhat.com>
6809
6810         * docs/README.linux-fb:
6811         Update the docs to the new pangoft2 way.
6812
6813 2000-12-21  Alexander Larsson  <alexl@redhat.com>
6814
6815         * configure.in:
6816         For linux-fb get the pangoft2 cflags and libs. This needs a recent
6817         pango version.
6818         Remove modules/linux-fb/Makefile.
6819
6820         * gdk/linux-fb/gdkdrawable-fb2.c:
6821         Render glyphs using freetype.
6822
6823         * gdk/linux-fb/gdkfb.h:
6824         Add new fb-specific functions needed for managing windows.
6825
6826         * gdk/linux-fb/gdkmain-fb.c:
6827         Remove gdk_font_init/fini() calls.
6828
6829         * gdk/linux-fb/gdkpango-fb.c:
6830         Remove old implementation. Use pangoft2 instead.
6831
6832         * gdk/linux-fb/gdkprivate-fb.h:
6833         Remove PangoFBFont and related stuff.
6834
6835         * gdk/linux-fb/gdkwindow-fb.c:
6836         Implement drawable->get_visible_region.
6837         Implement support for _gdk_window_set_child_handler () and
6838         _gdk_window_get_decorations().
6839
6840         * modules/Makefile.am:
6841         Remove linux-fb subdir.
6842
6843         * modules/linux-fb/*:
6844         Removed all.
6845         
6846 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
6847
6848         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
6849         calls, as they are no longer needed.
6850
6851         * gtk/gtktreemodelsort.c: Fix up the comparison code.
6852         
6853         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
6854         figure out how to emit a signal on an interface.
6855
6856 2000-12-20  Havoc Pennington  <hp@redhat.com>
6857
6858         * tests: new directory to contain tests, gtk/test* should move
6859         here sometime (with appropriate on-cvs-server hackery)
6860
6861         * tests/testtreeview.c, tests/Makefile.am: a test
6862         
6863         * configure.in (AC_OUTPUT): add tests/Makefile
6864
6865         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
6866         and "invisible_set" which were missing
6867
6868         * gtk/gtkrbtree.h: some cheesy indentation fix
6869         
6870 2000-12-20  Alexander Larsson  <alexl@redhat.com>
6871
6872         * gtk/gtkinvisible.c (gtk_invisible_realize):
6873         Attach the style to the window so that the style it is not
6874         leaked when unrealizing the window.
6875
6876 2000-12-18  Havoc Pennington  <hp@redhat.com>
6877
6878         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
6879         begin/end user action where appropriate
6880         (gtk_text_view_commit_handler): add begin/end user action
6881
6882         * gtk/gtktextbuffer.c: add begin/end user action signals, and
6883         bracket interactive operations with begin/end user action pair.
6884         
6885         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
6886         "interactive" arg from insert_text and delete_text signals.
6887         Add begin_user_action, end_user_action signals
6888         (gtk_text_buffer_begin_user_action): 
6889         (gtk_text_buffer_end_user_action): New functions to delimit 
6890         a user-visible action
6891
6892         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
6893         signals.
6894         
6895 2000-12-18  Havoc Pennington  <hp@redhat.com>
6896
6897         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
6898         was pretty non-working.
6899
6900         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
6901         by passing the length to g_utf8_validate().
6902
6903 2000-12-16  Havoc Pennington  <hp@pobox.com>
6904
6905         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
6906         Port to GObject, can go back in gdk-pixbuf after setting up 
6907         a gdk-pixbuf-marshal.h header over there.
6908
6909         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
6910         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
6911         args
6912         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
6913         set
6914         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
6915         here, do it when we create the buttons later
6916         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
6917         (gtk_tree_view_map): paranoia checks that column->button is shown 
6918         and unmapped
6919         (gtk_tree_view_size_request): only request visible children.
6920         Move header size calculation in here, for cleanliness, and 
6921         to maintain invariants for child widgets if we eventually 
6922         let users set different children inside the buttons
6923         (gtk_tree_view_map_buttons): factor out code to map buttons,
6924         since it was being called several times
6925         (gtk_tree_view_size_allocate_buttons): move_resize the drag
6926         windows instead of just moving them; their height may change 
6927         if we allow random widgets in there, or the theme changes.
6928         (gtk_tree_view_size_allocate): move button size allocation 
6929         above emitting the scroll signals, to ensure a sane state when we
6930         hit user code
6931         (gtk_tree_view_button_release): remove queue_resize after
6932         tree_view_set_size(), set_size() will handle any resize queuing
6933         that's needed
6934         (gtk_tree_view_focus_in): just queue a draw, don't fool with
6935         draw_focus goo
6936         (gtk_tree_view_focus): use gtk_get_current_event() and
6937         gdk_event_get_state()
6938         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
6939         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
6940         semicolon
6941         (gtk_tree_view_create_button): show the button here
6942         (gtk_tree_view_button_clicked): actually emit the clicked signal
6943         on the column
6944         (_gtk_tree_view_set_size): return right away if the size is
6945         unchanged, as a cheesy optimization
6946         (gtk_tree_view_setup_model): rename set_model_realized to 
6947         setup_model to match the flag that indicates whether we've 
6948         called it
6949         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
6950         exist, because set_scroll_adjustment does that and it shouldn't
6951         matter what order you call these in
6952         (gtk_tree_view_get_vadjustment): ditto
6953         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
6954         for paranoia
6955         (gtk_tree_view_set_headers_visible): call
6956         gtk_tree_view_map_buttons() instead of using cut-and-paste code
6957         (gtk_tree_view_append_column): clarify whether the return value
6958         is the count of columns before or after, and do the increment 
6959         separately from the return statement so you can tell from the code.
6960         (gtk_tree_view_remove_column): ditto
6961         (gtk_tree_view_insert_column): ditto
6962         (gtk_tree_view_get_column): remove g_return_if_fail for columns
6963         outside the existing range, the docs say that outside-range
6964         columns are allowed, so we handle them as documented. (Presumably
6965         this allows a nice loop with column != NULL as test.)
6966         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
6967         mean (left/right/center etc.).
6968         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
6969         (gtk_tree_view_expand_row): add docs
6970         (gtk_tree_view_collapse_row): add docs
6971
6972         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
6973         function to emit the clicked signal on a column
6974         
6975         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
6976         state of an event
6977         (gdk_event_get_time): don't treat GDK_SCROLL 
6978         as a button event, remove default case from switch so gcc 
6979         will whine if we don't explicitly handle all event types
6980
6981         * gtk/gtktreeselection.h: added some FIXME 
6982         
6983         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
6984         "columns" to "n_columns" and "column" to "columns" for clarity
6985
6986 2000-12-16  Havoc Pennington  <hp@pobox.com>
6987         
6988         * gtk/gtktextiter.c: General cleanup of the log attr iteration
6989         stuff. This should make e.g. the delete key work again in the
6990         text widget...
6991         (gtk_text_iter_forward_cursor_positions): handle negative count
6992         (gtk_text_iter_backward_cursor_positions): handle negative count
6993         (gtk_text_iter_forward_word_ends): handle negative count
6994         (gtk_text_iter_backward_word_starts): handle negative count
6995
6996         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
6997         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
6998         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
6999         GObject. No doubt will cause breakage.
7000
7001         * demos/gtk-demo/textview.c: remove hacks around
7002         non-GObject-ification of the text objects
7003
7004         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
7005         the text tag
7006         
7007 2000-12-14  Havoc Pennington  <hp@pobox.com>
7008
7009         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
7010         that we have Xrender
7011
7012 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
7013
7014         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
7015         Add two virtualized functions gdk_drawable_get_clip_region - to
7016         get the clip region when drawing.
7017         
7018         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
7019         use invalidate_region.
7020
7021         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
7022         region.
7023
7024         * acconfig.h configure.in: Check for Xft. For now, assume
7025         that if Xft is found, Pango was compiled with Xft support
7026         as well.
7027
7028         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
7029         gdk_colormap_query_color().
7030         
7031         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
7032         with Xft if appropriate.
7033
7034         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
7035         a pangoxft context if we have XFT and the environment
7036         variable GD_USE_XFT is set.
7037         
7038         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
7039         and also possibly an XftDraw structure.
7040
7041         * gtk/gtkfontsel.c: Handle the case where the font from the
7042         style doesn't match any of the fonts a bit better.
7043         
7044         * gtk/testgtk.c: Add tabs between directional segments for
7045         hebrew/arabic test. (Not really necessary, just a little
7046         prettier.)
7047
7048 2000-12-14  Havoc Pennington  <hp@redhat.com>
7049
7050         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
7051         reading a file
7052
7053 2000-12-14  Havoc Pennington  <hp@redhat.com>
7054
7055         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
7056         unused call to get_last_line()
7057
7058         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
7059         here until boxed is working (and maybe after that - we should
7060         really not gratuitously break old code)
7061
7062         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
7063         specific types for font_desc and tabs args, move them to
7064         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
7065         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
7066
7067         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
7068         use GTK_TYPE_POINTER for signal signatures as a hack-around
7069
7070         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
7071         PangoTabArray
7072
7073         * gtk/gtktextlayout.c (line_display_iter_to_index): 
7074         make static
7075         (line_display_index_to_iter): make static
7076
7077         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
7078         to marshal a string not a boxed
7079
7080         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
7081
7082         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
7083         since the UTF-8 isn't validated yet
7084
7085         * gtk/gtktextsegment.c (char_segment_check_func): don't require
7086         lines to end in '\n'
7087         
7088         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
7089         forward_to_delimiters, and grapheme boundaries
7090         (gtk_text_view_delete_from_cursor): properly handle non-newline
7091         delimiters, and grapheme boundaries
7092
7093         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
7094         to gtk_text_iter_forward_to_delimiters, and make it work properly
7095         if empty lines end with a character other than '\n'
7096
7097         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
7098         position
7099
7100 2000-12-15  Tor Lillqvist  <tml@iki.fi>
7101
7102         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
7103
7104         * gtk/gtk.def
7105         * gdk/gdk.def: Update.
7106
7107         * gdk/win32/gdkmain-win32.c
7108         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
7109         gdkmain-win32.c here.
7110
7111         * gdk/win32/makefile.mingw.in (all): No need to make
7112         gdk-win32res.o here, the makefile one step up will call us to make
7113         it.
7114
7115         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
7116         gdkkeys-win32.
7117
7118         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
7119
7120         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
7121         call to g_source_add().
7122
7123         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
7124         leak. Thanks to Andreas Kemnade.
7125
7126 2000-12-13  Havoc Pennington  <hp@pobox.com>
7127
7128         * gtk/gtktextbtree.h: Remove double _ in front of some functions
7129
7130         * gtk/gtktext*.[hc]: update accordingly
7131         
7132 2000-12-13  Havoc Pennington  <hp@pobox.com>
7133
7134         * gtk/gtktextbtree.h: Put _ in front of every function in this 
7135         header file
7136
7137         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
7138
7139 2000-12-13  Alex Larsson  <alexl@redhat.com>
7140
7141         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
7142         Add support for ps2 intellimouse.
7143
7144         * gdkkeyboard-fb.c:
7145         Move shift-F1 repaint handling to xlate handler only.
7146         
7147         * docs/README.linux-fb:
7148         Add imps2 to docs.
7149         Document the new refresh keys.
7150         
7151 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
7152
7153         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
7154
7155         * gtk/gtkbox.c: change property types from (u)long to (u)int for
7156         ::position and ::padding.
7157
7158         * gtk/gtkcontainer.c: make ::border_width an INT property.
7159
7160         * gtk/gtkpacker.c: make ::position an INT property.
7161
7162         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
7163         guard against NULL h/v scrollbars, since this is used at construction
7164         time.
7165
7166         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
7167         internal gtk_clist_constructor().
7168
7169         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
7170         gtk_ctree_constructor().
7171
7172         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
7173         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
7174
7175         * docs/reference/Makefile.am: fun stuff, disabled docs generation
7176         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
7177
7178         * gtk/gtkwidget.[hc]:
7179         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
7180         and gtk_widget_get().
7181         (gtk_widget_new): use g_object_new_valist().
7182         (gtk_widget_set): use g_object_set_valist().
7183
7184         * gtk/gtkobject.[hc]:
7185         removed gtk_object_arg_get_info(), gtk_object_getv(),
7186         gtk_object_query_args(), gtk_object_newv(),
7187         gtk_object_class_add_signals(),
7188         gtk_object_class_user_signal_new(),
7189         gtk_object_class_user_signal_newv(),
7190         gtk_object_arg_set(), gtk_object_arg_get(),
7191         gtk_object_args_collect(),
7192         gtk_object_default_construct(),
7193         gtk_object_constructed(),
7194         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
7195         removed nsignals, signals and n_args members from GtkObjectClass.
7196         (gtk_object_new): use g_object_new_valist().
7197         (gtk_object_set): use g_object_set_valist().
7198         (gtk_object_get): use g_object_get_valist().
7199         
7200         * gtk/gtkcompat.h: define gtk_object_default_construct().
7201         
7202         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
7203         g_object_new().
7204
7205         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
7206         fucntions, cleaned up method assignments (make sure your structures
7207         are setup properly before calling out). removed all GTK_CONSTRUCTED
7208         hacks ;)
7209
7210 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
7211
7212         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
7213         off-by-one error in checks. (Dave Lambert)
7214
7215 2000-12-12  Alexander Larsson  <alexl@redhat.com>
7216
7217         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
7218         Don't free gdk_fb_keyboard twice.
7219
7220 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
7221
7222         * gtk/testgtk.c:
7223         (create_tooltips): 
7224         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
7225         use GObject swapped_signal:: properties instead.
7226
7227         * gtk/gtkcellrenderertoggle.c: 
7228         * gtk/gtkcellrenderertextpixbuf.c: 
7229         * gtk/gtkcellrenderertext.c: 
7230         * gtk/gtkcellrendererpixbuf.c: 
7231         * gtk/gtkcellrenderer.c:
7232         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
7233         missing warnings for invalid property ids, install properties
7234         with g_object_class_install_property() now.
7235         
7236         * gtk/gtksignal.c:
7237         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
7238         
7239 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
7240         
7241         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
7242         to determine if a window is the focus widget within
7243         its toplevel.
7244
7245         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
7246         to be boolean.
7247
7248         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
7249         of the case where the container CAN_FOCUS to here instead
7250         of having it in each individual move-the-focus place.
7251
7252         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
7253         focusing to be geometric in a much more obvious sense. Arrowing
7254         around is still non-intuitive because it isn't perfect and
7255         because entries, etc, grab the arrow keys, but it at least
7256         usually will do what you expect now.
7257         
7258         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
7259         file.
7260
7261         * gtk/gtknotebook.c: Change tabs to be a single item in
7262         the focus chain. Make movement of focus on tabs with arrow
7263         keys wrap around.
7264         
7265         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
7266         CHECK_FIND_CHILD macro to give informative error messages
7267         instead of silent returns.
7268
7269         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
7270         flag since we handle GdkReturn on the tabs.
7271
7272         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
7273         windows rather than sending expose events directly.
7274
7275         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
7276         definition for GtkNotebookPage into .c file, since it is private.
7277
7278         * gtk/testgtk.c (create_notebook): Add option for 
7279         testing borderless notebook.
7280
7281         * gtk/testgtk.c (page_switch): Removed egregious poking
7282         around in GTK+ internals.
7283
7284         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
7285
7286         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
7287         properly through gtk_clist_focus. Make the title headers a
7288         single item in the tab-focus chain, and make left-right wrap
7289         around.
7290
7291         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
7292         focus method so that wrapping around works properly.
7293
7294         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
7295         that is handled for the widget now. 
7296
7297 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
7298
7299         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
7300         widgets as TOPLEVEL.
7301
7302         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
7303         TOPLEVEL widgets are containers.
7304
7305         * gtk/gtkinvisible.h: Remove useless include.
7306
7307 2000-12-11  Havoc Pennington  <hp@redhat.com>
7308
7309         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
7310         Handle chopping off \r\n and 0x2029 in addition to \n before
7311         passing to PangoLayout
7312
7313         * gtk/gtkimcontextsimple.c
7314         (gtk_im_context_simple_get_preedit_string): 
7315         return an empty string if no match is pending
7316
7317         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
7318         assertion that the returned preedit string was sane
7319
7320         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
7321         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
7322         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
7323
7324 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
7325
7326         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
7327         Fix up finalizer to chain to its parent.
7328
7329 2000-12-11  Alexander Larsson  <alexl@redhat.com>
7330
7331         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
7332         Clearified the difference between the keyboard types. Wrote a note
7333         about the magic sysrq key to get out of raw mode.
7334
7335 2000-12-09  James Henstridge  <james@daa.com.au>
7336
7337         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
7338         member to hold masks for detecting the start of a protocol packet.
7339         (mouse_devs): add packet start masks for ps2 and ms device types.
7340         Left the mask for fidmour blank, as I have no idea what it should
7341         be.
7342         (handle_mouse_io): skip bytes until we get to the start of a
7343         packet.  My Logitech mouse seems to be passing an extra NULL pad
7344         byte, and GPM does a similar thing here.
7345         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
7346         this is the ms mouse driver.
7347         (gdk_fb_mouse_ms_packet): fix up button handling, which was
7348         completely broken except for button1.  It was checking the wrong
7349         bit in the packet for the status of the right mouse button, and
7350         wrongly assuming right == button2 rather than 3.  I fixed that and
7351         also added support for middle button (button2).
7352
7353 2000-12-08  Havoc Pennington  <hp@redhat.com>
7354
7355         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
7356         that cause a segfault on text insertion
7357
7358         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
7359         warning
7360
7361         * gtk/gtktextiter.c (test_log_attrs): use
7362         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
7363
7364         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
7365         Get log attrs for a line, using a cache stored on the buffer
7366         
7367         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
7368         reported by Jeff Franks
7369
7370 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
7371
7372         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
7373         /dev/ttyS0 -> /dev/mouse
7374
7375 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
7376
7377         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
7378         Added dummy gdk_fontset_load.
7379
7380 2000-12-08  Alexander Larsson  <alexl@redhat.com>
7381
7382         * docs/README.linux-fb:
7383         * docs/Makefile.am:
7384         Initial GtkFB docs.
7385         
7386         * gdk/linux-fb/Makefile.am:
7387         Define GDK_DATA_PREFIX.
7388
7389         * gdk/linux-fb/gdkmain-fb.c:
7390         Fix typo.
7391         Change default display to /dev/fb0.
7392
7393         * gdk/linux-fb/gdkpango-fb.c:
7394         Add $(prefix)/share/fonts/ to font path.
7395         
7396 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
7397
7398         * gdk/linux-fb/gdkkeyboard-fb.c:
7399         New file containing the abstracted keyboard driver. Most code
7400         taken from gdkinput-ps2.c
7401
7402         * gdk/linux-fb/gdkinput-ps2.c:
7403         Removed file.
7404         
7405         * gdk/linux-fb/Makefile.am:
7406         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
7407
7408         * gdk/linux-fb/gdkcolor-fb.c:
7409         display->fb was renamed to display->fb_fd.
7410
7411         * gdk/linux-fb/gdkcursor-fb.c:
7412         gdk_mouse_get_info -> gdk_fb_mouse_get_info
7413
7414         * gdk/linux-fb/gdkinput.c:
7415         Moved gdk_input_init here from gdkinput-ps2.c
7416
7417         * gdk/linux-fb/gdkmain-fb.c:
7418         display->fb was renamed to display->fb_fd.
7419         Now the tty and the console is opened here instead
7420         of in the keyboard driver. Also check GDK_VT to see what
7421         tty to open.
7422         Move gdk_beep () here from gdkinput-ps2.c
7423         gdk_mouse_get_info -> gdk_fb_mouse_get_info
7424
7425         * gdk/linux-fb/gdkmouse-fb.c:
7426         Add header.
7427         gdk_mouse_get_info -> gdk_fb_mouse_get_info
7428         Return correct keyboard modifiers.
7429         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
7430
7431         * gdk/linux-fb/gdkprivate-fb.h:
7432         Add tty and vt info to display.
7433         Add orignal modeinfo storage to display
7434         Update global functions
7435
7436         * gdk/linux-fb/gdkwindow-fb.c:
7437         Added gdk_fb_window_find_focus().
7438         gdk_mouse_get_info -> gdk_fb_mouse_get_info
7439
7440 2000-12-07  Havoc Pennington  <hp@pobox.com>
7441
7442         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
7443         function, noticed by Alex
7444
7445 2000-12-06  Elliot Lee  <sopwith@redhat.com>
7446
7447         * configure.in: Detect freetype properly
7448
7449         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
7450         above.
7451
7452 2000-12-06  Alexander Larsson  <alexl@redhat.com>
7453
7454         * gdk/linux-fb/Makefile.am:
7455         Add gdkmouse-fb.c
7456         
7457         * gdk/linux-fb/gdkmouse-fb.c:
7458         New file. Abstracted the mouse drivers a bit.
7459
7460         * gdk/linux-fb/gdkcursor-fb.c:
7461         The cursor hide/show functions was moved here from gdkinput-ps2.c.
7462
7463         * gdk/linux-fb/gdkinput-ps2.c:
7464         Removed old mouse handling code. Moved cursor handling code
7465         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
7466         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
7467         gdk_mouse_get_info.
7468
7469         * gdk/linux-fb/gdkmain-fb.c:
7470         Pass NULL pointers for x,y in gdk_mouse_get_info call.
7471
7472         * gdk/linux-fb/gdkprivate-fb.h:
7473         Removed public gdk_fb_find_common_ancestor, added and renamed
7474         functions for the new mouse handling code.
7475
7476         * gdk/linux-fb/gdkwindow-fb.c:
7477         Moved gdk_fb_window_send_crossing_events here. added global
7478         variable gdk_fb_window_containing_pointer. made
7479         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
7480         renamed to gdk_mouse_get_info.
7481
7482 2000-12-06  Alexander Larsson  <alexl@redhat.com>
7483
7484         * gdk/linux-fb/gdkevents-fb.c:
7485         Update to match latest gmain/gsource changes.
7486
7487         * gdk/linux-fb/gdkinput-ps2.c:
7488         Bogus gdk_keymap_get_entries_for_keycode implementation so that
7489         it links. Will be implemented later.
7490
7491 2000-12-03  Havoc Pennington  <hp@pobox.com>
7492
7493         * gdk/Makefile.am: add gdkkeys.[hc]
7494
7495         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
7496         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
7497
7498         * acconfig.h, configure.in: add checks and command line options
7499         for XKB
7500
7501         * gdk/x11/gdkkeys-x11.c: Implement the above functions
7502         
7503         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
7504         and group in the key event
7505
7506         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
7507         field with the low-level hardware key code, and a group
7508         field with the keyboard group
7509
7510         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
7511         and declare a couple globals used for keymap handling
7512         
7513         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
7514         hold down Shift-Control and type a hex number to get a Unicode 
7515         character corresponding to the hex number
7516         (gtk_im_context_simple_get_preedit_string): Fix cursor position
7517         (return bytes not chars)
7518
7519 2000-12-05  Elliot Lee  <sopwith@redhat.com>
7520
7521         * gdk/gdkcolor.h: Make GdkColor specify element sizes
7522         to avoid waste on 64-bit platforms.
7523
7524 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
7525
7526         * INSTALL: Fix link to PNG home, remove reference
7527         to fribidi.
7528
7529         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
7530         
7531         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
7532         tested.)
7533
7534         * gtk/gtkcheckmenuitem.c: Permanently turn on
7535         always_show_toggle.
7536
7537         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
7538         be NULL. (Vladimir Klebanov, #26545)
7539
7540         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
7541         some signed/unsigned comparison problems. (#6510,
7542         David Kaelbling)
7543
7544         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
7545         return type to boolean (Oskar Liljeblad, #18648)
7546
7547 2000-12-05  Alexander Larsson  <alexl@redhat.com>
7548
7549         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
7550         Remove bogus colormap setting.
7551
7552 2000-12-05  Alexander Larsson  <alexl@redhat.com>
7553
7554         * gdk/linux-fb/gdkcolor-fb.c:
7555         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
7556
7557         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
7558         Must set colormap.
7559         
7560 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
7561
7562         * docs/tutorial/gtk-tut.sgml: DND updates
7563
7564 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
7565
7566         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
7567         Remove old debug g_warning().
7568         (gdk_fb_draw_drawable): The src argument can be either a wrapper
7569         or an implementation, just pass the implementation to draw_drawable_2.
7570         
7571         * gdk/linux-fb/gdkprivate-fb.h:
7572         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
7573
7574         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
7575         clear and invalidate area when window is destroyed.
7576         (send_map_events): Remove old commented out code.
7577
7578 2000-12-05  Alexander Larsson  <alexl@redhat.com>
7579
7580         * gdk/linux-fb/gdkpango-fb.c:
7581         Use italic instead of oblique in font aliases.
7582         
7583         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
7584         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
7585         other unsupported functions.
7586
7587 2000-12-04  Havoc Pennington  <hp@redhat.com>
7588
7589         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
7590
7591         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
7592
7593         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
7594
7595         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
7596         hack to avoid infinite loops (synthetic expose event) - 
7597         Owen has more appropriate fixes in a branch he'll check in later.
7598
7599         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
7600         separator, CR, and CRLF as line ends
7601
7602         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
7603         into lines using pango_find_paragraph_boundary(); other bits of
7604         the widget are still going to be broken if the boundary isn't '\n'
7605         though
7606
7607 2000-12-04  Alexander Larsson  <alexl@redhat.com>
7608
7609         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
7610         multiply.
7611
7612         * gdk/linux-fb/gdkpango-fb.c:
7613         Copied some 26.6 scaling macros from pango to clean up the rounding.
7614         (pango_fb_font_get_glyph_info): Correct sign on x value.
7615
7616         * gdk/linux-fb/gdkprivate-fb.h:
7617         Removed unreferenced external functions.
7618
7619         * modules/linux-fb/Makefile.am: Use ` instead of '.
7620
7621         * modules/linux-fb/basic.c:
7622         Remove dead code. In particular the dummy lang engine which broke all
7623         pango layouts in GtkFB. Don't include tables-big.i anymore.
7624
7625         * modules/linux-fb/tables-big.i:
7626         Upgrade to latest version from pango. Left for reference, basic_ranges
7627         moved to basic.c.
7628         
7629 2000-12-04  Havoc Pennington  <hp@redhat.com>
7630
7631         Fix bugs Alex found:
7632         
7633         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
7634         to "draw"
7635
7636         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
7637
7638         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
7639
7640         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
7641         implementation in here, apparently the expose() implementation was
7642         dead code.
7643
7644 2000-12-04  Alexander Larsson  <alexl@redhat.com>
7645
7646         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
7647         Return positive descent.
7648
7649 2000-12-02  Havoc Pennington  <hp@pobox.com>
7650
7651         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
7652         method and signal
7653         
7654         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
7655         calls gdk_window_process_updates() to push the exposes through
7656         (gtk_widget_class_init): No more draw signal, no
7657         gtk_widget_real_draw()  
7658         
7659         * gtk/gtkbin.c (gtk_bin_draw): remove
7660
7661         * gtk/gtkbox.c (gtk_box_draw): remove
7662
7663         * gtk/gtkbutton.c (gtk_button_draw): remove
7664
7665         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
7666
7667         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
7668
7669         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
7670
7671         * gtk/gtkclist.c (gtk_clist_draw): remove
7672
7673         * gtk/gtkentry.c (gtk_entry_draw): remove
7674
7675         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
7676
7677         * gtk/gtkfixed.c (gtk_fixed_draw): remove
7678
7679         * gtk/gtkframe.c (gtk_frame_draw): remove
7680
7681         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
7682
7683         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
7684
7685         * gtk/gtklayout.c (gtk_layout_draw): remove
7686
7687         * gtk/gtklist.c (gtk_list_draw): remove
7688
7689         * gtk/gtklistitem.c (gtk_list_item_draw): remove
7690
7691         * gtk/gtkmenu.c (gtk_menu_draw): remove
7692
7693         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
7694
7695         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
7696
7697         * gtk/gtknotebook.c (gtk_notebook_draw): remove
7698
7699         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
7700
7701         * gtk/gtkpacker.c (gtk_packer_draw): remove
7702
7703         * gtk/gtkrange.c (gtk_range_draw): remove
7704
7705         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
7706
7707         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
7708
7709         * gtk/gtktable.c (gtk_table_draw): remove
7710
7711         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
7712
7713         * gtk/gtktext.c (gtk_text_draw): remove
7714
7715         * gtk/gtktextview.c (gtk_text_view_draw): remove
7716
7717         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
7718
7719         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
7720
7721         * gtk/gtktree.c (gtk_tree_draw): remove
7722
7723         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
7724
7725         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
7726
7727         * gtk/gtkviewport.c (gtk_viewport_draw): remove
7728
7729         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
7730
7731         * gtk/gtkvscale.c (gtk_vscale_draw): remove
7732
7733         * gtk/gtkwindow.c (gtk_window_draw): remove
7734
7735 2000-20-01  Anders Carlsson  <andersca@gnu.org>
7736
7737         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
7738         a GtkToggleButton is both insensitive and active, it was being
7739         drawn by the GtkButton draw handler which doesn't check the
7740         state. Now it's calling gtk_toggle_button_paint instead.
7741         
7742 2000-12-01  Havoc Pennington  <hp@redhat.com>
7743
7744         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
7745         dangling pointers to the appearance attributes from the 
7746         line display
7747
7748         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
7749         width/height to mean "full width/height of drawable"
7750
7751         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
7752         click to select word/line
7753         
7754         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
7755         when getting log attrs. Get a slice, so that pixmaps and stuff
7756         are properly handled.
7757
7758         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
7759         paste into the selection (replaces selection now, previously
7760         crashed or added to selection). Reveals longstanding btree bug -
7761         select multiple lines, middle-click on the selection, boom. This
7762         isn't related to my changes though.
7763
7764         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
7765         PangoLogAttrs changes
7766         (gtk_entry_move_backward_word): ditto
7767
7768         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
7769         functions return bool whether the iter moved onto a
7770         dereferenceable position.
7771  
7772         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
7773         functions for motion in terms of display lines.
7774
7775         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
7776         get the buffer a mark is inside
7777         
7778 2000-12-01  Alexander Larsson  <alexl@redhat.com>
7779
7780         * gdk/linux-fb/Makefile.am:
7781         * modules/linux-fb/Makefile.am:
7782         Freetype 2 final uses freetype-config
7783
7784         * gdk/linux-fb/gdkpango-fb.c:
7785         Upgrade to use Freetype 2 final.
7786         More flexible support for font aliases, this also fixes a bug with
7787         GtkFontSelector, as the aliases must be visible in the font/family list,
7788         or GtkFontSelector reads uninitialized memory.
7789
7790 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
7791
7792         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
7793         XGetIMValues to properly terminate variable argument list, and do
7794         NULL return check for ic_values and xim_styles.
7795
7796         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
7797         Restore preedit state after XmbResetIC().
7798         
7799         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
7800         XvaCreateNestedList() should take XvaNestedList, but not
7801         XvaNestedList*.
7802
7803         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
7804         preedit_draw_callback, preedit_caret_callback): Match
7805         "preedit-changed" signal name to "preedit_changed" to be
7806         consistent to the spec.
7807
7808         * gtk/gtkimcontextsimple.c (check_table):
7809         Match "preedit-changed" to "preedit_changed" to be consistent
7810         to the spec.
7811
7812 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
7813
7814         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
7815         gc->clip_region == NULL>
7816
7817 2000-11-30  Tor Lillqvist  <tml@iki.fi>
7818
7819         Changes by Hans Breuer:
7820         
7821         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
7822         Dont't use negative width and height as max_hints. This fixes
7823         Owen's recent testgtk changes for win32.
7824
7825         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
7826         gdk_win32_hdc_release): These are exported and may be called with
7827         other drawable types than our GdkDrawableImplWin32 (?).
7828
7829         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
7830         so always #define USE_BACKING_STORE.
7831
7832         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
7833         of printf for debugging output.
7834
7835         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
7836         
7837         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
7838
7839         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
7840         declaration.
7841
7842         * gtk/gtktexttypes.h: Ditto.
7843
7844         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
7845         (GDK_VoidSymbol) also if in case of arg check failure.
7846
7847         * gtk/gtkimcontextsimple.c
7848         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
7849         position to the pointer, but to the variable it points to.
7850
7851         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
7852
7853         * gtk/gtk.def: Updates.
7854
7855 2000-11-29  Elliot Lee  <sopwith@redhat.com>
7856
7857         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
7858         GTK_TYPE_TREE_MODEL.
7859
7860 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7861
7862         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
7863         Set the size of the font from the description.
7864         (gdk_text_width): Gross hack that calculates the width
7865         of text by text_length * size/2. This is necessary because
7866         GtkLabel does some ugly gtk_string_width call to calculate
7867         an good size.
7868         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
7869
7870 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
7871
7872         * docs/tutorial/gtk-tut.sgml: DND updates
7873
7874 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7875
7876         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
7877         If you pass width or height == 0 to gdk_window_clear_area they
7878         should be calculated from the window size.
7879
7880 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7881
7882         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
7883         a grab, but no grab-cursor, use the cursor from the grabbed
7884         window. (gdk_fb_window_send_crossing_events): Send normal
7885         enter/leave notifications if grab and owner_events == TRUE.
7886
7887 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7888
7889         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
7890         Do implicit button grabs, even if the window doesn't
7891         want the event.
7892         (gdk_fb_window_send_crossing_events): If there is a
7893         grab, only the grabbed window gets normal enter/leave
7894         notifications. On ungrab go from grabbed window to current.
7895         Don't send any notification to b when propagating from c -> b.
7896         If setting a grab on window, don't set prev_window.
7897         (handle_mouse_input): Send enter/leave events to the window the
7898         mouse is over, not the grabbed one.
7899         
7900 2000-11-28  Elliot Lee  <sopwith@redhat.com>
7901
7902         * gdk/gdkregion-generic.c: Zap warning.
7903         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
7904         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
7905
7906 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
7907
7908         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
7909         The cursor should be hidden if it is part of either the
7910         source or destination region. Not only if it is in both.
7911         (gdk_window_set_transient_for): Silence warnings.
7912
7913 2000-11-28  Alexander Larsson  <alexl@redhat.com>
7914
7915         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
7916         The default mode in X is Pie Arcs, therefore that is
7917         what Gtk+ uses.
7918
7919 2000-11-28  Alexander Larsson  <alexl@redhat.com>
7920
7921         * gdk/linux-fb/gdkinput-ps2.c:
7922         Implement correct EnterNotify/LeaveNotify:
7923         (gdk_fb_window_send_crossing_events): New function that sends
7924         all GdkCrossingEvents from the last mouse-window to the specified
7925         destination.
7926         (gdk_fb_window_visibility_crossing): Removed function.
7927         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
7928         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
7929         instead of gdk_window_get_pointer() for better readability.
7930
7931         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
7932         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
7933
7934         * gdk/linux-fb/gdkprivate-fb.h:
7935         removed gdk_fb_window_visibility_crossing, added
7936         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
7937
7938         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
7939         New function that finds the least common ancestor of two windows.
7940         (gdk_window_show, gdk_window_hide):
7941         Use gdk_fb_window_send_crossing_events.
7942         (gdk_fb_window_move_resize): Send configure events to toplevel
7943         windows. Use gdk_fb_window_send_crossing_events.
7944
7945 2000-11-27  Havoc Pennington  <hp@redhat.com>
7946
7947         * gtk/gtkprivate.h (enum): Remove a trailing comma
7948
7949 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
7950
7951         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
7952         the "changed" callback of the adjustment.  We need to redraw the
7953         spin button's arrows when the adjustment's range changes.
7954         (adjustment_changed_cb): Draw the arrows.
7955         (gtk_spin_button_value_changed): Draw the arrows.
7956
7957 2000-11-23  Alexander Larsson  <alexl@redhat.com>
7958
7959         * gdk/linux-fb/gdkselection-fb.c:
7960         Initial selection implementation.
7961
7962         * gtk/gtkselection.c:
7963         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
7964         requestor in gtk_selection_request.
7965         
7966         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
7967         Added gdk_selection_property atom.
7968
7969         * gdk/linux-fb/gdkprivate-fb.h:
7970         Export _gdk_selection_window_destroyed.
7971         Removed mask_off_x/y from GdkCursorPrivateFB.
7972         Removed hbearing, added top, left to PangoFBGlyphInfo.
7973
7974         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
7975         Call _gdk_selection_window_destroyed
7976         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
7977         the root window has been created.
7978         (static_dx_hack, static_dy_hack, compare_draw_rects,
7979         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
7980         in region. They are already sorted. Instead just traverse them in
7981         reverse if draw_direction < 0.
7982         
7983         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
7984         Double-clicks must be sent after the normal button_press.
7985         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
7986         
7987         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
7988         Pass _gdk_fb_screen_gc instead of NULL.
7989
7990         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
7991         Initialize gdk_selection_property.
7992         (gdk_event_make): Remove unused code.
7993
7994         * gdk/linux-fb/gdkcursor-fb.c:
7995         Make the pixmap for the cursor the same size as the mask. Also remove
7996         the mask_off_x/y fields in GdkCursorPrivateFB and combine
7997         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
7998         Now the whole cursor is visible.
7999
8000         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
8001         Fix bug where xdest+height instead of ydest+height was used
8002         to calculate if the source and dest overlapped. This fixes the
8003         redraw bug when the main window in testgtk was scrolled when
8004         partially covered by a tall window.
8005         Copy rectangles in region in order depending on draw_direction.
8006         Also moved the draw_direction flipping of start_y and end_y into
8007         the gc functions, as this might not be what all of them want.
8008         (gdk_fb_draw_lines): Support dashed lines.
8009         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
8010         so that the text is positioned correctly (was 1 pixel high).
8011
8012         gdk/linux-fb/gdkgc-fb.c:
8013         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
8014         all lines were drawn a pixel to short. Also checked the default of
8015         the rest of the values, and they're the same as X now.
8016
8017         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
8018         Clean up pixel positioning of the glyphs. Just use bgy->top and
8019         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
8020         to all divisions to get correct rounding behaviour.
8021
8022         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
8023         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
8024         Moved start_y/end_y flip into draw_drawable implementations.
8025         Flip also x rendering when draw_direction < 0.
8026         Remove unneccesary multiply with draw_direction.
8027
8028 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
8029
8030         * docs/tutorial/gtk-tut.sgml:
8031           - get rid of gtk_toggle_button_toggled FUD
8032           - start DND section - needs work - based on:
8033                 http://wolfpack.twu.net/docs/gtkdnd/
8034
8035 2000-11-22  Alexander Larsson  <alexl@redhat.com>
8036
8037         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
8038         Correct calculation of font metrics. Now GtkEntrys have sane
8039         size.
8040
8041 2000-11-22  Alexander Larsson  <alexl@redhat.com>
8042
8043         * gdk/gdktypes.h:
8044         Add new type GdkSpan
8045         
8046         * docs/reference/gdk/gdk-sections.txt,
8047         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
8048         gdk/gdkregion.h:
8049         Implement and document gdk_region_spans_intersect_foreach.
8050
8051         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
8052         Add new file gdkrender-fb.c which contains all core
8053         rendering code.
8054         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
8055         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
8056         (optimized rectangle fillers).
8057
8058         * gdk/linux-fb/gdkdrawable-fb2.c:
8059         Move all rendering code to gdkrender-fb.c.
8060         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
8061         Use the new span intersection functions in gdk_fb_fill_spans.
8062         gdk_fb_draw_rectangle() clips filled rectangles and calls
8063         gc->fill_rectangle with the result.
8064         gdk_fb_fill_spans() gets extra argument "sorted".
8065
8066         * gdk/linux-fb/gdkevents-fb.c:
8067         Remove unused includes and defines.
8068         New function gdk_fb_get_time() to get correct time for events.
8069
8070         * gdk/linux-fb/gdkinput-ps2.c:
8071         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
8072         Make sure to set the time of all events.
8073
8074         * gdk/linux-fb/gdkmain-fb.c:
8075         Use gdk_fb_get_time ().
8076
8077         * gdk/linux-fb/gdkprivate-fb.h:
8078         New virtual GC calls: fill_span & fill_rectangle.
8079         Export gdk_fb_get_time().
8080         gdk_fb_fill_spans() gets extra argument "sorted".
8081
8082         * gdk/linux-fb/mi*.c:
8083         Use GdkSpan instead of GdkRectangle.
8084         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
8085         from XFree 4 source)
8086         
8087 2000-11-22    <jrb@redhat.com>
8088
8089         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
8090         reversing the order in an if statement will do.  Doing so managed
8091         to make the treemodelsort half work.  Other half will follow after
8092         I get the insert function fully fixed.
8093
8094 2000-11-21  Elliot Lee  <sopwith@redhat.com>
8095         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
8096         more than 2 bits. Besides, I need to implement an evil hack. :)
8097
8098 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
8099
8100         * docs/tutorial/gtk-tut.sgml: minor corrections
8101
8102 2000-11-20  Jonathan Blandford <jrb@redhat.com>
8103         * gtk/gtktreemodelsort.h: Add convertion functions to let you
8104           convert to and from relative path's and iters.
8105
8106         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
8107           testing sorting functions a bit better.  Currently broken -- will
8108           fix in morning.
8109
8110 2000-11-20  Havoc Pennington  <hp@redhat.com>
8111
8112         * gtk/gtkwidget.c: Documented a bunch of functions in here
8113         (gtk_widget_realize): Warn if you try to realize
8114         a widget with no parent that isn't a toplevel
8115         (gtk_widget_intersect): return a gboolean
8116
8117 2000-11-20  Havoc Pennington  <hp@redhat.com>
8118
8119         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
8120         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
8121         scrolling to be implemented in GDK to finish. Also, right now
8122         we just size_allocate all children on every layout change,
8123         which is pretty lame. Test commented out of testtext.c, 
8124         until it works better.
8125
8126 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
8127
8128         * gdk/linux-fb/gdkdrawable-fb2.c:
8129         Removed unused arguments from gdk_fb_drawable_get_pixel().
8130
8131         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
8132         Renamed fidur specific mouse packet data in MouseDevice to
8133         generic. Used it in ps2 mouse handling code to avoid blocking
8134         reads.
8135
8136 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
8137
8138         * demos/gtk-demo/main.c: Changed to have the list become
8139         non-italic when the demo window is destroyed through an external
8140         event (like a close button).  Doing so found three bugs in the
8141         widget.
8142
8143         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
8144
8145         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
8146         we actually set the cell.
8147
8148         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
8149
8150         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
8151         free a leaked path.  Thanks memprof.
8152
8153 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
8154
8155         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
8156         off-by-one error when destroying allocated segments
8157         on failure. (Elliot)
8158
8159 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
8160
8161         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
8162         memleaks found by Evan Martin.
8163
8164 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
8165
8166         * Released 1.3.2
8167         
8168         * NEWS: Updates for 1.3.2
8169
8170 2000-11-17  Tor Lillqvist  <tml@iki.fi>
8171
8172         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
8173         but in general for window system specific events.
8174
8175         * gtk/gtk.def
8176         * gtk/makefile.mingw.in
8177         * gtk/makefile.msc.in: Update.
8178         
8179         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
8180
8181 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
8182
8183         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
8184         distribute gtk.immodules.
8185
8186         * gtk/Makefile.am (install-data-local): Don't install the
8187         gtk.immodules file created for the uninstalled modules;
8188         instead run gtk-query-immodules after install
8189
8190 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
8191
8192         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
8193         -rpath to the right install location.
8194
8195         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
8196         -export-dynamic.
8197
8198         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
8199         properly.
8200
8201 2000-11-15  Havoc Pennington  <hp@pobox.com>
8202
8203         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
8204         patch from Mikael Hermansson to temporarily stop blinking while
8205         the user is using the keyboard to type or navigate. 
8206
8207         Also, when blinking, stay on for longer than we stay off. Also,
8208         return from start_cursor_blink if !cursor_visible, to save
8209         checking that flag all over the place before we call
8210         start_cursor_blink.
8211
8212 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
8213
8214         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
8215         only contain a "fontset" line, which is now ignored.
8216
8217         * gtk/gtkentry.c (gtk_entry_button_release): Make 
8218         double-click-to-select-word work.
8219         
8220 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
8221
8222         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
8223         Don't move back one char when we are actually at the end of the 
8224         paragraph.
8225
8226 2000-11-15  Robert Brady  <robert@suse.co.uk>
8227
8228         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
8229         'o' < 'p'.
8230         
8231         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
8232         bind_textdomain_codeset.
8233
8234         (gtk_init_check): Make the warning about translating default:LTR
8235         sterner.
8236         
8237 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
8238
8239         * **/Makefile.am : remove unecessary rules for win32-specific
8240         config-substituted targets. If you want these rules, use
8241         --enable-maintainer-mode (called automatically by autogen.sh).
8242         Stops a lot of unneccessary make-time warnings.
8243
8244         * gtk/gtktext{layout,display}.c: Factor in total width as
8245         well as screen when figuring alignment for word-wrap as well as
8246         no wrap; this is necessary to handle lines that cannot be wrapped
8247         at all.
8248
8249 2000-11-15  Havoc Pennington  <hp@redhat.com>
8250
8251         * gtk/testtext.c: Implement essential color cycling feature
8252
8253 2000-11-15  Havoc Pennington  <hp@redhat.com>
8254
8255         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
8256         when we invalidate the main window.
8257
8258         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
8259         GtkTextView will now invalidate the side windows for us when text
8260         changes.
8261
8262 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
8263
8264         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
8265         unconditionally, since we may need to update the horizontal
8266         scrollbars even if the height didn't change.
8267
8268         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
8269         the extra attrs, since some of them affect size.
8270
8271         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
8272         x_offset correctly.
8273
8274 2000-11-15  Havoc Pennington  <hp@redhat.com>
8275
8276         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
8277         don't move the first line out into the margin, instead move the
8278         whole paragraph in order to make space for the first line within 
8279         the margin
8280
8281 2000-11-15  Havoc Pennington  <hp@redhat.com>
8282
8283         * gtk/gtktextview.c (changed_handler): offset redraw rect by
8284         xoffset in addition to yoffset, so horizontal scrolling doesn't
8285         break redraws
8286
8287 2000-11-15  Havoc Pennington  <hp@redhat.com>
8288
8289         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
8290         from the cursor
8291         (render_layout_line): fix reversed test that caused weird
8292         underlines to get drawn
8293
8294 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
8295
8296         * gdk/linux-fb/gdkprivate-fb.h:
8297         Fix debug macros.
8298         
8299 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
8300
8301         * gdk/linux-fb/gdkprivate-fb.h:
8302         Added virtual functions set_pixel, get_color,
8303         fill_span and draw_drawable to the GC.
8304         Added global _gdk_fb_screen_gc to use instead of
8305         NULL when drawing to the screen.
8306         Added _gdk_fb_gc_calc_state() prototype.
8307
8308         * gdk/linux-fb/gdkgc-fb.c:
8309         Call _gdk_fb_gc_calc_state() on any gc state change.
8310
8311         * gdk/linux-fb/gdkglobals-fb.c:
8312         Add _gdk_fb_screen_gc
8313                 
8314         * gdk/linux-fb/gdkdrawable-fb2.c:
8315         _gdk_fb_gc_calc_state() calculates best functions
8316         for the GC state and depth.
8317         Moved bpp specialized code to separate functions.
8318         Added optimized 24 bpp AA draw_drawable.
8319
8320         * gdk/linux-fb/gdkevents-fb.c:
8321         Silence gcc warning.
8322
8323         * gdk/linux-fb/gdkimage-fb.c:
8324         Use _gdk_fb_screen_gc
8325
8326         * gdk/linux-fb/gdkwindow-fb.c:
8327         Init and use _gdk_fb_screen_gc
8328
8329         * gdk/linux-fb/mitypes.h:
8330         Remove unused types.
8331
8332 2000-11-14  Havoc Pennington  <hp@pobox.com>
8333
8334         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
8335         to pixels
8336
8337 2000-11-14  Havoc Pennington  <hp@pobox.com>
8338
8339         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
8340
8341         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
8342         unknown char, no real reason we were using a variable. 
8343         Remove gtk_text_unknown_char variable. Fix all the text widget
8344         files accordingly.
8345
8346         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
8347         since the Unicode spec seems to prefer that character for our
8348         purposes.
8349
8350 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
8351
8352         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
8353         value of g_getenv() isn't freeable, so g_strdup it.
8354
8355         * modules/input/inuktitut.c: Inuktitut input method.
8356
8357         * modules/input/Makefile.am: Build this.
8358         
8359 2000-11-14  Elliot Lee  <sopwith@redhat.com>
8360
8361         * gtk/Makefile.am: Install gtk.immodules, needed for operation
8362         of gtk programs.
8363
8364 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
8365
8366         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
8367         reversed > that was causing Home to go to end of previous line.
8368
8369         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
8370         modified-keypresses (leave for bindings.)
8371
8372         * modules/input/Makefile.am: Remove useless -export-dynamic
8373         from module LDFLAGS.
8374
8375 2000-11-14  Havoc Pennington  <hp@redhat.com>
8376
8377         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
8378         higher.
8379
8380         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
8381         account. Also, render rise, underline, background, etc. for
8382         pixbufs as well as text. Also, draw underlines one pixel higher.
8383
8384         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
8385         PangoAttribute for the rise, so it gets drawn properly. Also,
8386         add the GtkTextAppearance attribute for pixbuf/widget segments
8387         as well; we should go ahead and have rise, underline, background,
8388         stipple work for those
8389
8390         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
8391         Pango
8392
8393 2000-11-15  Tor Lillqvist  <tml@iki.fi>
8394
8395         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
8396
8397         * gtk/gtk.def: Update.
8398
8399         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
8400         included.
8401         (gtk_rc_get_im_module_file): Use run-time installation directory
8402         on Win32.
8403
8404         * gdk/win32/rc/gdk.rc: Remove.
8405         * gdk/win32/rc/gdk.rc.in: New file.
8406         * gdk/win32/rc/Makefile.am: New file
8407         * gdk/win32/Makefile.am: Corresponding changes.
8408
8409         * gtk/gtk.rc: Remove.
8410         * gtk/gtk-win32.rc.in: New file.
8411         * gtk/Makefile.am: Corresponding changes.
8412
8413         * configure.in: Corresponding changes.
8414
8415         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
8416         has a built gtkcompat.h. Developers using CVS code on Win32 can
8417         hand-edit it from gtkcompat.h.in.
8418
8419         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
8420         gtkcompat.h from gtkcompat.h.win32.
8421
8422 2000-11-14  Havoc Pennington  <hp@redhat.com>
8423
8424         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
8425         to default to GDK_ACTION_MOVE if the drag is within a single
8426         widget. Defaults to GDK_ACTION_COPY between widgets.
8427
8428 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
8429
8430         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
8431
8432         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
8433
8434         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
8435         srcdir != builddir
8436
8437         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
8438
8439         * configure.in (GTK_VERSION): Up to 1.3.2
8440
8441         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
8442         gtkimcontextxim.h
8443
8444         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
8445         missing doc comment.
8446
8447 2000-11-14  Alexander Larsson  <alexl@redhat.com>
8448
8449         * modules/linux-fb/basic.c:
8450         Use the glib iconv wrappers.
8451
8452 2000-11-13  Havoc Pennington  <hp@pobox.com>
8453
8454         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
8455         still more bugs.
8456
8457         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
8458         scroll the GdkWindows before realization.
8459
8460 2000-11-13  Havoc Pennington  <hp@redhat.com>
8461
8462         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
8463         where GC didn't always get updated properly
8464
8465         * demos/gtk-demo/textview.c (create_tags): Use subattributes
8466         of fonts instead of setting the entire font
8467
8468         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
8469         setting entire font
8470
8471         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
8472
8473         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
8474         a bunch of individually-settable font attributes. You can still 
8475         use the "font" and "font_desc" args, they just set all the font
8476         attributes at once.
8477
8478 2000-11-13 Elliot Lee <sopwith@redhat.com>
8479
8480         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
8481
8482 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
8483
8484         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
8485         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
8486
8487         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
8488         work better.
8489
8490 2000-11-13  Havoc Pennington  <hp@redhat.com>
8491
8492         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
8493         the module file.
8494
8495         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
8496         dest->language
8497
8498         * gtk/testtext.c: Test pixels above/below/inside paragraphs
8499         settings
8500
8501         * gtk/gtktextview.c: Implement object args and setters/getters for
8502         all the aspects of the GtkTextAttributes that are not set from
8503         GtkWidget attributes. This is spacing, justification, margins,
8504         etc.
8505
8506         (gtk_text_view_set_arg)
8507         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
8508         args
8509         (gtk_text_view_class_init): Add args for justify, left_margin,
8510         right_margin, indent, and tabs
8511         
8512
8513         * gtk/gtktextlayout.c (set_para_values): fix to display indent
8514         attribute properly
8515
8516         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
8517         replace with indent attribute
8518
8519         * gtk/gtktextlayout.c (set_para_values): multiply indent by
8520         PANGO_SCALE
8521
8522         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
8523         rearranging code to do that
8524         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
8525         i.e. don't subtract the top_margin first, just to keep
8526         all margin-futzing in one place.
8527
8528         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
8529
8530         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
8531         special case of last line, Pango now handles this itself.
8532         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
8533         Y coordinate
8534         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
8535         (find_display_line_above): wasn't moving the byte index as it
8536         iterated over lines, so always returned byte 0. Also, port to use
8537         PangoLayoutIter.
8538         (find_display_line_below): same problem as
8539         find_display_line_above. Also, port to use PangoLayoutIter.
8540
8541 2000-11-13  Alexander Larsson  <alexl@redhat.com>
8542
8543         * gdk/linux-fb/*.[ch]:
8544         Massive reindent to gtk+ standard. My hands hurt.
8545
8546         * gdk/linux-fb/gdkcolor-fb.c:
8547         Move GdkColorPrivateFB from inherited to windowing_data
8548
8549         * gdk/linux-fb/gdkcursor-fb.c:
8550         _gdk_cursor_new_from_pixmap made static
8551
8552         * gdk/linux-fb/gdkdnd-fb.c:
8553         GdkDragContextPrivate moved to windowing_data
8554
8555         * gdk/linux-fb/gdkdrawable-fb2.c:
8556         Removed endian.h, use glib endianness macros instead
8557         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
8558         and GDK_DRAWABLE_IMPL_FBDATA
8559
8560         * gdk/linux-fb/gdkfont-fb.c:
8561         Add empty gdk_font_load(). Needed for linking of Gtk+.
8562
8563         * gdk/linux-fb/gdkimage-fb.c:
8564         Removed endian.h, use glib endianness macros instead
8565         Moved GdkImagePrivateFB to windowing_data
8566         gdk_image_new_bitmap didn't always allocate enough
8567         memory.
8568
8569         * gdk/linux-fb/gdkinput-ps2.c:
8570         Added semi-working support for MS serial mice.
8571
8572         * gdk/linux-fb/gdkprivate-fb.h:
8573         s/GdkWindowPrivate/GdkWindowObject/
8574         Removed GdkWindowPrivate typedef
8575         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
8576         Removed GDK_DRAWABLE_P
8577         Move GdkColorPrivateFB from inherited to windowing_data
8578         Moved GdkImagePrivateFB to windowing_data
8579
8580         * gdk/linux-fb/gdkvisual-fb.c:
8581         Removed some unused debug code.
8582
8583         * gdk/linux-fb/gdkwindow-fb.c:
8584         Use stock cursors instead of including X headers.
8585         s/GdkWindowPrivate/GdkWindowObject/
8586
8587         * gdk/linux-fb/mitypes.h:
8588         Removed unused types.
8589
8590         * modules/linux-fb/basic.c:
8591         Use the pango fribidi wrappers.
8592
8593 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8594
8595         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
8596         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
8597         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
8598         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
8599         GEqualFunc where applicable.
8600         
8601         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
8602         pango_font_description_equal as changed in pango.
8603         
8604         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
8605
8606         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
8607
8608         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
8609
8610         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
8611
8612         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
8613
8614         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
8615
8616         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
8617         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
8618
8619         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
8620         gtk_rc_styles_compare -> gtk_rc_styles_equal.
8621
8622 2000-11-12  Havoc Pennington  <hp@pobox.com>
8623
8624         * demos/gtk-demo/Makefile.am (democodedir): change demo install
8625         dir to datadir/gtk+-2.0/demo
8626
8627         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
8628         sorts of text widget and Pango font bugs. Urgh.
8629
8630         * demos/gtk-demo/Makefile.am (demos): Add textview.c
8631
8632         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
8633         tree that you should double click to see the demo. Fix 
8634         types of variables to reflect changed return values from 
8635         GtkTreeStore and GtkTreeViewColumn constructors.
8636
8637         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
8638         newly-created buffer to prepare for GObject semantics
8639
8640         * gtk/testtext.c: don't leak the buffer with GObject semantics
8641
8642         * gtk/testtextbuffer.c: ditto
8643         
8644 2000-11-12  Havoc Pennington  <hp@pobox.com>
8645
8646         Rename this testgtk to gtk-demo to avoid confusion, and 
8647         install it so people can use it as a supplement to 
8648         the documentation.
8649         
8650         * demos/gtk-demo: Moved from demos/testgtk
8651
8652         * demos/testgtk: Removed
8653
8654         * configure.in: make Makefile in gtk-demo
8655         
8656         * demos/gtk-demo/Makefile.am: Install sample source to 
8657         datadir/gtk-demo (maybe there's a better place?), and 
8658         rename the binary to gtk-demo
8659         
8660         * demos/gtk-demo/main.c (load_file): Load installed sample
8661         source if source isn't found in pwd.
8662
8663 2000-11-09  Havoc Pennington  <hp@pobox.com>
8664
8665         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
8666         argument to set the char displayed when visibility == FALSE
8667         (gtk_entry_create_layout): If !entry->visible, replace 
8668         all chars with the "invisible char"
8669
8670         * gtk/testgtk.c: Test the invisible_char deal
8671         
8672 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
8673
8674         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
8675         can't get a native font in the right encoding.
8676
8677 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
8678
8679         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
8680         respectively.
8681
8682 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
8683
8684         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
8685         Fix warning when moving between paragraphs.
8686
8687         * gtk/gtkentry.[ch]: Change move => move_cursor, 
8688         delete => delete_from_cursor, insert => insert_at_cursor
8689
8690 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
8691
8692         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
8693
8694         * modules/input/imthai-broken.c: A Thai input method for use if
8695         Thai keys are really generating Latin1 keysyms.
8696
8697         * modules/input/Makefile.am: Build these.
8698
8699 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
8700
8701         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
8702         g_filename_{to,from}_utf8 now takes an extra parameter.
8703
8704         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
8705         strftime into UTF-8.
8706
8707         (column_from_x, gtk_calendar_paint_day_names): Support RTL
8708         calendars.
8709
8710         (gtk_calendar_paint_day_names): Draw day names in the right 
8711         place.
8712         
8713 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
8714
8715         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
8716         problem with using result of g_get_charset() backwards -
8717         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
8718
8719         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
8720         negative min_width/height and max_width/height to
8721         mean "requisition"; this allows setting a window
8722         to be user-resizable in only one direction easily.
8723
8724         * gtk/testgtk.c (create_main_window): Remove hard-coded
8725         usize - set a default size in the vertical direction.
8726
8727 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
8728
8729         * gtk/gtkrange.c: Add some missing casts. Support 
8730         2 and 3 button clicks on the arrows to mean 
8731         "move by pages" and "jump to end". (Like gtkspinbutton)
8732
8733 2000-11-12 Hans Breuer <Hans@Breuer.Org>
8734
8735         * gdk/win32/makefile.msc : reflect build module changes
8736
8737         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
8738         from GdkPixmap*, cast implementation member instead.
8739
8740         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
8741         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
8742         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
8743         more Gdi functions return value checking. 
8744         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
8745         GdkImagePrivateWin32 *.
8746
8747         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
8748         menus useable again. Add #pragma message to keep reminded on this issue.
8749         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
8750         windows. This allows to enable backing store on Win32!
8751
8752         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
8753         in drawable is of impl type. Correct specific type checks appropriate.
8754  
8755         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
8756         GDK_WINDOW_DESTROYED before allocating new resources.
8757
8758         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
8759
8760         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
8761         (gdk_window_foreign_new) initialize parent handle.
8762         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
8763
8764         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
8765         Let the GDI invalidate the window on MoveWindow call to fix scrolling
8766         problems (e.g. main buttons in testgtk). 
8767
8768 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
8769
8770         * gtk/gtkentry.c (gtk_entry_key_press): Call 
8771         gtk_widget_activate for GDK_Return.
8772
8773         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
8774         of preedit cursor position.
8775
8776 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
8777
8778         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
8779         static.
8780
8781 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
8782
8783         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
8784         out support for multiple locales; that simple doesn't
8785         work reliably with current Xlib
8786
8787         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
8788         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
8789         Add support for positioning the cursor within the preedit string.
8790
8791 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
8792
8793         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
8794         at XIM input method module.
8795
8796         * gtk/gtktextview.c: Check for bindings after passing
8797         events to im context filter.
8798
8799 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
8800
8801         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
8802         empty attribute lists properly.
8803
8804 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
8805
8806         * gtk/queryimmodules.c (main): Return non-zero exit
8807         status if errors were encountered querying any
8808         modules.
8809
8810         * modules/input/Makefile.am (moduledir): remove
8811         leftover bin program target.
8812
8813         * docs/make-todo: Fix typo in error message.
8814
8815 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
8816
8817         * configure.in: Add modules/input/Makefile
8818
8819 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
8820
8821         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
8822         don't include gtkthemes.h.
8823
8824         * gtk/testgtk.c gtk/testtext.c: Set environment variables
8825         to point
8826
8827         * gtk/Makefile.am: Add new .c and .h files, build 
8828         gtk-query-immodules and use it to create a gtk.immodules
8829         file for use of test programs.
8830
8831         * gtk/gtkpreview.c: remove extra blank line.
8832
8833 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
8834
8835         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
8836         Add the ability to add extra tables beyond the default
8837         one, and also the ability to have compose sequences 
8838         that are prefixes of other compose sequences. 
8839
8840         * gtk/gtkimcontextsimple.c: Export a preedit string which
8841         consists of possible candidates for keystrokes that have
8842         been entered but not yet committed.
8843
8844         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
8845         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
8846
8847         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
8848         Add a function to add input-method switching menu items
8849         to a menu.
8850
8851         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
8852         when switching input methods.
8853
8854         * gtk/gtkimcontextsimple.[ch]: Change the format of
8855         the compose table to allow compose tables of different
8856         lengths / sequence.
8857
8858 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
8859
8860         * gtk/gtkimmodule.[ch]: Support routines for loading
8861         GtkIMContext implementations dynamically at runtime.
8862
8863         * modules/input/imcyrillic-translit.c: A sample input
8864         method (based on GtkIMContextSimple with an extra table),
8865         which demonstrates preedit strings and the module
8866         system for input modules
8867
8868         * gtk/queryimmodules.c: Program to query the available
8869         input modules and write the results into a file.
8870          
8871         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
8872         extra config options "im_module_file" (cache file for
8873         input method modules), and "im_module_path" - path
8874         to look for modules when generating cache file.
8875
8876         This doesn't scale.
8877
8878 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
8879
8880         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
8881         generic code from gtkthemes into a new abstraction
8882         GtkModule which has the logic for implementing
8883         a loadable module which implements a number of 
8884         GObject types.
8885
8886 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
8887
8888         * gtk/gtkeditable.[ch]: Convert GtkEditable from
8889         a class into an interface  
8890         
8891         * gtk/gtkoldeditable.[ch]: Move the old editable
8892         implementation into here, so legacy widgets can
8893         still rely on the implemenation. GtkOldEditable
8894         exports GtkEditable. Make selection handling
8895         code use new text conversion functions (and
8896         handle UTF-8 as a side-effect). Use GtkClipboard
8897         for CLIPBOARD.
8898
8899         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
8900         Adopt to match above changes.
8901
8902         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
8903         avoid GtkOldEditable implementation. Restructure
8904         to reduce number of places that modify state directly.
8905         Move to GtkBindingSet. Display the preedit string.
8906         Queue recomputation of PangoLayout and scroll position
8907         to improve effiency of doing complex changes naively.
8908         Add a menu with cut/copy/paste and input method selection.
8909
8910 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
8911
8912         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
8913         to set preedit string and attributes; display preedit string by
8914         inserting string and attributes at cursor when creating the
8915         GtkTextLineDisplay.
8916
8917         * gtk/gtktextlayout.c: Move all conversions between byte
8918         positions in PangoLayout and GtkTextIter into new functions
8919         line_display_iter_to_index/index_to_iter that properly
8920         handle the preedit string.
8921
8922         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
8923         it to return const char * (eventually will end up
8924         as GCONST char *, most likely.)
8925
8926         * gtk/gtktextview.[ch]: Handle the preedit string, call
8927         gtk_im_context_reset() as necessary, add a menu to switch
8928         input methods.
8929         
8930         * gtk/gtktextlayout.[ch]: Remove useless
8931         gtk_text_layout_get_log_attrs() function.
8932
8933 2000-11-11  Tor Lillqvist  <tml@iki.fi>
8934
8935         * gdk/gdk.def
8936         * gtk/gtk.def: Update.
8937
8938         * gdk/win32/*.c: Add last argument to g_type_register_static()
8939         calls.
8940
8941         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
8942
8943         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
8944         generated by older wheel mouse drivers. Get the correct y
8945         coordinate from WM_MOUSEWHEEL messages.
8946
8947         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
8948         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
8949         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
8950         Debugging functions.
8951
8952         * gdk/win32/gdkprivate-win32.h: Declare them.
8953
8954         * gdk/win32/gdkinput-win32.h: Add declaration for
8955         gdk_input_window_destroy().
8956
8957         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
8958
8959 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
8960
8961         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
8962         function to help handle keeping things in sync.
8963
8964 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
8965
8966         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
8967         BOXED marshallers.
8968
8969         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
8970         (gtk_list_store_class_init): use the new BOXED marshallers.
8971
8972         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
8973         new_with_values to new_with_types.
8974         (gtk_tree_store_get_column_type): add this.
8975         (gtk_tree_store_class_init): use the new BOXED marshallers.
8976
8977         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
8978         mirror some POINTER marshallers.
8979
8980 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
8981
8982         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
8983         allow more interesting iterators.  Also, made the lifecycle of
8984         iterators more explicit.
8985
8986         * gtk/gtktreemodelsort.[ch]: New model for sorting.
8987
8988         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
8989         types.
8990
8991 2000-11-09  Alexander Larsson  <alexl@redhat.com>
8992
8993         * demos/testgtk/menus.c:
8994         Changes to make the new testgtk compile after
8995         gtk_menu_append was removed.
8996
8997         * gdk/linux-fb/gdkdrawable-fb2.c
8998         (gdk_fb_get_depth, gdk_fb_get_visual,
8999         gdk_drawable_impl_fb_class_init): Implement
9000         these drawable functions. Now GtkImages work again.
9001
9002         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
9003
9004         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
9005         
9006         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
9007         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
9008         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
9009         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
9010
9011 2000-11-08  Havoc Pennington  <hp@pobox.com>
9012
9013         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
9014         visible_set args, don't know where these had gone, I thought they
9015         used to be there
9016
9017         * gtk/testtext.c: Add a menu item to apply invisibility tag;
9018         now we can test the feature and see that it's totally broken.
9019
9020 2000-11-08  Havoc Pennington  <hp@pobox.com>
9021
9022         Make DND copy pixbufs and tags when source and target share a 
9023         tag table.
9024         
9025         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
9026         in-process GTK_TEXT_BUFFER_CONTENTS target
9027         (gtk_text_view_drag_data_received): Paste from
9028         GTK_TEXT_BUFFER_CONTENTS if we receive it.
9029
9030 2000-11-08  Alexander Larsson  <alexl@redhat.com>
9031
9032         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
9033         API changes.
9034
9035         * gtk/gtkmenu.c: Add support for scrolling menus.
9036         Remove gtk_menu_append/prepend/insert, these have been moved to
9037         gtkcompat.h as #defines.
9038
9039         * gtk/gtkcompat.h.in:
9040         Add compatibility #defines for gtk_menu_append/prepend/insert
9041
9042         * gtk/gtkmenu.h: Add data needed for scrolling menus.
9043         GtkMenuPositionFunc gets an extra argument push_in.
9044         gtk_menu_append/prepend/insert removed.
9045         
9046         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
9047         positioning behaviour to fit to scrolling menus.
9048
9049         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
9050         into menuitem->submeny. That is wrong, and broke torn
9051         off submenus of torn off menus, since they were unrealized
9052         when the first menu was unrealized.
9053
9054         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
9055         gtk_menu_shell_select_item() since these need to be overridden in
9056         GtkMenu.
9057
9058         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
9059         positioning behaviour to fit to scrolling menus.
9060         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
9061         the current item so that it is prelighted when the menu pops up.
9062         This is a workaround to the fact that the menu doesn't get the
9063         initial enter event (due to grabs).
9064
9065         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
9066         s/gtk_menu_append/gtk_menu_shell_append/
9067
9068         * gtk/gtknotebook.c:
9069         s/gtk_menu_insert/gtk_menu_shell_insert/
9070
9071         * gtk/testgtk.c (create_menu, create_menus):
9072         Create the first menu with 50 items so that menu scrolling
9073         can be tested.
9074         
9075         
9076         Patch from Jonathan Blandford  <jrb@redhat.com>
9077
9078         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
9079         system to handle size requests.  First, we ask what the size of
9080         the toggle is.  Then, when allocating the size, we allocate the
9081         toggle_size first.  This way we can have multiple menu-item
9082         classes w/o needing a seperate class for each.
9083
9084         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
9085         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
9086
9087         * gtk/gtkcheckmenuitem.c
9088         (gtk_check_menu_item_toggle_size_request): New function to handle
9089         the toggle size-request.
9090
9091 2000-11-07  Havoc Pennington  <hp@redhat.com>
9092
9093         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
9094         Half-ass somewhat fix this function, so that scrolling to the
9095         insertion point works. Pango hacking is in the future to really
9096         fix it.
9097
9098         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
9099         length of data, no longer used.
9100
9101         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
9102         method contents in here, get rid of destroy method
9103         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
9104         that were backward. Remove debug spew.
9105         (cut_or_copy): Make the clipboard work with insert_range to
9106         preserve tags and pixbufs, not just the primary selection.
9107
9108 2000-11-07  Havoc Pennington  <hp@redhat.com>
9109
9110         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
9111         to gtk_text_mark_get_visible
9112
9113         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
9114         bug that was generating an invalid iterator
9115
9116         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
9117         ensure_char_offsets() in front of code placing the iter in an
9118         invalid state.
9119
9120         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
9121         make override_location arg const
9122         (paste): Replace the selection if we paste into the 
9123         current selection
9124
9125         * gtk/gtkselection.h: Remove "GtkSelectioData"
9126         (struct _GtkSelectionData): move the definition here.
9127
9128         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
9129         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
9130
9131         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
9132
9133         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
9134         (gtk_text_buffer_insert_range_interactive): implement
9135         (gtk_text_buffer_get_tags): Remove, replaced by
9136         gtk_text_iter_get_tags()
9137
9138         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
9139         limit parameter, to avoid infinite linear scan.
9140         (gtk_text_iter_backward_search): Add search limit
9141         (gtk_text_iter_forward_find_char): Add search limit
9142         (gtk_text_iter_backward_find_char): Add search limit
9143
9144 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
9145
9146         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
9147         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
9148         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
9149         gdk/linux-fb/gdkwindow-fb.c:
9150         use g_object_new() instead of g_type_create_instance() which
9151         is a private function for fundamental type implementations.
9152
9153         * gdk/linux-fb/gdkinput-ps2.c:
9154         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
9155         instead just store the current modifier state. Add a (somewhat broken)
9156         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
9157         Rename exported function gdk_input_ps2_get_mouseinfo to
9158         gdk_input_get_mouseinfo.
9159
9160         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
9161         gdk/linux-fb/gdkwindow-fb.c:
9162         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
9163         
9164
9165 2000-11-02  Havoc Pennington  <hp@redhat.com>
9166
9167         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
9168         use stock buttons. Should be 100% source compatible, appropriate
9169         filesel fields now point to dialog->vbox and dialog->action_area.
9170         On the bizarre side, dialog->action_area and filesel->action_area
9171         are not the same widget.
9172         (gtk_file_selection_init): Put some padding around the selection
9173         entry, so it isn't touching the GtkDialog separator.    
9174
9175         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
9176         use stock buttons, etc. Should also be source compatible.
9177         Set the dialog default title in _init not _new().
9178         
9179         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
9180         Use stock buttons; don't put a button box inside the existing
9181         dialog button box. Don't bother with push/pop colormap anymore.
9182
9183         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
9184         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
9185         for message dialog, and necessary for the font selection and color
9186         selection with help and apply buttons.
9187         
9188         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
9189         to the created button widget. Set GTK_CAN_DEFAULT on the button.
9190         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
9191         between buttons, put less padding around the action area.
9192         (gtk_dialog_run): Exit on unmap rather than on destroy. 
9193         This will also exit the loop if the widget is hidden.
9194         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
9195         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
9196         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
9197         special-case delete event.
9198
9199         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
9200         formatting
9201         
9202 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
9203
9204         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
9205         button to temporarily disable position recording in the
9206         "saved position" test.
9207
9208 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
9209
9210         * gtk/gtkthemes.c: added compat code that temporarily implements
9211         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
9212         going to be revamped by owen's upcoming GtkModule patches, but
9213         untill then people want gtk to build, right? ;)
9214
9215 2000-11-04  Havoc Pennington  <hp@pobox.com>
9216
9217         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
9218         list
9219
9220         * docs/Changes-2.0.txt: Add note about
9221         gtk_container_get_toplevels()
9222
9223         * gtk/gtktextview.h: formatting
9224         
9225         * gtk/gtktextview.c: don't start descriptions with "Returns",
9226         confuses gtk-doc
9227
9228 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
9229
9230         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
9231         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
9232
9233 2000-11-03  Havoc Pennington  <hp@redhat.com>
9234
9235         * gtk/gtktexttagtable.c: Docs
9236         (gtk_text_tag_table_size): return a signed int
9237
9238         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
9239         (gtk_text_tag_event): make the event_object a GObject
9240
9241         * gtk/gtktextview.c: Write API docs for all functions.
9242
9243         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
9244         for gtk_text_view_get_window_type() called on one of the private
9245         windows.
9246
9247         * gtk/gtktextview.c: Instead of accessing text_view->buffer
9248         directly, call get_buffer() which demand-creates a default
9249         buffer. So gtk_text_view_new() can be used to create a view with a
9250         default buffer in it, if you just want an empty text box users can
9251         put data in. Useful for GUI builders also.
9252
9253 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
9254
9255         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
9256         the charset encodign portion MUST be in lowercase.
9257         * gtk/gtkrc.az: added file for Azeri language
9258
9259 2000-11-03  Havoc Pennington  <hp@redhat.com>
9260
9261         Get widgets working on the btree/buffer side. Display of them 
9262         still doesn't work.
9263         
9264         * gtk/gtktextview.c: start implementing child widget stuff
9265
9266         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
9267
9268         * gtk/gtktextlayout.c: handle embedded widgets
9269
9270         * gtk/gtktextdisplay.c: handle embedded widgets
9271
9272         * gtk/gtktextchild.c: Implement all the child anchor goo
9273
9274         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
9275         function
9276
9277         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
9278         (insert_pixbuf_or_widget_segment): abstract out common portions of 
9279         creating a child anchor or a pixbuf segment.
9280         (gtk_text_btree_create_child_anchor): new function
9281         (gtk_text_btree_unregister_child_anchor): new function
9282
9283         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
9284         allocate_child signal on GtkTextLayout
9285
9286         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
9287         values
9288         (gtk_text_iter_get_child_anchor): new function
9289
9290         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
9291         default handler for the changed signal, which calls
9292         gtk_text_buffer_set_modified(), instead of just always emitting
9293         changed then calling set_modified() manually. I guess this is
9294         maybe more flexible. It seems logical.
9295
9296 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
9297
9298         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
9299         now.
9300
9301         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
9302
9303 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
9304
9305         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
9306         been marked static.
9307
9308 2000-11-02  Havoc Pennington  <hp@redhat.com>
9309
9310         * gtk/testgtk.c (create_labels): had a test backward
9311
9312         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
9313         fields, so the dest GC ends up with the correct clip origin, 
9314         etc. Fixes a bug where colored labels didn't redraw 
9315         properly.
9316
9317 2000-11-02  Alexander Larsson  <alexl@redhat.com>
9318
9319         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
9320         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
9321         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
9322         Add last argument to t_type_register_static call.
9323         
9324         * gdk/linux-fb/gdkdrawable-fb2.c:
9325         Add last argument to t_type_register_static call.
9326         export the get_image drawable virtual function.
9327
9328         * gdk/linux-fb/gdkimage-fb.c:
9329         Add last argument to t_type_register_static call.
9330         rename gtk_image_get to _gdk_fb_get_image and
9331         export it for use by gdkdrawable-fb2.
9332
9333         * gdk/linux-fb/gdkprivate-fb.h:
9334         export _gdk_fb_get_image.
9335
9336         * gdk/linux-fb/gdkselection-fb.c:
9337         Add new api call stubs.
9338
9339         * gtk/Makefile.am:
9340         Missing ( in linux-fb part.
9341
9342         * modules/linux-fb/Makefile.am:
9343         Must link with gdk_pixbuf or get unresolved symbol.
9344
9345 2000-11-01  Havoc Pennington  <hp@pobox.com>
9346
9347         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
9348         GTK_TYPE_TEXT_ITER and BOXED marshallers
9349
9350         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
9351
9352         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
9353         
9354         * gtk/gtk-boxed.defs: add GtkTextIter
9355
9356         * gtk/gtkmarshal.list: Add marshallers for text widget that 
9357         properly use OBJECT and BOXED
9358
9359 2000-11-01  Havoc Pennington  <hp@redhat.com>
9360
9361         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
9362
9363         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
9364         before returning it. 
9365         
9366 2000-11-01  Havoc Pennington  <hp@redhat.com>
9367
9368         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
9369         Clip the rectangle to be rendered to the drawable, since
9370         get_from_drawable() requires a region within the drawable
9371
9372 2000-11-01  Havoc Pennington  <hp@redhat.com>
9373
9374         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
9375         from coordinates.
9376
9377 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
9378
9379         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
9380         it isn't NULL.
9381
9382 2000-11-01  Havoc Pennington  <hp@pobox.com>
9383
9384         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
9385         on a label
9386         (gtk_label_finalize): unref the attr list if any.
9387
9388         * gtk/testgtk.c (create_get_image): close test on second click
9389         (make_message_dialog): close dialog if it exists
9390
9391         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
9392
9393         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
9394         gdk-pixbuf
9395
9396         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
9397         from Pango markup format
9398         (gtk_label_set_markup_with_accel): ditto but with accelerator
9399         parsing
9400
9401         * gtk/gtkimage.c (gtk_image_expose): reformatting.
9402
9403         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
9404         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
9405         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
9406         call gdk_window_get_origin().
9407
9408         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
9409         implement GDK_PIXBUF_ALPHA_FULL
9410         
9411 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
9412
9413         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
9414         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
9415         g_signal_handlers_disconnect_matched to block/unblock and disconnect
9416         multiple handlers respectively, instead of only treating the
9417         first handler found (bug reported by owen).
9418
9419 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
9420
9421         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
9422
9423         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
9424
9425         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
9426         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
9427         gtk/gtktreeviewcolumn.h: Fixed inline docs.
9428
9429         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
9430         widget.  Needs writing someday.
9431
9432         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
9433         the docs.
9434
9435 2000-10-30  Havoc Pennington  <hp@redhat.com>
9436
9437         * gtk/gtktextview.h, gtk/gtktextview.c:
9438         Rename delete_at_cursor delete_from_cursor, and 
9439         move to move_cursor.
9440
9441 2000-10-30  Havoc Pennington  <hp@redhat.com>
9442
9443         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
9444         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
9445         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
9446         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
9447         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
9448         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
9449         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
9450         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
9451         gtktexttypes.h, gtktextview.c, gtktextview.h:
9452
9453         Massive reindentation and reformatting. Arg alignment and comments
9454         still need fixing in various places.
9455
9456 2000-10-30  Havoc Pennington  <hp@redhat.com>
9457
9458         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
9459         to be named insert_at_cursor and delete_at_cursor so C++ can
9460         handle them.
9461
9462 2000-10-28  Tor Lillqvist  <tml@iki.fi>
9463
9464         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
9465         to get a double directory separator in case the home directory
9466         ends with one. This would cause trouble especially on Windows,
9467         where the path will be confused with the syntax for an an UNC
9468         (network share) path \\server\share\path.
9469         (gtk_rc_add_initial_default_files): Ditto.
9470
9471 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
9472
9473         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
9474
9475         * gtk/gtktextview.c: Use correct marshallers.
9476
9477 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
9478
9479         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
9480         use new iter stuff, and added all the appropriate signals et al.
9481
9482         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
9483         code is internal to gtk only.
9484
9485 2000-10-28  Tor Lillqvist  <tml@iki.fi>
9486
9487         * gtk/gtk.def
9488         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
9489         glib-genmarshal etc.
9490
9491 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
9492
9493         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
9494         parallel builds.
9495
9496 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
9497
9498         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
9499
9500 2000-10-27  Robert Brady  <robert@suse.co.uk>
9501
9502         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
9503         en_GB (British), ia (Interlingua).
9504
9505 2000-10-26  Havoc Pennington  <hp@redhat.com>
9506
9507         * gtk/gtktextiter.c (my_strrstr): fix constness warning
9508
9509         Fixed output of:
9510         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
9511         
9512         * gtk/gtktextsegment.c (char_segment_new): rename
9513         (_char_segment_new_from_two_strings): rename
9514         (_toggle_segment_new): rename
9515         
9516         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
9517         (make_clipboard_widget): make it static
9518         (text_get_func): static
9519         (text_clear_func): static
9520
9521         * gtk/gtkcolorsel.c (adjustment_changed): make this function
9522         static
9523         (hex_changed): make it static
9524         (hsv_changed): make it static
9525         (opacity_entry_changed): make it static
9526
9527         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
9528         (toggle_segment_check_func): rename with _gtk
9529
9530         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
9531         (_widget_segment_new): rename
9532         (_widget_segment_add): rename
9533         (_widget_segment_remove): rename
9534         (_widget_segment_ref): rename
9535         (_widget_segment_unref): rename
9536
9537         * gtk/gtktextmark.c (_mark_segment_new): Rename
9538         _gtk_mark_segment_new   
9539
9540 2000-10-26  Havoc Pennington  <hp@redhat.com>
9541
9542         * gtk/gtkmarshal.list: add new marshallers used by the text widget
9543         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
9544         types
9545
9546         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
9547         marshaller types
9548
9549         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
9550         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
9551         license on these files.
9552
9553         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
9554         work.
9555
9556         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
9557         runtime random number different for each tree, instead of 
9558         a constant I made up.
9559
9560 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
9561
9562         * gtk/Makefile.am: buncha cleanups, kludged build sources
9563         dependencies with a Makefile: oldest-source-stamp dependancy
9564         for the moment. automake is really fighting us here, with
9565         intentionally not allowing user-defined rules or dependancies
9566         prior to it's -include $(DEP_FILES) statement. sucks rocks!
9567
9568         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
9569         to public headers. tehy have a comment stating that they are
9570         "semi-public" aren't included by gtk.h and if enums popup there,
9571         they can be /*< skip >*/-ed.
9572
9573         * gtk/gtktextlayout.h: 
9574         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
9575         added LGPL... <SIGH>
9576
9577 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
9578
9579         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
9580         GtkTreeIter.  Added iterators everywhere.
9581
9582         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
9583
9584         * gtk/gtktreeviewselection.c: Changed to use the iterators.
9585
9586         * gtk/gtktreestore.c: Changed to use the iterators.
9587
9588         * gtk/gtkliststore.c: Commented out the code.  Will convert to
9589         iterators tomorrow.
9590
9591         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
9592         iterators tomorrow.
9593
9594         * gtk/treestoretest.c: Changed to use iterators.
9595
9596         * demos/testgtk/main.c: Moved to use the new iterator system.
9597
9598 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
9599
9600         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
9601         localization misbehaviour.
9602
9603         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
9604         a useless type without copy/free.
9605
9606         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
9607         of GTK_TYPE_CTREE_NODE.
9608
9609 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
9610
9611         * gtk/gtksignal.c:
9612         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
9613         applicable.
9614
9615         * gtk/gtk-boxed.defs (GtkSelectionData): specify
9616         gtk_selection_data_copy and gtk_selection_data_free
9617         do GtkSelectionData work as params in signals.
9618
9619 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
9620
9621         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
9622         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
9623         couldn't they at least give it a non-standard name?
9624         
9625         * gtk/gtktextlayout.c: arg! yet another implementation of
9626         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
9627
9628         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
9629         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
9630         home. now i know this _is_ a conspiracy.
9631
9632         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
9633         ::state-changed.
9634
9635         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
9636         (gtk_accel_group_create_add): marshaller signature fixups.
9637
9638         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
9639         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
9640
9641         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
9642         anymore.
9643
9644 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
9645
9646         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
9647         due to the signal system changes, it wouldn't build currently. to
9648         be fixed soon.
9649
9650         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
9651
9652         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
9653         so it needs gtk_marshal_VOID__ENUM() instead of
9654         gtk_marshal_NONE__UINT().
9655
9656         * gdk/gdk*.c: adapted type registration functions.
9657
9658         * gtk/gtkbindings.c:
9659         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
9660         gone.
9661
9662         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
9663
9664         * gtk/gtkobject.c:
9665         (gtk_object_destroy):
9666         (gtk_object_shutdown): fixed recursion guards. basically we have to
9667         catch the case where any of GObject.shutdown() or gtk_object_destroy()
9668         is called during ::destroy, and avoid recursion there.
9669
9670         * gtk/gtktypeutils.c:
9671         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
9672         boxed_copy/boxed_free. this needs a more general solution based on a
9673         publically installed code-generator utility.
9674
9675         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
9676         glib's gobject has support for that now.
9677         define GtkSignalMarshaller in terms of GSignalCMarshaller.
9678
9679 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
9680
9681         * gtk/gtksignal.[hc]:
9682         * gtk/gtkmarshal.[hc]:
9683         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
9684         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
9685         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
9686         care of that.
9687
9688         * *.c: marshaller name fixups.
9689
9690         * gtk/gtkmarshal.list: added a comment briefing the format.
9691
9692 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
9693
9694         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
9695         compatibility macros here now. more specifically, most of
9696         the API is preserved (yes, _most_, nonwithstanding the
9697         following exceptions listed, the API is stil lHUGE ;)
9698         things that got removed completely:
9699         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
9700         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
9701         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
9702         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
9703         gtk_signal_remove_emission_hook().
9704         non-functional functions variants:
9705         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
9706         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
9707         not supported anymore.
9708         (gtk_signal_compat_matched): new internal function to aid
9709         implementation of the compatibility macros, it  provides
9710         functionality to block/unblock/disconnect handlers based
9711         on func/data.
9712
9713         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
9714
9715         * *.c: adaptions to new type registration API signatures.
9716
9717 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
9718
9719         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
9720
9721 2000-10-25  Robert Brady  <robert@suse.co.uk>
9722
9723         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
9724         gdk_property_delete): If window == NULL, assume the root window.
9725         (restoring the behaviour that was in 1.2).
9726         
9727         * gtk/testtext.c (save_buffer): Allow creation of new files when
9728         saving.
9729
9730         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
9731         calls to read().
9732
9733 2000-10-25  Tor Lillqvist  <tml@iki.fi>
9734
9735         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
9736
9737         * gdk/win32/gdkdrawable-win32.c
9738         * gdk/win32/gdkimage-win32.c
9739         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
9740         X11 backend.
9741
9742         * gdk/win32/gdkcc-win32.c
9743         * gdk/win32/gdkcolor-win32.c
9744         * gdk/win32/gdkfont-win32.c
9745         * gdk/win32/gdkinput-win32.c
9746         * gdk/win32/gdkmain-win32.c
9747         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
9748
9749 2000-10-24  Havoc Pennington  <hp@redhat.com>
9750
9751         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
9752         it a static function
9753
9754         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
9755         redraw text when a tag is applied to it.
9756
9757         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
9758         (gtk_text_tag_affects_nonsize_appearance): private functions to
9759         see if a tag requires various kinds of redraw/layout to be queued
9760         up.
9761
9762         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
9763
9764         * gtk/testtext.c (fill_example_buffer): Put the cursor 
9765         at the start of the buffer, so search works by default
9766
9767         * gtk/gtktextiter.c (lines_match): init match_start always
9768
9769         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
9770         function, get iter at a line + a byte index
9771
9772         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
9773         to set byte position within a line
9774         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
9775
9776 2000-10-23  Havoc Pennington  <hp@redhat.com>
9777
9778         * gtk/testtext.c: Re-enable the "find" dialog
9779
9780         * gtk/testgtk.c: Add test for gdk_drawable_get_image
9781         
9782         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
9783         the arguments to gdk_draw_drawable were in the wrong order
9784         (gdk_window_paint_init_bg): This function was ignoring the
9785         init_region, instead of clipping to it, so the entire backing
9786         pixmap was cleared on every begin_paint()
9787         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
9788         was in here again, the loop kept using the same GtkWindowPaint
9789         over and over.
9790         (gdk_window_begin_paint_region): Fix a bug where we had two
9791         x_offset instead of x_offset and y_offset
9792
9793         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
9794         before we get the image.
9795         (gdk_draw_drawable): get the composite before we draw the drawable.
9796         (gdk_drawable_real_get_composite_drawable): default
9797         get_composite_drawable implementation that returns the drawable 
9798         itself
9799
9800         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
9801         get_composite_drawable virtual function
9802
9803         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
9804         list-walking bug
9805
9806         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
9807         make this work if the source drawable is a GdkDrawableImplX11
9808         instead of a public drawable type. This is really broken; the
9809         problem is that GdkDrawable needs a virtual method get_xid(), but
9810         of course that doesn't work in practice. Enter RTTI.
9811
9812         Also, improve mismatched depth message.
9813
9814         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
9815         GdkPixmap
9816
9817         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
9818         install _gdk_x11_get_image as our implementation of get_image
9819         
9820         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
9821         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
9822
9823         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
9824         gdk_drawable_get_image
9825
9826         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
9827
9828         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
9829         get_image
9830
9831         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
9832         trailing semicolon after for loop
9833
9834 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
9835
9836         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
9837         where font_desc for widget's context lagged widget's font_desc by
9838         one step.
9839
9840 2000-10-22  Tor Lillqvist  <tml@iki.fi>
9841
9842         * gdk/win32/gdkgc-win32.c
9843         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
9844
9845         * gtk/makefile.mingw.in
9846         * gtk/gtk.def: Updates.
9847
9848         * gtk/testgtk.c: sleep() is called _sleep in MS's C
9849         library.
9850
9851         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
9852
9853         * gtk/makefile.msc: Remove
9854
9855         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
9856
9857         * gtk/Makefile.am: Add it.
9858
9859         * configure.in: Generate it.
9860
9861         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
9862         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
9863         something even if not implemented, to satisfy picky MSVC.
9864
9865         Patches by Hans Breuer:
9866         
9867         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
9868         SetBkMode() and SetTextAlign() before calling
9869         pango_win32_render().
9870
9871         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
9872         Set hcliprgn to NULL after destroying it.
9873         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
9874
9875         * gdk/win32/gdkgeometry-win32.c
9876         (_gdk_windowing_window_queue_antiexpose): More effective
9877         implementation.
9878
9879         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
9880         depth as default, not the visual's.
9881
9882         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
9883         against empty title.
9884
9885         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
9886         IMAGE_PRIVATE_DATA.
9887
9888         * gdk/win32/gdkimage-win32.c: Use it.
9889
9890 2000-10-22  Robert Brady  <robert@suse.co.uk>
9891
9892         * configure.in: Check for bind_textdomain_codeset
9893
9894         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
9895         present, make use of it.
9896
9897         Add a translatable string "default:LTR" which, if translated
9898         to "default:RTL", will cause the default direction to be
9899         Right-to-Left.
9900
9901         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
9902         direction if marked as flippable.
9903
9904         * gtk/gtkhscale.c: Mark widget as flippable.
9905         
9906 2000-10-04  Havoc Pennington  <hp@redhat.com>
9907
9908         * gtk/testgtk.c (create_buttons): create some stock buttons
9909         with the default accel group
9910         (create_image): test some new GtkImage features
9911         (make_message_dialog): test GtkMessageDialog
9912         (create_modal_window): fix someone's bizzarro indentation
9913
9914         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
9915         GTK_WIN_POS_CENTER_ON_PARENT. 
9916         Add "destroy with parent" setting, which means the window goes
9917         away with its transient parent.
9918         (gtk_window_get_default_accel_group): get the default accel group
9919         for the window.
9920         (gtk_window_set_destroy_with_parent): set/unset destroy with
9921         parent flag
9922         (gtk_window_read_rcfiles): invalidate icon set caches
9923         after reloading rcfiles 
9924
9925         * gtk/gtkenums.h (GtkWindowPosition): add
9926         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
9927         on its parent window when the dialog is mapped for the first time.
9928
9929         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
9930         a simple message dialog class
9931         
9932         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
9933         handler to emit response signal, and maybe later it would
9934         honor a hide_on_delete flag - though that isn't there yet.
9935         Set border width on the vbox to 2, so we get some padding.      
9936         Use a button box for the action area.
9937         (gtk_dialog_key_press): synthesize a delete event if Esc
9938         is pressed and the GtkWidget key press handler didn't 
9939         handle the escape key.
9940         (gtk_dialog_new_with_buttons): new function creates a dialog
9941         with some default buttons in it.
9942         (gtk_dialog_add_action_widget): add an activatable widget
9943         as a button in the dialog - you can also add a non-activatable
9944         widget by accessing the action area directly.
9945         (gtk_dialog_add_button): add a simple button - stock ID or 
9946         label - to the action area
9947         (gtk_dialog_response): emit response signal
9948         (gtk_dialog_run): block waiting for the dialog, return 
9949         the response. Override normal delete_event behavior, so that 
9950         delete_event does nothing inside gtk_dialog_run().
9951
9952         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
9953         emitted when an action widget is clicked or the dialog gets
9954         delete_event
9955
9956         * gtk/gtk.h: add gtkmessagedialog.h
9957
9958         * gtk/Makefile.am: add gtkmessagedialog.[hc]
9959
9960 2000-10-18  Havoc Pennington  <hp@redhat.com>
9961
9962         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
9963         where any number of empty lines would get skipped
9964
9965         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
9966         edge.
9967
9968         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
9969         warning about invalid iterators (explain more thoroughly)
9970         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
9971
9972         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
9973         big
9974
9975         * demos/*.c: Add error handling
9976
9977         * gtk/gtktextbuffer.c: don't modify const iterators
9978
9979         * gtk/gdk-pixbuf-loader.c: Add full error handling here
9980
9981         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
9982         on file load
9983
9984         * gtk/gtkiconfactory.c: Update to reflect addition of error
9985         handling to gdk-pixbuf loaders
9986
9987 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
9988
9989         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
9990         move to new modularized testgtk.
9991
9992 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
9993
9994         * gtk/gtktreeview.c: Draw the arrows correctly.
9995
9996         * gtk/gtktreemodel.c: Added user docs.
9997
9998         * gtk/gtk.h: remove gtktreedatalist.h.
9999
10000         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
10001         parent when generating my type.
10002
10003         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
10004         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
10005
10006 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
10007
10008         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
10009         GtkTreeModel from object to interface.
10010
10011 2000-10-16  Havoc Pennington  <hp@redhat.com>
10012
10013         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
10014         compilation
10015
10016 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
10017
10018         * gtk/gtktreeselection.c: Add API documentation to all public
10019         functions.
10020
10021         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
10022         functions.
10023
10024 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
10025
10026         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
10027         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
10028         docs to all public functions.
10029
10030         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
10031         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
10032         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
10033         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
10034         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
10035         issue.
10036
10037 2000-10-14  Robert Brady  <robert@suse.co.uk>
10038
10039         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
10040
10041 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
10042
10043         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
10044         values other then G_TYPE_STRING.
10045         * gtk/gtktreeselection.c: Minor commenting updates.
10046         * gtk/gtktreeview.c: Format updates.
10047
10048 2000-10-09  Tor Lillqvist  <tml@iki.fi>
10049
10050         * README.win32: Update.
10051
10052         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
10053         lines that had been deleted by mistake (?).
10054
10055         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
10056         also the case fg==white and bg==black (but still not randomly
10057         coloured cursors). Thanks to Wolfgang Sourdeau.
10058
10059         * gdk/win32/*.c: Silence gcc -Wall.
10060
10061         * gtk/gtk.def: Add missing entry points.
10062
10063         Fixes by Hans Breuer:
10064
10065         * gdk/makefile.msc
10066         * gdk/win32/makefile.msc: Update.
10067
10068         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
10069         some MSVC thing, presumably), cause breakpoint on failures. Add
10070         GDK_NOR case. Call g_log_set_always_fatal.
10071
10072         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
10073         should be pased by reference.
10074         
10075         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
10076         
10077         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
10078
10079         * gdk/win32/gdkevents-win32.c
10080         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
10081
10082         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
10083         implementation object.
10084
10085         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
10086         not just windows.
10087         
10088         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
10089         Use the wrapper object.
10090         
10091 2000-10-06  Havoc Pennington  <hp@redhat.com>
10092
10093         * Makefile.am (SRC_SUBDIRS): contrib subdir
10094
10095         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
10096         so it can be used in Xlib version
10097
10098         * demos/testpixbuf.c (update_timeout): error checking from 1.0
10099         tree
10100
10101         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
10102         change from 1.0 tree that returns first frame of animation
10103         if the loaded file is an animation.
10104
10105         * contrib: add new directory to hold stuff that comes with GTK+
10106         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
10107         
10108         * configure.in: add contrib/*
10109
10110 2000-10-05  Havoc Pennington  <hp@redhat.com>
10111
10112         * demos/testpixbuf-save.c: add pixbuf save test
10113
10114         * demos/Makefile.am: add testpixbuf-save.c
10115
10116 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
10117
10118         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
10119         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
10120         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
10121         * gtk/gtktreeselection.[ch]: Replaced
10122         "node_selected"/"node_unselected" signal with "selection_changed"
10123         signal.
10124
10125 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
10126
10127         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
10128         tree widget.
10129
10130 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
10131
10132         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
10133         drawing.
10134
10135 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
10136
10137         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
10138         Move list pointer forwards before removing item from
10139         list. (Crash reported by Salmaso Raffaele)
10140
10141         * gdk/gdkwindow.h: Remove spurious trailing ,
10142
10143         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
10144         dependencies on uninstalled libraries, sorry folks.
10145
10146 2000-10-04  Havoc Pennington  <hp@redhat.com>
10147
10148         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
10149         gtk/gtkiconfactory.c: Fix copyrights    
10150
10151         * demos/testpixbuf.c: add inline pixbuf test
10152         
10153 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
10154
10155         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
10156         Add gdk_window_iconify.
10157
10158         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
10159         (gdk_window_set_geometry_hints): Add win_gravity
10160         to geometry structure.
10161
10162         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
10163         Implement _NET_WM_PING.
10164
10165         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
10166         Set _NET_WM_PID on the client leader.
10167
10168         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
10169         Handle UTF-8 better.
10170
10171         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
10172         UTF-8 better, set _NET_WM_NAME as well. Only set
10173         icon name if it hasn't previously been explicitely 
10174         set.
10175
10176 2000-10-03  Havoc Pennington  <hp@redhat.com>
10177
10178         * gtk/testtextbuffer.c: clean up trailing whitespace,
10179         add extensive tests for tag toggle iteration.
10180         
10181         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
10182         distance
10183
10184         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
10185         optimize case where the tag root is on level 1
10186         (gtk_text_line_previous_could_contain_tag): attempt to implement
10187         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
10188         functionality
10189
10190         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
10191         Implement this, though not very efficiently.
10192
10193         * gtk/gtktextiterprivate.h: reformat
10194
10195         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
10196         iterator
10197
10198         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
10199         this to properly revalidate the iterators.
10200
10201         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
10202         properly at the end of the line (and therefore on empty lines)
10203
10204         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
10205         maybe we should return a value...
10206
10207 2000-10-03  Tor Lillqvist  <tml@iki.fi>
10208
10209         * config.h.win32: Guard definition of alloca(). glib.h now handles
10210         that.
10211
10212         * gdk/gdk.def
10213         * gtk/gtk.def: Add new entry points.
10214
10215         Changes just to make GTK+ build without errors on Win32. No hope
10216         of it working in its current state, though...:
10217         
10218         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
10219         some functions from the X11 backend, just to make GTK+ build.
10220
10221         * gdk/makefile.mingw.in
10222         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
10223         number. Add new object files.
10224
10225         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
10226         GetMessageTime to get timestamp (where on X11 uses
10227         gdk_x11_get_server_time()).
10228
10229 2000-10-02  Havoc Pennington  <hp@pobox.com>
10230
10231         * gtk/gtktextview.c: text_window_* weren't static and should have
10232         been.
10233         Start work on child widgets; not yet complete, syncing to 
10234         office computer.
10235
10236         * gtk/gtktextchild.h: change this to contain a public interface,
10237         starting work on child interfaces.
10238         * gtk/gtktextchildprivate.h: move private interfaces here
10239
10240         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
10241
10242         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
10243         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
10244         gtk/gtktextmark.c: copyright notices
10245
10246         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
10247         internal functions      
10248
10249         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
10250         internal function
10251
10252         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
10253         Reformatting    
10254
10255 2000-09-30  Havoc Pennington  <hp@pobox.com>
10256
10257         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
10258         NULL start/end pointers
10259
10260         * gtk/gtktextbuffer.c: Write some docs
10261         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
10262         NULL, so you can just check whether there's a selection.        
10263
10264         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
10265         cleanup_line or segments_changed ourselves, it gets done 
10266         in unlink_segment
10267
10268         * gtk/gtktextmark.h:
10269         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
10270         
10271         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
10272
10273         * gtk/gtktextmark.c: delete some more old Tk cruft
10274
10275         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
10276         mark before removing it, so we can emit MARK_DELETED with a valid
10277         pointer.
10278         (gtk_text_buffer_mark_set): hold ref across signal emission
10279
10280         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
10281         whining about attempts to delete special marks
10282
10283         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
10284         underscore, since it's internal.
10285
10286         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
10287         now implemented in terms of iterators in gtktextiter.h
10288
10289         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
10290         New function, destructively sets contents of buffer. Also 
10291         a convenient way to clear the buffer by setting text to ""
10292
10293         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
10294         multiline string literal
10295
10296         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
10297         text changes.
10298
10299         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
10300         is not dereferenceable
10301         (gtk_text_iter_forward_lines): fix return value
10302
10303 2000-09-29  Havoc Pennington  <hp@redhat.com>
10304
10305         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
10306
10307         * gtk/gtktextview.c: Implement drag thresholding; change functions 
10308         that set border window size to have nicer name
10309         (gtk_text_view_mark_set_handler):  Fix this to have the 
10310         right signature.
10311
10312         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
10313
10314         * gtk/testtext.c: Update with API changes, put line numbers on 
10315         both sides.
10316         
10317         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
10318         with this
10319
10320         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
10321         pixbuf; delete a big block of #if 0 Tk code
10322
10323         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
10324         insert_pixmap with insert_pixbuf
10325
10326 2000-09-29  Martin Baulig  <baulig@suse.de>
10327
10328         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
10329         confusion with the GdkPixbuf of the GNOME 1.x platform.
10330
10331 2000-09-29  Havoc Pennington  <hp@pobox.com>
10332
10333         * gtk/gtktextview.c: Implement the side windows.
10334
10335         * gtk/testtext.c: Implement simple line numbering in the 
10336         left side window; seems to make scrolling sloooow. Oops.
10337         Also, cursor blink is for some reason causing redraws
10338         of the line numbers. Should investigate...
10339
10340 2000-09-28  Havoc Pennington  <hp@redhat.com>
10341
10342         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
10343         scrolling child windows, and draw focus rectangle properly.
10344         
10345         (gtk_text_view_buffer_to_window_coords):
10346         Coordinate transformation to deal with all these freaking windows
10347         and offsets
10348         (gtk_text_view_window_to_buffer_coords): transform the other way
10349
10350         * gtk/testtext.c (create_buffer): Update to match Pango API change
10351
10352         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
10353         anonymous tags
10354         (foreach_unref): don't emit remove signal from finalize, just
10355         set tag's parent to NULL
10356
10357 2000-09-26  Havoc Pennington  <hp@redhat.com>
10358
10359         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
10360         Fix some warnings       
10361
10362 2000-09-26  Havoc Pennington  <hp@redhat.com>
10363
10364         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
10365         headers into the private header list
10366
10367         * Makefile.am (pkgconfig_DATA): install pkg-config files
10368
10369         * configure.in: add pkg-config files
10370
10371         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
10372
10373         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
10374         outstanding icon caches on theme change.
10375
10376         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
10377         important types:
10378
10379         (GtkIconSource): Specification for creating a pixbuf 
10380         appropriate for a direction/state/size triplet from 
10381         a source pixbuf or filename
10382
10383         (GtkIconSet): List of GtkIconSource objects that are used to
10384         create the "same" icon (e.g. an OK button icon), and cache for
10385         rendered icons
10386
10387         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
10388         up the icon set for a given stock ID.  GTK maintains a stack of
10389         GtkIconFactory to search, and applications or libraries can add
10390         additional icon factories on top of the stack
10391         
10392         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
10393         the set of GtkIconSource specified for a given stock ID into 
10394         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
10395         RcStyle, under the specified stock ID.
10396
10397         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
10398         render_icon used to derive a GdkPixbuf from a GtkIconSource.
10399         This allows people to theme how prelight, insensitive, etc. are
10400         done.
10401
10402         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
10403         icon factories for a style, and return the resulting 
10404         icon set if any.
10405
10406         (gtk_style_render_icon): Render an icon using the render_icon 
10407         method in the GtkStyleClass.
10408
10409         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
10410         Use the style for a given widget to look up a stock ID, get the
10411         icon set, and render an icon using the render_icon method 
10412         of the style
10413
10414         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
10415         (contains information about a stock item), the built-in stock item
10416         IDs, and functions to add/lookup stock items.
10417
10418         * gtk/stock-icons/*: Stock icons that come with GTK
10419
10420         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
10421         a button based on a GtkStockItem
10422         (gtk_button_new_accel): Takes a uline string and accel group, and
10423         installs the accelerator.
10424
10425         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
10426         image-display widget.
10427
10428 2000-09-25  Havoc Pennington  <hp@redhat.com>
10429
10430         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
10431
10432         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
10433         Fix a bug when removing node data, we didn't properly 
10434         re-splice the linked list after removing the data.
10435
10436         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
10437         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
10438
10439         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
10440
10441         * gtk/gtktextlayout.c (set_para_values): Set tab array 
10442         for the layout from the GtkTextTag.
10443
10444         * gtk/gtktexttypes.h: delete tab and search cruft, 
10445         remove g_convert() in favor of GLib version
10446
10447         * gtk/gtktexttypes.c: remove tab implementation from here,
10448         move to Pango
10449
10450         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
10451         tab stuff using new PangoTabArray from Pango
10452
10453         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
10454         unused border_width stuff
10455
10456 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
10457
10458         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
10459         glib) and now useless utf_to_latin1() latin1_to_utf()
10460
10461         * gtk/gtktextview.[ch]: Change ::move_insert and
10462         ::delete_text action signals to ::move and ::delete;
10463         create the signals with the right enumeration type,
10464         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
10465         C-v bindings, change Home, End to move to beginning/end
10466         of line, Add C-Home C-End to move to beginning/end
10467         of buffer. Change ::cut_text to ::cut_clipboard, etc;
10468         combine ::scroll_text into ::move; use new GtkSelectionData
10469         functions to simplify DND text handling.
10470         
10471         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
10472         deletion enumerations here, rename enumeration values to 
10473         be consistently plural.
10474
10475         * gtk/gtktextbuffer.c: Use new clipboard interfaces
10476         for cut/copy/paste and primary selection.
10477
10478         * gtk/gtktextbuffer.[ch]: Remove excess time and
10479         'interactive' arguments from cut/copy/paste;
10480         rename cut to cut_clipboard, etc; remove
10481         gtk_text_buffer_get_clipboard_contents().
10482
10483         * gtk/gtktextlayout.[ch]: Add 
10484         gtk_text_layout_move_iter_to_line_end() to move the iter to 
10485         line ends.
10486
10487         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
10488         Functions to set or get a UTF-8 string on the selection
10489         data.
10490
10491         * gtk/gtkclipboard.[ch]: New, simplified selection handling
10492         interfaces.
10493
10494         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
10495         created widgets - one of these is useless if we don't.
10496
10497         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
10498         a public function clear all targets registered for the
10499         widget.
10500
10501         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
10502         Never call gtk_widget_realize() - that was just asking
10503         for bizarre side-effects.
10504
10505         * gtk/gtkselection.c (gtk_selection_owner_set): Call
10506         gdk_selection_owner_set even if the widget is the
10507         same so that we reliably update the timestamp on
10508         the server.
10509
10510         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
10511         gdk_x11_get_server_time() function.
10512         
10513         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
10514         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
10515         Add some tricky filtering on serial numbers for
10516         selection clear events to fix up long-standard
10517         race condition FIXME's in gtkselection.c.
10518
10519         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
10520         routines to convert from utf8 to compound text or
10521         STRING and from a text property to UTF-8.
10522
10523         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
10524         a convenience function gdk_get_current_event_time().
10525
10526         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
10527         and free selection_data->data properly
10528
10529 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
10530
10531         * gtk/gtkthemes.c: Remove some unecessary includes.
10532
10533 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
10534
10535         * gtk/gtktextdisplay.c
10536         * gtk/gtktextlayout.c
10537         * gtk/gtktexttag.c
10538         * gtk/gtktexttag.h
10539         * gtk/testtext.c: Change the overstrike property to strikethrough,
10540         to closer match pango.
10541
10542 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
10543
10544         * gtk/gtktextview.c: Fix up visibility so that focus,
10545         cursor_visible and blink interact properly.  Reenable cursor blink
10546         which had been roughly disabled. Make blink and focus
10547         properly per-view.
10548
10549         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
10550         Add a flag for whether to display insertion cursor and
10551         a function to set the flag.
10552
10553         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
10554         get_line_y() to get_line_yrange(), to be a bit more generally
10555         useful.
10556
10557 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
10558
10559         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
10560           do stop_navigating_submenu, to clear last timeout properly.
10561           Also in gtk_menu_motion_notify move ignore_enter above
10562           the conditional to make it always happen as suggested by Owen
10563
10564 2000-09-07  Tor Lillqvist  <tml@iki.fi>
10565
10566         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
10567
10568         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
10569         w32api headers.
10570
10571         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
10572         declarations.
10573
10574         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
10575         (gdk_win32_get_colormap): A line had been deleted by mistake.
10576
10577         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
10578         (gdk_event_translate): Handle more virtual keycodes to be able to
10579         generate GDK events for Control-comma, Control-period, etc.
10580
10581         * gtk/gtk.def: Add some missing entry points.
10582
10583 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
10584
10585         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
10586         Doc comment fixing. (Mostly non-matching parameter names.)
10587
10588         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
10589         comments a little to avoid looking like a doc comment.
10590
10591         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
10592         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
10593         conversions be changed to GError?)
10594
10595         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
10596         Move private #defines into .c file.
10597
10598         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
10599         order of argument addition, remove duplicates.
10600
10601         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
10602         parent class is FrameClass, not BinClass.
10603
10604         * gtk/gtk.h: Add gtkinvisible, which was missing.
10605         (It's occasionalyl useful for client apps, if seldom.)
10606
10607         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
10608         #define.
10609
10610 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
10611
10612         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
10613         coordinates when creating window, instead of GDK-space
10614         coordinates. (Avoid BadValue on too large windows.)
10615
10616 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
10617
10618         * configure.in (use_mmx_asm): Remove conftest* after use along the
10619         lines of AC_TRY_COMPILE.        
10620         
10621         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
10622         of g_dirname, which is deprecated.
10623         (gtk_rc_parse_any): Removed calls to
10624         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
10625
10626         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
10627         Removed calls to g_hash_table_{freeze,thaw}, as they are
10628         deprecated now.
10629
10630         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
10631         instead of g_basename.
10632         
10633 2000-09-04 Elliot Lee <sopwith@redhat.com>
10634         
10635         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
10636         ANSI warning.
10637
10638 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
10639
10640         * gtk/gtkwidget.h:  Add some documenting comments about 
10641           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
10642           just as owen said on irc.
10643
10644         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
10645           set HAS_DEFAULT.  Only set it if there isn't another window
10646           holding it (a focus window which RECEIVES_DEFAULT) and only unset
10647           it if the widget is not the focused window with RECEIVES_DEFAULT.
10648           This fixes weird double default bugs in dialogs which has things
10649           call gtk_window_set_default at times.
10650
10651 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
10652
10653         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
10654         Nils Barth and David Santiago to improve submenu
10655         navigation. The patch does this by creating a triangular
10656         region from the point where the pointer leaves the
10657         menu to the submenu.  While the pointer is in
10658         that region and a timeout has not expired, events 
10659         that would cause the active submenu to change are
10660         ignored.
10661
10662 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
10663
10664         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
10665         moving a toplevel window immediately after sizing it would
10666         result in it being sized back to the old size since 
10667         impl->width, impl->height aren't updated until we hear
10668         back from the server. There is still a (longstanding) bug
10669         here that gdk_window_get_size() will give the wrong size
10670         until we do hear back.
10671
10672 2000-08-31  Havoc Pennington  <hp@redhat.com>
10673
10674         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
10675         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
10676         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
10677         Rename GtkTextStyleValues to GtkTextAttributes
10678
10679 2000-08-31  Havoc Pennington  <hp@pobox.com>
10680
10681         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
10682         for rapid testing whether an iterator is the end iterator
10683         (gtk_text_btree_new): init end line cache
10684         (gtk_text_line_is_last): use fast cached line to 
10685         see if we're the last line.
10686         (get_last_line): use cached line here too, should 
10687         speed up some random unrelated code.
10688         
10689 2000-08-30  Havoc Pennington  <hp@pobox.com>
10690
10691         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
10692         signals.
10693
10694         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
10695         delete_text signals. This allows the signals to be used for
10696         implementing undo.
10697
10698         * gtk/gtktextbuffer.c: Change signal handler signatures; 
10699         provide "interactive" argument when emitting insert_text or
10700         delete_text signal.
10701         
10702 2000-08-30  Havoc Pennington  <hp@pobox.com>
10703
10704         * gtk/gtktextbuffer.c: Docs
10705
10706 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
10707
10708         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
10709         from switch statements, since Tor removed the enumeration
10710         value.
10711         
10712         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
10713         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
10714
10715 2000-08-29 Elliot Lee <sopwith@redhat.com>
10716         * */*.h: Use G_GNUC_CONST.
10717
10718 2000-08-27  Havoc Pennington  <hp@pobox.com>
10719
10720         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
10721         minor indentation fixes, inserted some FIXME about stuff I
10722         realized was broken while documenting it.
10723         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
10724         GTK convention  
10725
10726 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
10727
10728         * gtk/testgtk.c (create_styles): Fix double free of
10729         font desc.
10730
10731 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10732
10733         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
10734         
10735         * gtk/testgtk.c (create_styles): Add a test for modifying
10736         the style through gtk_widget_modify_*.
10737
10738         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
10739         a function to get the current modifier style.
10740
10741         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
10742         of the passed in GtkRcStyle instead of ref'ing it.
10743
10744         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
10745
10746 2000-08-20  Tor Lillqvist  <tml@iki.fi>
10747
10748         * gdk/gdkimage.h
10749         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
10750         shared memory image+pixmap GdkImage type, or
10751         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
10752         I am dropping that.
10753
10754         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
10755         actually call gtk_init_abi_check(), passing also
10756         sizeof(GtkWindow). Ditto for gtk_init_check(). 
10757
10758         * gtk/gtk.def
10759         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
10760         New functions, used to check that the GTK+-using code has been
10761         compiled using the correct compiler and switches. In particular,
10762         with gcc one has to use the -fnative-struct switch as GTK+ is
10763         compiled with that.
10764
10765 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
10766
10767         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
10768         ->prev fields when merging lists. (Found simultaneously
10769         by Pawel Salek and Jakub Jelinek)
10770
10771 2000-08-12  Tor Lillqvist  <tml@iki.fi>
10772
10773         * gdk/gdk.def
10774         * gtk/gtk.def: Add missing entries.
10775
10776         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
10777         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
10778
10779         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
10780         function. Dummy implementation at this point.
10781
10782         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
10783         rules. Undefine GTK_COMPILATION when compiling the test programs.
10784         
10785         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
10786
10787 2000-08-11  Tor Lillqvist  <tml@iki.fi>
10788
10789         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
10790         to convert back and forth from UTF-8 and the "system" (or "current
10791         locale") charset when necessary. Indentation/spacing cleanup.
10792
10793 2000-08-10  Havoc Pennington  <hp@redhat.com>
10794
10795         * Makefile.am (snapshot): Change the format of the snapshot
10796         version to match glib
10797
10798         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
10799         from EXTRA_DIST since it doesn't seem to exist
10800
10801 2000-08-10  Tor Lillqvist  <tml@iki.fi>
10802
10803         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
10804         version of the directory name (not the UTF-8 one) when building
10805         the path name to stat().
10806
10807 2000-08-03  Elliot Lee  <sopwith@redhat.com>
10808
10809         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
10810         PANGO_ATTR_SHAPE set.
10811
10812 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
10813
10814         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
10815         Peter Osterlund to simplify the code while keeping the
10816         functionality the same.
10817
10818 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
10819
10820         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
10821         is_viewable() test further inside the function, since removing the 
10822         window from the redraw list without clearing ->update_area
10823         was also very broken.
10824
10825 2000-08-02  Tor Lillqvist  <tml@iki.fi>
10826
10827         * configure.in: Check for <unistd.h>.
10828
10829 2000-08-01  Martin Baulig  <baulig@suse.de>
10830
10831         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
10832         to display the message that this is a development version of GTK+.
10833
10834 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
10835
10836         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
10837         was depending on widget->allocation instead of the width of text_area,
10838         which was incorrect for subclasses like GtkSpinButton.
10839
10840         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
10841         with width == 1 tests that should be width == -1.
10842
10843 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
10844
10845         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
10846         (broken, Elliot, every single window blank on X) custom code with call
10847         to gdk_window_is_viewable() which a) prevents code duplicate and
10848         b) works. 
10849
10850 2000-07-31  Elliot Lee  <sopwith@redhat.com>
10851
10852         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
10853         to get the GDK_PARENT_ROOT() macro to work.
10854         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
10855         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
10856         of, windows that aren't shown.
10857         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
10858         pointer grab stuff.
10859
10860 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
10861
10862         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
10863           s/gtk_main_iteration/g_main_iteration/
10864
10865           Did this already in change:
10866                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
10867           don't know how it got reverted.
10868
10869 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
10870
10871         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
10872         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
10873
10874         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
10875         not gdk_pixbuf.
10876
10877 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
10878
10879         * configure.in,po/{sp,sr}.po: Added Serbian files
10880
10881 2000-07-30  Tor Lillqvist  <tml@iki.fi>
10882
10883         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
10884
10885         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
10886         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
10887         GIOChannel implementation.
10888
10889         * gdk/win32/gdkinput.c
10890         * gdk/win32/gdkpango-win32.c: Update license name here, too.
10891
10892         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
10893         definition to match prototype.
10894
10895         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
10896
10897 2000-07-27  Elliot Lee  <sopwith@redhat.com>
10898
10899         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
10900         function, to allow handling image formats that cannot be detected
10901         by looking at content alone.
10902
10903 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
10904
10905         * docs/tutorial/*.gif *.jpg *.eps
10906           Update these to the same look-n-feel.
10907           Why does including images in DocBook suck so badly?
10908
10909 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
10910
10911         * gtk/gtktable.c: applied patch from Phil Thompson
10912         <phil@river-bank.demon.co.uk> that enables space settings for
10913         the last row/columns as well.
10914
10915 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
10916
10917         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
10918         updates the license headers to the GNU Lesser General Public License,
10919         as well as updating the copyright year to 2000.
10920
10921 2000-07-26  Robert Brady  <rwb197@zepler.org>
10922
10923         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
10924           and po/Makefile, was installing and looking for them under gtk20
10925           and gtk2 respectively.
10926
10927 2000-07-25  Havoc Pennington  <hp@redhat.com>
10928
10929         * gtk/testtext.c: Comment out some stuff that depends on the rest
10930         of my patches.
10931
10932 2000-07-25  Havoc Pennington  <hp@redhat.com>
10933
10934         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
10935         buffer
10936
10937 2000-07-25  Havoc Pennington  <hp@redhat.com>
10938
10939         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
10940         widget changes.
10941
10942         * gtk/gtktextview.h: To be consistent with usage of "line"
10943         throughout the API to mean "newline-terminated thingy", change
10944         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
10945         to MOVEMENT_LINE.
10946
10947         (GtkTextView): Add flags for default editability, and whether to
10948         show the cursor. Add functions to get/set that. Add 
10949
10950         (gtk_text_view_get_iter_location): new function
10951
10952         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
10953         gtktextlayout.h
10954         (g_convert): Add g_convert temporarily, will go in glib in a bit
10955         
10956         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
10957         GtkTextTagTableForeach instead of brokenly using GHFunc.
10958         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
10959
10960         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
10961         moved to public header.
10962
10963         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
10964         "invisible", since "elide" was a bad name.
10965         (gtk_text_tag_get_priority): Added
10966
10967         (GtkTextStyleValues): put this in public header, along with
10968         functions to use it.
10969
10970         * gtk/gtktextmarkprivate.h: Include more headers, since we no
10971         longer include gtktextbtree.h.
10972
10973         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
10974         gtk_text_mark_deleted
10975
10976         * gtk/gtktextlayout.h: Don't include the "really private" headers,
10977         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
10978         to make this possible. Now we only need to install
10979         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
10980         (However the Makefile.am isn't changed yet because of the
10981         logistics of merging gtk-hp-patches piecemeal)
10982
10983         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
10984         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
10985         gtk_text_iter_get_line is now used in the public API for a
10986         different purpose.
10987
10988         * gtk/gtktextiter.h: Clean up function names to be more
10989         consistent. Always call char offset "offset" and byte index
10990         "index". A "line" is always a line number. 
10991
10992         (gtk_text_iter_is_last): new function, more efficient than 
10993         the existing way to check
10994         (gtk_text_iter_is_first): new function, also more efficient
10995
10996         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
10997
10998         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
10999         gtk_text_iter_forward_char, etc.
11000
11001         (gtk_text_iter_forward_to_tag_toggle): Renamed from
11002         forward_find_tag_toggle, since this isn't a linear search
11003
11004         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
11005
11006         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
11007         New functions, search for a buffer substring.
11008
11009         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
11010         interactive and default editable (since we need to store that info
11011         until we receive the selection data).
11012
11013         Remove all the _at_char and at_line etc. versions of functions;
11014         only have iterator versions.
11015
11016         Add _interactive() versions of functions, that consider the
11017         editability of text. (FIXME add interactive flag to the 
11018         insert/delete signals per Darin's suggestion)
11019
11020         (gtk_text_buffer_get_tag_table): new function, demand-creates the
11021         tag table if necessary
11022
11023         Remove declaration of gtk_text_buffer_get_iter_from_string
11024
11025         (_gtk_text_buffer_get_btree): private/internal function, added.
11026         
11027
11028         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
11029         (gtk_text_line_is_last): new function
11030
11031 2000-07-25  Havoc Pennington  <hp@redhat.com>
11032
11033         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
11034         using GtkProgressBar. See Changes-2.0.txt for details.
11035
11036         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
11037         "pulse_step" which are the equivalent of
11038         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
11039         Implement new API.
11040         
11041         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
11042         (use_text_format) to mark whether text set on the progress bar is
11043         a format string. Deprecate entire GtkProgress interface.
11044
11045         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
11046         (gtk_progress_build_string): make this a no-op if use_text_format
11047         is FALSE
11048
11049         * docs/Changes-2.0.txt: Describe progress bar changes.
11050
11051 2000-07-25  Tor Lillqvist  <tml@iki.fi>
11052
11053         * Makefile.am: Include the build directory.
11054
11055         * configure.in: Generate build/Makefile, build/win32/Makefile,
11056         gdk/, gdk/win32/, and gtk/makefile.mingw.
11057
11058         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
11059         Add GETTEXT_PACKAGE.
11060         
11061         * gdk/gdk.def
11062         * gtk/gtk.def: Updates.
11063
11064         * gdk/gdkfont.h
11065         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
11066         need them any longer.
11067
11068         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
11069
11070         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
11071         PANGOWIN32_LIBS and gdk_pixbuf.
11072
11073         * gdk/win32: Compiles, but no doubt doesn't work at all.
11074
11075         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
11076
11077         * gdk/win32/gdkinput.c: New file, temporarily.
11078         
11079         * gdk/win32/gdkinput-win32.h: New file
11080
11081         * gdk/win32/gdkinputprivate.h: Remove.
11082
11083         * gdk/win32/gdkpango-win32.c: New file.
11084
11085         * gtk/makefile.mingw.in: New file
11086
11087         * gtk/makefile.cygwin: Removed
11088         
11089         * gtk/Makefile.am: Update accordingly.
11090
11091         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
11092         made externally visible.
11093
11094         * gtk/gtkmain.c: Use it.
11095         
11096         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
11097         is enough.
11098
11099         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
11100
11101 2000-07-24 Elliot Lee <sopwith@redhat.com>
11102         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
11103         individual backends already.
11104         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
11105         again. Yes, there really is a good reason for this, if you are using the gdkregion
11106         internals, and if you're not, why do you care?
11107         * gdk/gdkwindow.c: Fix inverted condition
11108         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
11109         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
11110         * gtk/gtkrange.c: Redraw trough when moving.
11111         * gtk/gtktypeutils.c: Fix warning by adding const cast.
11112         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
11113
11114 2000-07-23  Tor Lillqvist  <tml@iki.fi>
11115
11116         * configure.in: Check for mkstemp and sigsetjmp. Output
11117         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
11118
11119         More work on GDK for Win32. Still in an intermediate state.
11120
11121         * gdk/makefile.cygwin
11122         * gdk/win32/makefile.cygwin: Removed.
11123         
11124         * gdk/makefile.mingw.in
11125         * gdk/win32/makefile.mingw.in: New files.
11126
11127         * gdk/Makefile.am
11128         * gdk/win32/Makefile.am: Generate and distribute them.
11129
11130         * gdk/win32/gdkwindow-win32.h
11131         * gdk/win32/gdkdrawable-win32.h
11132         * gdk/win32/gdkpixmap-win32.h: New files.
11133
11134         * gdk/win32/gdkcolor-win32.c
11135         * gdk/win32/gdkcursor-win32.c
11136         * gdk/win32/gdkdrawable-win32.c
11137         * gdk/win32/gdkgc-win32.c
11138         * gdk/win32/gdkimage-win32.c
11139         * gdk/win32/gdkprivate-win32.h
11140         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
11141         Rename fields and variables called xcursor, xid, etc (these names
11142         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
11143
11144 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
11145
11146         * gtk/gtkentry.[ch]: Fix some problems with vertical
11147         alignment.
11148
11149         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
11150         char/byte confusion.
11151
11152 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
11153
11154         * gtk/gtktextview.c (changed_handler): Fix bug where
11155         redraw wasn't being done properly when height of
11156         dirty region changed.
11157
11158         * demos/Makefile.am: Remove various references to
11159         -lgmodule
11160
11161 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
11162
11163         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
11164         PangoAttrShape to reserve space for pixmaps, add 
11165         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
11166         in the display functions.
11167         
11168         * gtk/testgtk.c (create_layout): Set some more exotic
11169         scrolled window options
11170
11171         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
11172         Add function to set the shadow type of a window, to allow
11173         putting a shadow around widgets such as GtkLayout or GnomeCanvas
11174         which don't draw their own frame.
11175
11176 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
11177
11178         * docs/tutorial/package-db-tutorial.sh: New file for
11179           packaging DocBook format tutorial
11180
11181 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
11182
11183         * docs/tutorial/gtk-tut.sgml: Minor updates
11184
11185         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
11186
11187 2000-07-19  Tor Lillqvist  <tml@iki.fi>
11188
11189         * gtk/gtksignal.c: Fix C++ comment.
11190
11191         * gtk/gtkimmulticontext.c
11192         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
11193         don't return value from void functions.
11194
11195         * gtk/gtk.def: Add gtk_rc_style_unref.
11196
11197 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
11198
11199         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
11200         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
11201         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
11202         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
11203         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
11204         gtk/gtktypeutils.h: Include files outside of the extern "C"
11205         block. Makes some C++ compiler happy. Reported by Denis Vakatov
11206         <vakatov@peony.nlm.nih.gov>.
11207
11208 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
11209
11210         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
11211           Completes first pass. Hurrah!
11212
11213 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
11214
11215         * docs/tutorial/gtk-tut.sgml: More clean ups.
11216
11217 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
11218
11219         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
11220         paint the background of the text area which was accidentally
11221         removed at some point.
11222
11223         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
11224           
11225          - Move most of the functionality from the theme vtable
11226            into GtkRcStyleClass and GtkStyleClass. The moved
11227            vtable functions were changed a bit in the move to
11228            work better in their new home.
11229
11230          - Get rid of the engine and engine_data fields from
11231            GtkRcStyle and GtkStyle; instead the theme
11232            engine derives theme-specific subclasses of GtkRcStyle
11233            and GtkStyle
11234
11235          - Add extra dlsym() found entry point to themes,
11236            theme_create_rc_style().
11237
11238         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
11239         in gtk_style_real_copy.
11240
11241         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
11242         to register a type associated with an engine. (The engine
11243         won't be unloaded as there is an instance of the type.)
11244
11245
11246 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
11247
11248         * docs/tutorial/gtk-tut.sgml: Clean ups.
11249
11250 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
11251
11252         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
11253           of cleaning up to do.
11254
11255 2000-07-15  Tor Lillqvist  <tml@iki.fi>
11256
11257         * gdk/testgdk.c: New file, quick hack to test backends for
11258         pixel-by-pixel correctness of the most simple graphic operations.
11259
11260 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
11261
11262         * Really release 1.3.1
11263         
11264         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
11265         include structure.
11266
11267 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
11268
11269         * Released 1.3.1
11270
11271 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
11272
11273         * gtk/gtktextlayout.c: use FALSE for size_only most
11274         of the time when calling gtk_text_layout_get_line_display()
11275         to avoid causing double reshapes when a redraw follows
11276         immediately after.
11277
11278 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
11279
11280         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
11281         appropriate region and gdk_window_process_updates() so trough
11282         updating doesn't lag behind the window being scrolled.
11283
11284         * gdk/gdkgc.c: Make parent_class pointer static.
11285          
11286 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
11287
11288         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
11289         include <string.h>.
11290          
11291         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
11292         cut-and-paste error in computing memory offset for 4 channels.
11293
11294 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
11295
11296         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
11297         gtk_rc_append_default_pixmap_path(), since it wasn't
11298         adding an interesting path and we don't have a meaningful
11299         default for this value.
11300
11301 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
11302
11303         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
11304         gtk-config to gtk-config-2.0 move gtk_.m4 to
11305         gtk-2.0.m4
11306
11307         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
11308         gdk/Makefile.am demos/Makefile.am: Change 
11309         library names to libgtk-1.3.la, etc, so that we
11310         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
11311
11312         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
11313         gdk/Makefile.am gdk/x11/Makfile.am
11314         Move include files into /usr/include/gtk-2.0, 
11315         /usr/lib/gtk-2.0/include/
11316          
11317         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
11318         gtk/gtkintl.h: Change package for gettext from 
11319         gtk+ to gtk20. Put hack in autogen.sh to modify
11320         po/Makefile.in.in after gettextize to make this
11321         possible.
11322
11323         * gtk+.spec: Some updates, not tested.
11324
11325         * gdk-pixbuf/Makefile.am: Move loaders into
11326         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
11327
11328         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
11329         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
11330         to THEMENAME/gtk-2.0/. Move engine directory  to
11331         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
11332         
11333 2000-07-12  Tor Lillqvist  <tml@iki.fi>
11334
11335         Win32 changes, still doesn't build though.
11336
11337         * gdk/makefile.cygwin
11338         * gdk/win32/makefile.cygwin
11339         * gtk/makefile.cygwin: Updates.
11340
11341         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
11342         default values for fg and bg pixel as X11 does (0 and 1), not
11343         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
11344         Use 0 for pen width by default (treated as 1 anyway later, but for
11345         apps that might check the value in the GdkGC).
11346         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
11347         interface to gdk_gc_predraw and _postdraw.
11348
11349         * gdk/win32/gdkwin32.h
11350         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
11351
11352         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
11353         extraneous semicolon.
11354
11355         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
11356
11357         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
11358         not the Win32 bitspixel value.
11359
11360         * gdk/win32/gdkcc-win32.c:
11361         * gdk/win32/gdkcolor-win32.c 
11362         * gdk/win32/gdkprivate-win32.h
11363         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
11364         GDK object structure.
11365
11366 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
11367
11368         * docs/tutorial/gtk_tut_12.es.sgml (name): 
11369         * docs/tutorial/gtk_tut_it.sgml (name): 
11370         * docs/tutorial/gtk_tut_fr.sgml (name): 
11371         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
11372         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
11373
11374 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
11375
11376         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
11377           small changes.
11378
11379 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
11380
11381         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
11382         a bug here, never been here and never fixed anything ;(
11383         (don't segfault if tree->root_tree is NULL, which happens prior
11384         to widget realization, but puke instead).
11385
11386 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
11387
11388         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
11389         add the necessary tokens.
11390
11391         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
11392         (gtk_rc_style_to_style): copy thicknesses.
11393         (gtk_rc_init_style): apply thicknesses.
11394         (gtk_rc_parse_style): parse xthickness and ythickness.
11395
11396         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
11397
11398         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
11399         (gdk_window_new): 
11400         (_gdk_windowing_window_init): 
11401         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
11402         (gdk_pixmap_create_from_data): 
11403         (gdk_bitmap_create_from_data): 
11404         (gdk_pixmap_new): 
11405         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
11406         (gdk_image_new): 
11407         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
11408         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
11409         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
11410         (gdk_colormap_get_system): 
11411         (gdk_colormap_new): 
11412         * gdk/gdkwindow.c (gdk_window_init): 
11413         * gtk/gtkstyle.c (gtk_style_new):
11414         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
11415         * gdk/gdkpixmap.c (gdk_pixmap_init): 
11416         * gtk/gtkrc.c (gtk_rc_style_new):
11417         use g_object_new() instead of g_type_create_instance() which
11418         is a private function for fundamental type implementations.
11419
11420 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
11421
11422         * configure.in: Add check for db2html
11423
11424 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
11425
11426         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
11427         hack to set glib_debug_objects based on gtk_debug_flags.
11428
11429 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
11430
11431         * INSTALL.in: Update the Prerequisites section.
11432
11433         * Makefile.am demos/Makefile.am docs/Makefile.am
11434         docs/tutorial/Makefile.am gdk/x11/Makefile.am
11435         gdk/linux-fb/Makefile.am: Dist fixes
11436
11437 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
11438
11439         * NEWS: 10,000 foot view of 1.3.1 changes.
11440
11441 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
11442
11443         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
11444         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
11445         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
11446         gdk/x11/gdkmain-x11.c: 
11447
11448         Patch from George Lebl to add a GdkGrabStatus enumeration to use
11449         as a return value of gdk_*_grab(). Previously, we just
11450         returned the X11 values directly.
11451
11452 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
11453
11454         * gdk/x11/Makefile.am: Patch from George Lebl to 
11455         install all the headers in the right place.
11456
11457 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
11458
11459         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
11460           initial conversion to DocBook.
11461
11462 2000-07-04  Tor Lillqvist  <tml@iki.fi>
11463
11464         * README.win32: Improve a bit.
11465
11466         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
11467         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
11468         Alt+0nnn on the numpad (used to enter characters by numeric code
11469         from current DOS or ANSI codepage) working correctly, as in other
11470         Windows apps.
11471
11472         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
11473         same argument validity tests as in X11 version.
11474         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
11475
11476         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
11477         definitions in case missing from headers.
11478
11479         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
11480         destroy the window-specific cursor.
11481         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
11482         calling GetModuleHandle(NULL).
11483         (gdk_window_set_cursor): Reworked to always copy the passed cursor
11484         with CopyCursor before setting it as the window-specific
11485         cursor. It is OK for the caller to destroy the GdkCursor (and thus
11486         also its Windows cursor) after calling this function. Destroy any
11487         previous window-specific cursor.
11488
11489 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
11490
11491         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
11492         font charset is iso8859-1, not iso-8859-1.
11493
11494 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
11495
11496         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
11497         Use g_get_charset() instead of g_get_codeset().
11498
11499         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
11500         Comment out some strdup'ing functions to keep timj
11501         happy until we finish fighting this out.
11502
11503 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
11504
11505         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
11506         <= width or height.
11507
11508         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
11509         from 1.2 for parent/child states.
11510
11511         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
11512         of typos.
11513
11514         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
11515         event structures, replace with a generic axes field. Replace 
11516         deviceid/sourec with GdkDevice *device.
11517
11518         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
11519         to extract particular axis use value from event. (Also
11520         can be used for normal X/Y.)
11521
11522         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
11523         allow for arbitrary number of axes, namespace everything
11524         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
11525         everywhere.
11526
11527         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
11528         Get rid of the gdk_input_vtable setup if favor of simply
11529         defining the functions in gdkinput-none/gxi/xfree.c in
11530         a similar fashion to the way that the port structure is 
11531         done.
11532
11533         * gtk/gtkdnd.c: Fix fields of synthesized button press event
11534         for new event structures. 
11535
11536         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
11537         new device interfaces.
11538
11539 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
11540
11541         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
11542         set the initial text.
11543
11544         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
11545         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
11546         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
11547         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
11548
11549         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
11550         pango_layout_set_font_description to simplify.
11551
11552 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
11553
11554         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
11555         pango_layout_set_font_description to simplify.
11556
11557 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
11558
11559         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
11560         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
11561         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
11562
11563         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
11564         PANGO_PIXELS() macro.
11565
11566 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
11567
11568         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
11569         that returns a PangoContext owned by the widget and updated to
11570         match future changes in the widget. Also, make 
11571         gtk_widget_create_pango_layout() use this context. If we ever
11572         add a ::changed signal to PangoContext, this will make things
11573         much more convenient. 
11574
11575         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
11576         in the appropriate places instead of destroying the layouts and
11577         creating new ones.
11578
11579         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
11580         in a few strategic places.
11581
11582 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
11583
11584         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
11585         gtk_widget_size_request() on reparented child, if one. Otherwise,
11586         queue_resize() on the child never results in it getting size-requested
11587         at all.
11588
11589         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
11590         in option menus, so that (with luck) people won't copy it into
11591         their apps in the future.
11592
11593         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
11594         to gtk_option_menu_calc_size. This isn't perfect, but should fix
11595         a lot of problems with changing the size of the menu's menu
11596         items after adding it to the option menu.
11597
11598         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
11599
11600         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
11601         the text direction for a widget changes.
11602
11603         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
11604         ::direction_changed to get rid of various hacks.
11605
11606 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
11607
11608         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
11609         name.
11610
11611 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
11612
11613         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
11614         flag to the structure. Do not call XFreePixmap on pixmaps created
11615         by gdk_pixmap_foreign_new().
11616
11617 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
11618
11619         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
11620         value using GdkRGB functionality given GdkColormap and GdkColor.
11621         (name not final, waiting for inspiration.)
11622         
11623         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
11624         set the foreground/background of a GC using the GC's colormap
11625         and GdkRGB. (name not final, waiting for inspiration.)
11626
11627         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
11628         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
11629
11630         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
11631         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
11632         purely a function of the corresponding colormap. Make
11633         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
11634
11635         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
11636         gdk_pixbuf_*create_from_xpm_* in terms of
11637         gdk_pixbuf_new_from_xpm_data(), move into platform independent
11638         code.
11639
11640         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
11641         advantage of the new draw_rgb_32_image_dithalign.
11642
11643         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
11644
11645         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
11646         on each created GC.
11647
11648         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
11649
11650         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
11651         which we initialize from the drawable when the GC is created,
11652         if the drawable has a colormap.
11653
11654         * gdk/x11/gdkgc-x11.c: include string.h for memset.
11655
11656         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
11657
11658         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
11659
11660 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
11661
11662         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
11663         actually returning expose events, make sure to set
11664         the count field properly.
11665
11666         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
11667         accidentally reintroced bug which always cleared
11668         the graphics_exposures value. 
11669
11670 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
11671
11672         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
11673
11674 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
11675
11676         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
11677
11678 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
11679
11680         * docs/faq/gtk-faq.sgml: Start of Section 6.
11681
11682 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
11683
11684         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
11685         
11686         (Fixes problem with drawing childless frames. Pointed out
11687         by and a first patch from Anders)
11688         
11689         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
11690         compute a child_allocation, even if we don't have a child.
11691
11692         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
11693         Always chain to the parent's impl, even if we don't have a child.
11694
11695 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11696
11697         * gdk/gdkrgb.c: If possible, create only a single shm segment and
11698         use multiple parts of it instead of creating a bunch of separate
11699         segments, since the maximum number of segments per system is not
11700         large. (This might be worth backporting to GTK+-1.2.x if we make a
11701         new release )
11702
11703         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
11704         structure in preparation for per-colormap GdkRGB.
11705
11706         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
11707         to False when we get EINVAL from shmget so that the caller of
11708         gdk_image_new can retry with a smaller segment size.
11709
11710 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
11711
11712         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
11713
11714 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
11715
11716         * configure.in: make the current version number 1.3.1 (binary age 0,
11717         interface age 0).
11718         
11719         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
11720         gtkcompat.h is all we want.
11721
11722         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
11723         GLib primitive types. fixed g_type_register_fundamental() argument
11724         ordering.
11725
11726         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
11727         compiles.
11728
11729         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
11730         object code cleanup, comment trigraph fixes, etc...
11731
11732 2000-06-23  Havoc Pennington  <hp@redhat.com>
11733
11734         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
11735         instead of making up a bogus name for first_para_mark
11736
11737         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
11738         0 as a context ID
11739
11740 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
11741
11742         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
11743
11744 2000-06-21  Havoc Pennington  <hp@pobox.com>
11745
11746         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
11747         we didn't check window->bg_pixmap != GDK_NO_BG.
11748
11749         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
11750         gdk-pixbuf
11751
11752 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
11753
11754         * docs/faq/gtk-faq.sgm: Move file to here.
11755           TODO: Update Makfile.am 
11756
11757 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
11758
11759         * docs/gtk-faq.sgm: Add Section 2
11760
11761 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
11762
11763         * docs/gtk-faq.sgm: New file. Start of DocBook
11764           version of the FAQ.
11765
11766 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
11767
11768         * configure.in (GDK_PIXBUF_MAJOR): Define version
11769         numbers for GDK_PIXBUF_*, as they get substituted
11770         into a header file. Need to consider versioning
11771         for gdk-pixbuf more carefully later.
11772
11773 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
11774
11775         Work with srcdir != builddir.   
11776         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
11777         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
11778         * demos/testpixbuf.c: Likewise.
11779         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
11780         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
11781         <gdk/x11/gdkx.h>.
11782         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
11783         "gdk-pixbuf.h".
11784         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
11785
11786 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
11787
11788         * TODO.xml: Change 1.4 version numbers to 2.0.
11789
11790 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
11791
11792         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
11793         fixups to GTK+ standard.
11794
11795 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
11796
11797         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
11798         gdk-pixbuf.
11799
11800         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
11801         fixups for GObject.
11802
11803         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
11804         gdk-pixbuf with GDK dependencies moved into GDK.
11805         
11806         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
11807         move gdk-pixbuf-loader here until GObject has signals.
11808
11809         * demos/: New directory of demos. Move demos from
11810         gdk-pixbuf here.
11811
11812         * demos/pixbuf-init.c: Small bit of code to check for
11813         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
11814         set GDK_PIXBUF_MODULEDIR appropriately.
11815
11816         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
11817         define which no longer makes sense.
11818
11819 2000-06-21  Havoc Pennington  <hp@redhat.com>
11820
11821         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
11822         gtk_get_default_language
11823
11824         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
11825         new function to get the default language
11826
11827         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
11828         s/gtk_text_view_style_values/gtk_text_style_values/
11829
11830         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
11831         Add a "language" field to tags.
11832
11833         (gtk_text_tag_set_arg): Fix bug in setting
11834         "bg_full_height_set" tag.
11835
11836 2000-06-21  Havoc Pennington  <hp@redhat.com>
11837
11838         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
11839         in the interfaces
11840
11841         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
11842         stuff instead when possible.
11843
11844         * gtk/gtktexttypes.h: Delete some unused constants
11845
11846         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
11847         testtextbuffer.c: use glib instead of custom unicode routines
11848
11849 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
11850
11851         * docs/es/: Removed mistakenly added generated sgml
11852
11853         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
11854         Remove outdated info files.
11855
11856         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
11857         Moved tutorial files into subdir
11858
11859         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
11860         subdir.
11861
11862         * docs/man/gtk_button.pod: Remove. (contents will be
11863         integrated into gtk-reference button page.)
11864
11865         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
11866         docs/faq/Makefile.am: Adjust for new organization
11867
11868 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
11869
11870         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
11871         not $(MKINSTALLDIRS)
11872
11873 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
11874
11875         * gtk/testgtk.c (create_text): Finish the job Elliot started
11876         of removing font setting test for text widget. (Since text widget
11877         and GdkFont are not deprecated, and cause portability problems.)
11878
11879 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
11880
11881         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
11882         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
11883         Remove use of libunicode in favor of new GLib functions.
11884
11885         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
11886         nano-x, framebuffer. The X11 include is just a hack until we get
11887         the necessary functions in gdkcolor.h, so there is no reason to
11888         add other includes of platforms.
11889
11890         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
11891         window bigger than the screen change.
11892
11893         * gtk/testgtk.c: Revert some random changes from Elliot
11894         that had no particular point and were causing testgtkrc
11895         not to function correctly.
11896         
11897         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
11898         because GdkSegment and GdkRegionBox have the same fields,
11899         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
11900         results in clearer code.
11901
11902         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
11903         gdk_input_translate_coordinates): Fix missed GdkObjectification
11904
11905 2000-06-18  Elliot Lee  <sopwith@redhat.com>
11906
11907         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
11908         * gtk/gtk{plug,socket}.h: Missed commits from previous.
11909
11910 2000-06-20  Havoc Pennington  <hp@redhat.com>
11911
11912         * modules/linux-fb/Makefile.am: Make this compile
11913         without framebuffer enabled
11914
11915         * gdk/linux-fb/Makefile.am: Add conditional to not build
11916         framebuffer unless specified in configure
11917
11918         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
11919         the size of the target instead of source if -1 was passed for
11920         width/height
11921
11922         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
11923         width/height confusion.
11924
11925 2000-06-19  Havoc Pennington  <hp@redhat.com>
11926
11927         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
11928         GDK_DRAWABLE_XID. In the future, we probably want to make it
11929         faster with G_DISABLE_CHECKS turned on.
11930
11931 2000-06-14  Havoc Pennington  <hp@redhat.com>
11932
11933         * gdk/Makefile.am: add gdkpixmap.c
11934
11935         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
11936         s/gdk_image_init/_gdk_windowing_image_init
11937
11938         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
11939         ref/unref
11940
11941         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
11942
11943         * gdk/gdkcompat.h: remove GdkWindowType compat, since
11944         GdkWindowType is now non-deprecated; 
11945         change gdk_window_get_type() compat to be
11946         gdk_window_get_window_type().
11947
11948         * gdk/gdkdnd.h: make GdkDragContext a GObject.
11949
11950         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
11951         virtual GObject. Make all functions call into the vtable.
11952         Move gdk_image_put() guts in here. Remove GdkDrawableType
11953         and gdk_drawable_get_type(), these are now GdkWindow-specific.
11954         draw_image, get_depth, get_size, set_colormap, get_colormap,
11955         get_visual added to the vtable.
11956         
11957         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
11958         GObject. Virtualize everything. 
11959         (gdk_gc_new_with_values): remove check for destroyed window,
11960         because now GdkWindow::create_gc will check this.
11961         (gdk_gc_set_values): New function to set GC values, this 
11962         was already implemented but wasn't in the header
11963
11964         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
11965
11966         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
11967         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
11968         remove _gdk_window_class; add _gdk_window_impl_get_type() and
11969         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
11970         _gdk_windowing_window_init, rename gdk_image_init to
11971         _gdk_windowing_image_init.
11972         
11973         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
11974         (gdk_draw_layout): Remove check for destroyed window, 
11975         because all the drawable methods already check it.
11976         
11977         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
11978         Add gdkpixmap.c which contains implementation of GdkDrawable
11979         virtual table (by chaining to a platform-specific implementation
11980         object).
11981         
11982         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
11983         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
11984         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
11985         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
11986         GdkColormapPrivate. 
11987
11988         * gdk/gdktypes.h: #include <glib-object.h>
11989
11990         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
11991         Move most functionality to platform-specific implementation
11992         object. GdkWindow itself now handles the backing store, then
11993         chains to the platform-specific implementation.
11994         (gdk_window_get_window_type): return GdkWindowType of the window.
11995         (gdk_window_peek_children): New routine, returns the children of 
11996         a GdkWindow
11997         (gdk_window_get_children): Was in X11-specific code and did 
11998         XQueryTree. Changed to simply return a copy of window->children; 
11999         so it can go in cross-platform code.
12000         
12001         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
12002
12003         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
12004         GdkColormap; just changed to use the new private data instead
12005         of casting to GdkColormapPrivate.
12006
12007         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
12008         gdk_cursor_new().
12009
12010         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
12011         (private data member in the GObject). 
12012         (xdnd_manager_source_filter): Function had broken 
12013         error handling, fix it (use gdk_error_trap_push).
12014
12015         * gdk/x11/gdkdrawable-x11.c: This file now implements
12016         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
12017         base class is purely for the convenience of the X port,
12018         and not part of the interface to cross-platform GDK.
12019
12020         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
12021         
12022         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
12023         specific to X, and returned by the create_gc virtual method
12024         of GdkDrawableImplX11. 
12025         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
12026         rather than gchar, this was also changed in the GdkGC vtable.
12027         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
12028         mask is 0, return immediately, instead of checking every flag.
12029         This is faster, and keeps us from segfaulting if values is NULL
12030         and the mask contains some nonzero flags.
12031
12032         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
12033         GdkWindow.
12034
12035         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
12036         GdkWindowPrivate is gone.
12037
12038         * gdk/x11/gdkim-x11.c: rename things that got renamed.
12039
12040         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
12041         remove the image_put stuff that got transferred to GdkDrawable.
12042         
12043         * gdk/x11/gdkinput.c: renamings
12044
12045         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
12046
12047         * gdk/x11/gdkpixmap-x11.c: GObject conversion
12048
12049         * gdk/x11/gdkprivate-x11.h: indentation fixes
12050
12051         * gdk/x11/gdkproperty-x11.c: renamings
12052
12053         * gdk/x11/gdkselection-x11.c: renamings
12054
12055         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
12056         implements the platform-specific "impl" object.
12057         Moved gdk_window_get_children to gdk/gdkwindow.c
12058
12059         * gdk/x11/gdkx.h: Remove all the private structs and private datas
12060         that no longer exist. Add declaration of GdkGCX11 object here.
12061         Fix all the macros to still work. 
12062
12063         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
12064         GdkDragContext from the boxed types since they are now GObjects.
12065
12066         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
12067         moved xthickness/ythickness into the instance. GtkStyleClass
12068         functions are now in the standard vtable for GtkStyle, so you have
12069         to create a GObject subclass to write a theme engine.
12070         (gtk_style_copy): fixed a leaked PangoFontDescription
12071         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
12072         can be the standard GObject function.
12073         
12074         * Throughout GTK:
12075         s/style->klass->[xy]thickness/style->[xy]thickness
12076         s/pango_layout_unref/g_object_unref/
12077
12078         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
12079         
12080         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
12081         accessing GDK internals.
12082
12083         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
12084         accessing GDK internals.
12085
12086 2000-06-18  Elliot Lee  <sopwith@redhat.com>
12087
12088         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
12089
12090         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
12091         problem by calculating event position relative to the trough
12092         rather than the slider.
12093         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
12094
12095         * gdk/gdkgc.h: Add GDK_NOR.
12096
12097         * configure.in, Makefile.am: Add modules top level dir
12098         * configure.in: Only use pangox library if building x11 target.
12099         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
12100
12101 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
12102
12103         * gtk/gtkcolorsel.c: Change private class member to be named
12104         private_data throughout the file.
12105
12106         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
12107         private_data to avoid clashing with keyword.
12108
12109 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
12110
12111         * gdk/gdkdnd.h: Add comment to remove warning.
12112
12113 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
12114
12115         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
12116         Byelorussian language; changed the Makefile and file names 
12117         to reflect that.
12118
12119 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
12120
12121         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
12122         rather than gdk_window_hide; this makes things work
12123         correctly if the window is programmatically hidden while
12124         iconified.
12125
12126 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
12127
12128         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
12129         cut and paste typo where wrong pixmap was being
12130         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
12131
12132 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
12133
12134         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
12135         Add helper function to compute format / bytes 
12136         relationship. Use in a couple places to fix up
12137         errors which assume 8 * format.
12138
12139         * gtk/gtkselection.c (gtk_selection_request): Use 32
12140         rather than 8 * sizeof (GdkAtom), to work correctly
12141         on Alpha.
12142
12143 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
12144
12145         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
12146         libgtk.la
12147         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
12148         versions
12149
12150         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
12151         checking macros return NULL since the function has a return value.
12152
12153 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
12154
12155         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
12156         GTK+ from building at all.
12157
12158         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
12159
12160 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
12161
12162         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
12163         gtk/Makefile.am: make it possible to configure gtk for different
12164         targets on the same platform. The library name is now 
12165         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
12166         flag. Only the x11 target compiles right now.
12167         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
12168         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
12169         * gdk/nanox/gdk*generic*: delete generic region code.
12170         * gdk/linux-fb/gdk*generic*: delete generic region code.
12171         * README.nanox: update information.
12172         
12173 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
12174
12175         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
12176         prepend not append. (Pointed out by Brett Hall.)
12177
12178 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
12179
12180         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
12181
12182 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
12183
12184         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
12185         need this later, and this makes sure that the atexit for
12186         glib gets called after that for GDK, so atexits are
12187         properly ordered for object leak checking.
12188
12189         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
12190
12191         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
12192         pango_x_shutdown_display()
12193
12194         * gtk/simple.c (main): Close window on destroy.
12195
12196 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
12197
12198         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
12199         to treat initial creation different from setting with 
12200         regards to the graphics-exposures parameter, so add a parameter
12201         indicating whether this is initial or not.
12202
12203 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
12204
12205         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
12206         to sort of work by adding an extra return_exposes arg
12207         to gdk_event_translate() - it might be better to simply
12208         deprecate the function altogether and force people to rewrite
12209         without it. gdk_window_scroll() handles most of it, and where
12210         gdk_window_scroll() doesn't work, simply redrawing more does.
12211
12212         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
12213         assertion.
12214
12215         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
12216
12217         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
12218         bunch of pretty much useless /* Print debugging info */ comments 
12219         which had drifted away from the code they were commenting.
12220
12221 2000-06-02  Havoc Pennington  <hp@pobox.com>
12222
12223         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
12224         is in working order.
12225         
12226         * gtk/testtext.c: Change to reflect anonymous mark API
12227
12228         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
12229
12230         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
12231         field, which was unused.
12232
12233         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
12234         saves some typing.
12235
12236         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
12237
12238         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
12239         flag on the insertion point and selection bound
12240
12241         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
12242         make mark-manipulation functions take a GtkTextMark* instead of a
12243         mark name.
12244         
12245         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
12246         GtkTextMarkBody; will be used to detect attempts to delete
12247         the permanent marks (insert and selection bound)
12248
12249         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
12250
12251 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
12252
12253         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
12254         flag to on.
12255
12256         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
12257         Honor DOUBLE_BUFFRED_FLAG
12258
12259         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
12260         function to set the DOUBLE_BUFFERED flag.
12261
12262         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
12263         or not exposes done on the widget should be double-buffered.
12264
12265         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
12266         to be what would be expected. (Fixes problem with a
12267         g_return_if_fail() validating a TextDirection enumeration)
12268
12269 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
12270
12271         * gtk/gtkwidget.c: Remove all references to 
12272         offscreen flag which was no longer used.
12273
12274         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
12275
12276         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
12277         for non-null label_widget->parent.
12278
12279         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
12280         which no longer was used.
12281
12282         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
12283
12284         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
12285         for null arguments.
12286
12287         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
12288         check for destroyed windows.
12289
12290 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
12291
12292         * gtk/gtkimmulticontext.c: Add a finalize method and unref
12293         the slave context there.
12294
12295         * gtk/gtkinvisible.[ch]: Make reference counting behavior
12296         identical to GtkWindow.
12297
12298 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
12299
12300         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
12301         pangox to here, so we can write them independent of rendering
12302         system, using GDK primitives.
12303
12304         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
12305         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
12306         since we have a rendering-system independent implementation in
12307         terms of draw_glyphs().
12308         
12309         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
12310         function to render a single line.
12311
12312         * gdk/x11/gdkpango.c: Move the guts of this file mostly
12313         into ../gdkpango.c, which simplifies things, since we
12314         don't have to deal with raw X gc's.
12315
12316 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
12317
12318         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
12319         get the logical attributes for a given GtkTextLine.
12320
12321 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
12322
12323         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
12324         g_locale_get_codeset() to g_get_codeset() change.
12325
12326 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
12327
12328         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
12329         descriptions.
12330
12331         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
12332         the entry.
12333
12334         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
12335         redoing (vastly simplifying) for Pango. Still needs quite
12336         a bit of work. (Size selection is currently poor. List of 
12337         predefined sizes is not a good idea, since all of these
12338         sizes won't necessarily be distinct.)
12339
12340 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
12341
12342         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
12343         CODESET results for LANG=C.
12344
12345 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
12346
12347         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
12348         which takes a stringized pango font description;
12349         ignore the older 'font' and 'fontset' declarations.
12350
12351         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
12352         field with a GdkFont derived via gdk_font_from_description(),
12353         for compatibility. (Should we just remove it entirely?
12354         Probably too much compatibility breakage, but people
12355         should be migrating to the new Pango stuff as quickly
12356         as possible.)
12357
12358 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
12359
12360         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
12361
12362 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
12363
12364         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
12365         redoing; there are some bugs in size allocation right
12366         now, the semi-existant distinction between header / day
12367         fonts was removed, but, with Pango, could actually
12368         be made functional in a nice way.
12369         
12370         * gtk/testcalender: Move calender from examples into this
12371         directory as a test program. (We really need to restrcture
12372         testgtk into a whole directory full of tests for every
12373         widget or functionality group, separated into multiple .c
12374         files.)
12375
12376 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
12377
12378         * gtk/testgtk.c (file_exists): Fix stupid typo that
12379         was keeping RC file from being loaded.
12380
12381         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
12382         RC file font code.
12383
12384 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
12385
12386         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
12387         Add function to load a GdkFont from a PangoFontDescription.
12388
12389 2000-05-29  Tor Lillqvist  <tml@iki.fi>
12390
12391         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
12392         variable should be of type GdkEventPrivate.
12393
12394 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
12395
12396         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
12397         to have any widget for the label, use a GtkLabel widget
12398         to display the text. (Based partially on a patch from
12399         Anders Carlson.)
12400
12401         (Quite a bit of code reorganization - strip 90% of the
12402         guts out of gtkaspectframe and add a single virtual
12403         func to GtkFrameClass - compute_child_allocation.)
12404
12405 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
12406
12407         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
12408         (Removed clist->row_center_offset field because caching
12409         it wasn't saving time or code, added private function
12410         _gtk_clist_create_cell_layout()).
12411
12412 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
12413
12414         * gtk/gtkaccellabel.c: Pangoized.
12415
12416         * gtk/[hv]ruler.c: Pangoized
12417
12418 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
12419
12420         * gtk/gtkfilesel.c (gtk_file_selection_init):
12421         Use gtk_clist_set_column_auto_resize() to remove need
12422         need for manual column width computations.
12423
12424 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
12425
12426         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
12427         ensuring Pango correctness, and considerably simplifying the
12428         code.
12429         
12430         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
12431
12432         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
12433         getting of numbers of lines.
12434
12435         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
12436         to the actual requested width of the lable, not to the wrap
12437         width we set.
12438
12439         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
12440
12441         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
12442           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
12443
12444         * gtk/gtktextview.c: Fix structure inheritance.
12445
12446         * gtk/gtkprogressbar.c: Pangoize.
12447
12448 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
12449
12450         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
12451         in a function.
12452
12453         * gtk/gtktextlayout.c (find_display_line_above): Fixed
12454         bug with computing line tops.
12455
12456         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
12457
12458 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
12459
12460         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
12461         and y_offset coordinates to do what we need now. (The offset between
12462         buffer and layout coordinates has been reintroduced, but is a 
12463         bit different than before.)
12464
12465         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
12466         handle the adjustments ourselves, and scroll as necessary using
12467         the new gdk_window_scroll().
12468         
12469         The advantage of this is that when we are incrementally revalidating,
12470         we are essentially rearranging things around the visible portion
12471         of the screen. With the old setup, the visible portion of the
12472         screen was moved around in the layout, so scrolling and redrawing
12473         to track that caused jumping of the display. Since we now
12474         control the scrolling ourselves, we can suppress this and
12475         only redraw when things actually change.
12476
12477 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
12478
12479         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
12480         the region not just redisplay it after-all, since we store the
12481         cursors in the LineDisplay. (Ugly interactions here between
12482         GtkLayout and GtkTextBTree here.)
12483         
12484         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
12485
12486 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
12487
12488         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
12489         Added function to scroll contents of a window while keeping the
12490         window constant. Works by XCopyArea or guffaw-scrolling depending
12491         on the details of how the window is set up. (guffaw-scrolling
12492         still needs to be filled in.)
12493
12494 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
12495
12496         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
12497         move the debugging that was tied to a global variable
12498         to that.
12499
12500         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
12501
12502         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
12503         validated flag, in line data instead of setting height/width to
12504         -1. This allows us to perform operations with partially invalid
12505         buffer (using the old size for invalid lines) and thus to do
12506         incremental vaidation. Keep height/width aggregates up to date
12507         when deleting text and rebalancing the tree.
12508
12509         * gtk/gtktextbtree.[ch]: Add functions validate a line
12510         (gtk_text_btree_validate_line), and to validate up
12511         to a number of pixels (gtk_text_btree_validate).
12512
12513         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
12514         that indicates that something is changed and a revalidation
12515         pass is needed. Change ::need_repaint to ::changed, and
12516         make it take old and new yranges instead of a rectangle.
12517
12518         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
12519         the line_data_destroy() function from 
12520         gtk_text_btree_add_view() to a virtual function in 
12521         GtkTextLayout
12522
12523         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
12524         since we are handling partial repaints in a different fashion
12525         now.
12526
12527         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
12528         of the selection instead of queueing a repaint on the
12529         entire widget.
12530
12531         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
12532         get_selection_bounds() down to btree, make the function
12533         in buffer a wrapper around the btree function.
12534
12535         * gtk/gtktextlayout.[ch]: Add functions to check if the
12536         layout is valid and to recompute either a range of pixels
12537         aroudn a line or a certain total number of pixels.
12538
12539         * gtk/gtktextlayout.[ch]: Cache a single line display;
12540         now that we only redraw the needed portions, the hit rate
12541         for this cache is quite high.
12542         
12543         * gtk/gtktextview.[ch]: Keep track of the first paragraph
12544         on the screen so that when re-laying-out the buffer, we can
12545         keep the same place. This requires connecting to ::value_changed
12546         on the adjustments
12547
12548         * gtk/gtktextview.[ch]: Add idle functions to revalidate
12549         the buffer after we receive an ::invalidated signal.
12550         
12551 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
12552
12553         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
12554         to max of allocation and layout size, not just to the
12555         layout size.
12556
12557         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
12558         Invalidate window so it gets redrawn properly.
12559
12560         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
12561         to mean the entire window.
12562
12563         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
12564         into public header.
12565
12566 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
12567
12568         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
12569         to get the name of a mark.
12570
12571         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
12572         to find the paragraph from a y position.
12573
12574 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
12575
12576         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
12577         nodes have width/height >= 0, not > 0.
12578
12579 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
12580
12581         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
12582         Add a size_only flag, so when we only need the size, we don't create
12583         useless appearance attributes.
12584
12585         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
12586         duplicate setting of font description.
12587
12588         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
12589
12590 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
12591
12592         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
12593         EXTRA_DIST. It does not work well when the file that
12594         everything depends on is not in the tarball.
12595
12596 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
12597
12598         * gtk/testgtk.c: Some hacks and fixes so that it basically
12599         works when not sitting in the GTK+ build tree.
12600
12601 2000-05-03  Havoc Pennington  <hp@redhat.com>
12602
12603         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
12604         Properly determine the ordering of the tag root and the current
12605         line within the tree. Previous algorithm only worked if the tag
12606         root's immediate parent was the common root of both the current
12607         line and the tag root.
12608
12609 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
12610
12611         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
12612         alignment.
12613
12614         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
12615         the widget text directional dynamically.
12616
12617         * gtk/gtktextview.[ch]: Added functions to get and set default
12618         wrap mode.
12619
12620 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
12621
12622         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
12623         in cursor location computation.
12624
12625 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
12626
12627         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
12628         vadjusment values properly when layout gets smaller.
12629
12630         * gtk/gtktextview.c (need_repaint_handler): Areas being
12631         passed in are far completely inaccurate, and sometimes
12632         too small, so, for now, just queue a redraw on the
12633         whole visible region.
12634
12635 2000-04-25  Havoc Pennington  <hp@redhat.com>
12636
12637         * gtk/gtktextbtree.c (summary_destroy): new function to 
12638         destroy tag summary nodes
12639         (gtk_text_line_next_could_contain_tag): this function was 
12640         totally broken if the line passed in wasn't below the tag
12641         root. Fix it.
12642         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
12643         "wildcard" case, we have to do a linear scan. Blah.
12644         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
12645         we have to do the linear scan
12646         (tag_removed_cb): When a tag is removed from the tag table, 
12647         remove the GtkTextTagInfo node from the btree.
12648         (gtk_text_btree_spew): Implement the spew function, for 
12649         our debugging pleasure.
12650
12651 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
12652
12653         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
12654         a problem with referring to the wrong buffer.
12655
12656         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
12657
12658         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
12659         font description to gtk_style_new() - otherwise things
12660         don't work without a .gtkrc file.
12661
12662         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
12663         tags table if we create it ourself, too.
12664
12665         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
12666         it was conflicting with XKB modifiers.
12667
12668         * gtk/gtktextview.[ch]: Add simple support for 
12669         GtkIMContext.
12670
12671 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
12672
12673         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
12674         with deletion from last commit.
12675
12676 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
12677
12678         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
12679         in the context from the current locale.
12680         
12681         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
12682         context, not hardcoded value.
12683
12684         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
12685         not logical.
12686
12687 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
12688
12689         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
12690         attributes - that doesn't handle partial-glyph selection
12691         properly. Instead use new pango_layout_line_get_x_ranges()
12692         functionality to draw the selection.
12693
12694         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
12695         now properly handles out-of-range coordinates.
12696
12697         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
12698
12699         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
12700         public.
12701
12702         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
12703         for paragraphs opposite to the base direction of the widget.
12704
12705         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
12706
12707         * gtk/gtktextlayout.c: Don't split segments on marks, since that
12708         causes Arabic words to reshape as you cursor through.
12709
12710         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
12711         cursor position when moving vertically with the arrow keys and
12712         scrolling with page-up/page-down. (Arrow keys save only the X,
12713         scrolling saves both X and Y.)
12714
12715         This means you can line-up / line-down or page-up / page-down
12716         without losing your place, and also that moving vertically
12717         with the cursor keys keeps the same X position, not the same
12718         character count:
12719
12720         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
12721         arrow keys move by display lines, not paragraphs.
12722
12723 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
12724
12725         * gtk/gtklayout.c: Make sure that the bin window is at least
12726         as big as the allocation. (Should we also make sure that the
12727         bin window is big enough to completely cover widget->window?)
12728
12729         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
12730         function to get the onscreen rectangle.
12731
12732         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
12733         for offsets in window coordinates.
12734
12735 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
12736
12737         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
12738         confusion.
12739
12740         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
12741         from the widget direction.
12742
12743         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
12744         Add a "direction" attribute.
12745
12746         * gtk/gtktextview.c: global s/tkxt/text_view/.
12747
12748         * gtk/testtext.c: Added long block of text in Arabic, to test out
12749         the direction attributes. (Some problems with the shaping system
12750         for arabic become obvious - like the fact the cursor splits words
12751         into unjoined pieces.)
12752
12753 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
12754
12755         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
12756
12757         * gtk/gtktextlayout.c: Fix up alignment.
12758
12759         * gtk/testtext.c: Add some tests for centering, wrapping.
12760
12761 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
12762
12763         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
12764         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
12765         If we wrote GTK+-specific layout-render function this could just replace
12766         the draw_layout() operation in the vtable.
12767
12768         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
12769         pango_layout_get_cursor_pos() and use that function.
12770
12771         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
12772         is a non-static symbol.
12773
12774         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
12775         with gtk_text_btree_find_line_by_y()
12776
12777         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
12778         renderer that handles GtkTextAppearance attributes.
12779
12780         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
12781
12782           - Move the values in the style that don't affect geometry into a
12783             GtkTextAppearance structure.
12784           - Change underline to take a PangoUnderline and "font" a string
12785             representation of a font description
12786           - Add a "font_desc" attribute which takes a FontDescription structure.
12787
12788         * gtk/gtktextlayout.[ch]:
12789
12790           - Get rid of the display-line list per each line. Instead, we
12791             generate, on demand, a GtkTextLineDisplay structure which]
12792             contains a PangoLayout * and other necesary information
12793             (offsets, cursor locations) for displaying a paragraph.
12794           - Get rid of the code to wrap lines, create display chunks,
12795             etc. Instead, we just go through a paragraph and convert
12796             it into the necessary inputs to a PangoLayout.
12797           - Implement a new attribute type, GtkTextAttrAppearance. This
12798             holds a GtkTextAppearance, and is used to pass colors, 
12799             stipple, etc, through from the layout to the display without
12800             having to use lots and lots of individual attributes.
12801           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
12802             in terms of PangoLayout functions.
12803         
12804         * gtk/gtktextview.c: 
12805          
12806           - Handle passing the necessary PangoContext to the layout
12807           - Some fixups in painting to deal with the automatic backing store
12808             and offsetting of GTK+-1.4
12809           - Add a style_set handler so that the default style reacts
12810             properly to theme changes.
12811         
12812         * gtk/gtktext?*.[ch]: Random code-style fixes.
12813
12814         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
12815
12816 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
12817
12818         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
12819         in original form preparatory to Pango-ization and gdkimcontext-ization.
12820
12821 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
12822
12823         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
12824         so that we can derive from gtkimcontext in language bindings properly.
12825
12826 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
12827
12828         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
12829         Add a compose table including (almost) all the compose combinations
12830         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
12831         data in the XIM implementation.
12832
12833         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
12834         Moved functions to convert keyvalues from and to unicode here from
12835         the win32 port and made them public.
12836
12837 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
12838
12839         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
12840
12841 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
12842
12843         * gtk/gtkimcontext.[ch]: Base class for new input context system
12844
12845         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
12846         the real input context implementation to be loaded from modules
12847         and switched on the fly.
12848
12849         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
12850         context that just does direct keysymbol => unicode translation.
12851
12852         * gtk/gtkentry.[ch]: Start switching editing over to using
12853         GtkInputContext. (No handling of preedit yet.)
12854
12855 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
12856
12857         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
12858         many substitutions. (klass should not be subsituted.)
12859
12860 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
12861
12862         * configure.in: Add checks for Pango
12863
12864         * configure.in docs/Makefile.am: Add test for sgml2html
12865         and allow 'make dist' without building html, but print out
12866         warnings in that case. (For making snapshots)
12867
12868         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
12869         Add Pango libraries and C flags
12870
12871         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
12872         Add function (gdk_draw_layout) to draw a pango layout.
12873
12874         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
12875         for getting Pango contexts for GDK.
12876
12877         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
12878
12879         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
12880         editing.
12881
12882         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
12883         keysym => unicode translations. More languages can be added
12884         here, but real input-method support is needed.
12885
12886         * docs/Changes-1.4.txt: Added note about entry behavior.
12887         
12888         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
12889         to set the reading direction for a widget and the global direction.
12890         Add test which allows toggling the global direction. Two private
12891         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
12892
12893         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
12894           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
12895
12896         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
12897
12898         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
12899         underlining now handled by Pango.
12900
12901         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
12902         to RCStyle and Style. (Having both this and the old font name and GdkFont 
12903         is temporary.)
12904
12905         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
12906         convenience functions for creating contexts and layouts for widgets.
12907
12908         * gtk/testgtk.c: Enhance label tests with multilingual labels.
12909
12910 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
12911
12912         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
12913         titles to be active, even if they aren't visible.
12914         (gtk_clist_column_titles_passive):  Ditto.
12915
12916 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
12917
12918         * gtkmenu.c:
12919         * gtkmenu.h:
12920         * gtktypeutils.h: Spelling/grammar fixes in comments.
12921
12922 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
12923
12924         * gdk/nanox/*.h: add missing header files.
12925
12926 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
12927
12928         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
12929         send_event to TRUE.
12930         (gtk_drawing_area_size): queue a resize.
12931
12932 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
12933
12934         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
12935         the handlers, also invalidate them. bug nailed down by Karl Nelson
12936         <kenelson@ece.ucdavis.edu>.
12937
12938 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
12939
12940         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
12941         "(nil)" foundries, patch from Grigorios Magklis.
12942
12943         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
12944         on non-available fonts, based on a patch by Grigorios Magklis
12945         <maglis@cs.rochester.edu>.
12946
12947 2000-05-18  Elliot Lee  <sopwith@redhat.com>
12948
12949         * gdk/x11/gdkregion-generic.c: If a region does not have any
12950         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
12951         instead of GDK_OVERLAP_RECTANGLE_IN.
12952
12953 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
12954
12955         * gtk/gtklayout.c (gtk_layout_map): Remove references to
12956         OFFSCREEN, as it is no longer necessary.
12957
12958 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
12959
12960         * gtk/gtkcolorsel.c: Patch from David Santiago
12961         <mrcooger@cyberverse.com> to change things so that the 
12962         indicator of the active palette entry is done independently,
12963         not via the focus, since it should always be visible.
12964
12965 2000-05-17  Tor Lillqvist  <tml@iki.fi>
12966
12967         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
12968         refcount leaks as in the X11 backend.
12969
12970         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
12971         cosmetics.
12972
12973         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
12974         backend. Add _gdk_windowing_window_destroy().
12975
12976         * gtk/gtkcolorsel.c: Include correct backend-specific header.
12977         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
12978         either, but these probably do exist on nanox?)
12979         
12980         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
12981         which isn't necessarily defined by <math.h>.
12982
12983         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
12984         ancestry past GtkObject.
12985
12986         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
12987         from DLL on Win32.
12988
12989         * gtk/gtk.def: Update corresponding to recent changes.
12990
12991         * gtk/makefile.{cygwin,msc}: Updates.
12992
12993 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
12994
12995         * docs/Changes-1.4.txt: A bit of editing.
12996
12997         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
12998         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
12999         to clear the update area for the window, and clear it
13000         when hiding a window.
13001
13002         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
13003         if window destroyed.
13004
13005         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
13006
13007         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
13008         gdk_window_destroy() to the generic code, since there was a lot of 
13009         window-system-independent logic it in. Add a function:
13010         
13011          _gdk_window_destroy() 
13012
13013         to the internal API to destroy a window without unreferencing it.
13014         Add a function:
13015
13016          _gdk_windowing_window_destroy()
13017
13018         That does the windowing-system-dependent part of destroying 
13019         the window.
13020
13021 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
13022
13023         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
13024
13025 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
13026
13027         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
13028         Make gtk_widget_shape_combine_mask() keep a reference count on
13029         the pixmap since it keeps it around.
13030
13031 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
13032
13033         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
13034         leak.
13035
13036         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
13037         leak with event filters.
13038
13039 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
13040
13041         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
13042         signal handlers with the right data arguments. (Fixes
13043         some warnings when a widget was repeatedly set as a drag
13044         destination.)
13045
13046         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
13047         window so we can avoid avoid setting the DND properties on the
13048         toplevel window repeatedly.
13049
13050 2000-05-13  Tor Lillqvist  <tml@iki.fi>
13051
13052         * gdk/win32/gdkwin32.h: Define more message types missing from
13053         mingw headers.
13054
13055         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
13056         call gdk_window_destroy_notify(). It was never called. This
13057         probably meant that the GdkWindow was never freed. Thanks Owen for
13058         noticing (!).
13059
13060         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
13061         window as destroyed before calling DestroyWindow(). DestroyWindow()
13062         causes a call to the window procedure (gdk_WindowProc), which
13063         calls gdk_event_translate(), which calls
13064         gdk_window_destroy_notify(), which gets confused unless the window
13065         is set as destroyed.
13066
13067         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
13068         this function to indicate it's win32 only. Put inside #ifdef
13069         G_ENABLE_DEBUG.
13070
13071         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
13072         debugging function. (gdk_event_translate:) Add a default branch
13073         that uses the above function to print debug messages with all
13074         Windows messages symbolically.
13075
13076         * gdk/win32/gdkprivate-win32.h: Declare it, and
13077         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
13078
13079 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
13080
13081         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
13082         public header file.
13083
13084 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
13085
13086         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
13087
13088         * gtk/gtktext.c: made the adjustments no-construct args, simply
13089         provide default adjustments.
13090         (gtk_text_destroy): release adjustments.
13091
13092         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
13093         adjustment argument non-construct.
13094
13095         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
13096         instead of in finalize.
13097         (gtk_progress_get_text_from_value): 
13098         (gtk_progress_get_current_text): 
13099         (gtk_progress_set_value): 
13100         (gtk_progress_get_percentage_from_value): 
13101         (gtk_progress_get_current_percentage): 
13102         (gtk_progress_set_percentage): 
13103         (gtk_progress_configure): ensure an adjustment is present.
13104
13105 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
13106
13107         * gtk/gtkcolorsel.[hc]:
13108         * gtk/gtkcolorseldialog.[hc]:
13109         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
13110         their parent implementation, use bit fields for boolean values, don't
13111         create unused widgets, usage of glib types, braces go on their own
13112         lines, function argument alignment, #include directives etc. etc. etc..
13113
13114         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
13115
13116 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
13117
13118         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
13119
13120         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
13121         of NULL.
13122
13123         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
13124         to freed data.
13125         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
13126
13127         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
13128         to NULL when the toplevel is getting destroyed.
13129         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
13130         (gtk_menu_destroy): 
13131         (gtk_menu_init): store the information of whether we have to
13132         readd the initial child ref_count during destruction in a new
13133         GtkMenu field needs_destruction_ref_count.
13134
13135         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
13136         here, those reading: learn from my mistake! ;)
13137         in order for set_?adjustment to support a default adjustemnt if
13138         invoked with an adjustment pointer of NULL, the code read (pseudo):
13139         if (v->adjustment) unref (v->adjustment);
13140         if (!adjustment) adjustment = adjustment_new ();
13141         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
13142         now imagine the first unref to actually free the old adjustment and
13143         adjustment_new() creating a new adjustment from the very same memory
13144         portion. here, the latter comparision will unintendedly fail, and
13145         all hell breaks loose.
13146         (gtk_viewport_set_hadjustment):
13147         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
13148         after unreferencing it.
13149
13150         * gtk/gtkcontainer.[hc]: removed toplevel registration
13151         functions: gtk_container_register_toplevel(),
13152         gtk_container_unregister_toplevel() and
13153         gtk_container_get_toplevels() which had wrong semantics
13154         anyways: it didn't reference and copy the list.
13155
13156         * gtk/gtkwindow.c: we take over the container toplevel registration
13157         bussiness now. windows are registered across multiple destructions,
13158         untill they are finalized. the initial implicit reference count
13159         users are holding on windows is removed with the first destruction
13160         though.
13161         (gtk_window_init): ref & sink and set has_user_ref_count, got
13162         rid of gtk_container_register_toplevel() call. add window to
13163         toplevel_list.
13164         (gtk_window_destroy): unref the window if has_user_ref_count
13165         is still set, got rid of call to
13166         gtk_container_unregister_toplevel().
13167         (gtk_window_finalize): remove window from toplevel list.
13168         (gtk_window_list_toplevels): new function to return a newly
13169         created list with referenced toplevels.
13170         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
13171
13172         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
13173         adjustment a non-construct arg.
13174         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
13175         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
13176         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
13177
13178         * gtk/gtkrange.c: added some realized checks.
13179         (gtk_range_destroy): get rid of the h/v adjustments in the
13180         destroy handler instead of finalize. remove timer.
13181         (gtk_range_get_adjustment): demand create adjustment.
13182
13183         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
13184         we simply create them on demand now and get rid of them in
13185         the destroy handler.
13186         (gtk_viewport_destroy): get rid of the h/v adjustments in the
13187         destroy handler instead of finalize.
13188         (gtk_viewport_get_hadjustment): 
13189         (gtk_viewport_get_vadjustment): 
13190         (gtk_viewport_size_allocate): demand create h/v adjustment
13191         if required.
13192
13193         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
13194         gtk_widget_real_destroy () functionality.
13195         (gtk_widget_real_destroy): reinitialize with a new style, instead
13196         of setting widget->style to NULL.
13197
13198 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
13199
13200         * gtk/gtkcalendar.c:
13201         * gtk/gtkbutton.c: ported _get_type() implementation over to
13202         GType, either to preserve memchunks allocation facilities,
13203         or because Gtk+ 1.0 GtkTypeInfo was still being used.
13204
13205         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
13206         over. prepare for ::destroy to be emitted multiple times.
13207         removed reference tracer magic. chain into GObjectClass.shutdown()
13208         to emit ::destroy signal.
13209
13210         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
13211         fundamental.
13212
13213         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
13214         cludge.
13215
13216         * gtk/gtksocket.c:
13217         * gtk/gtkplug.c:
13218         * gtk/gtklayout.c:
13219         * gtk/gtklabel.c:
13220         * gtk/gtkargcollector.c:
13221         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
13222         not being a fundamental anymore, and to work with the new
13223         type system (nuked fundamental type varargs clutter).
13224
13225         * gtk/*.c: install finalize handlers in the GObjectClass
13226         part of the class structure.
13227         changed direct GTK_OBJECT()->klass accesses to
13228         GTK_*_GET_CLASS().
13229         changed direct object_class->type accesses to GTK_CLASS_TYPE().
13230
13231         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
13232         GType. made most of the GTK_*() type macros and Gtk* typedefs
13233         simple wrappers around macros and types provided by GType.
13234         most notably, a significant portion of the old API vanished:
13235         GTK_TYPE_MAKE(),
13236         GTK_TYPE_SEQNO(),
13237         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
13238         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
13239         GTK_TYPE_ARGS,
13240         GTK_TYPE_CALLBACK,
13241         GTK_TYPE_C_CALLBACK,
13242         GTK_TYPE_FOREIGN,
13243         GtkTypeQuery,
13244         gtk_type_query(),
13245         gtk_type_set_varargs_type(),
13246         gtk_type_get_varargs_type(),
13247         gtk_type_check_object_cast(),
13248         gtk_type_check_class_cast(),
13249         gtk_type_describe_tree(),
13250         gtk_type_describe_heritage(),
13251         gtk_type_free(),
13252         gtk_type_children_types(),
13253         gtk_type_set_chunk_alloc(),
13254         gtk_type_register_enum(),
13255         gtk_type_register_flags(),
13256         gtk_type_parent_class().
13257         replacements, where available are described in ../docs/Changes-1.4.txt.
13258         implemented compatibility functions for the remaining API.
13259
13260         * configure.in: depend on glib 1.3.1, use gobject module.
13261
13262 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
13263
13264         * TODO.xml: Various updates to current status.
13265
13266 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
13267
13268         * gtk.m4: Print out version when test succeeds.
13269
13270 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
13271
13272         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
13273         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
13274         
13275         (Original triangle color selector from Simon Budig
13276         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
13277         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
13278         Santiago <mrcooger@cyberverse.com>)
13279
13280         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
13281         out into a separate widget.
13282
13283         * gtk/testgtk.c: Add some checkbuttons for toggling palette
13284         and opacity controls.
13285
13286 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
13287
13288         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
13289         snuck in prematurely.
13290
13291 2000-05-07  Tor Lillqvist  <tml@iki.fi>
13292
13293         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
13294         had deleted a ! operator by mistake, which caused
13295         GDK_SELECTION_CLEAR events never to be generated, which caused
13296         only the first copy to the clipboard from an gtkeditable to
13297         actually cause a copy to the Windows clipboard.
13298
13299 2000-05-06  Tor Lillqvist  <tml@iki.fi>
13300
13301         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
13302         compilation, too. Current mingw gcc distributions include the
13303         necessary headers. Also the necessary IIDs are now in mingw
13304         headers/libraries, and own definitions unnecessary.
13305
13306         More hacking on OLE2 DND, still doesn't work though, and thus
13307         ifdeffed out.
13308
13309         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
13310         here, too.
13311
13312 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
13313
13314         * gdk/nanox/*: nano-X port work in progress.
13315         * gdk/simple.c: simple test for Gdk.
13316         * README.nanox: notes about the port: read this first!
13317         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
13318         with nano-X.
13319
13320 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
13321
13322         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
13323         gdk_window_clear() into common code, implement in terms of
13324         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
13325         not redirected to the backing rectangle.
13326
13327 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
13328
13329         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
13330         EXTRA_DIST. It does not work well when the file that
13331         everything depends on is not in the tarball.
13332
13333 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
13334
13335         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
13336         with recursion where process_updates() is called from
13337         an expose handler. (GtkTextView is highly broken in
13338         doing this, but it should work, so it is a nice test
13339         case.)
13340
13341 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
13342
13343         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
13344         handle the case where updates are queued during processing of
13345         updates.
13346
13347 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
13348
13349         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
13350         window is on gdk_display - use that instead of segfaulting.
13351
13352 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
13353
13354         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
13355         broken and require an empty arg, give it to them.
13356
13357 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
13358
13359         * gtk/gtklabel.h: indentation fixes.
13360
13361 2000-05-02  Tor Lillqvist  <tml@iki.fi>
13362
13363         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
13364         draw too narrow or too low arcs, they seem to fail, at least with
13365         some display drivers.
13366
13367         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
13368
13369         Large changes to the Win32 backend, partially made necessary by
13370         the changes to the backend-independent internal
13371         structures. Attempts to implement similar backing store stuff as
13372         on X11. The current (CVS) version of the Win32 backend is *not* as
13373         stable as it was before the no-flicker branch was merged. A
13374         zipfile with that version is available from
13375         http://www.gimp.org/win32/. That should be use by "production"
13376         code until this CVS version is usable. (But note, the Win32
13377         backend has never been claimed to be "production quality".)
13378
13379         * README.win32: Add the above comment about versions.
13380
13381         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
13382
13383         * gdk/gdk.def: Update.
13384
13385         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
13386         presumably be replaced by some more better mechanism as 1.4 gets
13387         closer to release shape.
13388
13389         * gdk/makefile.{cygwin,msc}: Update.
13390
13391         * gdk/win32/*.c: Correct inclusions of the backend-specific and
13392         internal headers. Change code according to changes in these. Use
13393         gdk_drawable_*, not gdk_window_* where necessary.
13394
13395         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
13396         our old DND.
13397
13398         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
13399         to interpret single characters as UTF-8. Thanks to Hans Breuer.
13400         Use correct function name in warning messages.
13401
13402         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
13403         GSourceFuncs gdk_event_prepare and gdk_event_check.
13404         (gdk_event_get_graphics_expose): Do implement, use
13405         PeekMessage. Thanks to Hans Breuer.
13406         (event_mask_string): Debugging function to print an GdkEventMask.
13407         (gdk_pointer_grab): Use it.
13408
13409         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
13410         (old) book I used claimed was Hangul actually is CJK Unified
13411         Ideographs Extension A. Also, Hangul Syllables were missing.
13412         Improve logging.
13413
13414         * gdk/win32/gdkgc-win32.c: Largish changes.
13415
13416         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
13417         g_win32_getlocale() from GLib, and not setlocale() to get current
13418         locale name.
13419
13420         * gdk/win32/gdkprivate-win32.h
13421         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
13422         gdkwin32.h, similarily as in the X11 backend.
13423
13424         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
13425         assignment was used instead of equals in if test. Thanks to Hans
13426         Breuer.
13427
13428         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
13429         the X11 version.
13430
13431         * gdk/win32/makefile.{cygwin,msc}
13432         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
13433         path to the Win32 headers that works also with the mingw compiler.
13434
13435         * gtk/gtkstyle.c: Include <string.h>.
13436
13437 2000-04-26  Havoc Pennington  <hp@redhat.com>
13438
13439         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
13440         replacing the broken gtk_label_get ()
13441
13442 2000-04-15  Havoc Pennington  <hp@pobox.com>
13443
13444         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
13445         this keeps scanner scripts from getting confused.
13446
13447         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
13448         data, rather than void
13449
13450 2000-04-15  Tor Lillqvist  <tml@iki.fi>
13451
13452         * gtk/gtkclist.c (gtk_clist_motion)
13453         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
13454         with is_hint FALSE, get x and y from the event. They used to be
13455         used uninitialised. The Win32 backend never sends motion events
13456         marked as hints. This for instance fixes the annoying file and
13457         font selector behaviour in the Win32 version.
13458
13459 2000-04-14  Tor Lillqvist  <tml@iki.fi>
13460
13461         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
13462         gtk_private_n_signals variables, they are used by some software,
13463         sigh.
13464
13465         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
13466         installation directory from the Registry, where the installer
13467         should have put it.
13468
13469 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
13470
13471         * gdk/x11/Makefile.am: Fix problem with installation directory for
13472         gdkx.h
13473
13474         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
13475         <mrcooger@cyberverse.com> so that when selecting menus with the
13476         mouse, the first item will not be selected, but when selecting
13477         with an accelerator, or navigating left-right on a menubar with
13478         the menus popped up, the first item will be selected.
13479
13480 2000-04-05  Dan Damian  <dand@dnttm.ro>
13481
13482         * configure.in: Added "ro" to ALL_LINGUAS.
13483
13484 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
13485
13486         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
13487         indentation.
13488
13489         * Makefile.am (EXTRA_DIST): Fix typo.
13490
13491         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
13492         to catch gdkconfig.h
13493
13494         * gtk/gtkitemfactory.c: Added FIXME.
13495
13496 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
13497
13498         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
13499         s/return_if_fail/return_val_if_fail/g and add a return value.
13500
13501 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
13502
13503         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
13504         merge slipup.
13505
13506         * gdk/gdkinput.h: Fix missing line from merge.
13507
13508 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
13509
13510         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
13511         instead of gdkprivate.h.
13512
13513 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
13514
13515         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
13516         parent class to correctly be GtkDialogClass.
13517
13518 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
13519
13520         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
13521         toplevel windows and their immediate children by their parents,
13522         since the size of toplevel windows is out of our immediate
13523         control and we don't get any real benefit from trying to track
13524         this size for clipping.
13525
13526         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
13527         for input_only windows.
13528
13529         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
13530         to fix some hacks and make sure that we don't try to set the
13531         background of input only windows.
13532
13533 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
13534
13535         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
13536         the _really_ internal stuff, and leave gdkprivate.h for the fake private
13537         stuff that we've traditionally exposed.
13538
13539         * gdk/**.c: Use gdkinternals.h where appropriate.
13540
13541         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
13542         not include gdkprivate-x11.h, move all stuff of conceivable public
13543         interest into gdkx.h; keep all really private stuff in
13544         uninstalled header gdkprivate-x11.h.
13545
13546         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
13547         image->image_put on windows through a new function _gdk_window_draw_image()
13548         to allow us to do backing store for images. (Sort of ugly)
13549
13550         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
13551         contexts locally so that we can offset them properly when drawing 
13552         onto backing pixmaps.
13553
13554         * gdk/gdkinput.h: Reindented
13555
13556         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
13557         pixmap or color for the window, so we can properly initialize
13558         our double-buffer pixmaps, and also so that we temporarily set
13559         a background of None while scrolling.
13560
13561         * gdk/gdkregion.h: Revise region boolean operators to have an
13562         interface that is actually convenient - switch from creating new
13563         regions on every op, to "methods" that modify existing regions
13564         (A = A OP B). 3 argument forms which allow dest == src, would also
13565         be possible, but the current interfaces seem to map nicely
13566         onto what needs to be done. (There is quite a lot of region
13567         code in GDK now.)
13568
13569         * gdk/gdkregion.h: Add constructor from rectangle and a copy
13570         operator.
13571
13572         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
13573         gdkpoly-generic.h: Copy region code from Xlib, switch it over
13574         to 32 bit coordinates, modify it to be mostly GTK+ style
13575         and to have interfaces that match gdkregion.h.
13576
13577         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
13578         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
13579         create a backing pixmap and redirect all drawing to
13580         that backing pixmap until a matching gdk_window_end_paint().
13581
13582         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
13583         Create a special drawable class for GtkWindow's that 
13584         redirects the drawing to the backing pixmap as necessary
13585         and then calls the real operations in _gdk_windowing_window_class.
13586
13587         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
13588         Store invalid region for each window. Generate expose events for invalid
13589         region in an idle. This replaces both the expose compression
13590         and the redrawing queuing in GTK+. It is both more efficient and
13591         simpler than either one individually and far more so then the
13592         combination.
13593
13594         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
13595         Emulate 32 bit coordinates for windows with 16 bit coordinates
13596         by offsetting drawing, guffaw scrolling techniques and
13597         mapping/unmapping child windows as necessary.
13598
13599         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
13600         where, when invalid regions are processed, the region is stored,
13601         and if expose events come in that are detectably duplicate
13602         the processed exposes (by comparison of event serial numbers),
13603         the stored region is subtracted out of those exposes.
13604
13605         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
13606         regions newly exposed when scrolling or resizing windows.
13607         This, combined with forcing processesing of queued invalidated
13608         regions, gives nice flicker-free scrolling.
13609
13610         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
13611         invalidated regions after every scroll.
13612
13613         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
13614         emulation in GDK. Its, for all practical purposes just a
13615         GtkViewport/GtkFixed hybrid now.
13616
13617         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
13618         (16-bit) structures as necessary instead of just casting.
13619
13620         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
13621         in terms of the structures from gdkregion-generic.c, using appropriate
13622         offsets from GDK to X11 coordinates. Cache clip mask and
13623         origin and ts origin locally and only flush to the server
13624         when drawing, to avoid constantly setting and resetting these
13625         values when offsetting GC's for scrolling and backing pixmaps.
13626
13627         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
13628
13629         * gtk/gtkcontainer.c: Call process_all_updates at end
13630         of resizing to reduce flicker. (Avoids having redraw
13631         lag arbitrarily behind resize under some circumstances)
13632
13633         * gtk/gtkentry.c: Remove old backing store code, and simply take
13634         advantage of the new backing store capabilities of GDK.
13635
13636         * gtk/gtkmain.c: Simple implementation of widget backing
13637         store - simply push a paint while handling each expose.
13638         (Should really be configurable widget for widget.)
13639         
13640         * gtk/gtkwidget.c: Remove all the old complicated redraw
13641         code, and simply invalidate the GDK windows from
13642         gdk_window_queue_clear(), etc. (Sigh, so much carefully
13643         debugged complexity ... gone to the winds.)
13644
13645         Remove all the code for suppressing expose events while
13646         resizes are pending; this isn't needed since the invalid
13647         areas won't be processed until after the resizes are
13648         processed, since they are in a lower priority idle.
13649
13650 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
13651
13652         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
13653         and height of dest rectangle for non-intersecting rectangles.
13654
13655 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
13656
13657         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
13658         for GdkRectangle.
13659
13660 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
13661
13662         * gdk/gdk{events,image,private,types,window}.h
13663          gdk/x11/gdkinputprivate.h: Change all coordinates
13664          from int16 to int. Also, Change width and height from
13665          unsigned to signed to avoid all the stupid C 
13666          signedness bugs.
13667
13668 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
13669
13670         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
13671         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
13672         Add some more detailed checking.
13673
13674         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
13675         New function to retrieve the depth of a drawable.
13676
13677         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
13678         field, reorder fields to save memory. 
13679
13680 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
13681
13682         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
13683         of the background image instead of scaling the background down to
13684         a line.
13685
13686         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
13687         which temporarily set slider to wrong size.
13688
13689         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
13690         queue_clear().
13691
13692 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
13693
13694 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
13695
13696         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
13697
13698 2000-03-17  Tor Lillqvist  <tml@iki.fi>
13699
13700         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
13701         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
13702
13703         * gdk/win32/gdkfont-win32.c
13704         * gdk/win32/gdkproperty-win32.c
13705         * gdk/win32/gdkselection-win32.c
13706         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
13707         now declared such.
13708
13709 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
13710
13711         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
13712
13713 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
13714
13715         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
13716         is called without trapping X errors.
13717
13718 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
13719
13720         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
13721         way into the fontset lists.
13722
13723 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
13724
13725         * gtk/gtkthemes.h: add extern "C" scope.
13726
13727 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
13728
13729         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
13730         to make appends to the list constant. (gtk-guy-990901-0.patch)
13731
13732 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
13733
13734         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
13735         for the typename hash table.
13736
13737 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
13738
13739         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
13740         to make sure we never divide by zero. 
13741         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
13742
13743 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
13744
13745         * gtk/gtkfontsel.c: Apply patch from
13746         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
13747         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
13748
13749         Also, some cleanups in atom handling.
13750
13751 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
13752
13753         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
13754         not GtkWidget.
13755
13756 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
13757
13758         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
13759         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
13760         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
13761         more guint wrap-around bugs before going to bed.
13762
13763 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
13764
13765         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
13766         guint wrap arounds in allocation.width.
13767
13768         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
13769         process untill we fit the allocation given.
13770
13771 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
13772
13773         * gtk/gtkwidget.c:
13774         (gtk_widget_unrealize): guard widget access with ref/unref
13775         around signal emission.
13776         (gtk_widget_hide): same here, but also check its destroyed
13777         state before queueing a resize.
13778
13779 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
13780
13781         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
13782         of gtk_default_insensitive_bg as insensitive base color.
13783
13784         * gtk/gtktext.c (gtk_text_style_set): set the background color according
13785         to the widget's state.
13786         (gtk_text_realize): same here.
13787         (gtk_text_state_changed): same here.
13788         (draw_bg_rect): compare background color against base[] from
13789         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
13790
13791 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
13792
13793         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
13794         grabs are active, unless a delete event is send to the toplevel
13795         of the currently grab holding widget.
13796
13797 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
13798
13799         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
13800         debugging g_print's.
13801
13802 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
13803
13804         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
13805         ever make the scrolled-window requisition ever depend on the 
13806         visibility state of the scrollbars for the AUTOMATIC policy. 
13807         This breaks the GTK+ requisition model, and causes loops.
13808
13809 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
13810
13811         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
13812         the default font to avoid problems with XFree86-4.0 where the
13813         default charset is iso10646-1, not iso8859-1.
13814
13815 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
13816
13817         * acinclude.m4
13818         * config.guess
13819         * config.sub
13820         * ltconfig
13821         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
13822
13823         * gtk/Makefile.am: minor cosmetic consistency tweak
13824
13825 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
13826
13827         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
13828         the activate_time to 0, so that we handle a quick
13829         press/release press/release properly and don't suppress
13830         the second release. (Red Hat bug #7545)
13831
13832 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
13833
13834         * gtk/gtkctree.c (row_delete):
13835         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
13836         bugs with destruction notifier, *always* update internal
13837         structures *before* calling user code.
13838
13839 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
13840
13841         A few more fixes for bug #5487, #2051, #2677.
13842         * gtk/gtkclist.c : 
13843         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
13844         not GDK_BUTTON_PRESS.
13845         (resync_selection): resync only if selection_mode is
13846         GTK_SELECTION_EXTENDED
13847         * gtk/gtkctree.c (resync_selection): same here
13848
13849 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
13850
13851         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
13852         gdk_drag_get_selection() and gtk_menu_detach().
13853
13854         [ From Jeroen Ruigrok/Asmodai ]
13855
13856 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
13857
13858         * gtk/gtknotebook.c (gtk_notebook_size_request): 
13859         page->tab_label can be NULL.
13860
13861 2000-01-25  Havoc Pennington  <hp@pobox.com>
13862         
13863         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
13864         arg is boolean
13865
13866         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
13867
13868         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
13869
13870         * gdk/gdkproperty.c (gdk_property_get): return boolean
13871
13872         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
13873
13874         * gdk/gdkim.c (gdk_im_ready): return boolean
13875
13876         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
13877
13878         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
13879         glib clash, should fix glib)
13880
13881         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
13882         (gdk_get_show_events): return gboolean, and canonicalize 
13883         to TRUE/FALSE
13884
13885         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
13886         colormap is private
13887         (gdk_colors_alloc): gboolean whether to be contiguous
13888         (gdk_color_equal): return gboolean since we are a predicate
13889         and not a qsort() (this looks semi-wrong due to glib breakage,
13890         IMO glib should be fixed)
13891         
13892         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
13893         (gdk_get_use_xshm): return gboolean
13894         (gdk_pointer_is_grabbed): return gboolean
13895
13896         * gdk/gdk.h: Change prototypes to match all the above changes,
13897         and re-run egtk-format-protos as required.
13898
13899 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
13900
13901         * gtk/gtkctree.c (resync_selection): 
13902         * gtk/gtkclist.c (resync_selection):
13903
13904         Return immediately if clist->drag_pos < 0. This is a workaround
13905         for the corrupt state that the clist gets into when a
13906         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
13907
13908         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
13909         
13910         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
13911         variable from recent commit.
13912
13913 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
13914
13915         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
13916
13917 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
13918
13919         * gtk/Makefile.am: prefix all autogenerated source that get build in
13920         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
13921         in builddir. since we subsequently cd into srcdir for autogeneration,
13922         the paths have to be stripped from the target file names, thusly we
13923         use $(@F) as target names now.
13924         put a comment about configure.in's --disable-rebuilds option,
13925         which can be used for non-writable source directories, for development
13926         setups though, srcdir has to be *writable*.
13927
13928 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
13929
13930         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
13931           Finish the job of allowing event to be NULL.
13932           (Fixes bug #4283, reported by Chris Blizzard)
13933
13934         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
13935           things so that the cursor appears on screen, properly
13936           take into account INNER_BORDER.
13937           (Fixes bug #4754, reported by Antonio Campos)
13938
13939 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
13940
13941         * gtk/gtknotebook.c (gtk_notebook_map): Don't
13942           show the tab_label unless it itself is visible.
13943
13944           gtk/gtknotebook.c (gtk_notebook_size_request):
13945           Do a better job of making sure that the visibility
13946           of the tab label corresponds to whether it should
13947           be mapped or not.
13948
13949 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
13950
13951         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
13952           Use the requisition, not the allocation, since the
13953           allocation has not necessarily been computed yet.
13954           (Pointed out by Eugene Osintsev)
13955
13956 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
13957
13958         * gtk/gtkstyle.c (gtk_style_new): Dont' set
13959           style/base[GTK_STATE_INSENSITIVE] both to
13960           gtk_default_insensitive_bg!
13961           (Bug #2187, reported by Jonathan Blandford)
13962
13963         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
13964           Add Alt_L, Alt_R to list of invalid accelerators.
13965           (Bug #3736, reported by Vlad Harchev)
13966
13967 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
13968
13969         * gtk/gtkfilesel.c (open_ref_dir): Fix several
13970         bugs which occured after an attempt to open 
13971         invalid home directory left cmpl_state->reference_dir == NULL.
13972
13973          - completion on files in home directory didn't work
13974          - completion on an empty string caused  segfault
13975
13976          (Bug #3678, reported by Steve Ratcliffe)
13977
13978         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
13979         cut and paste error that was causing scales to
13980         be incorrectly positioned.
13981         (Bug #2956,
13982          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
13983
13984 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
13985
13986         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
13987         when checking for dcgettext, if we've found we needed
13988         it for dgettext.
13989 +
13990 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
13991
13992         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
13993         queue_clear on NO_WINDOW widgets during a reparent,
13994         since at that point the window and widget heirarchies
13995         are out of sync. This stops crashing in some cases
13996         (the scrolled window reparent test, for instance), and
13997         _probably_ won't cause drawing errors.
13998
13999         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
14000         test do what it was supposed to do and be robust against
14001         window closings, etc. (Bug #2443)
14002
14003 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
14004
14005         * gtk/gtkentry.c: Fix return values on mouse events.
14006         (Bug #2686, Sky <seb_sky@yahoo.com>)
14007
14008         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
14009         (pointed out by George Lebl)
14010
14011         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
14012         (From Ettore Perazzoli  <ettore@helixcode.com>)
14013  
14014 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
14015
14016         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
14017         clicks between rows or outside calender area correctly.
14018         (Patch from Damon Chaplin)
14019
14020         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
14021         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
14022           Call destroy function when overwriting existing data. 
14023           (Pointed out by Damon Chaplin)
14024
14025 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
14026
14027         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
14028           which was causing problems on various systems with Xmu.
14029           This hasn't been needed for a very long time.
14030           (Fixes #1185 3167)
14031
14032 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
14033
14034         * gdk/gdki18n.h: Include <ctype.h> when defining
14035           gdk_isw* in terms of is* as a fallback.
14036           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
14037
14038 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
14039
14040         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
14041           realize the widget when it is size allocated!
14042           (old, old bug)
14043
14044         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
14045           Removed unused call to gdk_window_get_size() that
14046           showed up when the above was fixed.
14047
14048 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
14049
14050         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
14051           fix up widget->window when the widget is a
14052           NO_WINDOW container widget.
14053
14054 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
14055
14056         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
14057           to account for the fact that feof() does _not_ 
14058           return TRUE on errors, and thus avoid infinite loops
14059           when trying to use gdk_pixmap_create_from_xpm()
14060           on unreadable values.
14061
14062 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
14063
14064         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
14065
14066 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
14067
14068         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
14069           gdk_gc_set_dashes to take gint8 instead of gchar to
14070           make it clearer that it is _not_ a NULL terminated string.
14071
14072         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
14073           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
14074           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
14075           arguments.
14076
14077 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
14078
14079         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
14080         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
14081         background size relative to our allocation, guard against small
14082         allocations, we may have not yet been size allocated.
14083
14084 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
14085
14086         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
14087         not just version == 3. We implement all 3 + most of 4 - 
14088         (we don't support matching text/plain;charset=iso-8859-1
14089         to a dest that expects text/plain). We'll still advertise
14090         3 to be safe, but any client implementing version >= 3
14091         must interoperate with 3.
14092         
14093 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
14094
14095         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
14096         background and gc members, add a warning in gtk_tooltips_set_color()
14097         indicating that this function is deprecated.
14098
14099 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
14100
14101         * docs/gtkfaq.sgml: FAQ Update:
14102           - Minor cleanups (Emmanuel, me)
14103           - New questions:
14104                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
14105                 How can I retrieve the text from a GtkMenuItem? (timj)
14106                 How do I validate/limit/filter the input to a GtkEntry? (me)
14107                 Memory does not seem to be released when I free the list
14108                         nodes I've allocated (timj)
14109
14110 2000-03-07  Tor Lillqvist  <tml@iki.fi>
14111
14112         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
14113         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
14114         for which it is no use to call GetLastError onWin9x.
14115         (gdk_other_api_failed) New function, for general error
14116         reporting without calling GetLastError.
14117         (gdk_win32_api_failed) OTOH, this function always calls
14118         GetLastError. (gdk_win32_last_error_string) Remove this function,
14119         GLib has the equivalent now.
14120
14121         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
14122         call them with function name, file name and line number in the
14123         arguments.
14124
14125         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
14126         functions.
14127         
14128         * gtk/gtk.def: Add some missing entry points.
14129
14130         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
14131         gtk_paned_set_gutter_size, which don't exist any longer, as void.
14132         
14133         Fixes by Hans Breuer:
14134
14135         * gdk/makefile.msc: Update for debugging.
14136
14137         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
14138         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
14139         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
14140         in the dash_list.
14141
14142         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
14143         the x11 backend.
14144
14145         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
14146
14147         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
14148
14149 2000-03-04  Tor Lillqvist  <tml@iki.fi>
14150
14151         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
14152         just pixel value of background colour.
14153
14154         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
14155         containing code snippet previously duplicated in a couple of
14156         places.
14157         
14158         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
14159         gdk_colormap_color.
14160
14161         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
14162         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
14163         events for autorepeated Shift, Control and Alt keys. Use
14164         gdk_colormap_color.
14165
14166         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
14167         pointer is inside the window the cursor of which we are setting,
14168         call SetCursor immediately.
14169
14170         * gdk/win32/makefile.cygwin
14171         * gtk/makefile.cygwin: If we don't have the build number stamp
14172         file, use zero.
14173
14174         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
14175         gtk_paned_set_gutter_size as empty.
14176
14177         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
14178         
14179 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
14180
14181         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
14182           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
14183           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
14184           docs/gtk_tut.sgml docs/gtk.texi TODO:
14185
14186           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
14187
14188 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
14189
14190         * gtk/gtkcalendar.c: Implement num_marked_dates,
14191           and don't emit mutiple day_selected signals on
14192           month_prev.
14193
14194 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
14195
14196         * docs/make-todo (lineno): let title and logo be configurable so
14197         that GNOME can use this script too.
14198
14199         * TODO.xml: added logourl and a title
14200
14201 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
14202
14203         * TODO.xml: Added some UI items, and an explanatory
14204         comment at the top of the file.
14205
14206 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
14207
14208         * TODO.xml: some updates, added abunch of new entries.
14209         a note for those fiddeling with this file, when done
14210         with it, invoke:
14211         $ ./docs/make-todo TODO.xml >/dev/null
14212         and correct output errors before comitting changes.
14213
14214 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
14215
14216         * TODO.xml: Added XML-structured TODO file.
14217         * docs/make-todo: python script to turn TODO.xml into
14218           pretty XML output. 
14219
14220 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
14221
14222         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
14223         the function to let it draw the seven dots, instead of the old,
14224         much maligned, method.
14225         (draw_dot): New function to draw a dot.
14226
14227         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
14228         to draw the handle inside the border width as opposed to outside.
14229         Use paint function instead of gdk_draw_point.
14230
14231         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
14232         to draw the handle inside the border width as opposed to outside.
14233         Use paint function instead of gdk_draw_point.
14234
14235         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
14236         Change indenting to be more GTK like.
14237
14238 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
14239
14240         * docs/gtk_tut.sgml: New section on GtkCalendar
14241         * examples/calendar: Update example code
14242
14243 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
14244
14245         * docs/gtkfaq.sgml: FAQ Update
14246
14247 2000-02-19  Anders Carlsson  <andersca@gnu.org>
14248
14249         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
14250         to prevent the scroll event to be propagated upwards.
14251
14252 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
14253
14254         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
14255         OwnerGrabButtonMask from button entries for
14256         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
14257
14258         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
14259         to the event mask (which will result in button/press release
14260         being added to the event mask on Unix) so scrolling works
14261         for layouts in scroll windows.
14262
14263         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
14264
14265         Patch from Anders Carlsson  <andersca@gnu.org> to add
14266         a scroll event.
14267
14268         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
14269         scrolling to the "Test Scrolling" part of testgtk.
14270  
14271         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
14272  
14273         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
14274         it against GDK_SCROLL.
14275  
14276         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
14277         way of mouse wheel scrolling.
14278  
14279         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
14280  
14281         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
14282  
14283         * gtk/gtkmain.c: Removed previous mouse wheel hack.
14284  
14285         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
14286         gdk_event_mask_table.
14287  
14288         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
14289         GdkEventScroll handler.
14290  
14291         * gdk/gdkevents.h: Added GdkEventScroll structure.
14292  
14293 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
14294
14295         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
14296         and Anders Carlsson to change the Paned widgets so that they
14297         can be dragged from anywhere along the length. Also change
14298         the way that this is drawn to make this apparent.
14299
14300         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
14301         from George Lebl to check that option_menu->menu is present
14302         before getting history.
14303
14304 2000-02-14  Tor Lillqvist  <tml@iki.fi>
14305
14306         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
14307         before the assertion for non-NULL segment list.
14308
14309         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
14310         Seems that pattern brushes *must* be 8x8 pixels! At least on my
14311         machine, but it might be display driver dependent. Sigh, so make
14312         sure the stipple is that size. Does Windows suck or what?
14313
14314         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
14315         places.
14316
14317 2000-02-13  Havoc Pennington  <hp@pobox.com>
14318
14319         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
14320         refcount to 1
14321         (gdk_cursor_new): init refcount to 1
14322
14323         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
14324
14325 2000-02-13  Tor Lillqvist  <tml@iki.fi>
14326
14327         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
14328         so that we don't have to do unnecessary settings to the HDC.
14329
14330         * gdk/win32/gdkdrawable-win32.c
14331         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
14332         gdk_gc_predraw.
14333
14334         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
14335         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
14336         GDI paths, call WidenPath to get the outline of the stroken path,
14337         and then fill the outline (with the brush that was built from the
14338         stipple).
14339
14340         * gdk/win32/gdkgc-win32.c: Factor out common code from
14341         _gdk_win32_gc_new and gdk_win32_gc_set_values into
14342         gdk_win32_gc_values_to_win32values. Use correct colour for
14343         SetBkColor() (Until now the code actually used a random colour in
14344         the call to SetBkColor()... but that didn't show up as not many
14345         GDI APIs use the background colour. Pattern (opaque stippled)
14346         brushes do.)
14347
14348         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
14349         gdk_win32_api_failed): New functions for error logging.
14350
14351         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
14352         WIN32_API_FAILED to call them, passing function or file name and
14353         line number.
14354
14355         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
14356
14357         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
14358         GdkColor for foreground and background in GdkGCWin32Data.
14359
14360         * gdk/makefile.cygwin: Link in the resource object separately.
14361
14362         * gdk/win32/rc/gdk.rc
14363         * gtk/gtk.rc (New file)
14364         * gdk/win32/makefile.cygwin
14365         * gtk/makefile.cygwin: Update build number in DLLs automatically,
14366         as in GLib.
14367
14368 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
14369
14370         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
14371         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
14372         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
14373         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
14374         parameters given and cursor->ref_count. coding style fixups.
14375
14376         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
14377         not GtkWidget.
14378         
14379         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
14380         fix up widget macros and add _GET_CLASS() variant.
14381         
14382         * gtk/*.c: some GtkType fixups.
14383
14384 2000-02-09  Tor Lillqvist  <tml@iki.fi>
14385
14386         * gdk/win32/gdkproperty-win32.c
14387         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
14388         were reversed.
14389
14390 2000-02-04  Tor Lillqvist  <tml@iki.fi>
14391
14392         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
14393         g_filename_to_utf8 to convert the font names Windows gives us from
14394         whatever is the default codepage to UTF-8.
14395         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
14396         in the other direction.
14397
14398         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
14399         error in debugging output.
14400
14401 2000-02-02  Tor Lillqvist  <tml@iki.fi>
14402
14403         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
14404         and height parameters to gdk_window_clear_area(). Not minus one.
14405
14406 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
14407
14408         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
14409         checks if the widget passed to gtk_drag_get_data() was not the
14410         dest widget.
14411
14412 2000-02-01  Tor Lillqvist  <tml@iki.fi>
14413
14414         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
14415         g_filename_from_utf8 functions (which were added a moment ago to
14416         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
14417         size buffers.
14418
14419         gtk_file_selection_get_filename returns the filename in the C
14420         runtime encoding. It calls g_filename_from_utf8, but copies the
14421         returned string to a static buffer, which is returned. I think
14422         this is better than returning the result from g_filename_from_utf8
14423         directly, which would mean all apps that use it would have to free
14424         the return value. Or should this function care about this issue at
14425         all? Maybe a new function with clearly defined semantics.
14426
14427         * gtk/gtkfilesel.h: Add comment about
14428         gtk_file_selection_get_filename returning the filename in the C
14429         runtime's encoding.
14430
14431         * README.win32
14432         * gdk/gdk.def
14433         * gdk/makefile.{cygwin,msc}
14434         * gtk/gtk.def: Updates.
14435
14436         * gdk/gdkcursor-win32.c: Initialise refcount.
14437
14438 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
14439
14440         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
14441
14442 2000-01-30  Havoc Pennington  <hp@pobox.com>
14443
14444         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
14445         destroy
14446
14447         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
14448
14449         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
14450         implemented in platform-specific code
14451
14452         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
14453
14454         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
14455         underscore in front
14456
14457         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
14458         put an underscore in front
14459
14460         * gdk/gdkcursor.c: new file, implements
14461         gdk_cursor_ref/gdk_cursor_unref
14462
14463         * gdk/gdkcursor.h: Refcount GdkCursor
14464
14465         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
14466
14467 2000-01-29  Tor Lillqvist  <tml@iki.fi>
14468
14469         * gdk/gdkwindow.h
14470         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
14471
14472 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
14473
14474         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
14475         structures to properly inherit from GtkWidget not GtkBin.
14476
14477 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
14478
14479         * gtk+.spec.in: Added lib/gtk+/include/* to %files
14480         (bug #5178 - Peter Wainright)
14481         
14482         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
14483         so that it will be installed.
14484         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
14485
14486 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
14487
14488         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
14489         for the GtkStyleClass vtable const.
14490
14491         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
14492         take a const string argument like GtkTranslateFunc. This will
14493         require changes in use code.
14494
14495 2000-01-19  Tor Lillqvist  <tml@iki.fi>
14496
14497         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
14498         semantics (to mimic the X11 backend, which just calls XClearArea)
14499         is to check for zero width (and height), and in that case use the
14500         window's width minus x (height minus y). This fixes for instance
14501         some redraw problems with gtkclist, which were easily noticeable
14502         in the gtk file selection widget.
14503
14504         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
14505         windows.
14506
14507 2000-01-13  Tor Lillqvist  <tml@iki.fi>
14508
14509         * configure.in
14510         * gdk/Makefile.am
14511         * gdk/x11/Makefile.am
14512         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
14513         (bug #5177).
14514         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
14515         out later.
14516
14517 2000-01-09  Tor Lillqvist  <tml@iki.fi>
14518
14519         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
14520         WM_MOVE for iconified or invisible windows. This fixes various
14521         problems when minimising windows. Thanks to Bernd Herd.
14522
14523 2000-01-05  Tor Lillqvist  <tml@iki.fi>
14524
14525         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
14526         backend's draw_lines method, not draw_points.
14527
14528 2000-01-02  Tor Lillqvist  <tml@iki.fi>
14529
14530         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
14531         before Owen's reorganisation: Don't have queued_events and
14532         queued_tail statics in this file, but use gdk_queued_events and
14533         gdk_queued_tail. This makes exposure event compression work again.
14534
14535         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
14536         seem to be needed?
14537
14538 1999-12-30  Tor Lillqvist  <tml@iki.fi>
14539
14540         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
14541         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
14542         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
14543         doesn't do anything.
14544
14545         * gdk/gdk.def: Add gdk_xid_table_insert.
14546
14547         * gdk/win32/gdkprivate-win32.h
14548         * gdk/win32/gdkevents-win32.c
14549         * gdk/win32/gdkinput-win32.c
14550         
14551         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
14552         extension_events field in the GdkWindowWin32Data struct. Use only
14553         the extension_events field in GdkWindowPrivate. Previously one was
14554         set, and the other one tested, which broke tablet
14555         functionality. Thanks to Keishi Suenaga for pointing this out.
14556
14557 1999-12-18  Tor Lillqvist  <tml@iki.fi>
14558
14559         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
14560         When handling a single character (text length == 1), don't handle
14561         it as if it was UTF-8.
14562
14563 1999-12-11  Tor Lillqvist  <tml@iki.fi>
14564
14565         * Makefile.am: Distribute README.win32.
14566         
14567         * gdk/Makefile.am
14568         * gdk/win32/Makefile.am: Distribute Win32 files.
14569
14570         * gdk/makefile.msc: New file.
14571
14572         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
14573         after label).
14574
14575         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
14576         gdk_error_code as GDKVAR, as they are referred outside GDK.
14577
14578         * gdk/win32/makefile.msc: Update.
14579
14580         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
14581         tweaks. Check only if at least one of those Unicode subrange bits
14582         we care for is set. If no code page bits are set, guess (wildly)
14583         based on the charset.
14584
14585         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
14586
14587         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
14588         non-NULL.
14589
14590         * gtk/gtkdnd.c
14591         * gtk/gtklayout.c
14592         * gtk/gtkplug.c
14593         * gtk/gtkselection.c
14594         * gtk/gtksocket.c
14595         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
14596         appropriate. There must be a cleaner way to handle this?
14597
14598         * gtk/gtkrc.c: Must include windows.h on Win32.
14599
14600         * gtk/testgtk.c: No need to include gdkx.h.
14601
14602         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
14603
14604 1999-12-07  Tor Lillqvist  <tml@iki.fi>
14605
14606         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
14607         the rbearing is set to the same as the width, but this should be
14608         fixed.
14609
14610 1999-12-06  Tor Lillqvist  <tml@iki.fi>
14611
14612         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
14613         function. If Windows doesn't tell us what Unicode subranges a font
14614         covers, guesstimate based on the codepages it covers. This will
14615         hopefully help those Windows versions or fonts that don't give us
14616         any useful Unicode subrange information with GetTextCharsetInfo.
14617         Call this function in gdk_font_load_internal.
14618
14619         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
14620         minor changes.
14621
14622 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
14623
14624         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
14625         New function, long needed.
14626
14627 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
14628
14629         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
14630         only_if_exists argument of gdk_atom_intern to
14631         bool.
14632
14633 1999-11-25  Tor Lillqvist  <tml@iki.fi>
14634
14635         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
14636         Fix two copy&paste errors.
14637
14638         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
14639         win32 has changed.
14640
14641         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
14642         GdkWin32SingleFont struct.
14643
14644         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
14645         subranges of loaded fonts. Clear font signature first, in case
14646         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
14647         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
14648
14649         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
14650         Unoffset clip region.
14651
14652 1999-11-23  Tor Lillqvist  <tml@iki.fi>
14653
14654         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
14655         event->any.window before calling filter functions.
14656
14657 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
14658
14659         * gtk/gtkgamma.h: Adapt cast macros to standard.
14660
14661 [ Merges from 1.2 ]
14662
14663 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
14664
14665         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
14666         If translation does not include a '/', use entire
14667         translation instead of crashing.
14668
14669 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
14670
14671         * docs/gtk_tut.sgml:
14672         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
14673
14674 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
14675
14676         * gtk/gtkselection.c (gtk_target_list_remove): Use
14677         g_list_remove_link, not g_list_remove.
14678
14679         [ From Geert Bevin <gbevin@thunderstorms.org> ]
14680         
14681 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
14682
14683         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
14684         statement upon unselection (how the heck did that slip in?).
14685
14686 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
14687
14688         * gtk/gtktext.c (gtk_text_freeze): 
14689         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
14690         in frozen state (and aparently crashes). patch provided by Anders
14691         Melchiorsen <and@kampsax.dtu.dk>.
14692
14693 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
14694
14695         * fix insensitive default/focus widget activation,
14696         reported by Matt Goodall <mgg@isotek.co.uk>.
14697
14698         * gtk/gtkwindow.c (gtk_window_key_press_event): 
14699         (gtk_window_activate_default):
14700         (gtk_window_activate_focus):
14701         return handled=FALSE for actiavtion of insensitive default
14702         widgets. return handled=TRUE for activation of insensitive
14703         focus widgets. don't activate in either case.
14704
14705 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
14706
14707         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
14708         and $glib_cflags to match library order and in the
14709         theory that an old version of GLib is more likely to
14710         be in the include directory for X then vice-versa.
14711         (Bug #2776)
14712
14713 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
14714
14715         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
14716         to determine the locale for fontsets, not LC_MESSAGES;
14717         the user may want English messages with a handling
14718         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
14719         will still be broken) (Bug #2891)
14720
14721 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
14722
14723         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
14724
14725 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
14726
14727         * gtk/gtkrc.ko: Changed the Korean default fontset.
14728
14729 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
14730
14731         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
14732         where when scrolling to the left or top double exposes
14733         were done, causing major slowdowns.
14734
14735 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
14736
14737         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
14738         names to lowercase and alphanumeric, before looking
14739         them up.
14740
14741         * gtk/Makefile.am: Install codeset variant gtkrc files
14742         with normalized names.
14743
14744 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
14745
14746         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
14747         popup menus when the menu is already visible, but its parent
14748         is still hidden, (happens after tornoff window got hidden).
14749
14750 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
14751
14752         * gtk/Makefile.am (install-data-local): Fix
14753         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
14754         deleted, causing error messages on install.
14755
14756 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
14757
14758         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
14759         the handle as well, since we now sometimes ignore
14760         exposes on the handle while resizing.
14761
14762 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
14763
14764         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
14765         extra g_free introduced in one of the last one or two 
14766         commits.
14767
14768 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
14769
14770         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
14771         consistent, put each style that a gtkrc.* file creates
14772         in a unique namespace, remove old files before installing.
14773
14774 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
14775
14776         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
14777         gtk_rc_init is called multiple times. (Yes, people who
14778         do that have bugs in their code.)
14779
14780 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
14781
14782         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
14783         Remove it since it's generated by the Makefile anyway
14784
14785 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
14786
14787         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
14788         device->info.axes for core pointer.
14789
14790 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
14791
14792         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
14793         idle_id, to deal with obsolete, broken C libraries.
14794
14795 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
14796
14797         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
14798         allocation->x/y twice!
14799
14800         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
14801         consistent with gtk_vscale_pos_trough().
14802
14803 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
14804
14805         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
14806         be queueing a resize on a toplevel container between
14807         the time we show it and when we map it. So, we need
14808         to test GTK_WIDGET_VISIBLE() for toplevels, and only
14809         use GTK_WIDGET_DRAWABLE() for child windows.
14810
14811 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
14812
14813         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
14814         (fixes bug #2144)
14815
14816 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
14817
14818         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
14819         container DRAWABLE (instead of VISIBLE), so we don't queue
14820         resizes on non-toplevel containers.
14821
14822 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
14823
14824         * gtk/gtkselection.[ch]: Make the data argument
14825         const guchar *.
14826
14827 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
14828
14829         * gtk/gtkwindow.c: Try to behave sensibly if 
14830         the focus widget is the window itself. (Should
14831         we allow this at all?)
14832
14833 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
14834
14835         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
14836         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
14837         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
14838         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
14839         in prototypes and implementations consistent (Tomas Ogren).
14840
14841         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
14842         before the widget is unparented (reported by damon).
14843
14844         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
14845         since we provide unsigned data anyways.
14846
14847 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
14848
14849         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
14850         the call to gtk_tooltips_layout_text() until later.
14851
14852         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
14853         Call gtk_widget_ensure_style() before using the style.
14854
14855 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
14856
14857         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
14858         for old widgets that don't propagate draws to all
14859         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
14860
14861 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
14862
14863         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
14864         for a redraw but just the widget that requested the resize.
14865
14866 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
14867
14868         * gtk/gtkcontainer.c: added new widget level method
14869         gtk_container_set_reallocate_redraws() and a GtkContainer flag
14870         reallocate_redraws : 1 to reflect the setting, exported this through
14871         the argument system as a boolean ::reallocate_redraws.
14872
14873         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
14874         on the widget because the allocation changes, do so as well for
14875         widget->parent if the parent has reallocate_redraws set to TRUE.
14876         with that containers requesting reallocation redraws get automatically
14877         redrawn if their children changed allocation (this unfortunately
14878         affects also other children that didn't change allocation, but we
14879         cannot work around that before 1.3).
14880
14881 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
14882
14883         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
14884         _and_ height are >0 (not _or_).
14885
14886         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
14887         instead of gtk_container_queue_resize(), which is a core gtk internal
14888         function (must have been on crack when i queued that).
14889
14890         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
14891         we can check more reliably if we want to discard expose events.
14892         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
14893         flag.
14894         
14895         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
14896         we simply trust these events. for deciding whether to discard exposes,
14897         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
14898         
14899 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
14900
14901         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
14902         queues of areas that are completely off screen.
14903
14904         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
14905         logic for handleboxes.
14906
14907         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
14908         check on width/height.
14909
14910 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
14911
14912         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
14913         we are fine with using $@ the way we do (if we actually encounter
14914         brokeness with $@ in VPATH builds because of additional path prefixes,
14915         we need to use $(@F) actually).
14916
14917 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
14918
14919         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
14920         short lived bugs, that would allow language bindings to do surgeries
14921         to our guts.
14922
14923 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
14924
14925         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
14926         where comparison was being done against an uninitialized
14927         value causing intermittant results depending on
14928         compiler flags. Also make it clearer that we aren't
14929         ever initializing the child as 0x0 (though this will
14930         be caught in gtk_widget_size_allocate())
14931
14932 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
14933
14934         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
14935         gtk_window_unset_transient_for() call after we do checks
14936         involving the old transient parent.
14937         [ From Lance Capser <lmc@cyberhighway.net> ]
14938
14939 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
14940
14941         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
14942         an empty file.
14943
14944 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
14945
14946         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
14947         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
14948
14949 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
14950
14951         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
14952         `$@' is valid only in the build dir, not after we've done 
14953         `cd $srcdir'.  Also use `test -f' instead of less portable
14954         `test -e'.
14955
14956 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
14957
14958         * gtk/gtktext.c (correct_cache_insert): Rewrite
14959          for simplicity, and hopefully correctness.
14960          (Fixes bug #1322, which was a segfault when
14961           on some insertions with the properties around
14962           the insertion set up just wrong.)
14963
14964         * gtk/gtktext.c (gtk_text_adjustment): When we receive
14965          a "changed" signal, clamp the new value to the adjustment
14966          bounds to avoid segfaulting if someone tries to change
14967          the adjustment to a bogus value. (Bug #1795)
14968
14969 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
14970
14971         * gtk/gtkmain.c: Ignore unexpected destroy notifies
14972         for children, for toplevel windows handle them
14973         like delete_event.
14974
14975         * gtk/gtkplug.c: Add an unrealize handler so that
14976         we unref plug->socket_window when we are done
14977         with it.
14978
14979 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
14980
14981         * gtk/gtktext.c (clear_area): Fix stupid signedness
14982          problem that was causing background to sometimes
14983          be misaligned.
14984
14985 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
14986
14987         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
14988         
14989         * gtk/gtkmenu.c (gtk_menu_position): Make
14990          sure we never position menus with negative x, y,
14991          since gtk_widget_set_uposition() can't handle that.
14992
14993         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
14994          Modify the positioning code a bit so that we always
14995          put the top-left corner onscreen. (This is for
14996          UI reasons, gtk_menu_position() now takes care of
14997          gtk_widet_set_uposition() brokeness.)
14998
14999 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
15000
15001         * gtk/Makefile.am: fixed up things for -jx, x > 1.
15002
15003 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
15004
15005         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
15006           RC style that is passed in. The lack of the ref
15007           before was a bug. If people worked around this
15008           bug, this will introduce a slight memory leak
15009           in their code. The code should typically look like:
15010
15011             rc_style = gtk_rc_style_new ();
15012             [...]
15013             gtk_widget_modify_style (widget, rc_style);
15014             gtk_rc_style_unref (rc_style);
15015
15016         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
15017           the style if it was already set.
15018
15019         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
15020           style if it was set before.
15021
15022 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
15023
15024         * gtk/testgtk.c (main): Add a check to see if we
15025           are being run from the correct directory and
15026           to quit nicely if we are not.
15027
15028         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
15029           static.
15030
15031 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
15032
15033         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
15034
15035         * gtk/gtkwindow.c:
15036         queue resizes unconditionally (gtk_widget_queue_resize will figure
15037         what to do if the window is not realized).
15038         (gtk_window_move_resize): only recenter the window
15039         for GTK_WIN_POS_CENTER_ALWAYS.
15040         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
15041         the same way as GTK_WIN_POS_CENTER.
15042
15043 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
15044
15045         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
15046         with (!(info->last_flags & GDK_HINT_POS)) instead of
15047         (!info->last_flags & GDK_HINT_POS).
15048
15049         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
15050         new_height unconditionally, because we use these values even if
15051         !default_size_changed && !hints_changed.
15052         comented the (default_size_changed || hints_changed) case with
15053         respect to resize rejects from the window manager.
15054
15055         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
15056         in the zvt condition hack, since this includes the window hints, set
15057         the hints after the handling_resize case.
15058
15059         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
15060         window is initially shown with to the geometry.
15061
15062 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
15063
15064         * gtk/gtkwindow.c (gtk_window_move_resize):
15065         s/size_changed/default_size_changed/g so i know what's
15066         really going on (frying brain on smaller flame now).
15067
15068 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
15069
15070         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
15071         we have size_changed upon handling_resize. this is a gross
15072         workaround for the broken zvt widget and should be removed in
15073         1.3 again (search for FIXME).
15074         Owen provided an accurate comment for this:
15075
15076         /* We could be here for two reasons
15077          *  1) We coincidentally got a resize while handling
15078          *     another resize.
15079          *  2) Our computation of size_changed was completely
15080          *     screwed up, probably because one of our children
15081          *     is broken. It's probably a zvt widget.
15082          *
15083          * For 1), we could just go ahead and ask for the
15084          * new size right now, but doing that for 2)
15085          * might well be fighting the user (and can even
15086          * trigger a loop). Since we really don't want to
15087          * do that, we requeue a resize in hopes that
15088          * by the time it gets handled, the child has seen
15089          * the light and is willing to go along with the
15090          * new size. (this happens for the zvt widget, since
15091          * the size_allocate() above will have stored the
15092          * requisition corresponding to the new size in the
15093          * zvt widget)
15094          *
15095          * This doesn't buy us anything for 1), but it shouldn't
15096          * hurt us too badly, since it is what would have
15097          * happened if we had gotten the configure event before
15098          * the new size had been set.
15099          */
15100
15101 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
15102
15103         * gtk/gtkrc.c: deal properly with the fact that RC
15104           style lists may include rc styles more than once.
15105
15106         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
15107           unused static function.
15108
15109         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
15110           stack of directories of RC files currently being
15111           parsed and implicitely add them to pixmap path.
15112           
15113           This fixes a bug where the directory would get
15114           appended then overwritten by pixmap_path declarations.
15115
15116           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
15117
15118         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
15119           theme's exit function. (Patch from Peter Wainwright,
15120           bug #1454)
15121
15122         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
15123           Add a destroy() handler to take care of removing
15124           group for menu item. (Fixes bug #1197)
15125
15126         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
15127           in warning message.
15128
15129 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
15130
15131         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
15132         roundtrip to figure window's width and height, since we know that
15133         anyways from widget->allocation.
15134
15135 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
15136
15137         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
15138           the hints after we request the new size.
15139
15140 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
15141
15142         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
15143           GTK_WIDGET_REALIZED() assertion - we can compute the
15144           hints before we are realized.
15145
15146         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
15147           hint changing so that we have a value of hints_changed
15148           when we decide whether to constrain the window size.
15149
15150         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
15151
15152         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
15153         change back to G_MAXINT.
15154
15155 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
15156
15157         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
15158         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
15159         contain uncluttered values.
15160         (gtk_window_compute_hints): simply assert that window is realized
15161         and that geometry_info is valid, since we rely on this anyways.
15162         (gtk_window_constrain_size): major cleanups to the code.
15163         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
15164         for the base size, instead of the minimums. use 32767 as max width
15165         and height (like in gtkwindow.c) instead of G_MAXINT.
15166
15167 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
15168
15169         * cleaned up the GtkContainer.need_resize flag handling mess, we
15170         only need to force resize requests when we were prematurely
15171         realized, or our widget tree was modified when we were temporarily
15172         hidden. handling these cases directly upon showing the window (i.e.
15173         while the GdkWindow is still unmapped) avoids the need to wait for
15174         a configure event response and therefore makes the GUI more snappier
15175         and avoids blank windows during the roundtrip.
15176
15177         * gtk/gtkwidget.c:
15178         (gtk_widget_hide): 
15179         (gtk_widget_show): don't queue resizes on toplevels, they know how
15180         to deal with matters.
15181
15182         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
15183         flag directly for not visible resize containers and spare us unecessary
15184         signal emissions.
15185
15186         * gtk/gtkwindow.c:
15187         (gtk_window_realize): if we need to enforce premature size allocation,
15188         queue a container resize so we are correctly resized later on.
15189         (gtk_window_init):
15190         (gtk_window_size_request):
15191         don't freak around with the ->need_resize flag,
15192         gtk_container_queue_resize() will care about that.
15193         (gtk_window_show):
15194         handle initial resizing issues here, we can handle matters better in
15195         this place, especially since we know that our GdkWindow is still
15196         unmapped.
15197         (gtk_window_move_resize):
15198         don't care about ->need_resize at all.
15199         handle size changes properly that occoured while we waited for a
15200         configure event.
15201
15202 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
15203
15204         * gtk/gtkwidget.c (gtk_widget_set_uposition):
15205         * gtk/gtkwindow.[hc] (gtk_window_reposition):
15206         Move the hint setting code from gtk_widget_set_uposition
15207         to here; set the hints so that we respect any previously
15208         set geometry hints.
15209
15210         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
15211         change the window hints here or move the window here,
15212         let that happen in gtk_window_move_resize().
15213
15214 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
15215
15216         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
15217         to already queued resizes (and therefore redraws) on a widget, check
15218         its anchestry as well.
15219
15220         * gtk/gtkcontainer.c:
15221         (gtk_container_queue_resize): clear resize widgets for resize
15222         containers before aborting prematurely. this is especially important
15223         for toplevels which may need imemdiate processing or their resize
15224         handler to be queued.
15225         (gtk_container_dequeue_resize_handler): added new internal function for
15226         gtkwindow.c.
15227
15228         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
15229         configure event, take possible changes in window position into account
15230         as well.
15231         if we request a new window size, queue up a resize handler that will
15232         last until the configure event response arrives.
15233         combined the ->need_resize case (initial show) with the general size
15234         (hints) changed case and added even more comments.
15235         if !auto_shrink, only revert to the old allocation if the new size
15236         is smaller than the current allocation.
15237
15238 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
15239
15240         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
15241                            gtk_window_set_geometry_hints
15242                            gtk_window_set_default_size):
15243         When hints are set, queue a resize so that the hints will
15244         be eventually reset on the toplevel.
15245
15246         * gtk/gtkwindow.c (gtk_window_show): Use
15247         gtk_window_compute_default_size(). Clear the need_resize flag
15248         on the initail map so that we don't unnecessarily trigger the
15249         resize code.
15250
15251         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
15252         into separate functions. Compare the hints we are setting
15253         with what we set last time so that we can accurately
15254         tell when we need to reset the hints.
15255
15256         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
15257         function to figure out the size from requisition
15258         and default_size.
15259
15260         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
15261         from fvwm to constrain a size to the geometry hints.
15262
15263         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
15264         to compare two sets of geometry hints.
15265
15266         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
15267         from gtk_window_set_hints(), just compute the hints,
15268         don't set them.
15269
15270         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
15271         code from gtk_window_move_resize() to separate function,
15272         rationalize a bit.
15273
15274 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
15275
15276         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
15277         structure into a new private structure.
15278
15279         * gtkrc.c: Split GtkRcStyle into public/private.
15280         In the private part, add a list of pointers to the
15281         RcStyle lists this RcStyle participates in.
15282
15283         * gtkrc.c: When a RcStyle is free, remove all
15284         lists referencing it from the 
15285         realized_style_ht hash, and free those lists.
15286         
15287         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
15288         gtk_rc_init(), since that adds the default styles
15289         to the list of parsed RC files again.
15290
15291         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
15292         
15293 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
15294
15295         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
15296         checks that ensure that a widget's allocation is at least 1 in width
15297         and height. (GNOME note: this doesn't affect old panel code anymore,
15298         because GtkSocket will request width and height of at least 1 since
15299         Fri Jul 23).
15300
15301         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
15302         allocated yet (happens if the user realizes the window prematurely),
15303         size request and allocate it.
15304         (gtk_window_size_allocate): guard against guint underflows.
15305
15306 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
15307
15308         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
15309         in gtk_built_sources, so gtk.defs gets built prior to all other
15310         sources.
15311
15312 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
15313
15314         * gtk/Makefile.am:
15315         invoke indent on gtkmarshal.*. 
15316         rewrote source generation rules, use COPYING as oldest source tag for
15317         a piggyback rule to generate all sources from (don't touch it ;).
15318         major cleanups, strip spaces on build rules for GNU Make.
15319
15320         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
15321         source and target files from commandline arguments. don't invoke indent.
15322
15323 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
15324
15325         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
15326         notebook after switch to avoid drawing problems.
15327         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
15328         
15329         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
15330         show them instead. 
15331         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
15332
15333 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
15334
15335         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
15336         notebook after switch to avoid drawing problems.
15337         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
15338         
15339         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
15340         show them instead. 
15341         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
15342
15343 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
15344
15345         * gtk/gtkwindow.c:
15346         we use window->need_resize from configure_event now, to indicate that
15347         the gtkwindow should keep its allocation (e.g. because the user resized
15348         the window through window manager handles). resize_count is now reliably
15349         used to figure whether we got the allocation we requested from the
15350         window manager.
15351         configure events get queued as resizes now, the real stuff (size
15352         computation and allocation) now only goes on in gtk_window_move_resize().
15353         GtkWindow's requisition now contains its *real* requisition (like all
15354         other widgets), *not* taking usize into account.
15355         geometry_info->last_{width|height} is now updated from set_hints() only
15356         so it always contains the last hints we set for the window manager.
15357         made some event handlers return TRUE instead of FALSE.
15358         the overall code should be much more straight forward now, and the
15359         significant code portions are accompanied by comments now.
15360         (gtk_window_set_hints):
15361         removed requisition argument and made it
15362         fetch the requisition through gtk_widget_get_child_requisition.
15363         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
15364         does that now.
15365         (gtk_window_show):
15366         ensure that the widget is realized before calling 
15367         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
15368         ensure that we got properly size requested and allocated before
15369         realization.
15370         (gtk_window_configure_event):
15371         ignore plain window moves, or reallocate the widget tree through the
15372         resize queue otherwise.
15373         (gtk_window_move_resize):
15374         mostly rewrote this function to figure window manager hints more
15375         reliably, coalesce window moves and resizes to reduce configure events
15376         and do actuall size allocations.
15377
15378 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
15379
15380         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
15381         that have a resize pending, because a redraw is already queued for them.
15382
15383         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
15384         hack to clear resize_widgets.
15385
15386         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
15387         for resize containers prior to size allocation. (this is also a bit
15388         ugly, but avoids side effects for stopped emissions and is thus more
15389         reliable).
15390         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
15391
15392         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
15393         function from gtk_tooltips_expose, as we connect to ::expose_event
15394         *and* ::draw now.
15395
15396 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
15397
15398         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
15399         checks.
15400         (gtk_target_list_unref): Likewise.
15401
15402         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
15403
15404 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
15405
15406         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
15407         guard against division by zero. (Fixes bug #1339)
15408
15409 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
15410
15411         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
15412         Prevent the trivial leak of information of allowing
15413         word motion when the entry is not visible.
15414
15415 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
15416
15417         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
15418         modality to error dialog as well as confirmation dialogs.
15419         (Bug #1803, reported by Rosanna Wing Sze Yuen)
15420
15421 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
15422
15423         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
15424         tree->view_lines.
15425         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
15426
15427         * gtk/Makefile.am (install-data-local): Solaris apparently
15428         has various troubles with ln -f; use rm first instead.
15429         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
15430
15431 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
15432
15433         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
15434         use `cp' followed by `rm' (the `rm' was already there).
15435
15436 July 30, 1999 Elliot Lee <sopwith@redhat.com>
15437         
15438         * configure.in: Fix autoconf warnings about cross compilation by
15439         trying to provide sane defaults for AC_TRY_RUN.
15440         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
15441         put them into $(srcdir) when generated. Also add a dependency of
15442         gtksignal.h on gtkmarshal.h for -j builds. 
15443         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
15444
15445 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
15446
15447         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
15448         GDK_THREADS_{LEAVE,ENTER} pair.
15449         (From Paul Fisher <pnfisher@redhat.com>)
15450
15451 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
15452
15453         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
15454         width and height are always >0 (owen).
15455
15456 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
15457
15458         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
15459         change that assured that a widget's allocated with and height are
15460         always >1, since this breaks *buggy* panel code. unfortunately this
15461         back-breaks the gimp's color selector.
15462
15463         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
15464         allocation is always >0 in width and height, before sending the
15465         configure event; this is a *gross* hack to get the gimp back to work.
15466         
15467         * marked both cases with TODO-1.3
15468
15469 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
15470
15471         * gtk/gtktext.c: Don't display wrap indicators when
15472         text is not editable and word wrap is on.
15473
15474 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
15475
15476         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
15477         option menus here as they are not derived from menu shell, assure that
15478         the option menu has a menu we can add items to.
15479
15480 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
15481
15482         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
15483         width/height to (gint) before calculations and check against < 0 to
15484         avoid guint wraparounds.
15485
15486 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
15487
15488         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
15489         width and height is never zero. sanity check both dimensions against
15490         32767 and issue a warning if the allocation is greater than that.
15491
15492 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
15493
15494         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
15495         to g_main_pending() as well.
15496
15497 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
15498
15499         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
15500         call to g_main_iteration() - since that will regrab
15501         GTK+ lock to process events.
15502
15503 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
15504
15505         * gtk/gtkwindow.c
15506         - Regularize with the rest of GTK+ by making widget->requisition
15507           not reflect the set_usize()
15508         - Always recompute geometry hints, then check if they
15509           changed before sending them to the X server. The
15510           previous checks for changes would fail in a number
15511           of circumstances. 
15512
15513 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
15514
15515         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
15516
15517 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
15518
15519         * gtk/gtkdnd.c:
15520         - Code cleanups
15521         - Instantaneously update on modifier key presses
15522         - Allow cancellation of the drag with Escape.
15523
15524 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
15525
15526         * gtk/testgtk.c (create_handle_box): Set the policy
15527         to auto_shrink - otherwise the appearance is rather
15528         strange when flipping between horizontal and vertical.
15529
15530 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
15531
15532         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
15533         (gtk_window_set_default_size): don't change a value if it's < 0.
15534         queue a resize.
15535
15536 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
15537
15538         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
15539
15540 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
15541
15542         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
15543         add an extra "/" when concating "/" + filename.
15544         (From Matt Grossman <mattg@oz.net>)
15545
15546 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
15547
15548         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
15549         for fg_gc if we set it for drawing pixmap.
15550
15551 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
15552
15553         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
15554         
15555         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
15556         already set, call old engine's destroy function and
15557         unref the old engine.
15558
15559 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
15560
15561         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
15562
15563 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
15564
15565         * gtk/gtkaccelgroup.h: mark certain functions as internal.
15566
15567 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
15568
15569         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
15570         expand behaviour changed.
15571
15572         * gtk/gtklabel.c (gtk_label_set_pattern):
15573         (gtk_label_set_justify):
15574         (gtk_label_set_line_wrap):
15575         don't bother invoking queue_clear, the reallocation does
15576         that for us, always free_words so the upcoming resize will
15577         relayout the label's contents.
15578
15579 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
15580
15581         * applied argument implementation patches from Elena Devdariani
15582         <elena@cogent.ca>.
15583
15584         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
15585         ::space_style, ::relief
15586         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
15587         * gtk/gtkpreview.c: ::expand
15588         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
15589         * gtk/gtknotebook.c: ::homogeneous
15590         * gtk/gtklabel.c: ::wrap
15591         * gtk/gtklist.c: ::selection_mode
15592         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
15593         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
15594         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
15595         * gtk/gtkclist.c: ::sort_type
15596         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
15597         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
15598
15599 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
15600
15601         * gtk/gtkstyle.c: Removed ill-thought-out part of last
15602         comment.
15603
15604 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
15605
15606         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
15607         counting right when we have to attach a new style
15608         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
15609
15610         * gtk/gtkstyle.c: Documented the refcounting
15611         peculularities of gtk_style_attach.
15612
15613 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
15614
15615         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
15616         window types.
15617
15618         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
15619         of GTK_TOPLEVEL for creating the window.
15620
15621 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
15622
15623         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
15624         the last argument (reported by Per Winkvist).
15625         
15626 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
15627
15628         Fixes for invisible XOR lines (Frank Loemker
15629         <floemker@TechFak.Uni-Bielefeld.DE>)
15630         
15631         * gtk/gtkclist.c (gtk_clist_realize): Always use
15632         a non-zero pixel for GDK_XOR.
15633
15634         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
15635         Use GDK_INVERT instead of GDK_XOR.
15636
15637 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
15638
15639         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
15640         signals if h/voffsets differ from adjustment values.
15641         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
15642
15643 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
15644
15645         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
15646         ::selection-done emissions up to the topmost menu shell.
15647
15648 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
15649
15650         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
15651         the user data on the window before destroying it.
15652
15653         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
15654         unrealize handler to take care of destroying 
15655         notebook->panel properly. 
15656         (Bug #1198 - Morten Welinder <terra@diku.dk>)
15657
15658         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
15659         of g_new and g_realloc to stop memory leak. (Actually,
15660         we could just use g_realloc(), but I'm not 100% sure
15661         that is portable).
15662         (Bug #1196 - Morten Welinder <terra@diku.dk>)
15663
15664 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
15665
15666         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
15667
15668         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
15669         for fontsets.
15670
15671         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
15672         with bin/button confusion.
15673
15674 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
15675
15676         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
15677         and show how preselection of radio items is done.
15678
15679 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
15680
15681         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
15682         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
15683         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
15684         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
15685         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
15686         * gtk/gtktable.c (gtk_table_attach): 
15687         * gtk/gtklist.c (gtk_list_insert_items): 
15688         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
15689         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
15690         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
15691         * gtk/gtkbin.c (gtk_bin_add): 
15692         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
15693         * gtk/gtkfixed.c (gtk_fixed_put): 
15694         * gtk/gtklayout.c (gtk_layout_put):
15695         general fixups to container_add logic. always realize child if
15696         child->parent is realized, only map the child and queue a resize
15697         if child and child->parent are both visible.
15698
15699 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
15700
15701         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
15702         instead of gtk_container_foreach to walk and unrealize children, so
15703         composite children get also unrealized.
15704         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
15705         (gtk_widget_map): assert that the widget is visible (basic constrain).
15706         (gtk_widget_real_map): assert that the widget is realized (basic
15707         constrain).
15708
15709 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
15710
15711         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
15712
15713 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
15714
15715         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
15716         file for iso-8859-2 locales.
15717
15718         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
15719
15720 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
15721
15722         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
15723          (Pointed out by andy@rz.uni-karlsruhe.de and others).
15724          Remove some suspicious and useless lines. 
15725
15726 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
15727
15728         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
15729         width,height = 0, 0 to mean - here to edge of window,
15730         instead of -1, -1, since the former is all we support.
15731
15732 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
15733
15734         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
15735         when removing from quit_functions list.
15736
15737 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
15738
15739         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
15740
15741 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
15742
15743         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
15744          When redrawing characters on non-visible entry, use appropriate
15745          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
15746
15747 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
15748
15749         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
15750         from drag coordinates.
15751         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
15752         use drag_dest_cell.
15753
15754         * gtk/gtktree (drag_dest_cell)
15755         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
15756         (Bug #1129)
15757
15758 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
15759
15760         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
15761         translate_* fields.
15762         (gtk_item_factory_finalize): invoke translate_notify independant from
15763         translate_data.
15764         (gtk_item_factory_set_translate_func): likewise.
15765         (gtk_item_factory_destroy): only remove ifactory pointer from those
15766         widgets that belong to us (stupid me).
15767
15768 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
15769
15770         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
15771         rc_style list when lookup succeeeds.
15772
15773 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
15774
15775         * gtk/gtkctree.c (resync_selection): 
15776         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
15777         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
15778         bug.
15779
15780 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
15781
15782         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
15783         Add some missing GDK_THREADS_ENTER()/LEAVE around
15784         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
15785
15786 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
15787
15788         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
15789         rather than emit_by_name.
15790
15791         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
15792         on the widget across multiple signal emissions.
15793         (gtk_editable_delete_text): same here.
15794         (gtk_editable_class_init): set widget_class->activate_signal after
15795         editable_signals[ACTIVATE] has been created.
15796
15797 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
15798
15799         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
15800         position here prematurely -- we might not have the
15801         right ->min_position and ->max_position yet.
15802
15803 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
15804
15805         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
15806         Add error traps so if the other end of the connection
15807         dies, we survive.
15808
15809         * gtk/gtkselection.c (gtk_selection_notify): Clean
15810         up properly when selection property retrieval fails.
15811         
15812         * gtk/gtkselection.c (gtk_selection_request): Correctly
15813         reject SelectionRequest notifies where the handler
15814         returns no data.
15815
15816 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
15817
15818         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
15819         when we've previously highlighted.
15820
15821         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
15822         emit two "drag_leave" signals for Motif drops.
15823
15824         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
15825         back the correct status messages when dropping from
15826         Motif onto a proxy window that is rejecting the
15827         drop.
15828
15829 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
15830
15831         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
15832         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
15833         to compare two argument values. added gtk_arg_to_valueloc() to set a
15834         variable from an arg through its location (pointer).
15835
15836         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
15837         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
15838         as gfloat*, uchars are collected as guchar*, ints are collected as
15839         gint*, etc...
15840
15841 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
15842
15843         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
15844         Include <string.h> instead of <strings.h>.
15845
15846         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
15847         (actually, a lot more duplicate includes occur if
15848          you trace through the sequence of #include's)
15849         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
15850         
15851 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
15852
15853         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
15854         gtk-a-higuti-990322-[0-3]
15855
15856         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
15857         that was causing -DX_LOCALE not to work.
15858
15859         * gtk/gtkrc.c (gtk_rc_init):
15860         X_LOCALE will never have LC_MESSAGES defined
15861
15862 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
15863
15864         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
15865         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
15866
15867         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
15868         left/right as well (gtk-michael-980726-0.patch.gz).
15869
15870         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
15871         for pointer values, use gchar instead of char. fixed uline allocation
15872         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
15873         chunks instead of G_ALLOC_ONLY.
15874         (gtk_label_size_request): always alter requisition as passed and leave
15875         widget->requisition alone.
15876         (gtk_label_set_text): allow NULL strings.
15877         (gtk_label_new): likewise.
15878
15879 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
15880
15881         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
15882
15883 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
15884
15885         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
15886         *and* mapped (i.e. drawable).
15887         (gtk_bin_expose): only send exposes to drawable children.
15888
15889         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
15890         (gtk_box_expose): only send exposes to drawable children.
15891
15892         * gtk/gtkhscale.c (gtk_hscale_draw): 
15893         * gtk/gtkvscale.c (gtk_vscale_draw):
15894         hm, this is an ugly one. we first compute the size of our trough area
15895         here (window relative) and then check intersection with the draw_area
15896         which is parent relative because we're a NO_WINDOW widget, so we need
15897         to offset the trough area by allocation.x and allocation.y before the
15898         check. (this must not be done for the background area though, since
15899         that's already computed parent relative).
15900
15901 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
15902
15903         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
15904         unrealize title buttons.
15905
15906 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
15907
15908         * gtk/gtkclist.c (gtk_clist_column_title_passive)
15909         (gtk_clist_column_title_active): 
15910         only connect/disconnect to GtkWidgetClass::event to block mouse events.
15911
15912         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
15913         zero initialize event, removed superfluous gdk_window_get_pointer call
15914
15915         * gtk/gtklist.c (gtk_list_vertical_timeout)
15916         (gtk_list_horizontal_timeout): removed superfluous
15917         gdk_window_get_pointer call
15918
15919 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
15920
15921         * plugging problems reported by "Bruce Mitchener, Jr."
15922         <bruce@puremagic.com> due to a purify session.
15923
15924         * gtk/gtkstyle.c:
15925         (gtk_style_ref): 
15926         (gtk_style_unref): assert ref_count to be > 0.
15927
15928         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
15929         the requisition.
15930         (gtk_clist_set_shift): likewise.
15931
15932         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
15933         adjustments.
15934
15935         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
15936         event before sending it and set send_event to TRUE (which needs to
15937         be done for *all* synthesized events).
15938         (gtk_list_vertical_timeout): likewise.
15939
15940         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
15941         leaks.
15942
15943         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
15944         to TRUE when synthesizing events.
15945
15946 [ *** end of merges from 1.2 *** ]      
15947         
15948 1999-11-21  Tor Lillqvist  <tml@iki.fi>
15949
15950         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
15951         (or copied from gdkconfig.h.win32 on Win32, sigh).
15952
15953         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
15954
15955         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
15956
15957         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
15958
15959         * gdk/gdkconfig.h.win32: New file.
15960
15961         * gdk/win32/makefile.cygwin: Build just a static archive here.
15962
15963         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
15964         for the DLL from the static archive built above.
15965
15966         * gdk/gdk.def: Moved here from the win32 subdirectory.
15967
15968         * gdk/win32/*: Adapt for the changed private struct organisation.
15969
15970         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
15971
15972 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
15973
15974         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
15975         for wheel mice (buttons 4 and 5).
15976
15977 1999-11-18  Tor Lillqvist  <tml@iki.fi>
15978
15979         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
15980         drawables use just the pixel field in the foreground and
15981         background GdkColor of the GdkGC.
15982
15983         gdk_gc_set_{fore,back}ground() are called in the GIMP with
15984         GdkColors containing uninitialized (red,green,blue) fields, and
15985         just the pixel field filled in, and furthermore in the
15986         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
15987         It thus turns out that we really don't need to have the full
15988         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
15989         it later to have just the pixel values.
15990
15991 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
15992
15993         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
15994
15995 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
15996
15997         * docs/gtkfaq.sgml: threads example from Erik Mouw.
15998         New question on GtkLabel background colors.
15999
16000         * docs/gtk_tut.sgml:
16001           - Correct the example code callback
16002             function definitions.
16003           - Update the gtkdial example code, from Frans van Schaik.
16004           - Update setselection.c to current API.
16005
16006         * examples/Makefile examples/*/*.c: Update to code
16007         listed in tutorial.
16008
16009 1999-11-10  Tor Lillqvist  <tml@iki.fi>
16010
16011         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
16012         subrange table (from the "Developing International Software for
16013         WIndows 95 and Windows NT" book) was missing the Hangul syllable
16014         block... Get the loaded font's charset correctly.
16015
16016         (Note that this, and the other *-win32.c files, still really are
16017         the old ones, the win32 subdirectory is not ready for compilation
16018         yet after the reorg.)
16019
16020 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
16021
16022         * gtk/gtkclist.c: Fix off-by-one bug in parameter
16023         check.
16024
16025 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
16026
16027         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
16028         on results of XQueryDeviceState().
16029
16030 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
16031
16032         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
16033         we need to accesss only ->children. We need an accessor
16034         for the children.
16035
16036         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
16037         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
16038         to get rid of gdkx.h include.
16039         
16040         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
16041         and random references to 'None'.
16042
16043         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
16044         Get rid of unused #include <gdk/gdkx.h>
16045
16046         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
16047         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
16048         gdkconfig.h.
16049
16050 1999-11-08  Tor Lillqvist  <tml@iki.fi>
16051
16052         * gdk/win32/gdkdraw.c
16053         * gdk/win32/gdkfont.c
16054         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
16055         following yesterday's changes. (Unrelated to Owen's reorg.)
16056
16057 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
16058
16059         * gdk/x11/gdkinput-gxi.c: Add missing include,
16060           fix GdkWindowPrivate => GdkDrawablePrivate.
16061
16062         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
16063
16064         * gdk/x11/Makefile.am (xinput_sources): Add missing
16065         backslash to fix building with --with-xinput=none
16066
16067 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
16068
16069         Move all X specific code into the x11/ directory.
16070         Aside from shuffling things around, did the following:
16071
16072        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
16073          gdk_arg_context_* - a simple argument parsing system
16074          in the style of popt.
16075
16076        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
16077          gdk/x11/gdkprivate-x11.h:
16078          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
16079          add ->klass and ->klass_data fields. The klass_data
16080          field points to an auxilliary structure that is
16081          windowing system dependent.
16082
16083        * gdk/gdkfont.c: Make most of the measurement functions
16084          simply wrappers around gdk_text_extents().
16085
16086        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
16087          _gdk_font_strlen() function that hides the weird
16088          behavior in gtk+-1.[02] where a string is interpreted
16089          differently for 8-bit and 16-bit fonts.
16090
16091        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
16092          to store common code for synthesizing double/triple
16093          press events.
16094         
16095        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
16096          Make all the function that modify an existing GC
16097          simply wrappers around gdk_gc_set_values().
16098          
16099        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
16100          for throwing out later.
16101
16102        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
16103          GdkImagePrivate and GdkColormapPrivate to have a
16104          windowing system dependent part (GdkFontPrivateX etc.)
16105          that "derives" from the system-independent part.
16106
16107        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
16108          Got rid of the included-source-files for XInput in
16109          favor of automake conditionals. (Which didn't exist
16110          when XInput support was originally added.)
16111
16112        * gdk/gdkrgb.c: Remove the visual id from the debugging
16113          statements since that is X11 specific; print out
16114          type/depth info instead.
16115          
16116
16117 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
16118
16119         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
16120         loading duplicates of hashed fonts.
16121
16122         * gdk/gdk.c (gdk_keysym_convert_case): rename
16123         gdk_XConvertCase to gdk_keysym_convert_case, allow
16124         results to be NULL in the GTK+ style.
16125
16126         * gdk/gdkcompat.h: Started compatibility header
16127         for renames.
16128
16129 1999-11-07  Tor Lillqvist  <tml@iki.fi>
16130
16131         * gdk/win32/gdkprivate.h: New font private structures, related to
16132         fontsets.
16133
16134         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
16135         gdk_font_list_free(). On X11, will just be wrappers to
16136         XListFonts() and XFreeFontNames(). On Win32, the code previously
16137         in gtkfontsel.c is now here.
16138
16139         New function gdk_font_xlfd_create(). On X11 will get the FONT
16140         property of the font (for GDK_FONT_FONTs), or call
16141         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
16142         builds a XLFD style name from the font information in the LOGFONT
16143         struct(s).
16144
16145         New function gdk_font_xlfd_free(), which correspondingly frees the
16146         string returned by gdk_font_xlfd_create().
16147
16148         Implement fontsets on Win32. Add a function that iterates over a
16149         wide char string and calls a callback function for each substring
16150         of wide chars from the same Unicode subrange (and thus probably
16151         available in the same real font).
16152
16153         Improve the XLFD emulation a bit.
16154
16155         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
16156
16157         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
16158         Beta3, WM_IME_CHAR messages don't seem to contain the composed
16159         multi-byte char as with the Active IMM on Win9x. Oh well, handle
16160         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
16161         ImmGetCompositionStringW() to get the composed Unicode chars.
16162
16163         * gdk/win32/gdkgc.c
16164         * gdk/win32/gdkdraw.c: Changes needed because of the font private
16165         struct changes.
16166
16167         * gdk/win32/gdk.def: Add the new functions.
16168
16169 1999-11-04  Tor Lillqvist  <tml@iki.fi>
16170
16171         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
16172         get the Platform SDK to get <dimm.h>.
16173
16174         * gdk/win32/gdkevents.c: More event handling fixes and
16175         simplification. Never generate motion events with is_hint true. We
16176         used to do that on bogus grounds earlier. Windows sends
16177         WM_MOUSEMOVE messages on button events even if the mouse hasn't
16178         moved, ignore these.
16179
16180         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
16181
16182         * gdk/win32/gdkglobals.c
16183         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
16184         the TrackMouseEvent function, and use it.
16185
16186         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
16187         char before calling WideCharToMultiByte in order to get a string
16188         for the window title.
16189
16190         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
16191
16192         * gdk/win32/gdk.def: Remove obsolete functions.
16193
16194         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
16195         /nodefaultlib and /defaultlib switches.
16196
16197         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
16198
16199 1999-10-31  Tor Lillqvist  <tml@iki.fi>
16200
16201         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
16202         EuroSign).
16203
16204         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
16205         same type as GdkWChar, especially on Win32.
16206
16207         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
16208
16209         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
16210         before passing to Windows GDI for drawing etc. Convert to the
16211         system default codepage before passing to Windows as window
16212         titles.
16213
16214         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
16215         support changing input locale on the fly.
16216
16217         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
16218         on-the-fly changes. Convert incoming characters from the current
16219         codepage to Unicode (and then to a UTF-8 multi-byte string) based
16220         on the current input language. Use keysym<->Unicode mapping tables
16221         and functions borrowed from xterm sources.
16222
16223         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
16224         editions of Win9x, use the ActiveX-based Active IMM (Input Method
16225         Manager) if available. IMEs and the Active IMM are available under
16226         the disguise of Chinese, Korean and Japanese support for IE and
16227         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
16228         support is present in all editions (as long as you install it).
16229
16230         Call DispatchMessage from gdk_events_queue() (and thus
16231         gdk_WindowProc()), instead of duplicating the code in
16232         gdk_WindowProc().
16233
16234         Reworked the grab handling and propagation code, factored out
16235         duplicated code snippets into separate functions. Other cleanups,
16236         too.
16237
16238         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
16239         the <dimm.h> header describing the Active IMM.
16240
16241         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
16242         just do the same as for "single" fonts.
16243
16244         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
16245         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
16246         the new keysyms from gdkkeysyms.h.
16247
16248         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
16249         fontset, so that gtkentry uses wide characters.
16250
16251         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
16252         GTk+'s system directory "gtk+", not "gtk".
16253
16254 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
16255
16256         * docs/gtkfaq.sgml: FAQ update
16257
16258 1999-10-21  Tor Lillqvist  <tml@iki.fi>
16259
16260         * gdk/win32/gdkprivate.h: Add more font private data.
16261
16262         * gdk/win32/gdkfont.c
16263         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
16264         fonts and strings. Now works much better. You still have to
16265         have a correct font selected, though. No fontset emulation yet.
16266
16267 1999-10-19  Tor Lillqvist  <tml@iki.fi>
16268
16269         * gtk/maketypes.awk: Use G_OS_WIN32.
16270
16271         * gtk/gtk.def: Add some missing entry points. Also some non-public
16272         ones, but PyGTK porter claims to need them.
16273
16274         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
16275         built-in type generation.
16276
16277 1999-10-14  Tor Lillqvist  <tml@iki.fi>
16278
16279         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
16280         GDK_FONT_FONT fonts (which is all we have for now, we don't
16281         emulate fontsets). The X11 version uses plain XDrawString in that
16282         case, too. The string passed to gdk_draw_text_wc seems to be in
16283         fact (at least, when used by gtkentry and gtktext) either in a
16284         single-byte charset, or a DBCS. Not Unicode.
16285
16286         This fixes the problem in gtkfontsel, where even if you had
16287         selected a font with a non-Latin1 charset (windows-greek, for
16288         instance), the preview still used Latin-1 glyphs.
16289
16290         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
16291         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
16292         (gdk_font_load): Recognize the demibold etc weights, even if we
16293         don't have the corresponding constants in the headers.
16294         (gdk_font_hash_insert): Use same hash mechanism as in the X11
16295         version. Should save font resources a bit, when we don't have
16296         multiple HFONTs for the same font.
16297
16298         * gdk/win32/gdkprivate.h: Add the names field as in the X11
16299         version.
16300
16301 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
16302
16303         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
16304         X values
16305
16306 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
16307
16308         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
16309         layout support (as mentioned on
16310         http://www.jcinteractive.com/gnome-ui/software/widgets/)
16311
16312 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
16313
16314         * gtk/fnmatch.c
16315         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
16316
16317 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
16318
16319         * configure.in (ALL_LINGUAS): Added Galician (gl)
16320
16321 1999-10-05  Tor Lillqvist  <tml@iki.fi>
16322
16323         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
16324
16325         * gdk/win32/gdkcompat.c: New file, actually provide an
16326         implementation for the deprecated functions. (Just temporarily.)
16327
16328         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
16329
16330         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
16331
16332         * gdk/win32/gdk.def gtk/gtk.def: Updates.
16333
16334 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
16335
16336         * configure.in: Added "uk" to ALL_LINGUAS.
16337         
16338 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
16339
16340         * configure.in: correct checking for BeOS check
16341
16342         * gdk/gdktypes.h
16343         * gtk/fnmatch.c
16344         * gtk/gtkfilesel.c
16345         * gtk/gtkitemfactory.c
16346         * gtk/gtkmain.[ch]
16347         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
16348
16349 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
16350
16351         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
16352         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
16353         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
16354         by Bulgarian). 
16355
16356 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
16357
16358         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
16359         Fix a reference to window_private->destroyed.   
16360
16361         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
16362         (ugly) setting of an internal GdkWindow member to use
16363         a _slightly_ cleaner macro.
16364
16365         * gdk/gdkprivate.h: Split GdkWindowPrivate into
16366         GdkDrawablePrivate and GdkWindowPrivate.
16367         Add extra macros for accessing GDK_DRAWABLE_ components.
16368
16369         * *.[ch]: Massive adjustments for the above, use the
16370         new macros in a lot of places.
16371
16372 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
16373
16374         * gdk/gdktypes.h: Make GdkDrawable the base type,
16375         not GdkWindow.
16376
16377 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
16378
16379         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
16380
16381 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
16382
16383         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
16384
16385 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
16386
16387         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
16388         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
16389
16390         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
16391
16392         * docs/gtk-config.1: Now autogenerated.
16393         * docs/Changes-1.4.txt: started
16394         
16395 1999-10-03  Tor Lillqvist  <tml@iki.fi>
16396
16397         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
16398         to #ifdef also here.
16399
16400         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
16401         Owen did to the X11 backend.
16402
16403         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
16404         ScrollWindowEx when blitting inside a window, it can't be correct
16405         in the general case.
16406
16407         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
16408         WM_GETMINMAXINFO is easier.
16409
16410         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
16411         depth equal to the bitspixel value, not the visual's depth.
16412
16413         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
16414         to 24 even if the bitspixel value is 32.
16415
16416         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
16417         need to check for depth==32 when bpp==32, depth will always be 24.
16418
16419 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
16420
16421         * docs/Changes-1.4.txt: Started
16422         
16423         * gtk/Makefile.am (gdk_headers): Include all the new headers.
16424
16425         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
16426         
16427         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
16428         into C file.
16429         
16430         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
16431         header to gdkinputprivate.h.
16432
16433         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
16434         unused since before 1.2.
16435
16436 1999-09-30  Tor Lillqvist  <tml@iki.fi>
16437
16438         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
16439         expand possible hex escapes in the font family (put there by
16440         logfont_to_xlfd if the font name isn't a legal XLFD font family,
16441         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
16442         On Win32, add hex escapes here, too.
16443
16444 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
16445
16446         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
16447         to #ifdef GDK_WINDOWING_X11.
16448
16449 [ Merges from gtk-1-2 ]
16450
16451 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
16452
16453         * configure.in: fixed "GNU Make" check to pass with new make version
16454         3.77.95.
16455
16456 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
16457
16458         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
16459         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
16460         AM_PATH_GTK() macros don't get confused by the -pre1.
16461
16462 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
16463
16464         * configure.in (REBUILD): Change check for perl5
16465           to check explicitely for v >= 5.002. (5.001
16466           does not work with our scripts.)
16467
16468 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
16469
16470         * configure.in: evaluate $PERL for the perl version check. added
16471         --disable-rebuilds to give the user an option to completely disable
16472         any source autogeneration rules.
16473
16474 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
16475
16476         * configure.in: evaluate $ac_make when checking for GNU Make.
16477
16478 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
16479
16480         * docs/Makefile.am: added generation.txt.
16481
16482         * Makefile.am: require automake 1.4, build README from README.in and
16483         INSTALL from INSTALL.in in dist-hook.
16484         
16485         * README.in:
16486         * INSTALL.in: new files to autogenerate README and INSTALL from.
16487
16488         * configure.in: figure whether we have GNU Make
16489
16490         * docs/generation.txt: minor additions/corrections.
16491
16492 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
16493
16494         * docs/gtkfaq.sgml: FAQ Update
16495
16496 July 30, 1999 Elliot Lee <sopwith@redhat.com>
16497         
16498         * configure.in: Fix autoconf warnings about cross compilation by
16499         trying to provide sane defaults for AC_TRY_RUN.
16500
16501 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
16502
16503         * ltconfig
16504         * ltmain.sh: upgrade to libtool 1.3.3
16505
16506 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
16507
16508         * INSTALL: Indicate that the --with-glib= configure
16509         time flag is unsupported.
16510
16511 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
16512
16513         * docs/generation.txt: Added a file that gives
16514         documenation about the autogeneration process for
16515         various autogenerated files.
16516         
16517 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
16518
16519         * configure.in (LIBS): Look for libgmodule in the
16520         right location.
16521
16522 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
16523
16524         * docs/gtk_tut.sgml: Removed references to
16525         code examples in my directory on gtk.org as
16526         they should all be in the tutorial now.
16527
16528         * docs/gtk_tut.sgml: Added sources for dial-test
16529         and scribble-xinput programs that were previously
16530         missing.
16531
16532 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
16533
16534         * TODO: Added entry about menu keyboard navigation, removed
16535         some finished items.
16536
16537 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
16538
16539         * acinclude.m4: Standardize on func_dgettext
16540         not func_gettext, so that the checks for dgettext
16541         actually are paid attention to.
16542
16543 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
16544
16545         * configure.in (LIBS): Add $INTLLIBS into $LIBS
16546         directly, rather than repeating the checks for
16547         gettext.
16548
16549         * INSTALL: Added information about gettext and
16550         NLS support.
16551
16552         * acinclude.m4 (LIBM): Check for dgettext, not
16553         just gettext. This should hopefully fix things wrt
16554         systems with old versions of GNU gettext installed.
16555
16556 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
16557
16558         * configure.in (LIBS): Look for libgmodule in the
16559         right location.
16560
16561 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
16562
16563         * autogen.sh: add --enable-maintainer-mode
16564
16565         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
16566
16567 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
16568
16569         * docs/gtk-config.1.in:
16570           docs/Makefile.am:
16571           configure.in: gtk-config is now generated.
16572
16573         * docs/gtk-config.1: Removed, now generated.
16574
16575 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
16576
16577         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
16578         handle CreateNotify itself, still put out a debuging message for
16579         --gdk-debug=events. made the ReparentNotify debugging message more
16580         verbose.
16581         wrap xcoords translation for ConfigureEvents into an error trap,
16582         a destroy event may already be pending, and in that case, the
16583         actuall coordinate values are not at all critical.
16584
16585 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
16586
16587         * gdk/gdkcc.c: Stop leaking the color_hash all over
16588         the place. Simplify and improve the logic.
16589
16590 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
16591
16592         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
16593         for prototypes and function implementations consistent (reported
16594         by Tomas Ogren).
16595
16596 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
16597
16598         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
16599         send_event set in debugging output.
16600         (gdk_compress_exposures): default initialize the event so we don't
16601         operate on bogus values (namely send_event).
16602
16603 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
16604
16605         * gdk/gdkwindow.c: When we receive an unexpected
16606         destroy notify on one of our windows, don't just
16607         warn about it, also mark our windows as destroyed.
16608
16609 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
16610
16611         * gdk/gdkfont.c (gdk_font_hash_insert): Add
16612           name => font and name => fontset hashes. The 
16613           name => fontset hash is a _big_ win since we
16614           weren't previously caching fontsets at all and loading
16615           fontsets is expensive. The name => font hash
16616           is less of a win, but it does save us from doing
16617           repeated XQueryFont calls on the same font.
16618
16619         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
16620           list so we can remove font/fontset from hash.
16621
16622 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
16623
16624         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
16625           and slightly confusing test. [ XInternAtom (,,TRUE)
16626           will never return None ].
16627
16628 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
16629
16630         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
16631           gdk/gdkwindow.c (gdk_window_set_hints):
16632
16633         Don't omit setting the properties if flags == 0 -
16634         there may be an existing set of properties there
16635         already. (Very old bug. Would it be better to
16636         delete the property instead?)
16637
16638         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
16639           spelling error in comment.
16640
16641 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
16642
16643         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
16644           to avoid stomping over gdk_error_warnings.
16645
16646         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
16647           as (bits_per_pixel + 7) / 8. This gives the same
16648           result as before for multiples of 8, but actually
16649           a "reasonable" value for 1bit or 4bit displays.
16650
16651 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
16652
16653         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
16654         GNU Make.
16655
16656 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
16657
16658         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
16659         discarding configure events.
16660
16661 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
16662
16663         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
16664         refcount is greater than zero.
16665
16666         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
16667
16668         * gdk/gdkfont.c (gdk_font_unref): Likewise.
16669
16670         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
16671
16672         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
16673
16674 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
16675
16676         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
16677         that format 32 => sizeof(item) == 4. It really is
16678         sizeof(long).
16679
16680 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
16681
16682         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
16683         core dump at all on X IO errors, only core dump
16684         if --enable-debug for X errors.
16685
16686 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
16687
16688         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
16689         unknown window:" message. disabled ConfigureNotify discarding code,
16690         because it led to events being processed out of order.
16691
16692 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
16693
16694         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
16695
16696         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
16697         we export this function, supress error warnings and don't reset the
16698         error code in the first half of this function.
16699
16700         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
16701         code (instead of just -1) so gdk_error_trap_pop() reveals something
16702         actually informative about the error that happened.
16703
16704         * gdk/*.c:
16705         don't rely on gdk_error_code being -1 if an error occoured, but just
16706         gdk_error_code != 0.
16707
16708 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
16709
16710         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
16711         pointer *before* invoking the filter function, so we at least don't
16712         crash if a filter is removed that is currently executed. window filters
16713         *really* need to be made truely reentrant at some point.
16714
16715 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
16716
16717         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
16718         PropertyNotify debug messages.
16719
16720 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
16721         
16722         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
16723         
16724         * gdk/gdkim.c: Fix cut-and-paste errors for 
16725         x/y and PreeditAttributes/StatusAttributes.
16726
16727 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
16728
16729         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
16730         G_MAXINT to 2^16 to alleviate overflow problems in
16731         various window managers.
16732
16733 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
16734
16735         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
16736         for fontsets.
16737
16738 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
16739
16740         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
16741         Initialize size_hints.x and size_hints.y because kwm
16742         brokenly pays attention to them.
16743         (Bug #1181 -  Lars Heete <hel@admin.de>)
16744
16745 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
16746
16747         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
16748         return value of gdk_list_visuals(). 
16749         (Bug #1193 - Morten Welinder <terra@diku.dk>)
16750
16751 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
16752
16753         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
16754         XSetIMValues to (void *) when comparing to NULL, to workaround
16755         the problem of some compilers barfing since older X headers don't
16756         have the prototype for it.
16757
16758 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
16759
16760         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
16761         for pseudocolor where colormap->colors was double
16762         allocated.
16763
16764         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
16765         color value in the hash table with the pixel filled
16766         in so when we do later hash table lookups, the color
16767         value is correct.
16768         
16769 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
16770
16771         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
16772         making the call
16773
16774 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
16775
16776         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
16777         pointed out by Morten Welinder <terra@diku.dk>.
16778
16779 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
16780
16781         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
16782           default filter from the list
16783
16784 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
16785
16786         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
16787           default filter from the list
16788
16789 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
16790
16791         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
16792
16793         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
16794         g_strdup_printf instead of calcing the length separately
16795
16796 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
16797
16798         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
16799         that we don't do in many other places. (Fixing duplicate 
16800         #include of config.h)
16801
16802         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
16803         Otherwise, #ifndef XINPUT_NONE check in the latter
16804         doesn't work. (Bug #546)
16805
16806 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
16807
16808         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
16809         "None" case insensitive.
16810
16811 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
16812
16813         * gdk/gdkselection.c: 
16814         Add error traps so if the other end of the connection
16815         dies, we survive.
16816
16817 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
16818
16819         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
16820         dest_xid field into two fields - one for the window
16821         to send in messages, one to indicate the last looked
16822         up window for caching purposes. This is needed, so
16823         that Leave messages get the correct window.
16824
16825 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
16826
16827         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
16828         Fix warning created by people mucking around
16829         with the gsource API.
16830
16831         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
16832         Change mapping between GIOCondition and GdkInputCondition
16833         to match the way the Linux kernel does it. This should
16834         fix problems where closed pipes were no longer signalling
16835         GDK_INPUT_READ on systems with a native poll().
16836
16837 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
16838
16839         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
16840         explicitly for the string "None" - it is in the XPM
16841         spec and some servers treat unknown colors in odd ways
16842         (like asking the user!)
16843
16844 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
16845
16846         * gdk/gdkevents.c: made "->" into a "." of previous change so
16847         it compiles
16848
16849 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
16850
16851         * gdk/gdkevents.c (gdk_compress_exposures): Set the
16852         window field of the event structure before calling
16853         user filters.
16854
16855 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
16856
16857         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
16858         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
16859
16860 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
16861
16862         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
16863         intermediate text property - prevents major memory
16864         leak when gdk_use_mb.
16865         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
16866
16867 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
16868
16869         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
16870         gtk-a-higuti-990322-[0-3]
16871
16872         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
16873         sizeof(wchar_t) != sizeof (GdkWChar)
16874
16875         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
16876         that was causing -DX_LOCALE not to work.
16877
16878         * gtk/gtkrc.c (gtk_rc_init):
16879         X_LOCALE will never have LC_MESSAGES defined
16880
16881         * gdk/gdk.c (gdk_init_check):
16882         Remove --xim-preedit and --xim-status from argv properly.
16883
16884         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
16885         that the client window is present on the X server
16886         before we pass it to the input method.
16887
16888 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
16889
16890         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
16891         if --display is specified on the command line, than
16892         the drag window will not be created on that display.
16893         
16894 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
16895
16896         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
16897         lookups with only_if_exists == TRUE were inserting
16898         bogus values into the atom cache.
16899
16900 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
16901
16902         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
16903         then reset it to NULL.
16904
16905         * gdk/gdkcolor.c:
16906         (gdk_colors_free): 
16907         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
16908         key for g_hash_table_remove() in both functions, this prevents us
16909         from accessing possibly uninitialized portions of a GdkColor structure
16910         where we are only interested in its pixel value.
16911
16912 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
16913
16914         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
16915         font hash table, if we have a GdkFontPrivate entry for this font
16916         already, simply increment its reference count, provided by Olaf Dietsche
16917         <olaf.dietsche+list.gtk@netcologne.de>.
16918
16919 1999-09-21  Tor Lillqvist  <tml@iki.fi>
16920
16921         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
16922         just to be sure.
16923
16924         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
16925         unused variables, leftovers from the X11 version.
16926
16927         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
16928
16929         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
16930         downcase fields on X11.
16931
16932 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
16933         
16934         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
16935         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
16936
16937 1999-09-17  Tor Lillqvist  <tml@iki.fi>
16938
16939         * gdk/win32/gdk.def: Add gdk_threads_mutex.
16940
16941         * gtk/makefile.msc: Correct path to libintl.
16942
16943         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
16944         use of gint vs. int, and gint vs. gboolean in headers and
16945         definitions. Use GtkType for the *_get_type functions. Note that
16946         these changes preserve binary compatibility.
16947
16948         * gdk/gdk.c
16949         * gdk/win32/gdk.c
16950         * gdk/gdk.h: Fix inconsistencies: gint vs int.
16951
16952         * gtk/gtkmain.c
16953         * gtk/gtkclist.c
16954         * gtk/gtkmenufactory.c
16955         * gtk/gtknotebook.c
16956         * gtk/gtkwidget.c: Fix inconsistencies, also gint
16957         vs. gboolean.
16958
16959         * gtk/gtkcolorsel.[ch]
16960         * gtk/gtkcombo.[ch]
16961         * gtk/gtkdrawingarea.[ch]
16962         * gtk/gtkgamma.[ch]
16963         * gtk/gtkhandlebox.[ch]
16964         * gtk/gtkhpaned.[ch]
16965         * gtk/gtkhruler.[ch]
16966         * gtk/gtkplug.[ch]
16967         * gtk/gtkpreview.[ch]
16968         * gtk/gtkruler.[ch]
16969         * gtk/gtksocket.[ch]
16970         * gtk/gtkstatusbar.[ch]
16971         * gtk/gtktoolbar.[ch]
16972         * gtk/gtkvbbox.[ch]
16973         * gtk/gtkvpaned.[ch]
16974         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
16975         functions.
16976
16977         * gtk/gtkgamma.h: Fix bug, missing () in call of
16978         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
16979
16980 1999-09-14  Tor Lillqvist  <tml@iki.fi>
16981
16982         * gdk/gdkcolor.c (gdk_colormap_new)
16983         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
16984         colormap->colors was allocated twice.
16985
16986         * gdk/win32/gdk.c: Remove some unused stuff.
16987
16988         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
16989         colormap.
16990
16991         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
16992         * gtk/gtklabel.h (gtk_label_get_type)
16993         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
16994         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
16995         in a couple of places, not guint.
16996
16997 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
16998
16999         * configure.in,po/et.po: added Estonian language file
17000
17001 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
17002
17003         * configure.in,po/da.po: added Danish file
17004
17005 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
17006
17007         * docs/gtkfaq.sgml: Minor FAQ Update
17008
17009 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
17010
17011         * docs/gtkfaq.sgml: FAQ update
17012
17013 1999-08-27  Tor Lillqvist  <tml@iki.fi>
17014
17015         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
17016         way to get window contents continually refreshed while resizing. I
17017         didn't like the effects myself, so it's not on by default.
17018
17019         * gdk/win32/gdkprivate.h: New flag variable
17020         gdk_event_func_from_window_proc, FALSE by default.
17021
17022         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
17023         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
17024         are passed --gdk-event-func-from-window-proc.
17025
17026         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
17027         and we have am event_func, call it instead of enqueing the event.
17028
17029 1999-08-23  Tor Lillqvist  <tml@iki.fi>
17030
17031         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
17032         Kelley: Set expose_count in GdkEventExposes correctly.
17033
17034         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
17035         MULTIPLE_WINDOW_CLASSES).
17036
17037         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
17038         for bug in NT, apparently NT *does* draw the end pixel, too, in
17039         LineTo with a one-pixel pen, so we don't have to do it ourselves.
17040
17041 1999-08-21  Tor Lillqvist  <tml@iki.fi>
17042
17043         Improvements by Hans Breuer: 
17044
17045         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
17046
17047         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
17048         CS_?REDRAW flags as they cause lots of (late) redraws when "show
17049         window contents while dragging" is turned on. Allocate at least
17050         one unique class for every GdkWindowType. If support for single
17051         window-specific icons is ever needed (eg. Dialog specific), every
17052         such window should get its own class.
17053
17054 1999-08-19  Tor Lillqvist  <tml@iki.fi>
17055
17056         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
17057         error that caused crashes.
17058
17059 1999-08-17  Tor Lillqvist  <tml@iki.fi>
17060
17061         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
17062         window, use ScrollWindowEx, and call UpdateWindow. This prevents
17063         bugs when for instance part of the window was outside the
17064         display. Thanks to Philippe Colantoni for finding and fixing this.
17065
17066 1999-08-16  Tor Lillqvist  <tml@iki.fi>
17067
17068         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
17069         endpoint calculations which were totally wrong. (A little RTFMing
17070         helps a lot ;-)
17071
17072         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
17073         from a separate directory, not from gettext, because of licensing
17074         issues (we want to use the LGPL version).
17075
17076         * README.win32: Mention the intl from glibc vs from gettext issue.
17077
17078 1999-08-13  Tor Lillqvist  <tml@iki.fi>
17079
17080         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
17081         in the key event handling: Now AltGr chars work again. Also,
17082         now Alt-digits are passed up as well as Control-digits.
17083         Pass keypad plus and minus as normal plus and minus.
17084
17085 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
17086
17087         * docs/gtkfaq.sgml: FAQ Update
17088
17089 1999-07-25  Tor Lillqvist  <tml@iki.fi>
17090
17091         * README.win32
17092         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
17093         the Wintab SDK.
17094
17095         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
17096         OK, but getting closer. Guard against bogus tilt data from Wacom
17097         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
17098         enable easier building without Wintab.
17099
17100         * gdk/win32/gdkinput.h
17101         * gdk/win32/gdkevents.c 
17102         * gdk/win32/gdkwindow.c: Minor changes related related to above.
17103         
17104         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
17105         code. As we have just one visual on Win32, no sense to have it in a
17106         table, and no need for the hash table.
17107
17108         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
17109         better on white background.
17110
17111 1999-07-21  Tor Lillqvist  <tml@iki.fi>
17112
17113         * README.win32: Update gcc build instructions. Mention gettext is
17114         GPL.
17115
17116         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
17117         supported cursor size with GetSystemMetrics.
17118
17119         * gdk/win32/gdkfont.c
17120         * gtk/gtkfontsel.c: Guard against some font weight and charset
17121         symbols being undefined (in mingw32 headers).
17122
17123         * gdk/win32/makefile.cygwin
17124         * gtk/makefile.cygwin
17125         * gtk/gtkthemes.c: No longer need to have differently named
17126         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
17127
17128 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
17129
17130         * docs/gtkfaq.sgml: Long awaited FAQ update.
17131
17132 1999-07-15  Tor Lillqvist  <tml@iki.fi>
17133
17134         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
17135         it. Obscure bit manipulation needed.
17136
17137         * gdk/win32/gdkevents.c: Logging.
17138         
17139         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
17140         style (file name include compiler name) for theme engines.
17141
17142 1999-07-13  Tor Lillqvist  <tml@iki.fi>
17143
17144         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
17145
17146         * gdk/win32/gdkevents.c: Fix long-standing bug in key
17147         events. The key.string wasn't zero-terminated, still we strdup'ed
17148         it in gdk_event_copy(). Synthesize crossing events for button
17149         events before possible propagation.
17150
17151         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
17152
17153         * gdk/win32/makefile.cygwin
17154         * gtk/makefile.cygwin: Use new DLL naming style for the
17155         GCC-compiled ones.
17156
17157         * gdk/win32/makefile.msc
17158         * gtk/makefile.msc: Cosmetics mostly.
17159
17160         * gtk/gtk.def: Add missing entry points.
17161
17162         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
17163
17164 1999-07-09  Tor Lillqvist  <tml@iki.fi>
17165
17166         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
17167         or height is zero. Don't print a warning if Pie or Arc fails, they
17168         always fail (?) for very narrow ellipses.
17169
17170         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
17171         the part or the destination window corresponding to source area
17172         outside of the source drawable's boundary.
17173
17174         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
17175         anything if less than two points.
17176
17177         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
17178         return NULL. Gtk cut-and-paste inside a single program works
17179         better this way. (It always gets the clipboard contents from
17180         Windows, not from its own copy, which is cleared anyway. I can't
17181         say I fully understand what happens... Emulating the X selection
17182         and property stuff is a bit of a mess.)
17183
17184         * gdk/win32/gdkevents.c
17185         * gdk/win32/gdkproperty.c: A bit more verbose logging.
17186
17187         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
17188         that never got deleted). Revamp gdk_region_shrink.
17189
17190         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
17191         after use.
17192
17193         * gtk/gtk.def: Add some missing entry points.
17194
17195         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
17196         component.
17197
17198 1999-07-04  Tor Lillqvist  <tml@iki.fi>
17199
17200         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
17201         Control-digits specially.
17202
17203 1999-07-03  Tor Lillqvist  <tml@iki.fi>
17204
17205         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
17206
17207 1999-06-28  Tor Lillqvist  <tml@iki.fi>
17208
17209         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
17210         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
17211         finding this.)
17212
17213 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
17214
17215         * gtk+.spec.in: Corrected some typos in files section.
17216         
17217 1999-06-15  Tor Lillqvist  <tml@iki.fi>
17218
17219         * README.win32: Mention using GNU gettext.
17220         * config.h.win32: Enable NLS stuff.
17221         * gtk/makefile.msc: Use GNU gettext.
17222         * gdk/win32/gdkdnd.c: Minor header reorg.
17223         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
17224         cosmetics.
17225         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
17226         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
17227
17228 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
17229
17230         * acinclude.m4
17231         * config.guess
17232         * config.status
17233         * ltconfig
17234         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
17235
17236 1999-05-30  Tor Lillqvist  <tml@iki.fi>
17237
17238         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
17239         SafeAdjustWindowRectEx. Don't override all calls to
17240         AdjustWindowRectEx by it, but use it only in two places: When
17241         creating a new top-level window and when moving a top-level
17242         window.
17243
17244         Use screen coordinate rectangle, not client rectangle, in
17245         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
17246         when we try to place a window so that the decoration (mainly,
17247         title bar) isn't visible.
17248
17249         These changes fix the bug that showed up for instance as the
17250         GIMP's saved top-level windows moving right and down (by an amount
17251         equal to the window decoration) for each session. This bug showed
17252         up also in testgtk's "Saved Position".
17253
17254         gdk_window_resize also redone a bit.
17255
17256 1999-05-25  Tor Lillqvist  <tml@iki.fi>
17257
17258         * gtk/testgtkrc: Add (commented out) Windows-style theme
17259         include line.
17260
17261         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
17262
17263 1999-05-18  Tor Lillqvist  <tml@iki.fi>
17264
17265         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
17266         gdkx.h to a gdk subdirectory, so that applications can include
17267         these with <gdk/*.h> without trouble.
17268
17269         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
17270         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
17271         have their bitmap destroyed.
17272
17273         * gdk/win32/gdk.def: Add gdk_root_parent.
17274
17275 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
17276
17277         * configure.in
17278           gtk-config.in
17279           ltconfig
17280           ltmain.sh     
17281           gtk/Makefile.am: changes to compile nicely (with xlib) 
17282           on BeOS
17283
17284 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
17285
17286         * acinclude.m4
17287         * config.guess
17288         * config.sub
17289         * ltconfig
17290         * ltmain.sh: upgrade to libtool 1.3
17291
17292 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
17293
17294         * gtk/gtkclist.c:
17295         * gtk/gtkctree.c: merges from gtk-1-2
17296
17297 1999-04-25  Tor Lillqvist  <tml@iki.fi>
17298
17299         Support added for building using a GNU toolchain on Win32,
17300         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
17301
17302         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
17303         * config.h.win32: Changes for gcc.
17304         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
17305         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
17306         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
17307         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
17308         Protect shl stuff unavaiilable with mingw32 headers.
17309         * gdk/win32/gdkevents.c: Fix typo.
17310         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
17311         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
17312         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
17313         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
17314         the mingw32 headers.
17315         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
17316         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
17317         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
17318         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
17319         Test for NATIVE_WIN32, not _MSC_VER.
17320         * gtk/gtkmain.c: No use warning about developer version on Win32,
17321         there aren't any non-developer versions anyhow.
17322         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
17323         * gtk/makefile.msc: Use pthread from another directory. Minor other
17324         changes. 
17325
17326 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
17327
17328         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
17329           default filter from the list
17330
17331 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
17332
17333         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
17334          when gtk_widget_grab_default() is called for a widget that
17335          is not within a GtkWindow.
17336
17337 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
17338
17339         * docs/gtk_tut.sgml, examples/clist.c: use a
17340           scrolled window in the clist example. Minor
17341           tutorial fixes.
17342
17343 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
17344
17345         * docs/gtk_tut.sgml: Style check from David King
17346           <dking@youvegotmail.net>
17347
17348 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
17349
17350         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
17351         compile with unknown value of GDK_WINDOWING
17352
17353 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
17354
17355         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
17356         after the rule is fired.
17357         (install-exec-local): Install gdkconfig.h only if the contents are
17358         different from the currently installed gdkconfig.h.
17359
17360 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
17361
17362         * gdk/Makefile.am (configexecincludedir): Rename from 
17363         configincludedir so that gdkconfig.h will be installed 
17364         as part of `make install-exec'. 
17365
17366 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
17367
17368         * acinclude.m4
17369         * config.guess
17370         * config.sub
17371         * ltconfig
17372         * ltmain.sh: upgrade to libtool 1.2f
17373
17374         * autogen.sh: libtool is not required to autogen gtk+
17375
17376         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
17377         needed)
17378
17379 1999-03-18  Tor Lillqvist  <tml@iki.fi>
17380
17381         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
17382         declaring gdk variables exported/imported from the DLL. New image
17383         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
17384         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
17385         GDK_DRAG_PROTO_OLE2.
17386
17387         * gdk/gdk.h: Merge in Win32 version: Two new functions,
17388         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
17389         declared only for the Win32 version, but could be in the X11
17390         version as well. (Needed for a Xlib-less gdk_imlib.)
17391         gdk_color_hash should have only one parameter. Declare
17392         gdk_threads_mutex with GDKVAR.
17393         
17394         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
17395         just one parameter.
17396
17397         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
17398         per pixel, not bits.
17399
17400         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
17401         Fetch bpp (which means bits-per-pixel here) from another place on
17402         Win32. Accept also depth==32 (which we might get on Win32) with
17403         bpp==32.
17404
17405         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
17406         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
17407         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
17408         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
17409         in the backend-dependent directory, not in the common gdk
17410         directory.
17411
17412         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
17413         headers.
17414
17415 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
17416
17417         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
17418         want to use the Gtk+ devel version (which is true, and yes - even i am
17419         currently working with the 1.2.x branch). so everyone reading this, you
17420         probably want to issue
17421         cvs checkout -r glib-1-2 glib
17422         and
17423         cvs checkout -r gtk-1-2 gtk+
17424         as your next two comands.
17425
17426 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
17427
17428         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
17429         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
17430
17431         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
17432         file. strongly deprecated the GTK_HAVE_* macros, we provide
17433         GTK_CHECK_VERSION() for people that need to check for certain
17434         Gtk+ versions.
17435
17436         * gtk/gtkcompat.h: removed this from CVS.
17437         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
17438         idea right from the start, it just didn't seem like that back then.
17439
17440 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
17441
17442         * merges from gtk-1-2:
17443
17444 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
17445
17446         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
17447         item factory class has been created.
17448         (gtk_item_factory_parse_rc): likewise.
17449
17450         * gtk/gtkmenu.c:
17451         keep proper references for old_active_menu_item.
17452         (gtk_menu_reparent): unset the usize of the new parent,
17453         so the menu can sanely be size requested and we don't get nasty screen
17454         artefacts upon next reparentation.
17455         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
17456         enter notify. only synthesize enter notifies if the pointer really is
17457         inside the event window.
17458         (gtk_menu_popdown): use gtk_menu_shell_deselect().
17459         (gtk_menu_popup): move the background setting stuff into
17460         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
17461
17462         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
17463         gtk_menu_shell_select_item() to select the new item.
17464         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
17465         do the right thing for deselection as well.
17466
17467 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
17468
17469         * gtk/gtkwidget.[hc]:
17470         (gtk_widget_accelerators_locked): return whether a widget's accelerators
17471         are locked.
17472
17473         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
17474         existing accelerators if the widget's accelerators are locked.
17475
17476 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
17477
17478         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
17479
17480         * gtk/gtkmenu.c: truely forward key press and key release events to
17481         the menu widget from the toplevel or tearoff window. we can't simply
17482         connect to that, we need to stop further processing of the events as
17483         well.
17484
17485 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
17486
17487         * gtk/gtkmenu.c:
17488         (gtk_menu_key_press): pass event->keyval, event->state to
17489         gtk_accelerator_valid, instead of event->keyval twice.
17490         refuse to install single letter accelerators for menus that use
17491         single letter shortcuts.
17492
17493         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
17494         gtk_menu_ensure_uline_accel_group().
17495
17496         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
17497         which will always return an uline accel group, made
17498         gtk_menu_get_uline_accel_group() return NULL if the group isn't
17499         yet created.
17500
17501 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
17502
17503         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
17504
17505         * gtk/gtkclist.c (gtk_clist_column_title_passive):
17506         Leave button sensitive, trap  button_press, button_release,
17507         motion_notify, enter_notify and leave_notify events instead.
17508         (gtk_clist_column_title_active): disconnect event handler.
17509         (gtk_clist_drag_data_get): fixed memory leak. Reported by
17510         Guillaume Laurent <glaurent@worldnet.fr>
17511
17512 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
17513
17514         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
17515         width/height mixups.
17516
17517         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
17518         if needed.
17519
17520 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
17521
17522         * gtk/testgtk.c (create_item_factory): unref the item factory after
17523         window's destruction.
17524
17525         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
17526         count on the menu shell around the menu item's activation, since the
17527         signal emission may cause menu shell destruction.
17528
17529         * gtk/gtkitemfactory.c:
17530         the previous code leaked one accel group per menu. we use
17531         gtk_menu_get_uline_accel_group() now to fix that, and with that
17532         also create the underline accelerator group of the menus only if
17533         required (i.e. an underline accelerator has been specified).
17534         (gtk_item_factory_construct):
17535         (gtk_item_factory_create_item): removed code that would create an
17536         extra accel group for the menu (and leak references).
17537         (gtk_item_factory_create_item): adapted the underline accelerator
17538         installation code to properly feature gtk_menu_get_uline_accel_group().
17539
17540         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
17541         menu->accel_group, this may return NULL if the accelerator group
17542         hasn't been set yet.
17543         added gtk_menu_get_uline_accel_group() to retrive the underline
17544         accelerator group of the menu, this will be created on demand
17545         and proper care is taken about its reference count.
17546
17547         * gtk/gtkitemfactory.h:
17548         * gtk/gtkitemfactory.c:
17549         dumped the approach of keeping a widgets by action list on the
17550         factory since the factory<->widget destroy negotiation didn't work
17551         and would be hard to get going at all. instead we keep a list of
17552         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
17553         persistant throughout a program's life time).
17554         also, i removed the static const gchar *key_* variables, and made
17555         them inline strings (they weren't actually used anyways).
17556         (gtk_item_factory_add_item): update ifactory->items.
17557         (gtk_item_factory_destroy): destroy ifactory->items (and remove
17558         the item factory pointer from the remaining ifactory widgets).
17559         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
17560         list to find the widget.
17561         (gtk_item_factory_get_item): new function that works around
17562         gtk_item_factory_get_widget() limitations, this function will only
17563         return menu items, even for <Branch> entries.
17564
17565 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
17566
17567         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
17568         font hash table, if we have a GdkFontPrivate entry for this font
17569         already, simply increment its reference count, provided by Olaf Dietsche
17570         <olaf.dietsche+list.gtk@netcologne.de>.
17571
17572         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
17573         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
17574
17575 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
17576
17577         * gtk/gtkcontainer.c:
17578         (gtk_container_add_with_args):
17579         (gtk_container_addv):
17580         (gtk_container_add): before adding a child to a conatiner, make sure
17581         it is (default) constructed, this is neccessary because under certain
17582         circumstances the child will get relized and mapped immediatedly, in
17583         which case it has to be constructed already.
17584
17585 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
17586
17587         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
17588         values > 1 as TRUE also.
17589
17590 1999-03-16  Tor Lillqvist  <tml@iki.fi>
17591
17592         * README.win32: New file.
17593                 
17594         * configure.in: Check for lstat.
17595
17596         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
17597         completeness.
17598
17599         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
17600
17601         * gtk/gtk.def: Removed CRs.
17602
17603         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
17604         ..\gdk\win32).
17605
17606         * gdk/win32/makefile.msc: Correct upwards relative paths.
17607         
17608 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
17609
17610         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
17611           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
17612           it was connecting a void function to expose_event and the int
17613           returning function to the draw signal
17614
17615 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
17616
17617         * configure.in:
17618         Use correct path to libgmodule.la when ref'ing uninstalled copy
17619         of glib.  (Already in stable branch, Bug #417)
17620
17621 1999-03-15  Tor Lillqvist  <tml@iki.fi>
17622
17623         Win32 merge and general portability stuff:
17624                 
17625         * acconfig.h,configure.in: Check for <sys/time.h>.
17626
17627         * gdk/win32: New directory (actually, been there for a while).
17628         
17629         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
17630         NATIVE_WIN32, and use these. Always case fold on Win32. No
17631         backslashed escapes on native Win32.
17632
17633         * gtk/{gtk.def,makefile.msc}: New files.
17634
17635         * gtk/Makefile.am: Add above new files.
17636         
17637         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
17638         instead of <strings.h>.
17639
17640         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
17641         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
17642         <unistd.h> appropriately.
17643
17644         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
17645         Use ABS() (from <glib.h>) instead of abs().
17646         
17647         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
17648         of gtk (and thus glib) headers, so that WIN32 will be
17649         defined. With MS C, include <direct.h> for mkdir prototype.
17650
17651         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
17652         some casts, needed by MS C.
17653
17654         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
17655         implemented).
17656
17657         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
17658         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
17659         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
17660
17661         * gtk/gtkmain.h: Mark variables for export/import on Win32.
17662                 
17663         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
17664         the event is not a hint, or its window is not the slider. Needed
17665         on Win32, at least.
17666
17667         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
17668         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
17669         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
17670         a subdirectory of the Windows directory as gtk system
17671         configuration directory.
17672
17673         * gtk/gtkselection.c: No chunks on Win32.
17674
17675         * gtk/gtksocket.c: Not implemented on Win32.
17676
17677         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
17678
17679         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
17680
17681         * gtk/maketypes.awk: Declare variables with a macro that expands to
17682         necessary export/import magic in the case of Win32.
17683                 
17684         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
17685
17686 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
17687
17688         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
17689         since those were meant only for gdki18n.h.  
17690         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
17691         for widechar tests.
17692         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
17693
17694 1999-03-13  Tor Lillqvist  <tml@iki.fi>
17695
17696         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
17697         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
17698
17699         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
17700         installed) to CFLAGS.
17701
17702         * gdk/Makefile.am: Add rules for gdkconfig.h.
17703
17704         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
17705         APIs.
17706
17707         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
17708         gdkx.h anyway when compiling for X11.
17709         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
17710         general): Merge in Win32 version.
17711         
17712         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
17713         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
17714         expansion (if we don't have HAVE_PWD_H), allow for drive
17715         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
17716         included code from Craig Setera's port to Win32 (the one that uses
17717         X11, and the cygwin dll), even if it probably will be abandoned.
17718
17719         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
17720         the user entered one herself.  This way one can complete *.h and
17721         don't get matches on any .help files, for instance.
17722         
17723 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
17724
17725         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
17726         font hash table, if we have a GdkFontPrivate entry for this font
17727         already, simply increment its reference count, provided by Olaf Dietsche
17728         <olaf.dietsche+list.gtk@netcologne.de>.
17729
17730         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
17731         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
17732
17733 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
17734
17735         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
17736         the number of calls to gdk_draw_point() (and thus to X) by
17737         clipping the points by hand.
17738
17739         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
17740         the clip parameter.
17741         (gtk_handle_box_paint): Only paint the handle if the expose area
17742         intersects it.
17743
17744 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
17745
17746         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
17747
17748 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
17749
17750         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
17751         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
17752
17753 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
17754
17755         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
17756          textmode (O_TEXT) for OS/2 version.
17757
17758 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
17759
17760         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
17761         GtkSpinButton, "input" and "output", to make the output more flexible.
17762         The user has to provide a mapping between adjustment->value and the
17763         output string (and vice versa, if the spin button is editable). 
17764         See testgtk for examples.
17765
17766 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
17767
17768         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
17769         new one.
17770         
17771         * configure.in: set gtk+ version to 1.3.0.