]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
Clip the retrieved image data to the screen, using a server grab to avoid
[~andy/gtk] / ChangeLog.pre-2-4
1 2001-06-28  Havoc Pennington  <hp@pobox.com>
2
3         * gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): Clip the retrieved
4         image data to the screen, using a server grab to avoid race
5         conditions.
6
7         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove 
8         check for NULL return from gtk_image_new_from_stock(), it never
9         returns NULL.
10         (gtk_item_factory_create_item): fix bug where we parsed the stock
11         ID as an inline pixbuf
12
13         * gtk/gtktext.c (gtk_text_key_press): numeric keypad support
14
15         * gtk/gtkspinbutton.c (gtk_spin_button_key_press): numeric keypad
16         support (should be using binding set here)
17
18         * gtk/gtkoptionmenu.c (gtk_option_menu_key_press): numeric keypad
19         support (should be using binding set here)
20
21         * gtk/gtkmenushell.c (gtk_menu_shell_class_init): numeric keypad 
22         support
23
24         * gtk/gtkmenu.c (gtk_menu_class_init): numeric keypad support
25
26         * gtk/gtkmenubar.c (gtk_menu_bar_class_init): numeric keypad
27
28         * gtk/gtklistitem.c (gtk_list_item_class_init): numeric keypad
29
30         * gtk/gtkimcontextsimple.c
31         (gtk_im_context_simple_filter_keypress): keypad
32
33         * gtk/gtkfilesel.c (gtk_file_selection_key_press): keypad 
34
35         * gtk/gtkentry.c (gtk_entry_class_init): numeric keypad fixes
36
37         * gtk/gtkctree.c (gtk_ctree_class_init): numeric keypad support
38
39         * gtk/gtkcolorsel.c (palette_activate): keypad support (of course,
40         should be binding-setted)
41
42         * gtk/gtkwindow.c (gtk_window_class_init): numeric keypad fixes
43
44         * gtk/gtkclist.c (gtk_clist_class_init): numeric keypad fixes
45
46         * gtk/gtkcalendar.c: numeric keypad fixes
47
48         * gtk/gtktextview.c (gtk_text_view_class_init): numeric keypad
49         support
50
51         * gdk/gdkwindow.c (gdk_window_get_clip_region): fix infinite loop
52         screwup
53
54         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha): 
55         clip the render area to the drawable's clip region in advance,
56         so we don't get data from the server that we don't need.
57
58         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
59         check return value of gdk_pixbuf_get_from_drawable(), fall back 
60         to bilevel alpha if we can't get the pixbuf to composite against.
61
62         * gdk/gdkdraw.c (gdk_drawable_get_image): set the image colormap
63
64         * gdk/gdkimage.c (gdk_image_get_colormap): add
65         gdk_image_set_colormap, gdk_image_get_colormap
66
67         * gdk/gdkpixbuf-drawable.c (rgbconvert): Change all converters to
68         take a region of the image, instead of converting the entire
69         image.
70
71         * gtk/gtkwidget.h (struct _GtkWidgetClass): add show_help
72         keybinding signal. Add default bindings for it. Add default
73         handler for show_help that shows the tooltip for the widget.
74
75         * gtk/gtkdialog.c (gtk_dialog_class_init): add binding set and
76         "close" keybinding signal, remove key press handler.
77
78         * gtk/gtktooltips.c (gtk_tooltips_set_colors): Just remove this,
79         it's not our usual practice to leave a deprecated function around
80         with a runtime warning, plus we don't want it to appear in docs,
81         plus if we make them yellow no one will want to change them
82         anyhow.
83
84 Thu Jun 28 23:53:31 2001  Tim Janik  <timj@gtk.org>
85
86         * gtk/gtkwidget.c (gtk_widget_hide): !GTK_OBJECT_DESTROYED() ->
87         GTK_WIDGET_REALIZE() for resize queueing.
88
89         * gtk/gtkmain.c (gtk_main_do_event): !GTK_OBJECT_DESTROYED() ->
90         GTK_WIDGET_REALIZE() for post event delivery destruction upon
91         GDK_DESTROY.
92         
93         * gtk/gtkwidget.c: added GtkWidget::event-after notification signal, to
94         sompensate for former (pre-2.0) connect_after() facility.
95         (gtk_widget_send_expose): 
96         (gtk_widget_event): assert the widget is realized, since event delivery
97         to non-realized widgets is essentially a bug. event handlers should
98         be able to unconditionally rely on widget->window (unless they
99         emit events on their own which can trigger widget destruction).
100         (gtk_widget_event_internal): removed old outdated GTK_OBJECT_DESTROYED()
101         logic. event delivery happens as follows:
102         a) emission of GtkWidget::event (RUN_LAST handler). returns was_handled.
103         b) if !was_handled in (a) and the widget is still realized, emit event-
104            specific signal (RUN_LAST handler). returns was_handled.
105         c) emission of GtkWidget::event-after for notification if the widget is
106            still realized (regardless of was_handled from previous stages, no
107            class handler). no return value.
108         d) was_handled gets passed on to caller, to determine further
109            propagation. if the widget got unrealized meanwhile, was_handled
110            is returned as TRUE.
111
112         * gdk/gdkevents.[hc]: added gdk_event_get_root_coords() and
113         gdk_event_get_coords().
114
115 Thu Jun 28 17:18:41 2001  Tim Janik  <timj@gtk.org>
116
117         * configure.in (GTK_MICRO_VERSION): up version to 1.3.7, interface
118         age 0, binary age 0. depend on glib 1.3.7.
119
120         * gtk/gtkcontainer.c: remove g_signal_handlers_disconnect_by_func() hack.
121
122         * gtk/gtkmenubar.c: same here.
123         
124         * gtk/gtkcontainer.c (gtk_container_focus_tab): fix param-spec retrival.
125
126         * gtk/gtkcolorsel.c (gtk_color_selection_init): fix connect_data() usage.
127
128         * gtk/gtkentry.c (gtk_entry_focus_in): same here.
129         
130         * gtk/gtkmenubar.c (add_to_window): likewise.
131         
132         * gtk/gtktextbtree.c: and here...
133         
134         * gtk/gtktextview.c (gtk_text_view_ensure_layout): same thing.
135         
136         * gtk/gtktoolbar.c (gtk_toolbar_init): once more.
137         
138         * gtk/gtktreemodel.c (connect_ref_callbacks): and another time.
139         
140         * gtk/gtktreeviewcolumn.c:
141         (_gtk_tree_view_column_set_tree_view): yet again.
142
143         * demos/gtk-demo/images.c (progressive_timeout): demonstrate
144         signal connections without g_signal_connect_data().
145         
146         * demos/gtk-demo/stock_browser.c (do_stock_browser): second
147         demo of the matter.
148         
149         * demos/testpixbuf.c (main): running out of equality phrases for the
150         ChangeLog, but had to adapt connections here as well.
151         
152         * demos/testanimation.c (progressive_timeout): and for the fun of it,
153         tackled this the same way.
154         
155         * tests/testtext.c (create_view): ok, it's becoming a pain at this
156         point, but had enough enery for one more fix.
157
158         * tests/testtreecolumns.c (main): stand up man, do your work!
159
160         * tests/testtreeview.c (set_columns_type): ok, this is the last file i
161         fix, either that's been all of it or CVS gtk is broken yet again.
162         
163 2001-06-29  James Henstridge  <james@daa.com.au>
164
165         The following changes correspond to bug #56812
166
167         * gdk/gdkinput.h, gdk/gdkevents.c (GDK_TYPE_DEVICE): register type
168         code for GdkDevice.
169
170         * gdk/gdkcursor.[ch] (GDK_TYPE_CURSOR): register type code for
171         GdkCursor.
172
173 2001-06-19  Havoc Pennington  <hp@pobox.com>
174
175         * gdk/x11/gdkwindow-x11.c (gdk_window_show_unraised): new function
176         for mapping a window without fooling with stacking order, but
177         updating the "withdrawn" flag
178
179         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Do event
180         filtering as soon as possible, moving move resize and wmspec_check
181         handling after the event filter.  Make default filter apply to all
182         events, not just those with no GdkWindow wrapped around the X
183         window. Fix a FIXME about how the window could be a pixmap using 
184         RTTI; this of course assumes GDK_IS_WINDOW() is optimized. 
185
186         Also, be robust against events not on a known GdkWindow.
187
188         * gdk/x11/gdkmain-x11.c (gdk_x11_grab_server,
189         gdk_x11_ungrab_server): export reference-counted server grabs, so
190         other people can grab server over a GDK function that also does
191         so.
192
193 Wed Jun 27 19:40:31 2001  Jonathan Blandford  <jrb@redhat.com>
194
195         * gtk/gtktreeviewcolumn.c
196         (gtk_tree_view_column_pack_start_cell_renderer): New function to
197         reflect that you can (hypothetically) pack cell renderers into a
198         column.
199         (gtk_tree_view_column_pack_end_cell_renderer): ditto.
200         (gtk_tree_view_column_cell_is_visible): Move more functionality to
201         the column.
202         (gtk_tree_view_column_cell_can_focus): Move more functionality to
203         the column.
204
205         * gtk/gtktreeview.c: Move to use new column-packing code.
206         (gtk_tree_view_real_expand_row): remove totally braindead code.
207         (gtk_tree_view_real_collapse_row): ditto.
208
209 2001-06-27  Kjartan Maraas  <kmaraas@gnome.org>
210
211         * gtk/gtktreeviewcolumn.c: Fix a typo.
212         
213 2001-06-26  Joel Becker  <jlbec@evilplan.org>
214
215         * gdk-pixbuf/gdk-pixbuf-csource.c: remove '#include "x"' line
216           at the end of the file
217
218 2001-06-26  Havoc Pennington  <hp@redhat.com>
219
220         * gtk/gtkwindow.c (gtk_window_set_policy): forgot a notification
221
222 2001-06-26  Havoc Pennington  <hp@redhat.com>
223
224         * gtk/gtkwindow.c (gtk_window_class_init): add "resizable"
225         property
226
227 Tue Jun 26 12:59:28 2001  Jonathan Blandford  <jrb@redhat.com>
228
229         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): fix
230         stupid missing statement
231
232         * gtk/gtktreeview.c (gtk_tree_view_set_destroy_count_func): New
233         private function for ATK.  It notifies you of how many _visible_
234         children are deleted when a node is deleted.  Should be used by
235         atk only.
236
237 Tue Jun 26 11:06:34 2001  Owen Taylor  <otaylor@redhat.com>
238
239         * gtk/gtkclist.c gtk/gtkentry.c gtk/gtkspinbutton.c:
240         Use new pango_context_get_metrics() to fix problems
241         with font lists in descriptions. (#56184, reported by
242         Jonas Borgström)
243
244 Tue Jun 26 10:04:30 2001  Tim Janik  <timj@gtk.org>
245
246         * gtk/gtkiconfactory.c:
247         * gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up
248         item factory so inlined pixbufs actually work.
249
250 2001-06-25  Havoc Pennington  <hp@redhat.com>
251
252         * gtk/gtktreeviewcolumn.h, gtk/gtktreeviewcolumn.c:
253         s/RESIZEABLE/RESIZABLE/
254
255         * gtk/gtkwindow.c, gtk/gtkwindow.h: s/resizeable/resizable/
256
257 2001-06-25  Alexander Larsson  <alexl@redhat.com>
258
259         * configure.in:
260         Added --enable-fbmanager. This is some experimental code
261         that lets several GtkFB apps coordinate their access to the
262         framebuffer.
263         
264         * acconfig.h:
265         Added ENABLE_FB_MANAGER.
266
267         * gdk/linux-fb/Makefile.am:
268         Added gdkfbmanager and gdkfbswitch.
269
270         * gdk/linux-fb/gdkkeyboard-fb.c:
271         * gdk/linux-fb/gdkmouse-fb.c:
272         * gdk/linux-fb/gdkprivate-fb.h:
273         Split device init and open so that
274         they can be opened and closed while switched
275         away.
276
277         * gdk/linux-fb/gdkmain-fb.c:
278         Add the basic manager communication.
279
280         * gdk/linux-fb/gdkrender-fb.c:
281         Don't update to the shadow fb if we're
282         blocked by the fb manager.
283
284 Sun Jun 24 22:15:16 2001  Owen Taylor  <otaylor@redhat.com>
285
286         * docs/Changes-2.0.txt: Add note about child property
287         changes.
288
289 Sun Jun 24 21:34:32 2001  Owen Taylor  <otaylor@redhat.com>
290
291         * gtk/gtkenums.h gtk/gtkiconfactory.c: Add a special size for
292         drag-and-drop GTK_ICON_SIZE_DND (Default to 32x32)
293
294         * gtk/gtkdnd.c (gtk_drag_dest_set_target_list): Fix problem
295         with un'reffing wrong list reported by Jeff Franks.
296
297         * gtk/gtkdnd.[ch] (_gtk_drag_{source,}dest_handle_event): _prefix.
298
299         * gtk/gtkdnd.c (gtk_drag_set_icon_default): Use GTK_STOCK_DND
300         for the default icon. Remove inline XPM.
301
302         * gtk/gtkstock.h gtk/gtkiconfactory.c:
303         Add GTK_STOCK_DND GTK_STOCK_DND_MULTIPLE (Currently, stock_new
304         is used for GTK_STOCK_DND, but it is a bit too small.)
305
306         * gtk/stock-icons/stock_dnd_multiple.png
307         gtk/stock-icons/Makefile.am: New stock icon moved from gnome-libs.
308
309         * gtk/gtkdnd.c (gtk_drag_source_event_cb): Only return
310         TRUE when starting a drag. In other cases, we are
311         just observing. (#52995)
312
313         * gtk/gtkdnd.[ch] (gtk_drag_set_icon_{stock,pixbuf}): Add 
314         function to set the icon for a drag from a GdkPixbuf
315         or stock ID.
316
317         * gtk/gtkdnd.[ch] (gtk_drag_source_set_icon_{stock,pixbuf}): 
318         Likewise, for drag sources.
319
320         * gtk/gtkdnd.h: Deprecate gtk_drag_set_default_icon.
321         (Now should be done using the stock system.)
322
323 Sun Jun 24 12:06:47 2001  Owen Taylor  <otaylor@redhat.com>
324
325         * gtk/gtktextview.[ch] (gtk_text_view_set_text_window_size): 
326         Removed - didn't work and not particularly useful anyways
327         if it did. 
328
329 Sun Jun 24 11:29:35 2001  Owen Taylor  <otaylor@redhat.com>
330
331         * gdk/x11/gdkimage-x11.c (gdk_image_new): Fix stupid error
332         introduced last night that was making things decidedly not work.
333
334         * gtk/*.[ch]: Patch from Kristian Rietveld adding 80 getters
335         so that we have getter/setter pairing everywhere it makes
336         sense. (#55767)
337
338         * gtk/gtkradiobutton.[ch] gtk/gtktoolbar.c tests/testgtk.:
339         Rename gtk_radio_button_group to gtk_radio_button_get_group, add a
340         deprecated compat macro. (#55516)
341
342         * gtk/gtklabel.[ch]: Add functions
343         gtk_label_set/get_use_underline(), gtk_label_set/get_use_markup(),
344         gtk_label_set_label(), which mirror the property API for GtkLabel.
345         Make gtk_label_get_attributes() only reflect the attributes
346         set by gtk_label_set_attributes.
347
348         * gtk/gtknotebook.c (gtk_notebook_set_current_page) gtk/gtkcompat.h: Rename
349         from gtk_notebook_set_page().
350
351 Sat Jun 23 18:02:46 2001  Owen Taylor  <otaylor@redhat.com>
352
353         * configure.in: Fix tests for XShm.h.
354
355         * gdk/x11/gdkimage-x11.c: Cleanup error handling in
356         gdk_image_new() by use of goto, properly use g_object_unref().
357
358 Sat Jun 23 22:03:20 2001  Tim Janik  <timj@gtk.org>
359
360         * gdk/x11/gdkimage-x11.c (gdk_image_init): disabled g_free (image)
361         calls, as GdkImage is an object. these should be g_obejct_unref()
362         instead but that won't work because of the g_error() statement
363         in gdk_x11_image_destroy(). so for now, i did s/g_free/LEAK_IMAGE/
364         to spot these places.
365
366 Sat Jun 23 10:27:53 2001  Owen Taylor  <otaylor@redhat.com>
367
368         * modules/input/gtkimcontextxim.c: Fixup some problems with 
369         text length handling in error cases.
370
371         * gtk/gtkwidget.c (gtk_widget_size_allocate): Reorder
372         a bit to make test actually warn on attempt to allocation
373         a negative size. (#56101, Matthias Clasen)
374
375 Fri Jun 22 14:06:08 2001  Jonathan Blandford  <jrb@redhat.com>
376
377         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug
378         noticed by Brian Cameron.
379         (gtk_tree_view_real_expand_row): Fix bug noticed by Brian
380         Cameron.
381
382 2001-06-22  Hans Breuer  <hans@breuer.org>
383
384         * gdk/gdk.def : updated externals
385
386         * gdk/win32/gdkdrawable-win32.c : corrected some casts
387         in GDK_NOTEs
388
389         * gdk/win32/gdkevents-win32.c : use _gdk_windowing_window_get_offsets
390         to translate coordinates to the internal > 16 bit system
391         Try to handle WM_WINDOWPOSCHANGED to get better performance for
392         when moving/resizing
393
394         * gdk/win32/gdkkeys-win32.c : implement gdk_keymap_get_default ()
395         and gdk_keymap_get_direction (). The latter is untested for
396         the RTL case
397
398         * gtk/gtk.def : updated externals
399
400         * gtk/gtkmain.c : gtk_get_default_language () should reurn the result
401         from pango_language_from_string (), not an already freed pointer
402
403         * gtk/stock-icons/stock_menu_sort_ascending.png : PNGs need to be 
404         binary (-kb) to be useable on windoze
405  
406 2001-06-21  Alexander Larsson  <alexl@redhat.com>
407
408         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description): 
409         Update to new PangoLanguage changes.
410         
411         * gtk/gtkwindow-decorate.c:
412         * gtk/gtkwindow.[ch]:
413         Added setting argument to gtk_window_set_has_frame ()
414         
415 Thu Jun 21 13:42:01 2001  Owen Taylor  <otaylor@redhat.com>
416
417         * gdk/x11/gdkkeys-x11.c (gdk_keymap_get_direction): Handle
418         the case without XKB properly.
419
420         * gtk/gtkrc.c (gtk_rc_set_default_files): Remove
421         unused gtk_rc_auto_parse variable.
422
423         * gtk/gtkrc.[ch] gtk/gtkstyle.c docs/Changes-2.0.txt:
424         Remove gtk_rc_set_image_loader(), gtk_rc_load_image(), no
425         longer needed with GdkPixbuf.
426
427         * gtk/gtkrc.c (_gtk_rc_init): Make private.
428
429 Fri Jun 15 16:26:12 2001  Owen Taylor  <otaylor@redhat.com>
430
431         * gtk/gtkentry.h: Mark deprecated functions with
432         GTK_DISABLE_DEPRECATED.
433
434 Mon Jun 11 18:15:16 2001  Owen Taylor  <otaylor@redhat.com>
435
436         * gdk/gdk.h: Add missing gdk_rectangle_get_type() prototype.
437
438         * gtk/gtk[hv]scale.c: Include math.h, stdlib.h
439
440         * gdk/gdkpango.h gtk/gtkclist.c gtk/gtkentry.c gtk/gtkmain.[ch]
441           gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtktextbuffer.c
442           gtk/gtktextdisplay.c gtk/gtktextiter.[ch]
443           gtk/gtktextlayout.c gtk/gtktexttag.[ch] gtk/gtkwidget.c: Adapt
444           to recent changes in Pango.
445
446         * tests/testgtk.c: Set language tags with gtk_label_set_markup()
447           to test whether the basic engine honors them.
448
449 Thu Jun 21 02:13:40 2001  Tim Janik  <timj@gtk.org>
450
451         * gtk/gtkcontainer.[hc]: added gtk_container_child_set_property() and
452         gtk_container_child_get_property().
453
454 Wed Jun 20 19:19:15 2001  Jonathan Blandford  <jrb@redhat.com>
455
456         * gtk/gtktreeview.c (gtk_tree_view_move_cursor_up_down): clean up
457         (gtk_tree_view_move_cursor_page_up_down): implement.
458
459 Wed Jun 20 05:32:05 2001  Tim Janik  <timj@gtk.org>
460
461         * gtk/gtkspinbutton.c: make maximum digits compile time configurable
462         via MAX_DIGITS and up to 20. 5 was just ridiculously small.
463         don't use automatic fixed size buffer for printf-ing floats, doubles
464         can expand to really _huge_ strings, use g_strdup_printf() instead.
465
466 Wed Jun 20 04:28:24 2001  Tim Janik  <timj@gtk.org>
467
468         * gtk/gtkrange.c (gtk_range_class_init): hum, "adjustment" was a
469         construct property in 1.2 and still needs to be.
470
471         * gtk/gtkwidget.c: "composite_child" is not a settable property.
472
473 Tue Jun 19 19:13:19 2001  Jonathan Blandford  <jrb@redhat.com>
474
475         * gtk/gtkliststore.c (gtk_list_store_clear): 
476         * gtk/gtktreestore.c (gtk_tree_store_clear): New functions to
477         clear a model.
478
479 Mon Jun 18 02:00:49 2001  Tim Janik  <timj@gtk.org>
480
481         * gtk/gtkwidget.c (gtk_widget_get_property): fix PROP_EVENTS.
482
483         * gtk/Makefile.am:
484         * gtk/gtk.h: disabled GtkPacker compilation.
485
486         * gtk/gtkarg.[hc], gtk/gtkargcollector.c: got rid of these.
487
488         * gtk/gtknotebook.c:
489         * gtk/gtktable.c:
490         * gtk/gtkbox.c: ported this over to child properties.
491
492         * gtk/gtksettings.c: fetch class properties via
493         g_object_class_list_properties().
494
495         * gtk/gtkcontainer.[hc]: implemented child properties, got rid of the
496         child arg interface. use gobjectnotifyqueue.c for child property
497         notification.
498
499         * gtk/gtkwidget.[hc]: provide necessary means for container child
500         properties, i.e. ::child_notify signal,
501         gtk_widget_freeze_child_notify(),
502         gtk_widget_child_notify(),
503         gtk_widget_thaw_child_notify().
504
505         * tests/testgtk.c: removed inferior property handling code, for
506         property editing, a generic module should be used, and GLE
507         coincidentally fullfills that purpose.
508
509         * docs/reference/Makefile.am: disabled gtk docs building, gtk-doc
510         needs to be adapted to g_object_class_list_properties() before this
511         builds again.
512
513 Mon Jun 18 20:06:10 2001  Jonathan Blandford  <jrb@redhat.com>
514
515         * gtk/gtktreeview.c (gtk_tree_view_row_expanded): New function to
516         test if a node is expanded.
517
518 Mon Jun 18 19:41:38 2001  Jonathan Blandford  <jrb@redhat.com>
519
520         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug
521         where collapsing a selected row would result in the cursor/anchor
522         getting screwed up.
523
524 Fri Jun 15 18:53:48 2001  Jonathan Blandford  <jrb@redhat.com>
525
526         * gtk/gtktreesortable.c (gtk_tree_sortable_set_sort_func): Rename
527         gtk_tree_sortable_sort_column_id_set_func.  It's much shorter now.
528         * gtk/gtktreeview.c (gtk_tree_view_sort_iter_changed): WOOO!!!
529         Now I can really reorder/sort all Store widgets.  treesorttest
530         seems to just work now.
531         * gtk/gtklistview.c (gtk_list_store_iter_changed): Whoops.
532         testtreesort worked through a big coincidence all this time.
533         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Nasty bug fix in nasty
534         code.
535         * tests/testtreecolumns.c: Big 'ol warning at the top letting
536         people know that this code should never ever ever be copied.
537
538 2001-06-15  Jonas Borgström  <jonas@codefactory.se>
539
540         * gtk/gtkwindow.h: Fixed a small typo, it should be
541         GTK_WINDOW_GROUP_GET_CLASS and not GTK_WINDOW_GET_CLASS
542         on line 134.
543
544 2001-06-14  Havoc Pennington  <hp@redhat.com>
545
546         Docs fixups, and:
547         
548         * gtk/gtkcompat.h: remove GTK_DISABLE_COMPAT_H, replace with
549         GTK_DISABLE_DEPRECATED
550
551 Thu Jun 14 19:21:27 2001  Jonathan Blandford  <jrb@redhat.com>
552
553         * gtk/gtktreestore.c (gtk_tree_store_sort_helper): Whoops.  Forgot
554         this a couple months ago.  Now GtkTreeStore sort of sorts.  I'll
555         finish it off tonight, though it basically works now when it's a
556         list.  Also, I have a sinking feeling neither GtkTreeStore or
557         GtkListStore actually resort when adding a new item.  I'll look
558         into it.
559
560 2001-06-14  Havoc Pennington  <hp@redhat.com>
561
562         * demos/gtk-demo/main.c (load_file): fix bug identified by
563         warnings I just added to gtktextbuffer
564
565 2001-06-14  Havoc Pennington  <hp@redhat.com>
566
567         * gtk/gtkwindow.c (window_group_cleanup_grabs): fix other typo
568
569         * gtk/gtkwidget.c (gtk_widget_propagate_state): fix typo
570
571         * gtk/gtktextbtree.c: don't leak node data all over the place.
572
573         * demos/gtk-demo/main.c (main): create fontify tags for the right
574         buffer
575
576         * gtk/gtktextbuffer.c, gtk/gtktexttagtable.c: enhance docs
577         to mention tags in the same table can't have the same name,
578         suggested by Skip Montanaro
579
580 2001-06-11  Havoc Pennington  <hp@redhat.com>
581
582         * gtk/gtktexttagtable.c (gtk_text_tag_table_add): improve warning 
583         for trying to add two tags with same name to the tag table
584
585         * demos/gtk-demo/main.c (main): fix colors ;-)
586
587 `Fri Jun  8 17:56:52 2001  Owen Taylor  <otaylor@redhat.com>
588
589         * gtk/gtkwindow.[ch] gtk/gtkmain.c: Add a GtkWindowGroup struct
590         that allows grouping together multiple windows so that grabs
591         within that set of windows only affect those windows.
592
593         * gtk/gtkmain.c gtk/gtkwidget.[ch]: Add a "grab_notify"
594         signal for notification when a widget becomes shadowed
595         by a grab or is no longer shadowed by a grab.
596
597         * gtk/gtkwidget.c (gtk_widget_propagate_state)
598           gtk/gtkmain.c: (gtk_widget_grab_add): Don't allow
599         insenstive widgets to maintain a grab.
600
601 2001-06-14  Alexander Larsson  <alexl@redhat.com>
602
603         * docs/README.linux-fb:
604         Add some example config files that can be used with the URW fonts.
605         
606         * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init): 
607         Set up the color ramps for DirectColor mode.
608
609 2001-06-11  Havoc Pennington  <hp@redhat.com>
610
611         * Release 1.3.6
612          
613 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
614
615         * gdk/linux-fb/gdkwindow-fb.c:
616         Unify shaped window code and make it repaint the area that used
617         to be part of the shape, but isn't anymore.
618
619 2001-06-11  Havoc Pennington  <hp@redhat.com>
620
621         * NEWS: Updates
622
623         * configure.in (GTK_MINOR_VERSION): bump version to 1.3.6
624
625         * gtk/Makefile.am: glib_genmarshal already contains top_builddir
626         
627 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
628
629         * gdk/linux-fb/gdkdnd-fb.c (gdk_drag_status):
630         Don't pass on GDK_ACTION_DEFAULT. The Xdnd code
631         passes zero instead, so do we.
632         
633 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
634
635         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
636         Deep copy dash_list too.
637         (_gdk_fb_gc_new): Set default cap_style before
638         setting values.
639
640 2001-06-12  Alexander Larsson  <alla@lysator.liu.se>
641
642         * gdk/linux-fb/gdkkeyboard-fb.c (gdk_keymap_get_default,
643         gdk_keymap_get_direction): New functions.
644
645 Tue Jun 12 12:41:27 2001  Jonathan Blandford  <jrb@redhat.com>
646
647         * gtk/gtktreemodel.h (GTK_TREE_MODEL_LIST_ONLY): further justify
648         gtk_tree_model_get_flags by adding a second flag for atk.
649
650         * gtk/gtktreemodel.c: make cursor behavior interact better with
651         mouse presses.
652
653 Mon Jun 11 12:43:08 2001  Jonathan Blandford  <jrb@redhat.com>
654
655         * gtk/gtktreeview.c (gtk_tree_view_class_init): changed
656         expand_row/collapse_row to be 2 signals each -- test_expand_row
657         and row_expanded as well as test_collapse_row and row_collapsed.
658
659 2001-06-10  Anders Carlsson  <andersca@codefactory.se>
660
661         * demos/gtk-demo/stock_browser.c (do_stock_browser): Update
662         signal name to be changed instead of selection_changed.
663
664 2001-06-08  Havoc Pennington  <hp@redhat.com>
665
666         * gtk/gtkentry.c (gtk_entry_class_init): add read-only
667         "scroll_offset" property for notification when the layout offsets
668         may have changed
669         (gtk_entry_adjust_scroll): add notify for scroll_offset
670         (gtk_entry_layout_index_to_text_index): function to compensate for
671         preedit string when doing coordinate stuff on the entry's layout
672         (gtk_entry_text_index_to_layout_index): inverse function
673         (gtk_entry_get_layout_offsets): hook to get current position of
674         the layout      
675         (gtk_entry_get_layout): hook to get the layout itself.
676
677         * gtk/gtklabel.c (gtk_label_get_layout): new function
678
679 Fri Jun  8 19:49:29 2001  Jonathan Blandford  <jrb@redhat.com>
680
681         * gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): New
682         keybinding.
683         (gtk_tree_view_focus): Fix merge conflict.
684
685 Fri Jun  8 18:41:30 2001  Jonathan Blandford  <jrb@redhat.com>
686
687         * gtk/gtktreeview.c (gtk_tree_view_set_cursor): new function to
688         clean up cursor handling.
689
690 2001-06-08  Havoc Pennington  <hp@redhat.com>
691
692         * gtk/gtktextbuffer.c (gtk_text_buffer_get_start_iter): added this
693         function
694
695         * gtk/gtktextview.c (gtk_text_view_get_default_attributes): added
696         this function
697
698 2001-06-08  Alex Larsson  <alexl@redhat.com>
699
700         * gtk/gtkcompat.h.in:
701         Added compat macros for all old GTK_TYPE_GDK_xxx types.
702         Fixes bug #52892
703
704 2001-06-08  Havoc Pennington  <hp@redhat.com>
705         
706         * gtk/gtkhsv.h (struct _GtkHSVClass): had GtkContainerClass as
707         parent still
708
709 2001-06-08  Havoc Pennington  <hp@redhat.com>
710
711         * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): geez,
712         don't call g_list funcs on GSList
713
714         * gtk/gtkwidget.c (gtk_widget_child_focus): replaces
715         gtk_container_focus(), since some widgets have focusable locations
716         which are not other widgets. These widgets should not have to be 
717         containers just to manage the focus. For example, GtkHSV is
718         currently a container for no good reason. Also, this cleans
719         up the "if (is_container && is_sensitive && is_drawable)
720         container_focus ()" mess in widget implementations.
721
722         * gtk/gtkcontainer.c (gtk_container_focus): deprecate this
723         function, and have it just call gtk_widget_child_focus().
724
725         * gtk/gtkhsv.c: derive from widget not container
726         
727         Throughout: fix to reflect GtkContainer::focus change
728         
729 Fri Jun  8 12:38:49 2001  Jonathan Blandford  <jrb@redhat.com>
730
731         * gtk/gtktable.c (gtk_table_resize): warn if row/cols are out of
732         range.  Fix bug #55921
733
734         * gtk/gtkliststore.c (gtk_list_store_new_with_types): fix doc bug
735         (#55920).
736
737 Fri Jun  8 12:03:07 2001  Owen Taylor  <otaylor@redhat.com>
738
739         * gdk/gdkkeys.[ch]: Add a direction-changed signal,
740         and gdk_keymap_get_current_direction().
741
742         * gdk/x11/gdkevents-x11.c gdk/x11/gdkkeys-x11.c
743           gdk/x11/gdkmain-x11.c gdk/x11/gdkprivate-x11.h: Track
744         the current locked group, use it to set the keymap
745         direction.
746
747         * gtk/gtksettings.c: Add a new gtk-split-cursor setting
748         to determine whether we draw a split cursor or use
749         a jumping cursor based on the current direction.
750
751         * gtk/gtkentry.c gtk/gtktextview.c gtk/gtktextlayout.[ch]:
752         Obey the split cursor setting. 
753
754 Fri Jun  8 11:57:50 2001  Owen Taylor  <otaylor@redhat.com>
755
756         * gtk/gtkimmulticontext.c (activate_cb): Only activate
757         when toggling on, not when toggling off... (#55906)
758
759 Wed Jun  6 10:37:07 2001  Owen Taylor  <otaylor@redhat.com>
760
761         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): 
762         s/gdk_window_begin_paint/gdk_window_begin_paint_region/
763         in docs. (#55812, Vitaly Tishkov)
764
765 2001-06-08  Anders Carlsson  <andersca@codefactory.se>
766
767         * demos/gtk-demo/main.c (create_tree): Changed signal name from
768         selection_changed to changed in signal connection to GtkTreeSelection,
769         also used g_signal_connectc since GtkTreeSelection is now a GObject.
770
771 Thu Jun  7 18:25:42 2001  Jonathan Blandford  <jrb@redhat.com>
772
773         * gtk/gtktreeselection.c: Now it's a GObject instead of a
774         GtkObject.  The GtkTreeSelection::selection_changed signal is now
775         the GtkTreeSelection::changed signal.
776
777         * gtk/gtktreeview.c: Modified to deal with new GtkTreeSelection
778         object.
779
780         * tests/gtktree*.c: Modified to deal with new GtkTreeSelection
781         object.
782
783 2001-06-07  Havoc Pennington  <hp@redhat.com>
784
785         * gtk/Makefile.am: fix glib-mkenums and glib-genmarshal again
786
787 2001-06-07  Havoc Pennington  <hp@redhat.com>
788         
789         * gtk/Makefile.am: fixups for glib-mkenums and glib-genmarshal
790         (not tested yet because with absolute path to srcdir I can't build
791         atk, but it was broken anyway so this may help) 
792
793 2001-06-07  Havoc Pennington  <hp@redhat.com>
794
795         * configure.in: output m4macros/Makefile
796         
797 Wed Jun  6 21:59:16 2001  Jonathan Blandford  <jrb@redhat.com>
798
799         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): hook up arrow
800         buttons.  Fixes #55460 reported by matthiasc@poet.de.
801
802 Wed Jun  6 21:18:54 2001  Jonathan Blandford  <jrb@redhat.com>
803
804         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): centralize
805         expansion/collapsing so it only happens in one place.
806         (gtk_tree_view_real_expand_row): ditto.
807
808 2001-06-07  Havoc Pennington  <hp@redhat.com>
809
810         * tests/Makefile.am: add missing -I flag
811
812         * gtk/Makefile.am: use @GLIB_MKENUMS@, @GLIB_GENMARSHAL@, etc.
813
814         * configure.in: use pkg-config to see if GModule is
815         supported; fix to properly turn on included loaders 
816         when GModule isn't supported; don't use AC_CHECK_LIB 
817         when libs are not installed yet
818
819         * autogen.sh: add support for AUTOGEN_SUBDIR_MODE
820
821         * Makefile.am (SUBDIRS): add m4macros subdir
822
823         * gtk/Makefile.am: $(srcdir)/foo targets must be $(srcdir)/foo in
824         dependencies also.
825
826 Wed Jun  6 19:31:11 2001  Jonathan Blandford  <jrb@redhat.com>
827
828         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix silly bug
829         reported by "Padraig O'Briain" <Padraig.Obriain@Sun.COM>.
830
831 Wed Jun  6 20:01:38 2001  Jonathan Blandford  <jrb@redhat.com>
832
833         * gtk/gtktreeview.c
834         (gtk_tree_view_real_expand_collapse_cursor_row): Handle key
835         bindings to expand and collapse rows.
836         (gtk_tree_view_real_select_cursor_parent): New key binding.
837         (gtk_tree_view_real_toggle_cursor_row): New key binding.
838
839         * gtk/gtkmarshal.list: new
840         marshaller. (VOID__BOOLEAN_BOOLEAN_BOOLEAN)
841
842 2001-06-06  Havoc Pennington  <hp@redhat.com>
843
844         * gtk/gtkrange.c (gtk_range_class_init): add "inverted" property
845
846         * gtk/gtkscale.c (gtk_scale_class_init): Change Page Up and Page
847         Down to move visually rather than logically, since it confuses 
848         people. Add -/+ and Ctrl--/+ bindings for logical movement.
849
850 2001-06-06  Alex Larsson  <alexl@redhat.com>
851
852         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
853         Fix up error messages.
854
855 Wed Jun  6 10:34:42 2001  Owen Taylor  <otaylor@redhat.com>
856
857         * gtk/gtktooltips.h: Include gtkwidget.h 
858         (#55798, Karl Nelson)
859
860         * gdk/x11/gdkwindow-x11.c (utf8_is_latin1): 0xff is
861         a valid latin-1 character. (Marc Lehmann, #35467)
862
863         * gdk/x11/gdkwindow-x11.c: Fix minor typo in comment. 
864         (Marc Lehmann, #35467)
865         
866 2001-06-05  Alex Larsson  <alexl@redhat.com>
867
868         * demos/gtk-demo/appwindow.c (do_appwindow):
869         Don't swap the order of the args to gtk_widget_destroyed.
870
871         * tests/testgtk.c (destroy_properties):
872         Don't crash when the properties window is destroyed.
873
874         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_from_stock):
875         Use with_mnemonics to handle the case of stock items with
876         underscores in them.
877
878 2001-06-05  Havoc Pennington  <hp@redhat.com>
879
880         * gtk/gtktextiter.c (gtk_text_iter_order): rename from 
881         gtk_text_iter_reorder
882
883 2001-06-05  Havoc Pennington  <hp@redhat.com>
884
885         * gtk/gtktoolbar.c (gtk_toolbar_remove_space): new function
886
887 2001-06-05  Havoc Pennington  <hp@redhat.com>
888
889         * gtk/gtkspinbutton.c (gtk_spin_button_set_range): clamp the value 
890         to the range that was set
891
892         * gtk/gtkrange.c: add value_changed signal, primarily 
893         intended for use with GtkScale
894         (gtk_range_set_increments): new function
895         (gtk_range_set_range): new function with weird name
896         (gtk_range_set_value): new function
897         (gtk_range_get_value): new function
898
899         * gtk/gtkspinbutton.c (gtk_spin_button_get_value): rename 
900         from gtk_spin_button_get_value_as_float(). Compat #define
901         added for get_value_as_float.
902
903         * gtk/gtkhscale.c (gtk_hscale_new_with_range): new function
904
905         * gtk/gtkvscale.c (gtk_vscale_new_with_range): new function
906
907 Tue Jun  5 14:57:18 2001  Jonathan Blandford  <jrb@redhat.com>
908
909         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_size): Fix bug #55573
910
911 Mon Jun  4 12:41:25 2001  Owen Taylor  <otaylor@redhat.com>
912
913         * gtk/gtkwidget.h: Deprecate gtk_widget_set().
914
915         * tests/testgtk.c (create_tooltips): Remove usage of
916         gtk_widget_set().
917
918 2001-06-05  Havoc Pennington  <hp@redhat.com>
919
920         * gtk/gtkcolorsel.c: Use new mnemonic convenience functions
921
922         Applying patch from Jeff Franks, with function docs added.
923         
924         * gtk/gtkcheckbutton.c (gtk_check_button_new_with_mnemonic):
925         remove call to set_mnemonic_widget, change docs a bit.  
926
927         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_with_mnemonic):
928         new function
929
930         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_new_with_mnemonic):
931         new function
932
933         * gtk/gtkmenuitem.c (gtk_menu_item_new_with_mnemonic): new function
934
935         * gtk/gtkradiobutton.c (gtk_radio_button_new_with_mnemonic): new
936         function
937         (gtk_radio_button_new_with_mnemonic_from_widget): new function
938
939         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_with_mnemonic):
940         new function
941
942         * gtk/gtktogglebutton.c (gtk_toggle_button_new_with_mnemonic): new
943         function        
944
945         * gtk/gtklabel.c (gtk_label_new_with_mnemonic): Improve docs on 
946         auto-selection of mnemonic widget.
947
948 Mon Jun  4 15:05:24 2001  Jonathan Blandford  <jrb@redhat.com>
949
950         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_max_width):
951         Fix segfault found by Vitaly Tishkov <tvv@sparc.spb.su>.
952         (gtk_tree_view_column_set_min_width): ditto.
953
954 Tue Jun  5 11:04:06 2001  Owen Taylor  <otaylor@redhat.com>
955
956         * gdk/gdkpixmap.h (GDK_PIXMAP_GET_CLASS): 
957         s/GdkPixmapClass/GdkPixmapObjectClass/. (#51890, Jeff Franks)
958
959 Mon Jun  4 12:50:11 2001  Owen Taylor  <otaylor@redhat.com>
960
961         * gtk/gtkctree.c (gtk_ctree_insert_gnode): Add a missing
962         gtk_clist_thaw().
963
964 2001-06-04  Havoc Pennington  <hp@pobox.com>
965
966         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore 
967         releases for buttons 6, 7
968
969 2001-06-04  Havoc Pennington  <hp@redhat.com>
970
971         * gtk/gtkseparatormenuitem.h: Fix a search-and-replace screwup
972         (s/CHECK/SEPARATOR/ gone awry). Patch from Jeff Franks, bug
973         #55562
974
975 2001-06-04  Havoc Pennington  <hp@redhat.com>
976
977         * gtk/gtktextview.c (gtk_text_view_size_request): handle case
978         where text_view->layout == NULL by assuming its size is 0, 
979         i.e. same as if we haven't done any reflow. Reported by 
980         Hidetoshi Tajima #55448 
981
982 2001-06-04  Havoc Pennington  <hp@redhat.com>
983
984         * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6
985         and 7 for scroll left/right, from Thomas Broyer
986
987 2001-05-10  Havoc Pennington  <hp@redhat.com>
988
989         * gtk/gtksettings.c (gtk_settings_get_property): Handle case where
990         we need to parse the xsetting as if it were an RC file string.
991
992         * gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial
993         value of palette from settings, not from static variable
994
995         * gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to
996         xsettings translation table
997
998         * gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because 
999         hardcoding the toolbar style conflicts with new customizable 
1000         toolbar style philosophy
1001         (gtk_toolbar_class_init): add settings for default toolbar style;
1002         these are used unless the app specifically forces a toolbar style
1003
1004         * gtk/gtksettings.c (settings_install_property_parser): only
1005         return at the start if we warn and parser == NULL
1006
1007         * gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the
1008         palette changed handler so we don't notify dead color selections
1009
1010         * gtk/gtkstyle.c (gtk_default_draw_shadow): handle
1011         xthickness/ythickness of 0 or 1 properly 
1012         (gtk_default_draw_resize_grip): clear the background behind the
1013         resize grips, and align to bottom right if we square the 
1014         area to be drawn.
1015
1016         * gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on 
1017         statusbar label to 1, so it doesn't make toplevels resize oddly
1018         (gtk_statusbar_size_request): add grip size to request
1019         (gtk_statusbar_size_allocate): hack so the hbox still works with 
1020         the grip size in the request
1021
1022         * gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix 
1023         bug where showing all on a toplevel makes the toolbar 
1024         button text appear despite the toolbar mode
1025
1026         * gtk/gtkmenubar.c: add internal padding style property
1027
1028         * gtk/gtktoolbar.c: Add internal padding style property; add
1029         shadow type style property
1030
1031         * gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget
1032         state; and put Container::border_width outside the frame
1033
1034         * gtk/gtktextview.c: don't draw focus rectangle if we're in
1035         interior focus mode, we just use blinking cursor
1036
1037 2001-06-04  Havoc Pennington  <hp@redhat.com>
1038
1039         * configure.in: Make gdk-pixbuf have same version number as GTK
1040
1041 2001-06-04  Havoc Pennington  <hp@redhat.com>
1042
1043         * gtk/gtkspinbutton.c: Get rid of stupid g_return_if_fail on 
1044         digits greater than 6. If there actually are limits (which there
1045         likely aren't), should clamp to them not warn.
1046         (gtk_spin_button_new_with_range): don't take log of 0
1047         (gtk_spin_button_size_request): use digits to compute size
1048         request, rather than step increment.
1049
1050         * tests/testgtk.c (create_spins): test larger values of digits
1051         
1052         * gtk/gtkfontsel.c (gtk_font_selection_init): scroll to selected
1053         font on map not expose, so we don't get weirdness during scrolling
1054
1055 2001-06-04  Havoc Pennington  <hp@redhat.com>
1056
1057         * gtk/gtkclist.c (vadjustment_value_changed): Apply fix from
1058         Sam Solon, bug #54577, update value even if not drawable.
1059
1060 2001-06-04  Havoc Pennington  <hp@redhat.com>
1061
1062         * gtk/gtkrange.c (gtk_range_scroll_event): change SCROLL_RIGHT to
1063         SCROLL_LEFT, reported by Thomas Broyer.
1064
1065 2001-06-04  Havoc Pennington  <hp@redhat.com>
1066
1067         * gtk/gtkrange.c (gtk_range_adjustment_value_changed): 
1068         Process updates immediately, to prevent funny lag effect
1069         when scrolling, at some mild potential efficiency cost.
1070
1071 2001-06-04  Havoc Pennington  <hp@redhat.com>
1072
1073         * gtk/gtkrange.c (gtk_range_button_press): on middle click, center
1074         slider on the click.
1075
1076 2001-06-03  Havoc Pennington  <hp@pobox.com>
1077
1078         * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case
1079         hscale/vscale details, so we can use it for scrollbar as well.
1080
1081         * tests/testgtk.c (reformat_value): honor digits from GtkScale
1082
1083         * gtk/gtkenums.h (GtkTroughType): Remove this enum
1084         (GtkScrollType): add START and END from GtkTroughType
1085
1086         * gtk/gtkstyle.c (gtk_default_draw_slider): was not properly using
1087         its x/y arguments
1088
1089         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkscrollbar.h,
1090         gtk/gtkscrollbar.c, gtk/gtkscale.h, gtk/gtkscale.c,
1091         gtk/gtkhscrollbar.h, gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.h,
1092         gtk/gtkvscrollbar.c, gtk/gtkhscale.h, gtk/gtkhscale.c,
1093         gtk/gtkvscale.h, gtk/gtkvscale.c: Rewrite GtkRange and subclasses.
1094
1095         Notable changes in the process:
1096          
1097         - stepper_size style property is the height for vertical 
1098           ranges, width for horizontal; the other dimension matches
1099           the trough size
1100         - add ability to do NeXT-style steppers (and several other styles
1101           that don't make any sense)
1102         - added min_slider_length, fixed_slider_length properties to
1103           GtkScrollbar
1104         - cleaned some private (or at least useless) functions out of
1105           gtkscale.h    
1106         - moved bindings to GtkScale from subclasses, even arrow keys,
1107           since blind users don't know scale orientation.
1108         - change move_slider action signal to use new GtkScrollType,
1109           remove GtkTroughType argument
1110         - digits rounds the values a range will input to the given 
1111           number of decimals, but will not try to force adjustment 
1112           values set by other controllers. That is, we no longer
1113           modify adjustment->value inside a value_changed handler.
1114         - added getters for GtkScale setters
1115         - middle-click begins a slider drag
1116         
1117 Fri Jun  1 18:54:47 2001  Jonathan Blandford  <jrb@redhat.com>
1118
1119         * gtk/gtktreeview.c: (gtk_tree_view_focus): Initial stab at
1120         getting the focus code to work.
1121         (gtk_tree_view_class_init): Add a bunch of keybindings.
1122
1123         * gtk/gtktreeviewcolumn.c
1124         (gtk_tree_view_column_set_cell_data_func):
1125         s/GtkCellDataFunc/GtkTreeCellDataFunc.
1126         (_gtk_tree_view_column_set_tree_view): Use "notify::model" instead
1127         of "properties_changed" to help justify the death of the latter
1128         signal. (-:
1129
1130         * tests/testtreefocus.c (main): Let some columns be focussable to
1131         test focus better.
1132
1133 2001-06-01  Havoc Pennington  <hp@redhat.com>
1134
1135         * gtk/gtkentry.c (gtk_entry_commit_cb): implement overwrite mode
1136         
1137         * gtk/gtktextview.c (gtk_text_view_commit_handler): don't
1138         overwrite in overwrite mode if we already deleted the selection
1139         and replaced it with new text.  
1140
1141         * gtk/gtklabel.c (gtk_label_select_region_index): if you set the
1142         selection to an empty range, clear the clipboard if we owned it.
1143         (gtk_label_set_selectable): give up selection if we become
1144         unselectable.
1145         (gtk_label_state_changed): override state changed to unselect text
1146         when insensitive
1147         (get_text_callback): add paranoia check that indexes aren't
1148         outside of label->text
1149         (gtk_label_select_region): make -1 for start_offset mean "end of
1150         label," for consistency with GtkEditable
1151
1152         * gtk/gtkmessagedialog.c (gtk_message_dialog_new): honor
1153         GTK_DIALOG_NO_SEPARATOR flag
1154
1155 Fri Jun  1 11:47:11 2001  Owen Taylor  <otaylor@redhat.com>
1156
1157         * gtk/gtkcombo.c (gtk_combo_set_use_arrows_always): Fix 
1158         notifications on non-existant "enable_arrow_keys".
1159         (#53753, Skip Montanaro)
1160
1161 Fri Jun  1 11:31:55 2001  Owen Taylor  <otaylor@redhat.com>
1162
1163         * gdk/gdkrectangle.c (gdk_rectangle_get_type): Add 
1164         GDK_TYPE_RECTANGLE.
1165
1166         * gtk/gtkwidget.c (gtk_widget_class_init): Fix type
1167         of allocation argument be GDK_TYPE_RECTANGLE.
1168
1169 Thu May 31 12:43:57 2001  Owen Taylor  <otaylor@redhat.com>
1170
1171         * gtk/gtkoptionmenu.c: Account for the fact that the border
1172         width is _outside_ the window. (Fixes #54585, bug found
1173         by Bastien Nocera.)
1174
1175 Wed May 30 15:56:30 2001  Owen Taylor  <otaylor@redhat.com>
1176
1177         * gtk/gtksettings.c (gtk_settings_get_property): Validate
1178         value from GDK settings against parameter spec.
1179
1180         * gdk/x11/gdkevents-x11.c (gdk_setting_get): Add assignments
1181         to temporary values and use g_value_transform(), since
1182         thinking that GValue was going to be easy or efficient
1183         to use was, of course, a mistake.
1184
1185         * gtk/gtksettings.c: Add cursor blink setting.
1186         
1187         * gdk/x11/gdkevents-x11.c: Add cursor blink X settings.
1188
1189         * gtk/gtkentry.c: Add cursor blinking.
1190
1191         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Use
1192         cursor blink global settings.
1193
1194         * gtk/gtkentry.c (gtk_entry_button_press): Add notification
1195         for :text_position in places where it is missing.
1196
1197 Tue May 29 18:17:11 2001  Owen Taylor  <otaylor@redhat.com>
1198
1199         * autogen.sh (have_libtool): Fix GNU sedism (#55430)
1200
1201 Tue May 29 17:40:29 2001  Owen Taylor  <otaylor@redhat.com>
1202
1203         * configure.in (GTK_DEP_CFLAGS): Use $PKG_CONFIG,
1204         not pkg-config. (#51032)
1205
1206         * gdk/gdkproperty.h: Remove inappropriate G_GNUC_CONST
1207         (fixes #51952, James Henstridge)
1208         
1209 2001-05-27  Alexander Larsson  <alla@lysator.liu.se>
1210
1211         * gtk/gtkstock.h (GTK_STOCK_GO_UP):
1212         Rename to the more correct gtk-go-up.
1213
1214         * gtk/stock-icons/stock_menu_sort_ascending.png:
1215         Added new file.
1216         
1217         * gtk/stock-icons/stock_menu_sort_descending.png:
1218         Changed to show descending instead of ascending.
1219
1220         * gtk/gtkiconfactory.c:
1221         Added menu size icon to sort ascending.
1222
1223         * gtk/stock-icons/Makefile.am:
1224         Added stock_menu_sort_ascending.png.
1225         
1226         * gtk/gtkseparatormenuitem.c:
1227         Use correct typenames.
1228
1229 Sun May 20 20:07:35 2001  Tim Janik  <timj@gtk.org>
1230
1231         * gtk/gtksignal.[hc] (gtk_signal_connect_full): make hanlder id a
1232         gulong as in GSignal.
1233
1234 Fri May 25 19:04:17 2001  Jonathan Blandford  <jrb@redhat.com>
1235
1236         * gtk/gtktreeview.c (gtk_tree_view_calc_size): Remove almost all
1237         instances of GtkCellRenderer in code (all but dnd icon code).
1238         Virtualized in GtkTreeViewColumn.  Now I need to move focus in
1239         there, and I can do multiple Cells per column.
1240
1241         * gtk/gtktreeviewcolumn.c: Proxy all cell calls correctly
1242
1243         * gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): fix bug
1244         when model was unreffed prior to removing the row reference.
1245
1246 2001-05-25  Havoc Pennington  <hp@redhat.com>
1247
1248         * gtk/gtkiconfactory.c: fix so that default icons are created if 
1249         you call gtk_stock_list_ids()
1250
1251         * demos/gtk-demo/stock_browser.c (create_model): sort stock items
1252         in list
1253
1254 2001-05-25  Havoc Pennington  <hp@redhat.com>
1255
1256         * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
1257         set can render without falling back to missing image icon
1258
1259         * gtk/gtktextview.c (gtk_text_view_size_request): request full
1260         size of text, instead of random values
1261
1262         * gtk/gtktreeview.c (gtk_tree_view_size_request): request full
1263         size of tree view, instead of random values
1264
1265         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): render fallback
1266         image in an appropriate size
1267
1268         * gtk/gtkstock.h: Rename the stock items including _BUTTON_,
1269         etc. not to include that. i.e. s/GTK_STOCK_BUTTON_OK/GTK_STOCK_OK/
1270
1271         Throughout: fix GTK_STOCK_BUTTON_ instances
1272         
1273         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
1274         gtk/gtkiconfactory.c, gtk/stock-icons/Makefile.am:
1275         Add a bunch of new stock items/icons
1276
1277         * gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func):
1278         new function, convenience for inserting columns with a data func
1279
1280         * gtk/gtkiconfactory.c: keep a list of all existing icon factories
1281         (_gtk_icon_factory_list_ids): use list of all factories to
1282         generate a list of all known IDs
1283
1284         * gtk/gtkstock.c (gtk_stock_list_ids): replace
1285         gtk_stock_list_items() with a function that returns all IDs known
1286         including those for GtkIconFactory.
1287
1288 2001-05-25  Hans Breuer  <hans@breuer.org>
1289
1290         * gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
1291         work -> check boxes and radio buttons are drawn now, even on win9x.
1292         Improved line settings a bit, still no clue how to get really dotted
1293         lines on win9x, on NT it's PS_ALTERNATE.
1294
1295         * gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for 
1296         GDK_HINT_MIN_SIZE as well
1297
1298         * gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
1299
1300         * gtk/gtk.def : updated
1301
1302         * gtk/gtktreeprivate.h : change column_drop_func to be a function
1303         pointer not a function pointer pointer
1304
1305         * tests/testdnd.c : include <stdlib.h> for putenv prototype
1306
1307         * tests/testsocket.c : made it compile on win32 again
1308
1309         * tests/makefile.msc : one more test-app uses prop-editor.obj
1310
1311 2001-05-22  Havoc Pennington  <hp@pobox.com>
1312
1313         * gtk/gtkbin.c (gtk_bin_get_child): New function
1314
1315 Wed May 23 20:07:53 2001  Owen Taylor  <otaylor@redhat.com>
1316
1317         * gtk/gtkimcontextsimple.c: Add Mode_Switch to list of keys
1318         to ignore when doing compose processing.
1319
1320 2001-05-22  Joe Shaw  <joe@ximian.com>
1321
1322         * gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_last_toggle): 
1323         Simplify as suggested by Havoc. Just get the last iter and work
1324         backward to the tag instead of getting a line and working back from
1325         there. Fixes passing in an invalid offset to
1326         iter_init_from_byte_offset().
1327
1328 Tue May 22 16:25:27 2001  Jonathan Blandford  <jrb@redhat.com>
1329
1330         * gtk/gtktreeview*.h: 
1331         * gtk/gtkcell*.h:
1332         * gtk/gtk*store.h:
1333         Added patch from Jeff Franks <jcf@tpg.com.au> to add GET_CLASS
1334         macros to all objects.
1335
1336 Tue May 22 15:13:52 2001  Jonathan Blandford  <jrb@redhat.com>
1337
1338         * gtk/gtkcellrenderertext.c
1339         (gtk_cell_renderer_text_set_fixed_size): Evil function to deal
1340         with very large (TM) amounts of text.  May be moved to
1341         GtkCellRenderer in the future, though I'm not sure it wants to be
1342         this accessible.
1343
1344         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button):
1345         More sanity brought to this class.  I like it.
1346
1347         * tests/testtreecolumns.c (ViewColumnModel): Amazingly scary test
1348         case.  Kids, don't try this at home.
1349
1350         * gtk/gtktreemodel.c (gtk_tree_model_get_iter_root): new
1351         convenience function.
1352
1353         * gtk/gtkwindow.c (gtk_window_set_geometry_hints): Fix typo in docs.
1354
1355 2001-05-21  Alexander Larsson  <alexl@redhat.com>
1356
1357         * gtk/gtkfontsel.c:
1358         Added properties. Based on patch by Lee Mallabone.
1359
1360         * gtk/gtkruler.c:
1361         * gtk/gtkhruler.c:
1362         * gtk/gtkvruler.c:
1363         * gtk/gtktext.c:
1364         * gtk/gtktextview.c:
1365         Converted GtkArg to GParam. Based on patches by John Margaglione.
1366
1367         * tests/Makefile.am:
1368         * tests/testtext.c:
1369         Add a property editor to testtext.
1370         
1371 Mon May 21 11:29:21 2001  Owen Taylor  <otaylor@redhat.com>
1372
1373         * gtk/gtk{h,v,}paned.c: Only show the separator if 
1374
1375         * configure.in: Fixed reversed conditional causing all image
1376         libraries to be linked in.
1377
1378 2001-05-21  Joe Shaw  <joe@ximian.com>
1379
1380         * gtk/gtklayout.c (gtk_text_layout_get_lines): Remove the assertion
1381         that top_y needs to be >= 0.
1382
1383 2001-05-11  Havoc Pennington  <hp@pobox.com>
1384         
1385         * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and
1386         losing connection to the X server.
1387
1388 Sun May 20 13:59:20 2001  Owen Taylor  <otaylor@redhat.com>
1389
1390         * configure.in: Start checks for X from pangox/pangoxft
1391         CFLAGS to avoid duplicate libraries.
1392
1393         * gdk/Makefile.am (LDFLAGS): Remove extra -lm.
1394
1395         * configure.in (GDK_PIXBUF_PACKAGES): Fix GDK_PIXBUF_PACKAGES
1396         to include gobject.
1397         
1398 2001-05-18  Alexander Larsson  <alexl@redhat.com>
1399
1400         * gtk/gtkspinbutton.c:
1401         Convert GtkArgs to GParams. Based on patch by John Margaglione.
1402         Also do size request reasonable for MAXDOUBLE. Previously it printed
1403         the limits to a buffer and overran it. Instead do it using log10() and
1404         limit the width to 10 digits.
1405         
1406         * gtk/gtkwidget.c (gtk_widget_get_property):
1407         Correctly handle setting the parent property to NULL.
1408
1409 Fri May 18 15:26:26 2001  Owen Taylor  <otaylor@redhat.com>
1410
1411         * gtk/gtktextview.c (gtk_text_view_style_set): Reset 
1412         style attributes even if the widget isn't realized.
1413
1414         * demos/gtk-demo/main.c: Use a slightly smaller font.
1415
1416 Fri May 18 14:25:20 2001  Owen Taylor  <otaylor@redhat.com>
1417
1418         * gtk/gtkcontainer.c: Remove reallocate-redraws property.
1419         This is something that only a widget writer would ever want
1420         to change.
1421
1422         * gtk/gtksignal.c: Handle G_SIGNAL_TYPE_STATIC_SCOPE for
1423         gtk_signal_emit_by_name().
1424
1425         * gtk/gtkviewport.c: Fix some warnings.
1426
1427         * gtk/gtkwidget.c gtk/gtksizegroup.c: Add "size group" facility
1428         allowing the requisitions of multiple widgets to be grouped
1429         together.
1430
1431         * tests/testgtk.c: Add GtkSizeGroup test
1432
1433         * demos/gtk-demo/sizegroup.c: Add GtkSizeGroup demo.
1434
1435         * demos/gtk-demo/main.c demos/gtk-demo/pixbufs.c: Fix some
1436         warnings.
1437
1438         * configure.in: Switch to using AM_GLIB_GNU_GETTEXT.
1439
1440 2001-04-28  Martin Baulig  <baulig@suse.de>
1441
1442         * gtk/gtkimagemenuitem.[ch]: Renamed gtk_image_menu_item_add_icon()
1443         to gtk_image_menu_item_set_icon() and made it work if there's already
1444         an image.
1445         (gtk_image_menu_item_new): This function doesn't take any arguments anymore.
1446         (gtk_image_menu_item_new_with_label): New function.
1447
1448 Thu May 17 16:20:04 2001  Jonathan Blandford  <jrb@redhat.com>
1449
1450         * demos/gtk-demo/main.c (fontify): It's the worlds ugliest
1451         highlighting code!!!!  The result is okay so long as you don't try
1452         to stress it.  It also highlights a bug in the TextView so it's in
1453         an unproportional font right now until it's fixed.
1454
1455         *demos/gtk-demo/*.c: Clean up code a bit to make it
1456         ugly-parser(TM) friendly. (-:
1457
1458 2001-05-17  Joe Shaw  <joe@ximian.com>
1459
1460         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove the assertions
1461         that x_offset and y_offset must be >= 0. Clip the cursor being drawn
1462         if it is only partially onscreen.
1463
1464 Thu May 17 17:10:13 2001  Owen Taylor  <otaylor@redhat.com>
1465
1466         * gtk/gtkentry.c: Make logical motion and deletion by graphemes, 
1467         not by characters.
1468
1469         * gtk/gtkentry.c: Handle "trailing" returns from Pango when they
1470         are not zero or one; that is, when graphemes of multiple characters
1471         are involved.
1472
1473         * gtk/gtktextlayout.c (line_display_index_to_iter): Remove unnecessary
1474         FIXME.
1475
1476 2001-05-17  Alexander Larsson  <alla@lysator.liu.se>
1477         
1478         * gtk/gtkbbox.c:
1479         Add properties, based on patch by Lee Mallabone.
1480
1481         * gtk/gtknotebook.c:
1482         * gtk/gtktoolbar.c:
1483         Convert from GtkArg to GParam, based on patch by John Margaglione.
1484         
1485         * gtk/gtkhscale.c:
1486         * gtk/gtkvscale.c:
1487         * gtk/gtkhscrollbar.c:
1488         * gtk/gtkvscrollbar.c:
1489         * gtk/gtkrange.c:
1490         Move adjustment property to GtkRange.
1491
1492         * gtk/gtklabel.c:
1493         Setup mnemonics on property changes
1494
1495         * gtk/gtkwidget.c (gtk_widget_get_property):
1496         GdkExtensionMode is an enum, not a flag. Set it with
1497         g_value_set_enum ().
1498
1499         * tests/prop-editor.c:
1500         Better propery editor.
1501
1502         * tests/testgtk.c:
1503         Add new property test. Pass zero to the property editor to
1504         get properties from all derived types.
1505         
1506 Sun May 13 12:01:12 2001  Owen Taylor  <otaylor@redhat.com>
1507
1508         * autogen.sh (have_automake): Require libtool-1.4,
1509         automake-1.4p1.
1510
1511         * acinclude.m4: Remove libtool macros.
1512
1513         * gdk-pixbuf/Makefile.am: Add dependencies to loade
1514         modules.
1515
1516         * gdk/Makefile.am: Add dependency on libgdk_pixbuf.la
1517         for libgdk.
1518
1519         * gtk/Makefile.am: Add dependency on libgdk_pixbuf.la
1520         libgdk.la for libgtk.
1521
1522         * modules/input/Makefile.am: Make modules have full
1523         dependencies.
1524
1525 Wed May 16 14:06:01 2001  Jonathan Blandford  <jrb@redhat.com>
1526
1527         * gtk/gtktreemodel.c (gtk_tree_path_new_from_string): fix bug
1528         #54699 where paths weren't being checked for correctness.
1529
1530 Tue May 15 20:13:24 2001  Jonathan Blandford  <jrb@redhat.com>
1531
1532         * gtk/gtktreeviewcolumn.c: You can now set all sorts of properties
1533         in any order you wan, whether or not the column is added to the
1534         tree, or the tree is realized.  Yay!
1535
1536         * gtk/gtktreeviewcolumn.c
1537         (gtk_tree_view_column_setup_sort_column_id_callback): handle
1538         sorting columns a lot saner
1539
1540         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_reorderable):
1541         new function to actually set wether or not a column is
1542         reorderable.
1543
1544         * gtk/gtktreeview.c (gtk_tree_view_unrealize): Only destroy things
1545         if we have 'em.
1546
1547         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_set_tree_view):
1548         Fix nasty bug where we were showing the button just before
1549         realizing it.  As a result, the parent window was
1550         tree_view->window instead of tree_view->priv->header_window.
1551
1552         * gtk/gtktreeview.c (gtk_tree_view_set_reorderable): new property
1553         to let you easily reorder a list or tree.
1554
1555 2001-05-15  Alexander Larsson  <alla@lysator.liu.se>
1556
1557         * gtk/gtkpacker.c: Apply patch from John Margaglione that converts
1558         from args to properties.
1559
1560 Tue May 15 10:11:59 2001  Owen Taylor  <otaylor@redhat.com>
1561
1562         * gtk/gtkpreview.c: Apply patch from John Margaglione converting
1563         from args to properties. (#51957)
1564
1565         * gtk/gtkscale.c (gtk_scale_class_init): Move install property
1566         calls to after ->set_property call.
1567
1568 Mon May 14 14:56:21 2001  Owen Taylor  <otaylor@redhat.com>
1569
1570         * tests/prop-editor.c: Block against redundant changes.
1571
1572         * gtk/gtkpaned.c gtk/gtk[hv]paned.c: Add position, position_set
1573         properties.
1574
1575 Sun May 13 18:40:04 2001  Owen Taylor  <otaylor@redhat.com>
1576
1577         * gdk/gdkpixmap.h: Remove creative formatting.
1578
1579 Thu May 10 19:22:28 2001  Owen Taylor  <otaylor@redhat.com>
1580
1581         * gtk/gtktogglebutton.c:  Patch from John Margaglione converting to
1582         property API. (#51669)
1583
1584         * gtk/gtkscale.c: Patch from John Margaglione converting to
1585         property API. (#51891)
1586
1587         * gtk/gtkaccellabel.c: Applied patch from Lee Mallabone, converting
1588         to property API. (#50985)
1589
1590 Fri May 11 20:13:44 2001  Tim Janik  <timj@gtk.org>
1591
1592         * gtk/gtkmain.c (gtk_main_do_event): remember widget's double
1593         buffering state across expose event, so we still call end_paint().
1594
1595 2001-05-11  Alexander Larsson  <alexl@redhat.com>
1596
1597         * gtk/gtkhsv.c (paint_triangle):
1598         Expose the ring in the triangle at the correct place when
1599         exposing just a part of the triangle.
1600
1601         * gtk/gtkwindow-decorate.c (gtk_decorated_window_focus_change):
1602         Return FALSE, or window focusing will not work.
1603
1604 2001-05-11  Havoc Pennington  <hp@pobox.com>
1605
1606         * gtk/gtkimage.c (gtk_image_new_from_stock): docs, fixes bug
1607         #54144
1608
1609         * gtk/gtkcolorsel.c (gtk_color_selection_new): docs, fixes
1610         bug #54330
1611
1612 Fri May 11 02:53:57 2001  Tim Janik  <timj@gtk.org>
1613
1614         * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't
1615         propagate exposes to NULL child.
1616
1617         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard
1618         against not having one of the scrollbars.
1619
1620         * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us,
1621         we don't keep a mnemonic window if we have no mnemonic installed.
1622
1623 Fri May 11 01:05:00 2001  Tim Janik  <timj@gtk.org>
1624
1625         * gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST
1626         it has the _important_ side effect of initializing a class.
1627
1628 2001-05-10  Alexander Larsson  <alexl@redhat.com>
1629
1630         * gdk/linux-fb/gdkprivate-fb.h:
1631         Make sure you can compile out the implementation/wrapper assert
1632         macros.
1633
1634         * gdk/linux-fb/gdkdrawable-fb2.c:
1635         Check implementation/wrappers, initialize type for pixmap dummys.
1636
1637         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
1638         Hide the cursor if reading from the screen.
1639
1640         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
1641         Fix sign bug in tiling code.
1642
1643         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
1644         Handle background pixmaps.
1645
1646 Wed May  9 15:27:22 2001  Jonathan Blandford  <jrb@redhat.com>
1647
1648         * gtk/gtktreeview.c (gtk_tree_view_set_column_drag_function): New
1649         function to let user control where columns are dragged.
1650
1651         * gtk/gtktreeview.c (gtk_tree_view_key_press): Cancel drags if
1652         Escape is pressed.
1653
1654 Wed May  9 09:08:44 2001  Jonathan Blandford  <jrb@redhat.com>
1655
1656         * gtk/gtktreeview.c (gtk_tree_view_class_init): New
1657         "columns_changed" signal.
1658         (gtk_tree_view_motion_draw_column_motion_arrow): Change column
1659         motion code to draw arrows to the side if indicator is outside the
1660         widget.
1661         (gtk_tree_view_map_expanded_rows): Implement.
1662
1663 2001-05-07  Alexander Larsson  <alexl@redhat.com>
1664
1665         * demos/testpixbuf-save.c: 
1666         * demos/testpixbuf-drawable.c:
1667         Include gdkfb.h on linux-fb.
1668
1669 2001-05-07  Alexander Larsson  <alexl@redhat.com>
1670
1671         * gdk/linux-fb/gdkdnd-fb.c (get_toplevel_window_at):
1672         New function for getting toplevel window at position.
1673         (gdk_drag_find_window): Use get_toplevel_window () instead
1674         of gdk_window_get_pointer(). (gdk_drag_status): Use
1675         correct context for getting window.
1676
1677         * gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name):
1678         g_strdup the atom name.
1679
1680         * gdk/linux-fb/gdkwindow-fb.c:
1681         Costmetic fix.
1682
1683         * gtk/gtkdnd.c (gtk_drag_source_handle_event):
1684         Add code for changing cursor on linux-fb backend (same as
1685         win32).
1686
1687 2001-05-07  Federico Mena Quintero  <federico@ximian.com>
1688
1689         * gtk/gtkwindow.c (gtk_window_focus): Test for bin->child being
1690         present before doing anything with it.  Patch from HÃ¥vard KvÃ¥len
1691         <havardk@netcom.no>.  Fixes Ximian bugzilla #2492 (OK, the bug
1692         report was not for the development branch of GTK+, but it applies
1693         anyways).
1694
1695 2001-05-04  Havoc Pennington  <hp@redhat.com>
1696
1697         * configure.in: fix some shell typos
1698
1699         * gtk/gtkcolorsel.c (gtk_color_selection_destroy): warning fix
1700
1701         * gtk/gtkimage.c: handle animations
1702
1703         * gtk/gtkcheckbutton.c (gtk_check_button_size_request): request
1704         border_width * 2, not just border_width
1705
1706         * gtk/gtkscale.c: add "format_value" signal to allow people
1707         to override the way values are drawn.
1708         (gtk_scale_get_value_size): fix width/height mistake,
1709         and compute size from actual displayed text, not 
1710         from made-up text.
1711
1712         * gtk/gtktexttag.c (gtk_text_tag_class_init): fix return type in 
1713         signal registration
1714
1715         * tests/testtext.c: Add "Remove all tags" menu item for testing
1716
1717         * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): implement
1718
1719         * demos/gtk-demo/main.c (main): add hack so we can find modules
1720         without installing gtk
1721
1722         * demos/gtk-demo/textview.c (insert_text): demo font scaling
1723
1724         * gtk/gtkcellrenderertext.c: Add "scale" property (font scaling
1725         factor)
1726         (gtk_cell_renderer_text_set_property): remove some bogus
1727         g_object_notify
1728
1729         * gtk/gtktexttag.c: add "scale" property which is a font scaling
1730         factor
1731
1732         * gtk/gtktextlayout.c (add_text_attrs): add font scale attribute 
1733         to layout
1734
1735         * gtk/gtktextiter.c (gtk_text_iter_is_start): rename from
1736         gtk_text_iter_is_first
1737
1738 2001-01-06  Hans Breuer  <hans@breuer.org>
1739
1740         * gdk/gdk.def : updated exports
1741
1742         * gdk/win32/makefile.msc : -DGDK_ENABLE_BROKEN otherwise
1743         gdk won't compile anymore
1744  
1745         * gdk/win32/gdkevents-win32.c : initialize ret_val when
1746         processing GDK_FILTER functions, initialize event.key->hardware_keycode.
1747         Improved gdk_flush () to not only do pending drawing operations
1748         but also process all currently pending events. This should make
1749         the behaviour more similar to the X11 version.  
1750
1751         * gdk/win32/gdkgc-win32.c (predraw_set_background) : a background
1752         option needs to be set even if there is no GDK_GC_BACKGROUND.
1753         (gdk_win32_hdc_get) : use predraw_set_background () independent
1754         of value_mask. This allows to draw dashed lines leaving the original
1755         background intact.
1756
1757         * gdk/win32/gdkimage-win32.c (gdk_image_new_bitamp) : free data
1758         after processing, because we can't reuse it as the X11 version does.
1759
1760         * gtk/gtk.def : updated exports
1761
1762         * gtk/makefile.msc.in : added ATK, removed all test apps. (I
1763         would like to get rid of this file again, and use straight
1764         makefile.msc again, as the other Gtk+ subdirs do)
1765
1766         * test/makefile.msc (new file) : build the test apps here
1767
1768 2001-05-05  ERDI Gergo  <cactus@cactus.rulez.org>
1769
1770         * gdk/gdkpango.c (gdk_pango_get_item_properties): Peek
1771         strike-through setting
1772         (gdk_draw_layout_line_with_colors): Render strike-through
1773
1774 Sat May  5 10:06:24 2001  Owen Taylor  <otaylor@redhat.com>
1775
1776         * Release 1.3.5
1777
1778         * configure.in (GTK_MICRO_VERSION): Up to 1.3.5
1779
1780         * NEWS: Updated
1781
1782         * demos/gtk-demo/Makefile.am (EXTRA_DIST): Fix minor
1783         Makefile breakage.
1784
1785 Sat May  5 09:18:30 2001  Owen Taylor  <otaylor@redhat.com>
1786
1787         * demos/gtk-demo/images.c (progressive_timeout): Fix
1788         typo in filename.
1789
1790         * gtk/gtktreeview.c (gtk_tree_view_row_activated): Comment
1791         out FIXME warning; just too annoying.
1792
1793 2001-05-04  Alex Larsson  <alla@lysator.liu.se>
1794
1795         * gdk/linux-fb/gdkcolor-fb.c:
1796         Better error messages.
1797
1798         * gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_new):
1799         Initialize abs_x and abs_y.
1800         
1801         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
1802         Correct handling of stipple offset.
1803
1804         * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init):
1805         Treat directcolor framebuffers as truecolor.
1806         
1807 Thu May  3 14:13:49 2001  Owen Taylor  <otaylor@redhat.com>
1808
1809         * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
1810         dependency on Atk for accessibility support.
1811
1812         * configure.in **/Makefile.am: Major reworking of substituted
1813         variables for CFLAGS/LIBS to make a lot more sane and 
1814         keep the the compile/link lines a bit shorter.
1815
1816         * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
1817
1818 Thu May  3 08:10:54 2001  Owen Taylor  <otaylor@redhat.com>
1819
1820         * gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
1821         value to be G_TYPE_BOOLEAN, not G_TYPE_INT, also,
1822         use _gtk_boolean_handled_accumulator.
1823
1824 Thu May  3 07:00:09 2001  Owen Taylor  <otaylor@redhat.com>
1825
1826         * gtk/gtktextview.c: Patch from Juan Pablo Mendoza Mendoza
1827         to fix things so clicking inside selection leaves cursor
1828         at point where clicked. (#50324)
1829
1830         * gtk/gtksettings.c (gtk_settings_class_init): Restore
1831         sane value for default double click time.
1832
1833         * tests/testtext.c (test_init): Really path to input modules.
1834
1835 2001-05-03  Sven Neumann  <sven@convergence.de>
1836
1837         * demos/testpixbuf-save.c: include target-specific headers as
1838         done in testpixbuf-drawable.c
1839
1840 Wed May  2 20:36:38 2001  Owen Taylor  <otaylor@redhat.com>
1841
1842         * gtk/gtkentry.c (gtk_entry_real_insert_text): Reduce
1843         new_text_length appropriately when we run into the 
1844         size limit for the entry. (#53445, reported by Jeff Franks)
1845
1846         * tests/testgtk.c (create_entry): Remove most of the
1847         property toggle buttons. Replace with a "Props" button
1848         that brings up a property editor.
1849
1850         * tests/prop-editor.[ch] test/testtreeview.c tests/Makefile.am:
1851         Split the property editor code out for reuse, improve.
1852
1853 Wed May  2 17:26:22 2001  Owen Taylor  <otaylor@redhat.com>
1854
1855         * gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.c: Always
1856         trap errors around calls to XSetInputFocus since we have
1857         no way of knowing reliably whether we are viewable or
1858         not. (#53947)
1859
1860 Tue May  1 09:21:23 2001  Jonathan Blandford  <jrb@redhat.com>
1861
1862         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
1863         fix bug in dropping columns.  Moving columns now basically works
1864         modula some fine tuning.
1865
1866 Tue May  1 19:09:21 2001  Jonathan Blandford  <jrb@redhat.com>
1867
1868         * gtk/gtktreeview.c (gtk_tree_view_horizontal_autoscroll): Add
1869         autoscroll support.  It mostly works, but could use some fine
1870         tuning.
1871         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
1872         Actually move the column.
1873
1874 Mon Apr 30 20:29:27 2001  Owen Taylor  <otaylor@redhat.com>
1875
1876         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c 
1877           gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtkwidget.c:
1878           New default theme! A slighly improved version of the 2.0 Raleigh
1879           theme, with Windows-esque focus/drawing default. 
1880           (GtkWidget::interior_focus defaults to TRUE.)
1881
1882         * gtk/gtkstyle.[ch]: Add a text_aa color halfway between text and base.
1883
1884 2001-04-30  Havoc Pennington  <hp@pobox.com>
1885
1886         * tests/testtext.c (line_numbers_expose): fix to work with
1887         gtk_paint_layout change
1888
1889 Mon Apr 30 19:18:07 2001  Owen Taylor  <otaylor@redhat.com>
1890
1891         * gtk/gtkstyle.[ch] gtk/gtkaccellabel.c gtk/gtkcellrenderertext.c
1892           gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c gtk/gtkprogressbar.c
1893           gtk/gtkvruler.c gtk/gtkvscale.c: Add an extra parameter
1894           use_text to gtk_paint_label() to deal with style->bg[] vs style->text[].
1895
1896         * gtk/gtkbbox.c gtk/gtkdialog.c: Tweak padding some to deal
1897           with GtkWidget::interior_focus = TRUE better.
1898
1899         * gtk/gtkbutton.c: Switch ::default_spacing to ::default_border,
1900         ::default_outside_border for more flexibility.
1901
1902         * gtk/gtkwidget.c (gtk_widget_style_get_valist): Remove 
1903         G_VALUE_NO_COPY_CONTENTS, to correspond with the recent
1904         change that had to be made with g_object_get.
1905
1906 Sun Apr 29 20:13:40 2001  Jonathan Blandford  <jrb@redhat.com>
1907
1908         * gtk/gtktreeview.c (gtk_tree_view_get_columns): new function.
1909         (gtk_tree_view_move_column_after): Clean up interface. 
1910
1911 Sun Apr 29 03:02:02 2001  Tim Janik  <timj@gtk.org>
1912
1913         * gtk/gtkpacker.h:
1914         * gtk/gtkenums.h: moved GtkAnchorType and GtkSideType from gtkpacker.h
1915          to gtkenum.h.
1916
1917         * gtk/gtkmain.c (gtk_main_do_event): silence compiler (GDK_SETTING not
1918         handled in switch).
1919
1920         * gtk/Makefile.am:
1921         (gtk.defs): generate enum portions with  glib-mkenums.
1922         (gtktypebuiltins_evals.c): generate this with glib-mkenums.
1923         got rid of makeenums.pl and makeenums.awk in distributed tarballs.
1924         
1925         * gtk/gtkaccelgroup.c (gtk_accel_group_add): refined havocs warning
1926         addition.
1927
1928         * docs/Changes-2.0.txt: keep a note on signal handlers now
1929         not getting emitted during the emission they were connected within.
1930
1931 2001-04-28  Havoc Pennington  <hp@pobox.com>
1932
1933         * gtk/gtkcolorsel.c (palette_new): fix bug in tooltip
1934
1935 2001-04-24  Havoc Pennington  <hp@redhat.com>
1936
1937         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): 
1938         (gtk_text_layout_move_iter_to_next_line): fix these two for
1939         invisible text, lots of other stuff still hosed.
1940
1941         * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
1942         new function, replaces the get/set palette stuff. This function 
1943         is intended for use by libgnomeui which should set the hook to a
1944         thing which sets the palette in GConf, and we need the
1945         GConf-to-xsettings proxy which will result in the change being
1946         propagated back to the GTK app.
1947
1948         * gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning 
1949         about unusable signals that it may be because the signal has 
1950         parameters.
1951
1952         * gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
1953         style, otherwise gtkrc.c won't know to create a new GtkStyle for
1954         it.
1955         (gtk_widget_modify_color_component): call
1956         gtk_widget_modify_style() so the rc style will get copied.
1957         (gtk_widget_modify_font): ditto
1958
1959         * gtk/gtkrc.c: make a couple variables static
1960
1961         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
1962         help button by default, since it does nothing
1963
1964         * gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
1965         around with UI
1966
1967         * gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
1968         so we can have tooltips
1969
1970         * gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
1971         can have tooltips
1972
1973         * gdk/gdkimage.h: mark gdk_image_new_bitmap with
1974         GDK_ENABLE_BROKEN, because its memory behavior is completely
1975         hosed.
1976
1977         * gtk/gtknotebook.c: remove key press handler, replace with
1978         binding set, add numeric keypad support
1979
1980         * gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete
1981
1982         * gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms
1983
1984         * gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
1985         addition to plain Delete
1986
1987         * gtk/gtktextview.c (gtk_text_view_key_press_event): accept
1988         GDK_KP_Enter in addition to GDK_Return
1989
1990         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
1991         activate on entry instead of key press
1992         (gtk_font_selection_on_clist_key_press): get
1993         rid of this signal handler, not needed with new font sel.
1994
1995         * gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
1996         no-longer-needed emit_stop_by_name(), just return TRUE
1997
1998         * gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
1999         cruft, this widget is no longer focusable.
2000
2001         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
2002         gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
2003         move_slider action signal, add binding set for vscale/hscale, in
2004         the process support numeric keypad
2005
2006         * gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings; 
2007         make GDK_Return and GDK_KP_Enter activate the entry via 
2008         binding set, instead of hardcoded.
2009
2010 Fri Apr 27 20:27:21 2001  Jonathan Blandford  <jrb@redhat.com>
2011
2012         * gtk/gtktreeview.[hc]: Massive reorder/cleanup of a lot of the
2013         code.  Some documentation added.
2014
2015 2001-04-27  Havoc Pennington  <hp@redhat.com>
2016
2017         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning
2018
2019         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable
2020
2021         * gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
2022         line/para separators
2023         (gtk_entry_create_layout): set single paragraph mode on the layout
2024
2025         * gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
2026         spacing between the image and label; instead, inside a button box 
2027         the button will get extra space that will go there, but if people 
2028         configure button box for 0 chubbiness, then there's no spacing.
2029
2030         * gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
2031         and min/max size style properties, so people can tune their
2032         chubbiness.
2033
2034         * tests/testgtk.c (make_toolbar): remove calls to removed toolbar
2035         functions
2036
2037         * gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
2038         space_style, and button_relief into style properties, remove
2039         functions for setting them
2040         
2041         * gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop 
2042         it back down
2043
2044         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
2045         types from gtk_widget_style_get
2046
2047         * gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
2048         with a style property.
2049
2050         * gdk/x11/gdkevents-x11.c: namespace the settings
2051
2052         * gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.
2053
2054         * gtk/gtksettings.c (gtk_settings_class_init): remove code with
2055         side effects from inside g_assert(), so that G_DISABLE_ASSERT can
2056         be used. Also, translate doc strings for settings. Also, namespace
2057         the double-click-time property. Also, remove bell properties crap.
2058
2059 2001-04-27  Sven Neumann  <sven@gimp.org>
2060
2061         * Makefile.am: before creating links, check if pkg-config files
2062         exist for the default target. Otherwise link to the pkg-config files
2063         that got installed with this build.
2064
2065 Thu Apr 26 19:11:46 2001  Jonathan Blandford  <jrb@redhat.com>
2066
2067         * gtk/gtktreeview.c (gtk_tree_view_motion): clean up column
2068         dragging code.  Revealed some (potential) GdkWindow bugs.
2069
2070         * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): add
2071         _gdk_window_init_position to the end of reparent to fix the case
2072         of reparenting when new_x != old_x and new_y != old_y.
2073
2074 Thu Apr 26 10:54:50 2001  Owen Taylor  <otaylor@redhat.com>
2075
2076         * gtk/gtkentry.c (strstr_len): Fix optimization that
2077         was correct for the use here, but completely incorrect
2078         in general.
2079
2080 Thu Apr 26 10:40:41 2001  Owen Taylor  <otaylor@redhat.com>
2081
2082         * gtk/gtkwindow.h: Remove deprecation of gtk_window_set_default_size()
2083         until patch adding gtk_window_set_size() is recommitted. 
2084
2085         * **Makefile.am configure.in gdk/x11/gdkim-11.c
2086           gtk/gtkmain.c gtk/gtkimmulticontext.c gtk/gtkmain.c
2087           gtk/gtkrc.c: Remove all traces of -DX_LOCALE support.
2088           (#10784)
2089
2090 Wed Apr 25 12:16:36 2001  Owen Taylor  <otaylor@redhat.com>
2091
2092         * gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for 
2093         window == NULL in a number of cases.
2094
2095         * tests/testdnd.c: Set module path for gdk-pixbuf.
2096
2097 Thu Apr 19 16:11:07 2001  Owen Taylor  <otaylor@redhat.com>
2098
2099         * gtk/Makefile.am xembed.h: File containing #defines
2100         for XEMBED protocol.
2101
2102         * gtk/gtkplug.[ch] gtk/gtksocket.[ch]: 
2103
2104         - Change protocol from old plug/socket specific protocol
2105           to XEMBED draft
2106         - Various fixes to work with GTK+-2.0
2107
2108         Still quite a bit of work to do here to handle initiation
2109         from the socket side (as specified by XEMBED), to handle
2110         the more advanced features of XEMBED, and to figure out
2111         a good way to handle same-app embedding with less overhead
2112         than using full XEMBED.
2113
2114 Wed Apr 18 16:04:28 2001  Owen Taylor  <otaylor@redhat.com>
2115
2116         * gtk/gtkwindow.[ch] (gtk_window_real_set_focus): Keep
2117         track of whether the toplevel has the focus; only send
2118         focus-in events to the focus widget when the window
2119         actually has the focus.
2120
2121 2001-04-25  Havoc Pennington  <hp@pobox.com>
2122
2123         * gtk/gtkwindow.h: set_decorations_hint and set_functions_hint
2124         were still in the header
2125
2126 2001-04-24  Alexander Larsson  <alexl@redhat.com>
2127
2128         * gtk/gtkclist.[ch]:
2129         * gtk/gtkctree.c:
2130         When there is a row highlighted for D'n'D it must alse
2131         be painted hightlighted on exposes. Otherwise exposes from
2132         the icon being dragged will mess up the hightlight.
2133
2134         * gtk/gtkfontsel.c:
2135         Don't recenter selected font when exposing the font family
2136         clist. This means you can now actually scroll the font family
2137         list.
2138
2139         * gtk/gtknotebook.c:
2140         Fix focus movement on scrolling tabs that are placed on the left
2141         and right.
2142
2143 2001-04-21  Havoc Pennington  <hp@pobox.com>
2144
2145         * gtk/gtktextdisplay.c (gtk_text_layout_draw): handle 0-height
2146         empty/invisible lines.
2147
2148         * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset)
2149         (gtk_text_iter_set_visible_line_index): new functions to set
2150         indexes excluding invisible text
2151
2152         * gtk/gtktextlayout.c (line_display_iter_to_index): get visible 
2153         index
2154
2155         * gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index)
2156         (gtk_text_iter_get_visible_line_offset): new functions to 
2157         get indexes excluding invisible text
2158
2159         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): strip out a
2160         bunch of extra padding that served no purpose
2161
2162         * gtk/gtkdialog.c: Make all the spacings configurable via style
2163         properties, for chubbiness configuration in themes
2164
2165         * tests/testtext.c: fix path to the immodules.
2166         
2167 Mon Apr 23 18:57:03 2001  Jonathan Blandford  <jrb@redhat.com>
2168
2169         * gtk/gtksocket.c (gtk_socket_filter_func): add missing '}' that
2170         got munched by #endif.
2171
2172         * gtk/Makefile.am (gtk_plug_c_sources): add missing '\'
2173
2174         * gtk/gtktreeview.c: Refactored code to clean up a number of
2175         events.
2176
2177         * gtk/gtktreemodel.c (gtk_tree_path_compare): Switched return
2178         values to make consistent with other functions.  Spotted by Jeff
2179         Franks <jcf@tpg.com.au>.
2180
2181         * gtk/gtktreeview.h (struct _GtkTreeViewClass): Fixes to signal
2182         declaration spotted by Jeff Franks <jcf@tpg.com.au>.
2183
2184 2001-04-23  Sven Neumann  <sven@gimp.org>
2185
2186         * gtk/Makefile.am
2187         * gtk/gtkplug.c
2188         * gtk/gtksocket.c: on request of Owen, reverted my last change 
2189         and exclude gtkplug.c/gtksocket.c from the build for non-X11 targets
2190
2191 2001-04-23  Sven Neumann  <sven@gimp.org>
2192
2193         * gtk/gtkplug.c: put into #ifdef GDK_WINDOWING_X11 to make GTK+
2194         compile for non-X11 targets again
2195
2196 2001-04-20  Alexander Larsson  <alexl@redhat.com>
2197
2198         * gtk/gtkcolorsel.[ch]:
2199         API Change. Take GdkColor arguments instead of gdouble *.
2200         Leave the old gtk_color_selection_set_color for compatibility,
2201         but marked deprecated.
2202         Do correct rounding when converting RGB <-> HSV.
2203         
2204         * gtk/gtkcolorseldialog.c:
2205         * tests/testgtk.c:
2206         Use new GtkColorSelection API.
2207
2208         * gtk/gtkhsv.c:
2209         Fix problem selecting colors in triangle when Hue is 330.
2210         Fix some black dots around the HSB triangle.
2211         
2212         * gtk/gtkfilesel.c:
2213         return FALSE from the focus_in_event handler to fix focus problems.
2214
2215 2001-04-18  Havoc Pennington  <hp@redhat.com>
2216
2217         * gtk/gtkwindow.c (gtk_window_class_init): add signals and binding
2218         set, so keybindings are configurable    
2219         (gtk_window_activate_default): Change to activate the focus widget
2220         instead if there's a focus widget, to be consistent with the
2221         behavior that previously existed in key_press_event
2222
2223 2001-04-18  Havoc Pennington  <hp@redhat.com>
2224
2225         * gdk/gdkkeyuni.c: Handle numeric keypad keysyms; bug #50201
2226
2227 2001-04-18  Havoc Pennington  <hp@redhat.com>
2228
2229         Close bug #50615:
2230         
2231         * gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw
2232         the layout
2233
2234         * gtk/gtktext.c: Use base/text instead of bg/fg throughout
2235
2236         * gtk/gtkentry.c: Use base/text instead of bg/fg throughout
2237
2238         * gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout
2239         
2240         * gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default
2241         to blue for base, in addition to bg
2242         
2243 2001-04-18  Havoc Pennington  <hp@redhat.com>
2244
2245         * tests/testgtk.c (create_image): allow shrinking the image window
2246         to test that we clip to allocation.
2247
2248         * gtk/gtkimage.c (gtk_image_expose): clip to allocation,
2249         #9845
2250
2251         * gtk/gtkenums.h: move GtkWrapMode in here, #50472
2252
2253 Wed Apr 18 14:23:14 2001  Owen Taylor  <otaylor@redhat.com>
2254
2255         * gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
2256         mode on shm segments to 0600. We'll see who complains.
2257
2258         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
2259         _gdk_windowing_window_destroy() AFTER recursing through
2260         children.
2261
2262         * tests/Makefile.am (noinst_PROGRAMS): Build testsocket,
2263         testsocket_child on X.
2264
2265         * tests/testsocket[_child].c: Fix uses of
2266         gtk_window_get_default_accel_group().
2267
2268         [ Merge patch from Ramiro Estrugo  <ramiro@eazel.com> from gtk-1-2 ]
2269
2270         * gdk/gdkimage.c: (gdk_image_get):
2271         Deal with the possibility that XGetImage() might return NULL.
2272         Allocate the GdkImagePrivate structure only after XGetImage()
2273         succeeds in order not to dereference a NULL ximage pointer.  This
2274         prevents a core dump when XGetImage() fails - which is unlikely,
2275         but can happen due to race conditions accessing the geometries of
2276         drawables.  An x error will still be triggered, but the gdk image
2277         wrapper at least wont seg fault.
2278         
2279 2001-04-18  Havoc Pennington  <hp@redhat.com>
2280
2281         * gtk/gtkimage.c: fix to properly queue resizes when the image is
2282         set
2283
2284         * gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
2285         if the insertion point isn't editable
2286
2287         * demos/gtk-demo/images.c: Added a GtkImage demo
2288
2289         * demos/gtk-demo/drawingarea.c: drawing area demo
2290         
2291         * demos/gtk-demo/menus.c (create_menu): cleanups
2292
2293 Wed Apr 18 12:15:52 2001  Owen Taylor  <otaylor@redhat.com>
2294
2295         * gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h 
2296           gdk/x11/gdkevents-x11.c: Introduce an extra child
2297         of toplevel windows that serves to hold the focus to
2298         avoid events being delivered to embedded windows.
2299
2300         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
2301         some extra variables to clean up code and reduce the
2302         number of casts.
2303
2304         * gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
2305         guint for 1 bit bit fields, not gboolean.
2306
2307 Wed Apr 18 10:04:23 2001  Owen Taylor  <otaylor@redhat.com>
2308
2309         * gtk/gtktooltips.c (gtk_tooltips_paint_window): Return FALSE,
2310         not TRUE. (Fixes #52925)
2311
2312 Tue Apr 17 18:05:34 2001  Owen Taylor  <otaylor@redhat.com>
2313
2314         * Released 1.3.4
2315
2316         * NEWS: Updated
2317
2318         * gtk/gtktextview.c (gtk_text_view_class_init): Fix to not
2319         use GTK_TYPE_ENUM.
2320
2321 Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>
2322
2323         * configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
2324
2325         * gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
2326         names to compatibility #defines so docs work.
2327
2328         * gtk/gtkenums.h: Remove GtkMenuFactoryType
2329
2330         * gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.
2331
2332         * configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS
2333
2334         * tests/testgtkrc: No magenta cursors, please.
2335
2336         * README.in INSTALL.in HACKING README.cvs-commits: Updated.
2337
2338         * gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
2339         
2340 Mon Apr 16 14:38:41 2001  Owen Taylor  <otaylor@redhat.com>
2341
2342         * gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer
2343         grabs, since they are no longer necessary.
2344
2345         * gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926
2346         by signal_connect() and call gtk_button_pressed() rather
2347         than signal_connect_after().
2348
2349         * tests/testgtk.c: Restore radio menu items to combos 
2350         since they'll look OK with Raleigh, and it is easier
2351         than finishing the process of removing them that was
2352         started earlier.
2353
2354 2001-04-16  Hans Breuer  <hans@breuer.org>
2355
2356         * gdk/gdk.def :
2357         * gtk/gtk.def : added all exports required to link PyGtk 0.7.1
2358
2359         * gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
2360         we are interested in the functions return value not the function address
2361         * gdk/gdkvisual.h : same for GDK_TYPE_VISUAL
2362
2363         * gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk
2364
2365 2001-04-14  Hans Breuer  <hans@breuer.org>
2366
2367         * gdk/gdk.def :
2368         * gdk/makefile.msc : updated
2369
2370         * gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is 
2371         "fill with tile" do so with new helper function gdk_win32_draw_tiles 
2372         (the testgtk::text backgound pixmap is drawn again)
2373         Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect 
2374         Win32 Pango change
2375         * gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
2376
2377         * gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
2378         Not sure if the returned settings have the right unit, because I couldn't
2379         find any docs for the X version ...
2380
2381         * gtk/gtk.def :
2382         * gtk/makefile.msc.in : updated
2383
2384 Thu Apr 12 17:41:17 2001  Owen Taylor  <otaylor@redhat.com>
2385
2386         * gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some
2387         wording problems. (Compared to version from Johannes Stezenbach to
2388         check correctness.)
2389
2390 Thu Apr 12 21:04:26 2001  Tim Janik  <timj@gtk.org>
2391
2392         * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get
2393         this to compile.
2394
2395 2001-04-12  Anders Carlsson  <andersca@codefactory.se>
2396
2397         * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
2398         not pixbufpos.
2399
2400         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.
2401
2402         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
2403         are unsigned insts, therefore use g_value_set_uint.
2404         (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.
2405
2406 Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@redhat.com>
2407
2408         * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.
2409
2410         * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
2411         GTK_TYPE_STRING.
2412
2413         * gtk/gtktreeview.c: New functions to allow initial column
2414         dragging work.
2415
2416         * gtk/gtktreeviewcolumn.c: Initial column dragging support.
2417
2418         * tests/testtreefocus.c: give dave some love.
2419
2420         * tests/testtreesort.c: Modify test to check really long samples.
2421
2422 2001-04-11  Alexander Larsson  <alexl@redhat.com>
2423
2424         * gtk-2.0.m4: Pass pkg-config options
2425         before the other args so it works even if
2426         POSIXLY_CORRECT is set.
2427
2428 Mon Apr  9 19:02:07 2001  Tim Janik  <timj@gtk.org>
2429
2430         * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
2431         0, interface 0).
2432
2433 2001-04-04  Denis Oliver Kropp  <dok@convergence.de>
2434
2435         * gtk/gtkcalendar.c (gtk_calendar_button_press):
2436         check for action_func != NULL
2437
2438 2001-04-04  Sven Neumann  <sven@gimp.org>
2439
2440         * tests/testgtk.c (test_init): corrected path to gtk.immodules
2441
2442 Wed Apr  4 09:18:18 2001  Tim Janik  <timj@gtk.org>
2443
2444         * Released Gtk+-1.3.3.
2445
2446 Wed Apr  4 07:42:23 2001  Tim Janik  <timj@gtk.org>
2447
2448         * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST.
2449
2450 Wed Apr  4 04:13:18 2001  Tim Janik  <timj@gtk.org>
2451
2452         * gtk/stock-icons/Makefile.am: stay in builddir and read/write
2453         files to/from source dir. (if we don't stay in builddir, we
2454         can't reach make-inline-pixbuf.
2455
2456         * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl
2457         deps.
2458
2459         * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
2460         ages 0).
2461
2462 Tue Apr  3 15:04:45 2001  Jonathan Blandford  <jrb@redhat.com>
2463
2464         * gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
2465         moved to the GtkTreeSortable interface.
2466
2467         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
2468         Make more efficient (fixes #50262).
2469
2470 Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>
2471
2472         * NEWS: Updated.
2473
2474         * configure.in: Remove support for uninstalled glib.
2475
2476         * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
2477         so as not to stop emission.
2478
2479         * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
2480         is no longer supported.
2481
2482         * Makefile.am gtk/Makefile.am tests/*: Moved all tests
2483         into tests, change build order to build modules before
2484         gtk/.
2485
2486         * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
2487         to here.
2488
2489 Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
2490
2491         * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
2492         and gtk_item_factory_dump_rc() GtkPatternSpec argument to
2493         GPatternSpec. this is actually unlikely to cause breakage in
2494         third-party apps since except for gle, pretty much ever caller
2495         passes NULL here.
2496
2497         * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
2498
2499         * *.c: use g_pattern_*() API.
2500
2501         * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
2502
2503         * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
2504         directions aren't passed in.
2505
2506         * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
2507         functionality to be usable from gtkstyle.c as well, give precedence
2508         for conversion to user-supplied parsers.
2509         s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
2510
2511         * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
2512         _gtk_settings_parse_convert() for rcporperty value conversion.
2513
2514 2001-04-03  Alexander Larsson  <alexl@redhat.com>
2515
2516         * gdk/linux-fb/gdkevents-fb.c:
2517         Add empty gdk_setting_get().
2518
2519 Tue Apr  3 05:09:07 2001  Tim Janik  <timj@gtk.org>
2520
2521         * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
2522         variable names.
2523         
2524         * gtk/makeenums.pl: touch this so enum files get remade.
2525
2526 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
2527
2528         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
2529         work again when not sorted.
2530
2531         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
2532         and "expand_row" signal, closing bug 52578.
2533
2534         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
2535         support.
2536
2537         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
2538         support.
2539
2540 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
2541
2542         * gdk/gdkevents.h: Add GdkEventSetting event for notification
2543         of changes to system settings, gdk_setting_get() to retrieve
2544         a single system setting.
2545
2546         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
2547         to the draft XSETTINGS mechanism.
2548
2549         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
2550         XSETTINGS.
2551
2552         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
2553         of GDK settings changes to the GtkSettings object.
2554
2555         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
2556         double-click-timeout property to GDK.
2557
2558         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
2559         Define GDK boxed types here.
2560
2561         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
2562         gdk/gdkenumtypes.[ch] for enum definitions.
2563
2564         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
2565         * gtk/gtk-boxed.defs: Comment out GDK types
2566         * gtk/gtktypeutils.h: Remove GDK types
2567         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
2568
2569 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
2570
2571         * Applied patch from Ron Steinke to add signal accumulators
2572         so that signals with the convention 'TRUE return means
2573         handled' stop emission on a TRUE return.
2574
2575         * gtk/gtkmain.[ch]: Add private accumulator 
2576         _gtk_boolean_handled_accumulator, used throughout GTK+.
2577         
2578         * gtk/gtkspinbutton.c: Add accumulator for ::output.
2579
2580         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
2581         
2582         * gtk/gtkwidget.c: Add accumulators for event signals,
2583         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
2584         for ::mnemonic-activate.
2585
2586         * gtk/gtkwindow.c: Add accumulator for ::frame_event
2587
2588 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
2589
2590         * gtk/gtkwidget.c: Add missing include.
2591
2592 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
2593
2594         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
2595         marshaller.
2596
2597         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
2598         "changed" signal to "range_changed".
2599
2600         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
2601         removing a tree from one model would remove all trees from that
2602         model.
2603         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
2604         changed signal instead.
2605
2606 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
2607
2608         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
2609         chaining up to parent impl, since we have a INPUT_ONLY
2610         window.
2611
2612         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
2613         foreground color for the cursor.
2614
2615 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
2616
2617         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
2618         param spec when caching property values, since we unref it
2619         later when we free the style.
2620
2621         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
2622         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
2623
2624 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
2625
2626         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
2627         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
2628         stupidity.
2629
2630 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
2631
2632         [ First pass at adding style properties. Still needs some definite
2633         fine-tuning. ]
2634
2635         * gtk/gtkbutton.c: Add ::default_spacing style property.
2636          
2637         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
2638         ::indicator_spacing style properties.
2639
2640         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
2641         style properties.
2642
2643         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
2644         rather than a normal property.
2645
2646         * gtk/gtkwidget.c: Add an ::interior_focus style property to
2647         draw focus inside buttons, in the Windows/Java Metal/etc. style.
2648
2649         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
2650         Honor ::interior_focus.
2651         
2652         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
2653         TRUE.
2654
2655         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
2656         Add ::slider_width, ::trough_border, ::stepper_size,
2657         ::stepper_spacing style properties.
2658
2659         * gtk/gtkscale.[ch] Add ::slider-length style property.
2660
2661 2001-04-02 Alexander Larsson   <alexl@redhat.com>
2662
2663         * gdk/linux-fb/gdkwindow-fb.c:
2664         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
2665         warnings that were spewed on startup.
2666
2667         * gtk/gtkwindow-decorate.c:
2668         gtk_window_reposition -> _gtk_window_reposition
2669
2670 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
2671
2672         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
2673         Add boxed type for GtkRequistion. Use it for ::size-request.
2674
2675         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
2676         Add a new GtkBorder structure useful for geometry properties
2677         for widgets. Add corresponding GTK_TYPE_BORDER.
2678         
2679         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
2680         Support automatic parser selection like
2681         gtk_settings_install_property_parser().
2682
2683         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
2684         functionality for use by gtk_widget_class_install_style_property.
2685         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
2686
2687 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
2688
2689         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
2690         g_param_spec_unichar(). 
2691
2692 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
2693
2694         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
2695         _NET window managers.
2696
2697         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
2698
2699 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
2700
2701         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
2702         bad needs to be nuked, not just deprecated.
2703
2704         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
2705         gtk_widget_popup().
2706
2707         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
2708         
2709         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
2710         widget.
2711         
2712         * docs/Changes-2.0.txt: updates.
2713         
2714 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
2715
2716         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
2717         for (i = 0; i < 100; i ++)
2718           g_print ("I will confirm it compile before committing\n");
2719
2720 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
2721
2722         * gtk/gtktreestore.c: Initial work on implementing the
2723         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
2724
2725 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
2726
2727         * gtk/gtkwidget.c: fixed a bunch of notifications, added
2728         reference counts around emissions where the widget is used afterwards.
2729         added freeze/thaws around multiple properties being notified.
2730         (_gtk_widget_get_aux_info): cleanups.
2731         
2732         * gtk/gtksettings.c (gtk_settings_install_property): provide
2733         default parsing functions for gdkcolor, enums and flags.
2734
2735         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
2736         applied by owen.
2737         backed out gtk_window_get_location(), gtk_window_set_location(),
2738         gtk_window_get_size() and gtk_window_set_size(), these
2739         have to be sorted out wrg x/y/width/height/default_with/default_height
2740         properties.
2741         kept a flag in GtkWindowGeometryInfo to handle user
2742         resetting default sizes.
2743         cleaned up ZVT comments.
2744         bunch of assorted bug fixes, notification fixes.
2745         (_gtk_window_reposition): make this a really internal function.
2746         
2747         * gtk/testgtk.c: fixups.
2748         
2749 2001-03-31  Hans Breuer  <hans@breuer.org>
2750
2751         * config.h.win32.in : disable USE_MMX for msvc build cause
2752         the assembler doesn't fit and is out of my scope. Disable
2753         USE_GMODULE for msvc build as wel. The right way to share
2754         binaries on win32 would be to use libtiff.dll etc. To reduce
2755         installation hassles IMO it's better to include all fileformats
2756         builtin to gdk-pixbuf
2757
2758         * gdk-pixbuf/makefile.msc : new file
2759
2760         * gdk/gdk.def : updated
2761
2762         * gdk/win32/gdkevents-win32.c : don't erase the background if
2763         .no_bg is set. It improves the scrolling (e.g. of testgtk main
2764         buttons
2765         * gdk/win32/gdkgeometry-win32.c : added comment about the above
2766
2767         * gdk/win32/gdkwindow-win32.c : added three new functions like
2768         the X version. Only one is implemented, because the other two
2769         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
2770         be default behaviour on win32 anyway ...
2771
2772         * gtk/gtk.def : updated
2773
2774         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
2775         from where it was built and add an additional rule to automagically
2776         build gtkmarshal.[hc]
2777
2778         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
2779         before array access for the current entry isn't finished
2780
2781         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
2782         use g_return_val_if_fail
2783
2784         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
2785         for the static array, but let the compiler calculate it. It
2786         makes me wonder if gcc isn't capable to catch bugs like this ...
2787
2788 2001-03-31  James Henstridge  <james@daa.com.au>
2789
2790         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
2791         constant "-1" in the aux info structure.
2792
2793 2001-03-30  Alexander Larsson  <alexl@redhat.com>
2794
2795         * gtk/gtkbutton.c (gtk_button_get_property):
2796         * gtk/gtklabel.c:
2797         Remove leaks.
2798         
2799         * gtk/gtkcontainer.c:
2800         * gtk/gtkhscale.c:
2801         * gtk/gtkhscrollbar.c:
2802         * gtk/gtklayout.c:
2803         * gtk/gtkmisc.c:
2804         * gtk/gtkprogress.c:
2805         * gtk/gtkprogressbar.c:
2806         * gtk/gtkrange.c:
2807         * gtk/gtktable.c:
2808         * gtk/gtkviewport.c:
2809         * gtk/gtkvscale.c:
2810         * gtk/gtkvscrollbar.c:
2811         * gtk/gtkwidget.c:
2812         Property patches, based on patches from John Margaglione and Lee Mallabone.
2813
2814 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
2815
2816         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
2817         adjustment. Cleaned redundant preconditions (spin != NULL). Added
2818         inline API function docs.
2819         (gtk_spin_button_new_with_range): New convenience constructor.
2820         (gtk_spin_button_set_increments): New adjustment helper.
2821         (gtk_spin_button_set_range): New adjustment helper.
2822
2823         * gtk/testgtk.c : added test of the new convenince constructor and
2824         value_changed signals.
2825
2826 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
2827
2828         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
2829         listen to the reorder signal.
2830
2831 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
2832
2833         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
2834         to get the aux info structure fo the widget.
2835
2836         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
2837         above function.
2838
2839         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
2840
2841         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
2842         to get the size of the window manager frame, basically the same
2843         code that gdk_window_get_root_origin() had
2844         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
2845
2846         * gtk/gtkwindow.c (gtk_window_set_default_size): use
2847         gdk_window_resize() if the window is realized and resizeable
2848
2849         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
2850         typo so that setting gravity works
2851
2852         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
2853         allocation if auto_shrink is on, even if the default size
2854         has not changed.
2855
2856         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
2857         g_return_if_fail
2858
2859 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
2860
2861         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
2862         reordering/sorting work.  Now pretty much works.
2863
2864         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
2865         reorder mostly work.  Still need to get the parity correct.
2866
2867         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
2868         signal, so I can listen for the sort_column_changed signal so I
2869         can change my "sort_indicator" property.  Cool.
2870
2871 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
2872
2873         [ Patch from Havoc Pennington, hp@redhat.com ]
2874
2875         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
2876         Add functions gdk_window_begin_resize_drag/begin_move_drag
2877         to start resizing or moving a toplevel window. This
2878         is done either using the _NET_WM_MOVERESIZE protocol,
2879         or, if that isn't present, by emulation.
2880
2881         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
2882         to export the above to GTK+-land.
2883
2884         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
2885         
2886         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
2887         Move this function into gdkwindow, since we need it
2888         when implementing fallback resizing.
2889
2890         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
2891         Fix typo when setting gravity.
2892
2893         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
2894         Add an optional (but on by default) resize grip for resizing 
2895         the parent window.
2896
2897 01-03-29  Alexander Larsson  <alexl@redhat.com>
2898
2899         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
2900         Don't return TRUE from the event handler, that blocks all
2901         event signals on the tooltip widget. Now you can press buttons
2902         in toolbars again.
2903
2904 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
2905
2906         * gtk/testtext.c (create_buffer): Add missing NULL on
2907         valist.
2908
2909         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
2910         c-n-p problem with INCONSISTENT property.
2911
2912         [ Patch from Havoc Pennington  <hp@redhat.com> ]
2913
2914         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
2915         hook.
2916
2917         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
2918         signal as a hook for extending the default popup menu
2919
2920         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
2921         use radio menu items for the input method menuitems
2922
2923         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
2924         inserted unicode from Ctrl-Shift-hex input method
2925
2926         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
2927         validatation here, already done at GtkTextBuffer level.
2928
2929         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
2930         popup_menu run action signal and Shift+F10 and Menu keybindings.
2931
2932         * gtk/gtkentry.c: implement a default handler for popup_menu
2933
2934         * gtk/gtktextview.c: implement a default handler for popup_menu
2935
2936         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
2937         from a key event
2938         
2939         * gtk/gtklabel.c: remove "trailer" cruft
2940
2941 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
2942
2943         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
2944         handle reordering of trees.  Seems to mostly work w/ the exception
2945         of the parity flag.
2946
2947         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
2948         signal.
2949
2950 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
2951
2952         * gtk/gtkwidget.h: c++ fixes.
2953
2954 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
2955
2956         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
2957         memory.
2958
2959 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
2960
2961         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
2962         Nils Barth fixing event return values. (#51041)
2963
2964         * gtk/gtkwidget.c: Fix some return values for default
2965         functions.
2966
2967         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
2968         return values for trough_keys functions.
2969
2970         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
2971         value for add_accelerator (shoudl have been a void
2972         return.)
2973
2974         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
2975         Fix return type of EVENT.
2976
2977         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
2978         signal return a boolean.
2979
2980 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
2981
2982         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
2983         reordered signal.
2984
2985         * tests/testtreesort.c (main): fix spelling.
2986
2987 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
2988
2989         * gtk/gtkliststore.c: More work on implementing sortable
2990         interface.
2991
2992 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
2993
2994         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
2995         reference the widgets in the resulting list. (#11821)
2996         This makes this consistent with gtk_container_children.
2997
2998         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
2999         uses of gtk_window_list_toplevels.
3000
3001 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
3002
3003         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
3004         a virtual function to set whether the IM context should use 
3005         the preedit string. (#51922)
3006         
3007 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
3008
3009         * gdk/gdkpango.h: Remove stale FIXME comment.
3010
3011 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
3012
3013         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
3014         Fixed bug that returned NULL if a filename was selected.
3015
3016 2001-03-24  Havoc Pennington  <hp@pobox.com>
3017
3018         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
3019         to contain the word "theme"
3020
3021 2001-03-24  Havoc Pennington  <hp@pobox.com>
3022
3023         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
3024         slower but finer-grained
3025         (gtk_hsv_focus): get initial focus on the ring or triangle 
3026         according to tab direction
3027
3028         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
3029
3030 2001-03-23  Havoc Pennington  <hp@pobox.com>
3031
3032         * gtk/gtkhsv.c: make this somewhat key-navigable
3033
3034         * gtk/gtkfontsel.c: mnemonics
3035
3036         * gtk/gtkgamma.c: mnemonics
3037
3038         * gtk/gtkcolorsel.c: add mnemonics to labels
3039
3040 2001-03-22  Havoc Pennington  <hp@pobox.com>
3041
3042         Applied big patch from Seth Lytle to fix event handler return
3043         values, slightly modified.
3044
3045         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
3046         handled.
3047         (gtk_calendar_key_press): return TRUE for GDK_space triggers
3048         select_day
3049
3050         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
3051         (gtk_clist_button_release): return TRUE if handled
3052
3053         * gtk/gtkcolorsel.c (mouse_release):
3054         (palette_activate): 
3055         (palette_press): 
3056         (palette_new): 
3057         (mouse_press): 
3058         (get_screen_color): 
3059         fixed return type (void to gboolean), return TRUE,
3060         added GTK_SIGNAL_FUNC cast
3061
3062         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
3063         (void to gboolean), and return TRUE
3064         (gtk_combo_button_release): changed return value to TRUE after
3065         gtk_grab_add on combo->popwin
3066
3067         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
3068         collapse or expand
3069
3070         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
3071         button/motion
3072
3073         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
3074         press/release and motion that trigger act
3075
3076         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
3077
3078         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
3079         for GDK_Return
3080         
3081         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
3082         (gtk_list_button_release): return TRUE if selection
3083
3084         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
3085         press
3086
3087         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
3088         (gtk_menu_shell_button_release): chain parent_menu_shell retval
3089
3090         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
3091         nothing triggered
3092         (gtk_notebook_button_release): return TRUE if we do anything
3093
3094         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
3095         (gtk_spin_button_button_release): return TRUE or chained retval
3096
3097         * gtk/gtktext.c (gtk_text_button_press): 
3098         (gtk_text_button_release): return TRUE
3099         (gtk_text_key_press): remove redundant retval code
3100         
3101         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
3102         and sensitive
3103         (gtk_tree_item_subtree_button_click): changed type to gint, and return
3104         TRUE if sensitive
3105
3106         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
3107         return TRUE
3108
3109 2001-03-23  Havoc Pennington  <hp@redhat.com>
3110
3111         * gtk/testgtk.c: fix warnings
3112
3113         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
3114
3115         * gtk/gtktextview.c: fix warnings
3116
3117         * gtk/gtktext.c (find_cursor_at_line): fix warning
3118
3119         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
3120
3121         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
3122         of this function
3123
3124         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
3125         fix warning
3126
3127         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
3128
3129         * gtk/gtkfontsel.c: fix warning
3130
3131         * gtk/gtkcolorsel.c: fix warnings
3132
3133 2001-03-23  Havoc Pennington  <hp@redhat.com>
3134
3135         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
3136
3137         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
3138
3139         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
3140         and deprecated gtk_check_menu_item_set_show_toggle().
3141         
3142         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
3143
3144         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
3145
3146         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
3147
3148 2001-03-23  Havoc Pennington  <hp@redhat.com>
3149
3150         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
3151         some docs
3152
3153 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
3154
3155         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
3156         this.
3157
3158         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
3159         set_cell to set_value
3160
3161         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
3162         set_cell to set_value
3163
3164 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
3165
3166         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
3167         fix braino.
3168         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
3169         support.
3170
3171         * gtk/gtktreeview.c: Addition of initial sortable support.
3172
3173         * gtk/gtktreestore.c: Addition of initial sortable support.
3174
3175         * gtk/gtkliststore.c: Addition of initial sortable support.
3176
3177         * gtk/gtkmarshal.list: yet another marshaller.
3178
3179         * gtk/gtktreedatallist.[ch]: shared code between the store models
3180         for handling sorting headers.
3181
3182 2001-03-22  Havoc Pennington  <hp@redhat.com>
3183
3184         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
3185         (gtk_container_unset_focus_chain): Add ability to override the 
3186         focus chain for a container explicitly
3187
3188 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
3189
3190         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
3191         added PROP_MNEMONIC_WIDGET.
3192
3193         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
3194         (gtk_window_remove_mnemonic): 
3195         (gtk_window_add_mnemonic): fixed assertions.
3196         (gtk_window_activate_mnemonic): constrain modifier checks to those
3197         permitted by gtk_accelerator_get_default_mod_mask().
3198         got rid of gtk_window_get_default_accel_group().
3199
3200         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
3201         activatable widgets either by focussing or a warning.
3202         added a signal accumulator to ::activate_mnemonic which stops the
3203         emission once a handler returned TRUE.
3204
3205 2001-03-22  Havoc Pennington  <hp@pobox.com>
3206
3207         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
3208         the stock item label
3209
3210         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
3211
3212         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
3213
3214         * demos/gtk-demo/*.c: Add mnemonics all over the place
3215
3216         * gtk/gtklabel.h: mark parse_uline deprecated
3217
3218 2001-03-21  Alexander Larsson  <alexl@redhat.com>
3219
3220         * gtk/gtkitemfactory.[ch]:
3221         Add support for stock and normal imagemenuitems.
3222         
3223         * gtk/testgtk.c:
3224         Add some tests for mnemonics, stock toolbars, stock
3225         and image menuitems in itemfactory and gdk_window_scroll.
3226
3227 2001-03-21  Alexander Larsson  <alexl@redhat.com>
3228
3229         * gtk/gtkbutton.[ch]:
3230         * gtk/gtkdialog.c:
3231         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
3232         removed accel_group argument. Renamed gtk_button_new_accel() to
3233         gtk_button_new_with_mnemonic() and removed accel_group argument.
3234
3235         * gtk/gtkcheckbutton.[ch]:
3236         New function gtk_check_button_new_with_mnemonic().
3237
3238         * gtk/gtkentry.c:
3239         Override activate_mnemonic and just grab focus.
3240
3241         * gtk/gtkitemfactory.c:
3242         Don't add menu uline accel group, instead use mnemonics support.
3243
3244         * gtk/gtklabel.[ch]:
3245         New support for mnemonics.
3246
3247         * gtk/gtkmarshal.list:
3248         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
3249
3250         * gtk/gtkmenu.[c]:
3251         * gtkmenushell.c:
3252         Use mnemonics instead of accel groups for uline
3253         support in menu items.
3254         Removed gtk_menu_get_uline_accel_group() and
3255         gtk_menu_ensure_uline_accel_group().
3256
3257         * gtk/gtkmenuitem.c:
3258         Override activate_mnemonic to handle switching between
3259         menu items if there are collisions.
3260         
3261         * gtk/gtknotebook.c:
3262         Connect to activate_mnemonic on the tab_label, so that
3263         activating it switches to that notebook page.
3264
3265         * gtk/gtkwidget.[ch]:
3266         Add activate_mnemonic signal. New function
3267         gtk_widget_activate_mnemonic() to emit it.
3268         Default implementation does activate/grab_focus.
3269
3270         * gtk/gtkwindow.[ch]:
3271         Add support for mnemonics in windows.
3272         New functions:
3273         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
3274         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
3275
3276         * gtk/testgtk.c:
3277         Update to function name changes.
3278         
3279 2001-03-21  Alexander Larsson  <alexl@redhat.com>
3280
3281         * gtk/gtkimagemenuitem.[c]:
3282         Add gtk_image_menu_item_new_from_stock()
3283
3284 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
3285
3286         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
3287         Fix buglet in meeting.
3288
3289 2001-03-19  Havoc Pennington  <hp@redhat.com>
3290
3291         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
3292         add a bunch of accessor functions. This is because we have
3293         reasonable expectations of extending what fields it contains in
3294         the future.
3295
3296         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
3297         changes
3298
3299         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
3300         GtkIconSource   
3301
3302 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
3303
3304         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
3305         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
3306
3307         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
3308           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
3309           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
3310           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
3311         Change float to double everywhere with the exception of 0<->1.0 alignment
3312         and GtkCurve.
3313
3314 2001-03-19  Tor Lillqvist  <tml@iki.fi>
3315
3316         * gdk/win32/gdkdrawable-win32.c
3317         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
3318         output.
3319
3320         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
3321         gdkwin32.h.
3322
3323 2001-03-18  Tor Lillqvist  <tml@iki.fi>
3324
3325         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
3326         print_event_state, print_event): Use preprocessor macro to make
3327         code more compact. Print also GDK_WINDOW_STATE events.
3328         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
3329         
3330         * gtk/gtk.def
3331         * gtk/makefile.mingw.in: Update.
3332
3333         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
3334         to catch also Cygwin.
3335
3336 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
3337
3338         * gtk/gtkspinbutton.[hc]: added rc-style argument
3339         GtkSpinButton::shadow_type.
3340         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
3341         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
3342         rc-style settings.
3343
3344         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
3345
3346         * gtk/gtkwidget.c: quark cleanups.
3347
3348         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
3349         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
3350         to create_rc_style() (we don't do cloning in standard OO sense).
3351         added per rc style properties.
3352         
3353         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
3354         property values and for caching those. some cleanups.
3355         
3356         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
3357         
3358         * gtk/gtksettings.[hc]: new file for global rc-file properties
3359         (at least currently, should get extended to support X properties
3360         and other communication mechanisms).
3361         
3362         * gtk/gtkwidget.[hc]: added style property support:
3363         (gtk_widget_class_install_style_property_parser): install style
3364         property pspec with parser function for rc-file values other
3365         than LONG, DOUBLE or STRING.
3366         (gtk_widget_class_install_style_property): same as above without
3367         parser (parsers are going to be needed quite infrequently).
3368         (gtk_widget_style_get_property): retrive style property value.
3369         (gtk_widget_style_get_valist): same as above with varargs support,
3370         has NOCOPY semantics.
3371         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
3372
3373 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
3374
3375         * demos/gtk-demo/main.c (row_activated_cb): modified to use
3376         "row_activated" signal.
3377
3378         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
3379         stupidity.  Lets actually pass in the row with this signal...
3380
3381 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
3382
3383         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
3384
3385         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
3386
3387         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
3388         everything into the ::destroy function, and freed a lot more.
3389
3390 2001-03-16  Havoc Pennington  <hp@redhat.com>
3391
3392         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
3393         instead of gint16, to avoid overflow issues, since sizes > 16-bit
3394         are now allowed.
3395
3396 2001-03-16  Havoc Pennington  <hp@redhat.com>
3397
3398         * Applied patch from Nils Barth (bug # 51041) to 
3399         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
3400         in various places.
3401
3402 2001-03-15  Havoc Pennington  <hp@redhat.com>
3403         
3404         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
3405         for properties to set on the tag.
3406
3407         * gtk/testtext.c: fixups to reflect create_tag change
3408         
3409         * gtk/gtktexttag.c (gtk_text_tag_set_property):
3410         background/foreground stipple are objects, not boxed.
3411
3412         * demos/gtk-demo/textview.c: intellihancing
3413
3414 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
3415
3416         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
3417         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
3418
3419 2001-03-16  Alexander Larsson  <alexl@redhat.com>
3420
3421         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
3422         Fix sign error with queued region translations.
3423
3424 2001-03-15  HideToshi Tajima  <tajima@happy>
3425
3426         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
3427         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
3428         * gtk/gtkentry.c (update_im_cursor_location): 
3429         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
3430         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
3431         set_cursor_pos to set_cursor_location in GtkInputContext class
3432
3433 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
3434
3435         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
3436         the location of the cell relative to its area.
3437         * gtk/gtkcell*: modified for above change
3438         * gtk/gtktreeview.c: modified for above change.
3439
3440 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
3441
3442         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
3443          (gtk_tree_view_finalize): actually unref the model.  Thanks to
3444         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
3445
3446 2001-03-14  Havoc Pennington  <hp@redhat.com>
3447
3448         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
3449         
3450         * gtk/gtk.h: remove gtkdata.h
3451
3452         * gtk/Makefile.am: remove gtkdata
3453         
3454         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
3455         not "disconnect" on the adjustments.
3456         
3457         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
3458         GtkData
3459
3460         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
3461         not GtkData
3462
3463         * configure.in: handle case where X render exists, but Pango lacks
3464         Xft support.
3465
3466 2001-03-15 Alexander Larsson  <alexl@redhat.com>
3467
3468         * gtk/gtktoolbar.[ch]:
3469         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
3470         to add stock items to toolbars.
3471
3472         * gtk/Makefile.am:
3473         Remove ../gdk/gdkim.h from gdk_headers.
3474
3475 2001-03-15  Sven Neumann  <sven@gimp.org>
3476
3477         * gdk/gdkim.h: removed
3478         
3479         * gdk/gdkprivate.h
3480         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
3481
3482 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
3483
3484         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
3485         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
3486         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
3487         set_cursor_pos() virtual method
3488
3489         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
3490         (gtk_im_context_xim_set_cursor_pos): add implementation for
3491         set_cursor_pos() method
3492
3493         * gtk/gtkentry.c (recompute_idle_func): set current cursor
3494         position to input methods
3495
3496 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
3497
3498         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
3499         code a lot.
3500
3501         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
3502         g_mem_chunk.
3503         (_gtk_tree_data_list_alloc): use g_mem_chunk.
3504         (_gtk_tree_data_list_node_to_value): Fix to switch on
3505         G_TYPE_FUNDAMENTAL.
3506         (_gtk_tree_data_list_value_to_node): Fix to switch on
3507         G_TYPE_FUNDAMENTAL.
3508         (_gtk_tree_data_list_node_copy): Fix to switch on
3509         G_TYPE_FUNDAMENTAL.
3510
3511 2001-03-12  Havoc Pennington  <hp@redhat.com>
3512
3513         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
3514         to convert to new property API. Also, change default_width and
3515         default_height get_property to return 0 as the flag value for
3516         "unset"; -1 is not a valid value for these fields.
3517
3518 2001-03-12  Havoc Pennington  <hp@redhat.com>
3519
3520         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
3521         enum with registration for icon sizes, instead of strings.
3522
3523         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
3524         gtkwidget.c: Fix to reflect GtkIconSize
3525         
3526 2001-03-12  Alexander Larsson  <alexl@redhat.com>
3527
3528         Make GtkFB compile and link.
3529         
3530         * gdk/linux-fb/gdkdrawable-fb2.c:
3531         window->mapped to GDK_WINDOW_IS_MAPPED(). 
3532         
3533         * gdk/linux-fb/gdkwindow-fb.c:
3534         window->mapped to GDK_WINDOW_IS_MAPPED(). 
3535         Added gdk_window_shape_combine_region.
3536         Added assorted placeholders for unimplemented new GdkWindow API calls.
3537
3538 2001-03-12  Alexander Larsson  <alexl@redhat.com>
3539
3540         * gtk/gtkfilesel.c:
3541         Add more test when converting filenames from/to utf-8.
3542         Don't allow entering text in the filename entry which isn't allowed in
3543         a filename. Just beep instead.
3544
3545 2001-03-12  Alexander Larsson  <alexl@redhat.com>
3546
3547         * gtk/gtkclist.c:
3548         Scroll using gdk_window_scroll(). Don't wait for exposes.
3549         Move the column headers in an order that makes them flash less.
3550
3551 2001-03-10  Hans Breuer  <hans@breuer.org>
3552
3553         * gdk/gdk.def : updated
3554
3555         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
3556         to offseting the clip_mask at the right place
3557
3558         * gdk/win32/gdkwindow-win32.c : don't create background brushes
3559         for all the gdkClasses, especially not for the input_only case.
3560         Otherwise flickering wont be avoidable, because we don't get
3561         WM_ERASEBKGND message for these windows.
3562
3563         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
3564         and fixed massive redraw problems apparently triggered by Alexanders 
3565         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
3566         but it seems to work quite well :-)
3567
3568         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
3569         prototype
3570
3571 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
3572
3573         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
3574         (gtk_list_store_set_cell): Fix a stupid typo.
3575
3576 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
3577
3578         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
3579         select_all not work if you're in SINGLE mode (it doesn't make that
3580         much sense, anyway.)
3581
3582         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
3583         handle types more sanely.
3584         (_gtk_tree_data_list_value_to_node): handle types more sanely.
3585         (_gtk_tree_data_list_node_copy): handle types more sanely.
3586
3587         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
3588         GValue better. Converts the type as well.
3589
3590         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
3591         GValue better. Converts the type as well.
3592
3593 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
3594
3595         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
3596         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
3597         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
3598         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
3599
3600         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
3601         gdk_im/gdk_ic.
3602
3603 2001-03-09  Hans Breuer  <hans@breuer.org>
3604
3605         * gdk/gdk.def : updated
3606
3607         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
3608         for their palette
3609
3610         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
3611         removing
3612
3613         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
3614         removing and implemented Havoc's GdkWindow state functions; 
3615         stick/unstick only as no-op, cause I don't know how to emulate 
3616         on win32 ...
3617
3618         * gtk/gtk.def : updated
3619
3620         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
3621
3622         * gtk/gtktypeutils.c : #include <string.h>
3623
3624         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
3625
3626 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
3627
3628         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
3629         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
3630         not a boxed.
3631
3632 2001-03-09  Alexander Larsson  <alexl@redhat.com>
3633
3634         * docs/Changes-2.0.txt:
3635         Document expose event->region change and that gtk_widget_event
3636         doesn't allow passing expose events.
3637
3638         * gdk/gdkevents.h:
3639         Add region to expose event.
3640         
3641         * gdk/gdkevents.c:
3642         Handle event->region in gdk_event_copy() and gdk_event_free().
3643
3644         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
3645         Generate expose_event->region when creating expose events.
3646
3647         * gdk/x11/gdkevents-x11.c:
3648         Generate expose events with regions when translating X events.
3649
3650         * gtk/gtkcontainer.[ch]:
3651         Default expose handler that propagates expose events to NO_WINDOW
3652         children. New function gtk_container_propagate_expose()
3653
3654         * gtk/gtkwidget.[ch]:
3655         Moved gtk_widget_event implementation to gtk_widget_event_internal.
3656         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
3657         expose events. New function gtk_widget_send_expose() to send expose
3658         events. New function gtk_widget_region_intersect() to calculate
3659         window/region intersections.
3660         
3661         * gtk/gtkmain.c (gtk_main_do_event):
3662         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
3663         Use gtk_widget_send_expose() to send expose events.
3664         
3665         * gtk/gtkbin.c:
3666         * gtk/gtkbox.c:
3667         * gtk/gtkfixed.c:
3668         * gtk/gtkimagemenuitem.c:
3669         * gtk/gtklist.c:
3670         * gtk/gtkpacker.c:
3671         * gtk/gtktable.c:
3672         * gtk/gtktree.c:
3673         Remove expose handler, using the default container implementation
3674         instead.
3675         
3676         * gtk/gtkbutton.c:
3677         * gtk/gtkcheckbutton.c:
3678         * gtk/gtkeventbox.c:
3679         * gtk/gtkfixed.c:
3680         * gtk/gtkhandlebox.c:
3681         * gtk/gtklayout.c:
3682         * gtk/gtklistitem.c:
3683         * gtk/gtkmenu.c:
3684         * gtk/gtkmenubar.c:
3685         * gtk/gtkmenuitem.c:
3686         * gtk/gtknotebook.c:
3687         * gtk/gtkoptionmenu.c:
3688         * gtk/gtkpaned.c:
3689         * gtk/gtkscrolledwindow.c:
3690         * gtk/gtktogglebutton.c:
3691         * gtk/gtktoolbar.c:
3692         * gtk/gtktreeitem.c:
3693         * gtk/gtkviewport.c:
3694         Chain expose handler to parent class handler. Use
3695         gtk_container_propagate_expose() to propagate exposes.
3696
3697         * gtk/gtkclist.c (check_exposures):
3698         * gtk/gtktext.c (process_exposes):
3699         Use gtk_widget_send_expose instead of gtk_widget_event.
3700
3701 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
3702
3703         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
3704
3705 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
3706
3707         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
3708         unref the nodes.   Fixes bug #50058.
3709
3710         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
3711         "::ref_iter" to "::ref_node".
3712         (gtk_tree_model_unref_node): change "::unref_iter" to
3713         "::unref_node". Fixes bug #50064.
3714
3715 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
3716
3717         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
3718         support for invisible cells.
3719          (gtk_tree_view_bin_expose): ditto
3720
3721 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
3722
3723         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
3724         on gobjects.
3725
3726         * tests/testtreefocus.c (main): New test file.
3727
3728         * tests/testtreeview.c: update to latest glib changes.
3729
3730         * tests/testtreecolumns.c: update to latest glib changes.
3731
3732 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
3733
3734         * gtk/testgtk.c: re-enabled event watcher emission hooks.
3735
3736 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
3737
3738         * *.c: added accumulator data argument to g_signal_newc()
3739         functions.
3740
3741         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
3742         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
3743         * gtk/treestoretest.c (make_window):
3744         s/g_signal_connect/g_signal_connectc/.
3745
3746         * gtk/gtktextbuffer.c: completed signal arg fixups,
3747         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
3748
3749 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
3750
3751         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
3752         G_CONST_RETURN.
3753
3754         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
3755         ::hierarchy-changed signal when a widget changes
3756         from anchored to unanchored or vice versa.
3757         (anchored means 
3758          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
3759         Use a private flag to keep track of this efficiently.
3760
3761 2001-03-07  Havoc Pennington  <hp@redhat.com>
3762
3763         * gtk/testgtk.c (create_spins): uglify so that size request gets
3764         tested.
3765
3766         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
3767         request on values for upper/lower, completes #6152
3768
3769 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
3770
3771         * Makefile.am: Remove gtk-config-2.0 again.
3772         (Grrrr, pkg-config. And stops make loops.)
3773
3774 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
3775
3776         * gtk/gtksignal.[hc]: removed old emission hook API.
3777         
3778         * docs/Changes-2.0.txt: fixed sections.
3779         
3780         * gtk/gtktextbuffer.c: signal arg fixups.
3781
3782 2001-03-07  Havoc Pennington  <hp@redhat.com>
3783
3784         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
3785
3786         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
3787         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
3788         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
3789         validation and the redraw which is higher priority than the
3790         validation.
3791
3792 2001-03-07  Havoc Pennington  <hp@redhat.com>
3793
3794         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
3795         (gtk_entry_set_property): remove trailer
3796
3797         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
3798         (gtk_entry_get_width_chars): new functions, to set size request to 
3799         a given number of characters
3800
3801         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
3802
3803         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
3804         (gtk_dialog_get_has_separator): new function
3805         (run_delete_handler): fix to not emit "response" signal
3806         because we already did in the delete event handler installed
3807         at dialog creation time.
3808         
3809         * gtk/gtkdialog.h: add a has_separator property,
3810         add GTK_DIALOG_NO_SEPARATOR flag
3811
3812 2001-03-07  Havoc Pennington  <hp@redhat.com>
3813
3814         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
3815         off decorations for a window.
3816
3817         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
3818         changes
3819
3820         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
3821         to get location of PangoLayout inside the label, closes #51198
3822
3823         * gtk/testgtk.c (create_bbox): fix up button box usage
3824
3825         * gtk/testcalendar.c (create_calendar): fix up button box usage
3826
3827         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
3828
3829         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
3830
3831         * gtk/gtkhbbox.h: deprecations
3832
3833         * gtk/gtkvbbox.h: deprecations
3834
3835         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
3836         emulate deprecated gtk_button_box_get_spacing
3837
3838         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
3839         the "set global default" functions
3840         (struct _GtkButtonBox): remove "spacing" field, use the one from 
3841         GtkBox base class
3842
3843         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
3844
3845         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
3846         render the icon, return the missing image icon.
3847
3848         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
3849         image icon if the load fails.   
3850
3851         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
3852         when no image is found; should be the Netscape "missing image"
3853         icon eventually but for now is a random image
3854
3855         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
3856         role for the session manager
3857
3858         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
3859
3860         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
3861         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
3862
3863         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
3864
3865 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
3866
3867         * gtk/*.c: marshaller fixes.
3868         
3869         * gtk/gtkmarshal.list: extreme cleanup.
3870
3871         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
3872         param spec for now.
3873
3874         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
3875         where appliable.
3876
3877         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
3878         special cased autogenerated boxed types from gtktypebuiltins_ids.c
3879         which are not reference counted:
3880         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
3881         PangoFontDescription, GtkTreeIter and GtkTreePath.
3882
3883 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
3884
3885         * gtk/gtktreeselection.h: 
3886         * gtk/gtktreemodel.c:
3887         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
3888         file should be included directly, and gobject/gmarshal.h
3889         as well as gtk/gtkmarshal.h even can't be included directly.
3890
3891         * Makefile.am: grr, install gtk-config-2.0.
3892
3893         * gtk/testgtk.c:
3894         * gtk/simple.c:
3895         * gtk/gtkmenu.c:
3896         * gtk/gtkitemfactory.c: use g_object_connect() instead of
3897         passing "*signal*::*" args to gtk_widget_set().
3898         
3899         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
3900         
3901         * gtk/*.c: removed trailer arg from property setters and getters.
3902         macro fixups.
3903
3904 2001-03-07  Alexander Larsson  <alexl@redhat.com>
3905
3906         * gtk/gtklabel.c (set_markup): Removed warning
3907
3908 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
3909
3910         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
3911         field to allow you to hide cell renderers.
3912
3913         * gtk/gtkcellrenderer.c: Add support for invisible cells.
3914
3915         * gtk/gtktreeview.c: Add support for invisible cells.
3916
3917 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
3918
3919         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
3920         Add "clicked" signal back to columns.
3921
3922         * ChangeLog: remove conflict markers.
3923
3924 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
3925
3926         * gtk/gtkbutton.c: Add animation of activation by, on 
3927         activate, pressing the button, and adding a timeout that 
3928         releases the button after 250ms or on key release and
3929         emits ::clicked. (#51501)
3930
3931         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
3932         action area, we connect to ::clicked instead of ::activate
3933         so the dialog stays up through the animation.
3934
3935 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
3936
3937         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
3938         check the ignore_enter flag for the menu shell that
3939         the item is actually a child of, not for attached
3940         submenus. (#51536)
3941
3942 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
3943
3944         * gtk/gtkmain.c (gtk_propagate_event): Only do special
3945         special key-press grab handling for widgets within
3946         GtkWindows. Otherwise, fall through to normal case.
3947
3948         This prevents key events being sent twice to GtkInvisible
3949         widgets, which can cause all sorts of mischief.
3950
3951 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
3952
3953         * gtk/gtkmain.c (gtk_propagate_event): When a grab
3954         widget is in effect, give the grab widget a first
3955         crack at KEY_PRESS/RELEASE events. (#424)
3956
3957 2001-03-06  James Henstridge  <james@daa.com.au>
3958
3959         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
3960         offset for the window_state_event to point at window_state_event
3961         rather than no_expose_event.
3962
3963 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
3964
3965         * gtk/gtkimmodule.h: fix busted /* comment */
3966
3967 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
3968
3969         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
3970         object properties.
3971
3972 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
3973
3974         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
3975         add object properties.
3976
3977         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
3978         to add object properties.
3979
3980         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
3981         object properties.
3982
3983         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
3984         add object properties.
3985
3986         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
3987         object properties.
3988
3989 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
3990
3991         * gtk/gtktreemodel.c: renamed "child_toggled" to
3992         "has_child_toggled".
3993
3994         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
3995         handle new signal name.
3996
3997         * gtk/gtktreestore.c: Updated to handle new signal name.
3998         * gtk/gtklisttore.c: Updated to handle new signal name.
3999         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
4000
4001 2001-03-05  Alexander Larsson  <alexl@redhat.com>
4002
4003         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
4004         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
4005
4006 2001-03-05  Michael Natterer  <mitch@gimp.org>
4007
4008         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
4009         pixbuf-engine coincidentially also failed to make one of it's
4010         parent_class pointers static, causing overwriting of GtkLabel's
4011         parent_class pointer in pixbuf_style_class_init().
4012         (Will commit the fix to the pixbuf-engine too).
4013
4014 2001-03-05  Alexander Larsson  <alexl@redhat.com>
4015
4016         * gdk/gdkwindow.h:
4017         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
4018         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
4019         gdk_window_set_icon_list for net wmspec functionality.
4020
4021         * gdk/x11/gdkwindow-x11.c:
4022         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
4023         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
4024         gdk_window_set_icon_list.
4025         Added gdk_wmspec_change_state helper function and used it in the code.
4026         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
4027
4028         * gtk/gtkdialog.c (gtk_dialog_init):
4029         Set GDK_WINDOW_TYPE_HINT_DIALOG.
4030
4031         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
4032         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
4033
4034         * gtk/gtkwindow.c:
4035         new function gtk_window_set_type_hint.
4036         On realize, set type hint and modal hint.
4037
4038         * gtk/gtkwindow.h:
4039         Added type_hint field and gtk_window_set_type_hint.
4040
4041 2001-03-05  Alexander Larsson  <alexl@redhat.com>
4042
4043         * gtk/gtklabel.[ch]:
4044         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
4045         New function gtk_label_get_accel_keyval () to get the underline accelerator
4046         of the label. Setting the label pattern overrides other attributes.
4047
4048 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
4049
4050         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
4051         Added missing initializers to gtk_rc_style_init().
4052
4053 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
4054
4055         * gtk/gtktextview.c: fixed bug #51097 about setting 
4056         gtk_text_view_set_border_window_size() if the widget is 
4057         already realized.
4058
4059 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
4060
4061         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
4062
4063         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
4064         comment. Won't do to have duplicated doc comments between
4065         the platform subdirs.
4066
4067 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
4068
4069         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
4070           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
4071
4072         Detectable auto-repeat - make a repeating key generate
4073         press/press/press/release instead of press/release pairs.
4074
4075         If we have Xkb and XkbSetDectableAutoRepeat supports
4076         that, we do it that way. Otherwise, when we get
4077         a release event, we check ahead with XPending to see
4078         if the next key is a KeyPress with the same keycode
4079         and timestamp. (Not 100% reliable, but pretty close.)
4080           
4081 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
4082         
4083         * gtk/gtkmain.c (gtk_propagate_event): Only do special
4084         special key-press grab handling for widgets within
4085         GtkWindows. Otherwise, fall through to normal case.
4086  
4087         This prevents key events being sent twice to GtkInvisible
4088         widgets, which can cause all sorts of mischief.
4089  
4090 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
4091  
4092         * gtk/gtkmain.c (gtk_propagate_event): When a grab
4093         widget is in effect, give the grab widget a first
4094         crack at KEY_PRESS/RELEASE events. (#424)
4095  
4096 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
4097
4098         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
4099         to extend the selection. (Roughly based on patch
4100         from Jay Cox, #50939)
4101
4102         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
4103         to properly handle previous GDK_BUTTON_PRESS. 
4104         (Patch from Jay Cox, #50938)
4105
4106         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
4107         '\0' back along with the deleted text. (#51148)
4108
4109 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
4110
4111         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
4112         the group when extracting it from the X keyboard event.
4113
4114         * modules/input/Makefile.am modules/input/imipa.c: 
4115         Simple module for entering IPA. (Do we need a 
4116         gtk-stupid-input-tricks CVS module?)
4117
4118 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
4119
4120         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
4121         const.
4122
4123         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
4124
4125         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
4126         is no focus widget for the dialog currently, grab the focus as well
4127         as the default.
4128
4129         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
4130         the action area's children to iterate through, not the
4131         dialog's children.
4132
4133 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
4134
4135         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
4136         Add plug-socket tests. (Won't work worth a darn until I commit
4137         the rest of the plug-socket changes, but no reason these
4138         can't go into CVS now.)
4139
4140 2001-03-02  Havoc Pennington  <hp@redhat.com>
4141
4142         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
4143         _gdk_region_get_xrectangles()
4144
4145         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
4146
4147         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
4148
4149         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
4150         function, contributed by Ron Steinke    
4151
4152         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
4153         gdk_net_wm_supports
4154
4155         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
4156         New function, contributed by Ron Steinke
4157
4158         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
4159         used to line up the text in the entry when using the entry for
4160         editable sheet cell hacks
4161
4162         * gtk/testgtk.c (create_entry): test the activate_default setting
4163         on GtkEntry
4164
4165         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
4166         cause the entry to activate the default button for a dialog when 
4167         activated
4168         (gtk_entry_get_activates_default): new function
4169
4170 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
4171
4172         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
4173         Hwang to move call to sync_selection() up a few lines
4174         to before the row list is modified, to fix crash when
4175         removing rows in the undo_selection list.
4176
4177         (Test case provided by Daniel Elstner:
4178
4179         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
4180
4181 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
4182
4183         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
4184         of tree->root_tree in parent_set rather than _map(), 
4185         fixing #50892 in a bit better manner.
4186
4187 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
4188
4189         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
4190
4191 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
4192
4193         * gtk/gtkstyle.c : Remove duplicate fwd decl for
4194         gtk_default_draw_shadow.
4195
4196 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
4197
4198         * gdk/gdkimage.c (gdk_image_new): Remove excess 
4199         warning, make warnings more verbose, treat a error
4200         in shmat as permanent, and don't try again.
4201         (#51163, Ed Randall.)
4202
4203 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
4204
4205         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
4206         delay for the first click before starting to scroll.
4207         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
4208
4209         * gtk/gtktext.c: GtkText should have I-beam cursor. 
4210         (based on gtk-enf-990513-1.patch, Eric Fisher.)
4211
4212 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
4213
4214         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
4215         cleanup to remove some references to unused
4216         ->xoffset, ->yoffset.
4217
4218 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
4219
4220         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
4221         mask. (#51039, fix from Martin Maierhofer)
4222
4223 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
4224
4225         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
4226         for unshifted + and shifted = for non-us keyboards.
4227         Make <Control>+ and <Control>- work as well as 
4228         <Control>KP_Plus, <Control>KP_Minus for recursive
4229         open/close.  (#2682, René Seindal)
4230
4231 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
4232
4233         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
4234         the active menu item before deactivating the menu,
4235         so gtk_menu_popdown doesn't change the history. (#50964)
4236         
4237 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
4238
4239         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
4240         draw lines with text_gc rather than black_gc.
4241         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
4242
4243 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
4244
4245         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
4246         Move handling of buttons fully in gtktreeviewcolumn.  This code is
4247         less interrelated then it was, but it still requires the
4248         GtkTreeView to map it.
4249
4250         * test/testtreecolumn.c: Now I can add a column to one view,
4251         remove it, add it to the another view, remove it, then re-add it
4252         to the first.  Nifty.
4253
4254 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
4255
4256         * docs/tutorial/gtk-tut.sgml: Minor corrections
4257
4258 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
4259
4260         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
4261         GtkRowReference.
4262
4263 2001-02-28  Havoc Pennington  <hp@redhat.com>
4264
4265         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
4266         draw_default
4267         (gtk_widget_draw_focus): remove this function; we could instead
4268         make it just gtk_widget_draw(), but in most cases I think the
4269         result would be broken user code, so think it's better to have
4270         that code not compile and get fixed
4271         (gtk_widget_draw_default): ditto
4272
4273         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
4274         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
4275         
4276         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
4277         widgets lose/get the default, instead of calling draw_default
4278         
4279         * docs/Changes-2.0.txt: note about all this
4280
4281         Then fixed every widget in GTK, I won't list all the filenames.
4282
4283 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
4284
4285         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
4286         _gtk_tree_row_reference_deleted.
4287         (inserted_callback): Proxy out to
4288         _gtk_tree_row_reference_inserted.
4289         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
4290         get around signal emission ordering problem.
4291
4292         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
4293         fix to work with SINGLE 
4294         (_gtk_tree_selection_internal_select_node): Major sanitization on
4295         selections.  SINGLE now seems to work.
4296
4297         * tests/Makefile.am: add testtreecolumn.c:
4298
4299         * tests/testtreecolumn.c: New test.  Mostly points out selection
4300         bugs currently, but will test columns later.
4301
4302         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
4303         selection bug.  I hate touching this code -- it's scary.
4304
4305 2001-02-26  Havoc Pennington  <hp@redhat.com>
4306
4307         * gtk/testgtk.c: test the window state stuff
4308
4309         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
4310         window come to the user's attention as if it were just created
4311         (gtk_window_iconify): new function
4312         (gtk_window_deiconify): new function
4313         (gtk_window_stick): new function
4314         (gtk_window_unstick): new function
4315         (gtk_window_maximize): new function
4316         (gtk_window_unmaximize): new function
4317
4318         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
4319
4320         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
4321
4322         * gdk/x11/gdkevents-x11.c: create window state events when
4323         appropriate
4324         (gdk_wmspec_supported): new function
4325
4326         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
4327         iconification before showing the window
4328         (gdk_window_deiconify): new function
4329         (gdk_window_stick): new function
4330         (gdk_window_unstick): new function
4331         (gdk_window_maximize): new function
4332         (gdk_window_unmaximize): new function
4333
4334         * gdk/gdkwindow.c: store the window state in the window; 
4335         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
4336         window->mapped.
4337         (gdk_window_get_state): return the current window state
4338
4339         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
4340         (gdk_event_get_state): handle GDK_WINDOW_STATE
4341         (gdk_synthesize_window_state): function to create the window state
4342         events
4343
4344         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
4345         event, for changes to "window state" such as maximized, sticky, 
4346         etc.
4347         
4348         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
4349         focuses a window
4350
4351         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
4352         finds out if we support a given WM spec hint
4353
4354 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
4355
4356         * docs/faq/gtk-faq.sgml: New question re memory leaks.
4357
4358 2001-02-25  Hans Breuer  <hans@breuer.org>
4359
4360         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
4361         cause we want to loose those prototypes only in the latter case
4362
4363         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
4364         GdkPixmapImplWin32 because it itsn't derived from it. Use the
4365         impl member variable instead
4366
4367         * gtk/gtk.def : updated
4368
4369         * gtk/gtklist.c : 
4370         * gtk/gtkmenus.c : include <string.h> for memset ()
4371
4372         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
4373         for everthing built here, but for gtk-x.x.dll only. This solves
4374         problem of indifferent gtk type definitions
4375
4376 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
4377
4378         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
4379
4380 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
4381
4382         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
4383         column that is exposed.
4384
4385         (_gtk_tree_view_update_size): Changed name from set_size, and
4386         changed function to do more work, and not force people calling it
4387         to figure out the size.  Simplifies a lot of code elsewhere.
4388
4389 2001-02-23  Alexander Larsson  <alexl@redhat.com>
4390
4391         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
4392         return solid masks for xpms that have no transparent color.
4393         This makes the ..._create_from_xpm... API backwards
4394         compatible.
4395
4396 2001-02-23  Tor Lillqvist  <tml@iki.fi>
4397
4398         * README.win32: Update. Mention the gtk-1-3-win32-production
4399         branch.
4400
4401         * gdk/win32/bdfcursor.c: New file. A program that generates
4402         xcursors.h. Thanks to Stefan Ondrejicka.
4403
4404         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
4405         compact format.
4406
4407         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
4408
4409         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
4410         function, uses xcursors.h.
4411         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
4412         cursor from inline data instead of using LoadCursor() to generate
4413         it from a resource.
4414
4415         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
4416         event, must check the Windows message for mouse button state, as
4417         the GDK event state might not have been built if it is
4418         undelivered. Remove one goto.
4419
4420         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
4421         SetCursor() if the current cursor as returned by GetCursor() is
4422         the window's previous cursor. The ChildWindowFromPoint() test
4423         apparently didn't work correctly.
4424
4425         * gdk/win32/rc/*.cur: Remove.
4426
4427         * gdk/win32/rc/gdk.rc.in: Remove cursors.
4428
4429         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
4430
4431         * gtk/makefile.{mingw,msc}.in: Updates.
4432
4433 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
4434
4435         * gtk/gtktreemodel.h: add functions for signal emission.
4436
4437         * gtk/gtktreestore.c: move to use above functions instead of
4438         g_signal_emit.
4439
4440         * gtk/gtkliststore.c: ditto
4441
4442 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
4443
4444         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
4445         GObject instead of GtkObject.
4446
4447         * gtk/gtkliststore.c: ditto.
4448
4449         * gtk/gtktreemodelsort.c: ditto.
4450
4451         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
4452         GtkTreeModelIface, instead of in each model.
4453
4454 2001-02-21  Havoc Pennington  <hp@redhat.com>
4455
4456         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
4457         unbreak this function
4458
4459         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
4460         properties
4461
4462         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
4463         properties
4464
4465         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
4466         properties
4467
4468         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
4469         mean unset the max length
4470
4471 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
4472
4473         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
4474         Changed name to be set_cell_data_func to make it clear what
4475         the functino does.  Close bug #51069.
4476
4477 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
4478
4479         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
4480         have memory actually freed.  Keeps box running longer.
4481
4482 2001-02-21  Alexander Larsson  <alexl@redhat.com>
4483         
4484         * gtk/gtkseparatormenuitem.[ch]:
4485         Added new menu separator item. The drawing and size handling
4486         is still done in GtkMenuItem, but the API is a bit more sane.
4487         
4488         * gtk/Makefile.am:
4489         Add gtkseparatormenuitem.[ch].
4490
4491         * gtk/gtk.h:
4492         Add gtkseparatormenuitem.h.
4493         
4494         * gtk/gtkentry.c:
4495         * gtk/gtkmenufactory.c:
4496         * gtk/gtktextview.c:
4497         Use the new API for menu separators.
4498         
4499         * demos/gtk-demo/menus.c (create_menu):
4500         Add some GtkSeparatorMenuItem demo code.
4501
4502 2001-02-20  Havoc Pennington  <hp@redhat.com>
4503
4504         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
4505         Lee Mallabone
4506
4507         * gtk/gtkarrow.c: Convert to new property API, patch from 
4508         Lee Mallabone
4509
4510 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
4511
4512         * tests/testtreeview.c (toggled_callback): fix to reflect change
4513         in GtkTreeModelStore.
4514
4515 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
4516
4517         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
4518         function to create an icon set from a pixbuf.
4519
4520 2001-02-20  Alexander Larsson  <alexl@redhat.com>
4521
4522         * gtk/gtkcellrenderertext.[ch]:
4523         Add a "markup" property.
4524
4525         * gtk/treestoretest.c:
4526         Use the markup property, remove some leftover stuff from
4527         GtkTreeModelMapping.
4528
4529 2001-02-20  Alexander Larsson  <alexl@redhat.com>
4530
4531         * gtk/gtklabel.c (gtk_label_set_selectable):
4532         Queue a redraw if the selectable setting was changed.
4533
4534 2001-02-20  Alexander Larsson  <alexl@redhat.com>
4535
4536         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
4537         Actually copy the whole gc, not just the public parts.
4538         
4539         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
4540         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
4541         labels.
4542
4543 2001-02-19  Havoc Pennington  <hp@pobox.com>
4544
4545         * gdk/gdkwindow.c: docs
4546
4547         * gdk/gdkrgb.c: docs
4548
4549         * gdk/gdkregion-generic.c: docs
4550
4551         * gdk/gdkgc.c (gdk_gc_set_values): docs
4552
4553         * gdk/gdkdraw.c: docs
4554
4555         * gdk/gdkdrawable.h: deprecate drawable get/set data
4556
4557 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
4558
4559         * demos/gtk-demo/dialog.c: Add simple new demo.
4560
4561 2001-02-19  Havoc Pennington  <hp@redhat.com>
4562
4563         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
4564         insert_child_anchor signal, bug #50245
4565
4566         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
4567         from create_child_anchor, so the anchor is passed in
4568
4569         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
4570         (_gtk_widget_segment_new): have the child anchor object passed in, 
4571         instead of creating it.
4572
4573         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
4574         to gtk_text_buffer_get_modified
4575
4576 2001-02-19  Havoc Pennington  <hp@redhat.com>
4577
4578         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
4579         changed GLib without fixing GTK
4580
4581         * gtk/gtkrange.h: Rename all the stupid implementation detail 
4582         functions to have an underscore in front. Most of them should 
4583         probably just go away, but for starters don't export them.
4584         Bug #50482
4585
4586 2001-02-19  Havoc Pennington  <hp@redhat.com>
4587
4588         * gdk/gdkcolor.h: test was backward, so deprecated functions were
4589         excluded by default
4590
4591         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
4592         clean up the old code a bit
4593
4594         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
4595         inconsistent state
4596
4597         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
4598         draw inconsistent state
4599
4600         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
4601         (create_menu): add inconsistent test
4602
4603         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
4604         new function
4605         (gtk_check_menu_item_get_inconsistent): new function
4606         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
4607         state (using etched in for now)
4608
4609         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
4610         draw inconsistent state
4611
4612         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
4613         function, used when the user has selected a range of stuff in
4614         different states
4615         (gtk_toggle_button_get_inconsistent): accessor for that
4616         (gtk_toggle_button_paint): draw inconsistent state (etched in?
4617         don't know what else to do)
4618
4619 2001-02-19  Hans Breuer <hans@breuer.org>
4620
4621         * gtk/gtk.def : updated exported symbols
4622
4623         * gtk/makefile.msc.in : updated
4624
4625         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
4626         a colormap, when invoked from testgtk::entry. I'm not sure where
4627         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
4628         avoids immediate crashing ...
4629
4630         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
4631         any objections ?
4632
4633         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
4634         0 parameter. At least msvc doesn't like macros with var args. 
4635         I simply removed the extra 0, was it a feature or a typo ?
4636
4637         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
4638         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
4639         because the value assignment to the internal struct wasn't working.
4640         I'm not absolutely sure. The problem could have been resolved by
4641         changing the "func" declartion in the struct, but was the pointer
4642         to the function pointer intended ?
4643
4644         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
4645
4646         * gdk/gdk.def : updated exported symbols
4647
4648         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
4649         only use SetDIBitsToDevice if there is a palette at the drawable
4650         and the image is GDK_VISUAL_PSEUDO_COLOR
4651
4652         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
4653
4654         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
4655
4656         * gdk/*/makefile.msc : updated
4657
4658 2001-02-19  Havoc Pennington  <hp@redhat.com>
4659
4660         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
4661         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
4662
4663         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
4664         (gdk_key_repeat_restore): nuke
4665
4666         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
4667         (gdk_init_check): no atexit func
4668
4669         * gdk/gdkrgb.h: mark some stuff deprecated
4670
4671         * gdk/gdkcolor.h: mark some stuff deprecated
4672         
4673         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
4674
4675         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
4676
4677 2001-02-16  Havoc Pennington  <hp@redhat.com>
4678
4679         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
4680         scroll steps.
4681
4682         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
4683         steps, and add Ctrl-arrow shortcuts for paging visually as with
4684         HScale, since Page Up and Page Down move logically.
4685
4686         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
4687         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
4688         
4689         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
4690         steps
4691         (gtk_range_scroll): handle the visual steps
4692
4693         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
4694         scroll steps
4695
4696         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
4697         steps, not the logical ones.
4698
4699         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
4700         (scroll_vertical): handle up/down steps
4701
4702 2001-02-19 Alexander Larsson  <alexl@redhat.com>
4703
4704         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
4705         Copy data and free data with free().
4706
4707         * gdk-pixbuf/gdk-pixbuf.c:
4708         * gdk-pixbuf/io-jpeg.c:
4709         * gdk-pixbuf/io-png.c:
4710         Use g_try_malloc/g_free instead malloc/free.
4711         
4712         * gdk-pixbuf/test-gdk-pixbuf.c:
4713         Must... initialize... gobject...
4714         
4715         * gdk-pixbuf/pixops/timescale.c:
4716         * gtk/gtkcalendar.c:
4717         Use g_malloc instead of malloc.
4718         
4719 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
4720
4721         * gtk/testgtkrc:
4722         Comment out property assignments, these don't work yet.
4723
4724 2001-02-17  Havoc Pennington  <hp@pobox.com>
4725
4726         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
4727         bit.
4728
4729 2001-02-17  Havoc Pennington  <hp@pobox.com>
4730
4731         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
4732         shadowed variables that had broken size request in some cases,
4733         leading to bogus tooltips (#50996)
4734
4735 2001-02-06  Jon K Hellan  <hellan@acm.org>
4736
4737         Implement fast browsing of tooltips, bug #50619
4738         
4739         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
4740         and last_popdown
4741         
4742         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
4743         use_sticky_delay and last_popdown.
4744         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
4745         time of popdown.
4746         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
4747         is NULL.
4748         (gtk_tooltips_recently_shown): New static function.  Return true
4749         if < sticky_delay has elapsed since last popdown.
4750         (gtk_tooltips_event_handler): Display window after sticky_delay
4751         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
4752         since last popdown.
4753         
4754 2001-02-17  Havoc Pennington  <hp@pobox.com>
4755
4756         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
4757         instead of (). #6394
4758
4759         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
4760         G_CONST_RETURN, make it return by reference, #50473
4761         
4762 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
4763
4764         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
4765         generated ENTER_NOTIFY event with 0, otherwise not explicitely
4766         setup fields contain garbage (e.g. subwindow, breaking
4767         gdk_drawable_ref() upon event copy).
4768         (gtk_menu_stop_navigating_submenu_cb): same here.
4769
4770         * gtk/gtklist.c (gtk_list_vertical_timeout): 
4771         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
4772         * gtk/gtkclist.c (vertical_timeout): 
4773         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
4774         default-zero-intialization for unions to memset(,0,), as unions are
4775         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
4776         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
4777
4778         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
4779         g_closure_sink() warning.
4780
4781         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
4782         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
4783         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
4784         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
4785         
4786 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
4787
4788         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
4789         gtk_*_store_get, and moved to GtkTreeModel.
4790
4791         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
4792
4793         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
4794
4795         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
4796
4797         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
4798         set the func.
4799
4800         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
4801         freeze/thaw notify between setting all the properties for a cell.
4802
4803         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
4804
4805 2001-02-15  Havoc Pennington  <hp@redhat.com>
4806
4807         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
4808         the X coordinates so they're with respect to the line, rather than 
4809         with respect to the layout.
4810
4811         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
4812         Mallabone
4813
4814         * gtk/testgtk.c (create_range_controls): add vscale tests, 
4815         and inverted test
4816
4817         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
4818         #50806
4819
4820         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
4821
4822         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
4823         gtk_text_iter_is_end
4824
4825         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
4826         rename gtk_text_buffer_get_end_iter
4827
4828         * gtk/testgtk.c (create_labels): Add test for selectable
4829
4830         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
4831         the selection stuff. This code is kind of broken since it doesn't 
4832         use the theme engine.
4833
4834         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
4835         fix infinite loop and y offset problem
4836         (gdk_draw_layout_line_with_colors): fix foreground color handling
4837
4838         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
4839         that makes the label selectable.
4840         
4841         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
4842         layout when the style is set, since fonts etc. could have changed.      
4843
4844 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
4845
4846         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
4847
4848         * gtk/gtktreemodelsimple.[ch]: removed.
4849
4850 2001-02-16  Alexander Larsson  <alexl@redhat.com>
4851
4852         * gtk/gtktreemodelmapping.[ch]:
4853         New files. Implement GtkTreeModelMapping.
4854         
4855         * gtk/Makefile.am:
4856         Add gtktreemodelmapping.[ch].
4857         
4858         * gtk/gtk.h:
4859         Add gtktreemodelmapping.h
4860
4861         * gtk/treestoretest.c:
4862         Test the GtkTreeModelMapping
4863
4864 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
4865
4866         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
4867         have a demo, we might as well pass in real values.  Thanks to
4868         clahey for pointing this out.
4869
4870 2001-02-14  Havoc Pennington  <hp@pobox.com>
4871
4872         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
4873         "static" to a private function
4874         (gtk_image_menu_item_class_init): remove destroy handler,
4875         add "image" object property
4876
4877 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
4878
4879         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
4880         Add a shortcut if the window and the current clip_region doesn't
4881         overlap. This is needed when there are a lot of windows in a
4882         window. The layout test in testgtk is a good test.
4883
4884         * gdk/linux-fb/gdkwindow-fb.c:
4885         Whitespace fix.
4886
4887 2001-02-13  Sven Neumann  <sven@convergence.de>
4888
4889         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
4890
4891 2001-02-13  Alexander Larsson  <alexl@redhat.com>
4892
4893         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
4894         Don't reference last_cursor if it is null. Fixes crash when rotating
4895         the screen before having moved the mouse.
4896
4897         * gdk/linux-fb/gdkcc-fb.c: Zapp!
4898
4899         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
4900
4901         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
4902         when using 90 or 270 degrees rotation.
4903
4904 2001-02-12  Havoc Pennington  <hp@pobox.com>
4905
4906         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
4907         it always set the foreground, even if we were only using
4908         a stipple.
4909         (gdk_draw_layout_line_with_colors): new function, allow
4910         override colors
4911         (gdk_draw_layout_with_colors): new function, allow override
4912         colors
4913         (gdk_pango_layout_line_get_clip_region): function to get the clip
4914         region for a logical text range
4915         (gdk_pango_layout_get_clip_region): get the clip region for a
4916         logical text range
4917
4918         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
4919         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
4920         the right number of arguments.
4921
4922         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
4923         enhance the function to check that node data corresponds to a 
4924         view still belonging to the tree.
4925
4926         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
4927         GtkTreePath
4928         (gtk_tree_view_inserted): ditto
4929         (gtk_tree_view_child_toggled): ditto
4930
4931         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
4932         simplify this code.
4933
4934         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
4935         a PangoAttrList
4936
4937         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
4938
4939         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
4940
4941         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
4942         size in the size request 
4943         (gtk_menu_bar_size_allocate): consider toggle size here
4944
4945         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
4946         that displays a widget in the toggle slot
4947
4948         * gtk/testgtk.c: test GtkImageMenuItem
4949
4950         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
4951         
4952         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
4953         request and allocation
4954
4955         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
4956
4957         * gtk/gtkcheckmenuitem.c
4958         (gtk_check_menu_item_toggle_size_request): ditto
4959         
4960 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
4961
4962         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
4963         reference.
4964
4965         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
4966         and refuse to initialize GTK+ if they fail.
4967
4968 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
4969
4970         * configure.in: Add check for gtk-doc version.
4971
4972 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
4973
4974         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
4975         where the xpad/ypad was only being used on one side!
4976
4977 2001-02-11  Tor Lillqvist  <tml@iki.fi>
4978
4979         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
4980         function, copied from X11 version.
4981
4982         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
4983         DestroyCursor failures. The reason for the problem (despite the
4984         inconsistent messages from GetLastError()) was that
4985         DestroyCursor() cannot be called while a cursor is set in a
4986         window. Set the new cursor first and then destroy the old one.
4987         Thanks to jpe@archaeopteryx.com.
4988
4989         * gdk/win32/gdkcc-win32.c: Remove.
4990
4991         * gdk/win32/Makefile.am: Remove from here, too.
4992         
4993         * gdk/gdk.def
4994         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
4995
4996         * gtk/gtk.def
4997         * gtk/makefile.mingw.in: Updates.
4998
4999 2001-02-08  Havoc Pennington  <hp@redhat.com>
5000
5001         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
5002         add a widget to a bin that already has a child.
5003
5004         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
5005
5006         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
5007         
5008         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
5009
5010         * gdk/gdk.h: remove gdkcc.h
5011
5012         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
5013
5014         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
5015         GdkPixbuf, since the previous implementation was GdkColorContext
5016         dependent.
5017
5018         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
5019         
5020 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
5021
5022         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
5023         a sane value!
5024
5025 2001-02-08  Havoc Pennington  <hp@redhat.com>
5026
5027         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
5028         lighten them.
5029
5030 2001-02-08  Havoc Pennington  <hp@redhat.com>
5031
5032         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
5033         validation idle
5034
5035         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
5036         cell renderer
5037
5038         * demos/pixbuf-demo.c (timeout): remove deprecated
5039         gtk_widget_draw
5040
5041         * demos/testpixbuf-save.c (main): remove deprecated
5042         gtk_drawing_area_size
5043
5044         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
5045         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
5046         at the start of the allocation.
5047         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
5048         unsetup or NULL model.
5049
5050         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
5051         even/odd/sorted cells in the tree view.
5052
5053         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
5054         bugfixes
5055
5056         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
5057         backgrounds with draw_flat_box using different detail for even/odd
5058         rows.
5059
5060         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
5061         row, so we can draw the alternating colors thing
5062
5063         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
5064         property from a synonym property, notify for the synonym.
5065         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
5066         (gtk_text_tag_get_property): Always return the font, even if
5067         all its fields aren't set
5068
5069         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
5070         store the attr list; it leaves us with no way to change attributes
5071         in _render according to the render flags, and no way to implement
5072         get_property. Instead store all the specific text attributes. 
5073         Separate whether an attribute is enabled from its value. Sync all
5074         properties with GtkTextTag, make them all consistent, etc.
5075
5076         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
5077         renderers can highlight the sort row/column     
5078
5079         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
5080         accessor functions to get values; this has the side effect of
5081         showing up which accessor functions were missing. Added those.
5082
5083         * gtk/gtktreeviewcolumn.h: Replace set_justification with
5084         set_alignment, to be consistent with GtkLabel, GtkMisc
5085
5086         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
5087         arrow.
5088
5089         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
5090
5091         * gtk/gtktreesortable.h: updates in here
5092
5093 2001-02-07  Sven Neumann  <sven@convergence.de>
5094
5095         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
5096         pango dimensions after painting the background. We used to draw
5097         gigantic flat boxes here.
5098
5099 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
5100
5101         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
5102         error introduced with earlier commit) (pointed out by
5103         Ollie Lho)
5104
5105 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
5106
5107         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
5108         which are no longer necessary.
5109
5110 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
5111
5112         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
5113
5114 2001-02-04  Tor Lillqvist  <tml@iki.fi>
5115
5116         * gdk/gdk.def
5117         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
5118         Provide dummy implementations.
5119
5120 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
5121
5122         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
5123
5124         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
5125         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
5126         deprecated this function.
5127
5128         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
5129         argument.
5130
5131 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
5132
5133         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
5134
5135 2001-02-03  Havoc Pennington  <hp@pobox.com>
5136
5137         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
5138         Mikael Hermansson with patch from Mikael (if there was a toggle
5139         start one after the first character in the range, this function
5140         was broken). Bug #50380
5141
5142 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
5143
5144         * configure.in: Remove confusing comment about X11.
5145
5146 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
5147
5148         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
5149         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
5150         
5151 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
5152
5153         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
5154         it breaks things on BSD. If you want to compile GTK+ with
5155         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
5156         when configuring, since GTK+ simply can't be "pure ANSI" 
5157         in the header files it uses. (#8170, Greg Hudson)
5158
5159 2001-02-02  Havoc Pennington  <hp@redhat.com>
5160
5161         * gtk/gtkwindow.c: docs
5162
5163         * gtk/gtkwidget.c: docs
5164         (gtk_widget_set_colormap): add a reference to the colormap
5165         (gtk_widget_get_default_colormap): add a reference to the colormap
5166
5167         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
5168
5169         * gtk/gtktextiter.c: docs
5170
5171         * gtk/gtkmain.c (gtk_propagate_event): docs
5172
5173         * gtk/gtkpaned.c (gtk_paned_get_position): docs
5174         (gtk_paned_set_position): docs
5175
5176         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
5177         sort interface, no implementation yet.
5178
5179         * demos/testpixbuf.c (new_testrgb_window): replace
5180         gtk_drawing_area_size() with gtk_widget_set_usize()
5181
5182         * demos/testpixbuf-drawable.c (main): ditto
5183         
5184         * gtk/testgtk.c: remove use of GtkStatusbarMsg
5185
5186         * gtk/gtktextbuffer.c: docs
5187
5188         * gtk/gtkstock.c: docs
5189
5190         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
5191
5192         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
5193
5194         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
5195         
5196         * gtk/gtkimage.c: add some docs in here
5197         (gtk_image_size_request): change name of
5198         gtk_widget_render_stock_icon
5199         (gtk_image_get_icon_set): don't dup returned string
5200         (gtk_image_get_icon_set): don't dup returned string
5201
5202         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
5203         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
5204         and gtkiconfactory.h functions
5205
5206         * gtk/gtkiconfactory.c: add some docs in here
5207
5208         * gtk/gtkmain.c (gtk_get_default_language): document
5209         (gtk_get_current_event): document
5210         (gtk_get_current_event_state): document
5211         (gtk_get_event_widget): document
5212
5213         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
5214
5215         * gtk/gtkcontainer.c: Add some documentation
5216         (gtk_container_add): give a more explanatory warning on adding an
5217         already-parented widget, this is kind of a FAQ and also a common
5218         typo that's easier to debug with a nice warning 
5219
5220         * gtk/gtkcellrenderertoggle.c
5221         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
5222         adding this, it's useless
5223         (gtk_cell_renderer_toggle_set_active): remove
5224         (gtk_cell_renderer_toggle_get_radio): add
5225
5226         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
5227         the NULL cell renderer, that doesn't make any sense to me. 
5228
5229         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
5230         demo code should never use deprecated features.
5231
5232         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
5233         code should never use deprecated features.
5234
5235         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
5236         gtk_widget_queue_clear_area deprecated
5237
5238         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
5239         deprecated
5240
5241         * gtk/gtklabel.h: mark gtk_label_get() deprecated
5242
5243         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
5244         a GdkImage deprecated, replaced by new consistently-named
5245         functions       
5246
5247         * gtk/gtkmain.h: Mark gtk_exit() deprecated
5248
5249         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
5250
5251         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
5252         deprecated
5253
5254         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
5255         so it won't appear in docs and confuse people.
5256
5257         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
5258
5259         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
5260         macros deprecated. (can't mark the type itself deprecated, since
5261         GtkProgressBar is not deprecated and we need the type decl to use
5262         GtkProgressBar)
5263
5264         * gtk/gtkpixmap.h: Mark deprecated
5265
5266         * gtk/gtkoldeditable.h: Mark deprecated
5267
5268         * gtk/gtklist.h: Mark deprecated
5269
5270         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
5271         for anything anymore.
5272
5273         * gtk/gtkctree.h: Mark deprecated
5274
5275         * gtk/gtkclist.h: Mark deprecated
5276
5277         * gtk/gtkpreview.h: Mark deprecated
5278
5279         * gtk/gtkpacker.h: Mark deprecated
5280
5281         * gtk/gtktipsquery.h: Mark deprecated
5282
5283         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
5284
5285         * gtk/gtkvruler.h: Add comment that it will move out of GTK
5286
5287         * gtk/gtkhruler.h: Add comment that it will move out of GTK
5288
5289         * gtk/gtkruler.h: Add comment that it will move out of GTK
5290
5291         * gtk/gtkgamma.h: Add comment that it will move out of GTK
5292
5293         * gtk/gtkcurve.h: Add comment that it will move out of GTK
5294
5295 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
5296
5297         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
5298         gdk_colormap_sync private since it was never exported
5299         in a header file.
5300
5301         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
5302         colormap->colors[] for StaticGray, StaticColor colormaps.
5303
5304         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
5305         was being used as if it was image->bits_per_pixel.
5306
5307         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
5308         for the image in the GdkImage structure since it isn't
5309         reconstructable, and we need it to handle packed types
5310
5311         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
5312         the assumption that on Win32 image->bits_per_pixel == image->depth,
5313         always.
5314
5315         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
5316
5317         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
5318         warning message if no converter can be found. 
5319
5320 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
5321
5322         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
5323         chars to isupper() / tolower(). (#567)
5324
5325         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
5326         to clear up 64-bit warnings. (#567)
5327
5328 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
5329
5330         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
5331         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
5332
5333         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
5334         since some people set $(libdir) separately. (#1290, David Kaelbling)
5335
5336 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
5337
5338         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
5339         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
5340         MAXPATHLEN, but the code here depends on a fixed value.)
5341         (#4524)
5342
5343 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
5344
5345         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
5346         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
5347
5348 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
5349
5350         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
5351         viewable there is no way that moving the node will cause the 
5352         focus row to become not viewable, so omit check on the visibility
5353         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
5354
5355 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
5356
5357         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
5358         selection before inserting new text.
5359
5360 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
5361
5362         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
5363         Make the sensitivity of the reparented child track that of
5364         the original parent menu item. (#34218, David Hodson)
5365
5366         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
5367         the case where the current item is destroyed properly.
5368
5369         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
5370         some edge cases with child-less menuitems.
5371         
5372 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
5373
5374         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
5375         key pop down window. (#12074, Jon K Hellan)
5376
5377 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
5378
5379         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
5380         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
5381         The solution here isn't perfect - you get an extraneous
5382         emission of "toggle", which could conceivably confuse an app,
5383         but better than the current situation. LXR search seems to
5384         indicate that no apps in GNOME CVS connect to "toggle".
5385
5386 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
5387
5388         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
5389         gtk_public_h_sources to directly here to avoid warning when
5390         building srcdir != builddir. (#9656)
5391
5392 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
5393
5394         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
5395         handlers in gtkrange.c return the proper values (TRUE == handled)
5396         (#10316).
5397
5398         This is just the tip of the iceberg, but gtkrange.c is the
5399         most common place where the propagation is problematical,
5400         and also a place where it is almost certainly safe to change
5401         this in the stable branch.
5402
5403         (You don't want right click popups on a range control or anything...)
5404
5405 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
5406
5407         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
5408         area on focus out, even if a background pixmap isn't set.
5409         (#13941)
5410         
5411 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
5412
5413         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
5414         to deal with setting the shape properly when scrolling arrows are
5415         turned on, but not visible because there is sufficient space.
5416         (#13432)
5417
5418 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
5419
5420         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
5421         items with submenus, destroy the item along with the submenu.
5422         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
5423         properly.
5424
5425         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
5426         later.
5427
5428 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
5429
5430         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
5431         the focus widget sometimes wasn't drawn with the default if there
5432         was no default widget.
5433
5434         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
5435         unreference pixmaps. 
5436
5437         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
5438         for some extra safety.
5439
5440 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
5441
5442         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
5443         the text of a cell to the old pointer value better, by
5444         copying the new text before freeing the old text. Some code
5445         cleanup. (#8079, Karl Nelson)
5446
5447 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
5448
5449         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
5450         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
5451
5452 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
5453
5454         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
5455         item from a menu, check to see if it matches 
5456         menu->old_active_menu_item, and if so, unref and clear
5457         old_active_menu_item (Patch from Pavel Cisler)
5458
5459         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
5460         menu_shell->active_menu_item, if it is the child being
5461         removed. (Patch based on that of Gene Ragan, #50337)
5462
5463 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
5464
5465         * gdk/linux-fb/gdkselection-fb.c: 
5466         * gdk/linux-fb/gdkcolor-fb.c: 
5467         * gdk/linux-fb/gdkdrawable-fb2.c: 
5468         * gdk/linux-fb/gdkfont-fb.c: 
5469         * gdk/linux-fb/gdkim-fb.c: 
5470         * gdk/linux-fb/gdkinput.c: 
5471         * gdk/linux-fb/gdkkeyboard-fb.c: 
5472         * gdk/linux-fb/gdkmain-fb.c: 
5473         * gdk/linux-fb/gdkrender-fb.c: 
5474         A bunch of whitespace cleanup.
5475         
5476 2001-01-30  Havoc Pennington  <hp@pobox.com>
5477
5478         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
5479         #ifdef GTK_ENABLE_BROKEN.
5480
5481         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
5482         GTK_ENABLE_BROKEN just before including the broken headers.
5483         
5484         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
5485         deprecated types registered.
5486
5487         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
5488         we have to test the broken stuff.
5489
5490         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
5491         
5492 2001-01-30  Havoc Pennington  <hp@redhat.com>
5493
5494         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
5495         here where prev pointer was set to the wrong thing
5496
5497         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
5498         (gtk_tree_path_is_descendant): new function
5499
5500         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
5501         cached length
5502         (gtk_list_store_get_iter): don't modify iter if we can't get the
5503         path.
5504
5505         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
5506         
5507         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
5508         GtkTreeDragDest
5509
5510         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
5511         was causing segfault
5512
5513         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
5514         pointer to NULL
5515
5516         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
5517
5518         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
5519         on returning FALSE
5520         (gtk_list_store_iter_children): ditto
5521         (gtk_list_store_iter_nth_child): ditto
5522         (gtk_list_store_iter_nth_child): ditto
5523         (gtk_list_store_iter_parent): ditto
5524
5525         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
5526         on iter->user_data != NULL instead of silently accepting it.
5527         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
5528         we are returning TRUE.
5529         (gtk_tree_store_iter_children): ditto
5530         (gtk_tree_store_iter_nth_child): ditto
5531         (gtk_tree_store_iter_parent): ditto
5532         (gtk_tree_store_insert): remove handling of parent->user_data ==
5533         NULL, replace with parent == NULL       
5534
5535         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
5536         and a comment explaining things
5537
5538         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
5539         interface support to GtkTreeStore.
5540
5541         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
5542         FALSE if no prev, fix
5543
5544         * gtk/gtktreeview.c (set_source_row): use a row reference
5545         (set_dest_row): use a row reference
5546
5547 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
5548
5549         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
5550         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
5551         (gtk_tree_selection_select_iter): The same as above.
5552
5553 2001-01-26  Havoc Pennington  <hp@redhat.com>
5554
5555         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
5556         which holds a handle to a specific row (particular set of values
5557         in the model, i.e. pointer-identity row).
5558
5559         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
5560         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
5561         Still need to use it for the src/dest row saved on the drag context.
5562
5563 2001-01-26  Havoc Pennington  <hp@redhat.com>
5564
5565         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
5566
5567         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
5568         not offset by TREE_VIEW_HEADER_HEIGHT
5569         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
5570         TREE_VIEW_HEADER_HEIGHT
5571
5572         * configure.in (included_loaders): for me, --with-included-loaders
5573         generates the error "the specified loader yes does not exist",
5574         i.e. the arg defaults to "yes", so change test for value ""
5575         to test for value "yes", and include all loaders in that case.
5576
5577         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
5578
5579         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
5580         handle TREE_VIEW_VERTICAL_SEPARATOR
5581         (gtk_tree_view_bin_expose): fix to consider the row offset as
5582         pointing halfway into vertical separator.       
5583         (gtk_tree_view_draw_node_focus_rect): ditto
5584
5585         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
5586         --gtk-debug=updates, which causes gdk_window_set_debug_updates
5587         (TRUE) to be called.
5588
5589         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
5590         debug mode where the invalid region is colored in on invalidate,
5591         so you can see the flicker and know whether your redraw code is 
5592         doing a good job.
5593
5594         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
5595         tree window coordinates (clip rect is in tree window coords)
5596
5597         * gtk/Makefile.am: add gtktreednd.[hc]
5598
5599         * gtk/gtkliststore.c: implement gtktreednd interfaces.
5600
5601         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
5602         drag-and-drop data operations on a model (so we can set up tree
5603         drag-and-drop automatically)
5604
5605         * gtk/testgtk.c: Add a window to change sensitivity in the
5606         GtkLabel test; add a way to change the entry frame in GtkEntry
5607         test
5608
5609         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
5610         (gtk_entry_get_has_frame): new functions to remove the frame
5611         around an entry
5612         (gtk_entry_size_request): shrink requisition if no frame
5613         (gtk_entry_draw_focus): don't draw frame if no frame
5614
5615         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
5616         checks inside a cell renderer
5617         (gtk_default_draw_option): ditto for options
5618
5619         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
5620         children from the alignment, not the button
5621         (gtk_tree_view_column_init): ref/sink the column, to emulate
5622         GObject refcounting.
5623
5624         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
5625         
5626         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
5627         Use theme functions to draw the toggles 
5628
5629         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
5630
5631         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
5632         GdkPangoAttrEmbossed to use in rendering insensitive text
5633
5634         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
5635
5636         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
5637         using new GDK features
5638         
5639 2001-01-24  Alexander Larsson  <alexl@redhat.com>
5640
5641         * gtk/gtkimage.c:
5642         Splitted gtk_image_clear into gtk_image_clear() and
5643         gtk_image_reset(). Call gtk_image_clear() in ::destroy
5644         to avoid leaks.
5645
5646         * gtk/gtklabel.c (set_markup):
5647         Don't leak text.
5648
5649         * gtk/gtktextlayout.c:
5650         Always free display->shaped_objects.
5651
5652         * gtk/testgtk.c (create_clist):
5653         Don't leak custom style.
5654
5655 2001-01-23  Alexander Larsson  <alexl@redhat.com>
5656
5657         * gtk/gtkcolorsel.c (grab_color_at_mouse):
5658         Don't leak image. Simplify using gdk_colormap_query_color().
5659         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
5660
5661         * linux-fb/gdkcolor-fb.c:
5662         Implemented gdk_colormap_query_color.
5663
5664 2001-01-23  Alexander Larsson  <alexl@redhat.com>
5665
5666         * linux-fb/gdkcursor-fb.c:
5667         Don't leak built-in cursors.
5668
5669         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
5670         Don't leak tmp_points.
5671
5672         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
5673         Don't modify desc. Don't leak font if the PangoFont
5674         isn't found.
5675         
5676         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
5677         Free dash_list.
5678
5679         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
5680         Don't leak string.
5681         
5682 2001-01-20  Havoc Pennington  <hp@pobox.com>
5683
5684         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
5685         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
5686         me, matches Pango
5687
5688 2001-01-22  Havoc Pennington  <hp@redhat.com>
5689
5690         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
5691
5692         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
5693
5694         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
5695         Remove, move back to gdk-pixbuf
5696
5697         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
5698         to all the word functions
5699
5700         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
5701         before doing anything on NULL layout or if we don't have the focus
5702
5703         * gtk/testtext.c (fill_example_buffer): "justification"
5704
5705         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
5706         to be called "justification" not "justify"
5707
5708         * demos/gtk-demo/textview.c (create_tags): "justification"
5709         
5710         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
5711
5712 2001-01-22  Alexander Larsson  <alexl@redhat.com>
5713
5714         * gdk/gdkwindow.c (gdk_window_invalidate_region):
5715         Don't leak visible_region. Use visible_region instead of region.
5716         
5717         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
5718         Don't do extra gdk_drawable_ref(). This is not X.
5719         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
5720         gdk_fb_focused_window is ref:ed.
5721         (gdk_fb_window_send_crossing_events): Watch out for destroyed
5722         windows.
5723
5724 2001-01-22  Alexander Larsson  <alexl@redhat.com>
5725
5726         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
5727         Don't leak the PangoFontDescriptor.
5728
5729 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
5730
5731         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
5732         when not realized.
5733         (gtk_tree_view_scroll_to_cell): Make work when not realized.
5734         (gtk_tree_view_realize): add scroll_to support
5735         (gtk_tree_view_finalize): add a finalize method.  Populate.
5736         (gtk_tree_view_insert_column): ref and sink the column.
5737         (gtk_tree_view_append_column): ref and sink the column.
5738         (gtk_tree_view_queue_draw_node): New function to handle redrawing
5739         individual nodes.  Should make the code much more efficient, if
5740         actually used.
5741
5742 2001-01-19  Havoc Pennington  <hp@redhat.com>
5743
5744         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
5745         byte_offset variable was being used to mean both "offset into
5746         layout" and "offset into buffer line" which was no longer true
5747         with addition of preedit string; fix
5748
5749 2001-01-19  Havoc Pennington  <hp@redhat.com>
5750
5751         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
5752
5753         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
5754         function
5755
5756         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
5757         implement
5758
5759         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
5760         scroll_to_cell, matches TextView scroll functions better
5761         (gtk_tree_view_tree_to_widget_coords): new function
5762         (gtk_tree_view_widget_to_tree_coords): new function
5763         (gtk_tree_view_get_visible_rect): new function
5764         (gtk_tree_view_get_path_at_pos): accept negative coordinates
5765         (gtk_tree_view_draw_node_focus_rect): new function moved from
5766         draw_focus, also, use width of bin_window as width of the focus
5767         rect
5768         (gtk_tree_view_expand_row): fix bug where it didn't recognize
5769         already-expanded rows
5770         (gtk_tree_view_get_cell_rect): new function
5771         (gtk_tree_view_get_path_at_pos): return the click position
5772         relative to the passed-in cell
5773         (gtk_tree_view_set_expander_column): new function
5774
5775         * configure.in: remove gtk-config-2.0 chmod
5776
5777         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
5778         and properly handle drags with targets we don't understand
5779         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
5780         scrolling anyway
5781         (gtk_text_view_drag_drop): stop scrolling here though, and set the
5782         mark invisible
5783
5784         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
5785         function
5786         (gtk_drag_dest_get_target_list): new function
5787         (gtk_drag_dest_set_target_list): new function
5788         
5789         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
5790
5791         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
5792         related to drag-and-drop
5793
5794 2001-01-19  Alexander Larsson  <alexl@redhat.com>
5795
5796         * gdk/linux-fb/gdkprivate-fb.h:
5797         Define EMULATE_GDKFONT.
5798         Add extra pango_font stuff to GfkFontPrivate.
5799         
5800         * gdk/linux-fb/gdkdrawable-fb2.c:
5801         * gdk/linux-fb/gdkfont-fb.c:
5802         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
5803         emulation using PangoFont.
5804
5805 2001-01-17  Havoc Pennington  <hp@pobox.com>
5806
5807         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
5808         all the non-deprecated set_foo functions. Added missing object
5809         properties, and added g_object_notify() to setters. 
5810         Wrote docs.
5811         
5812 2001-01-18  Tor Lillqvist  <tml@iki.fi>
5813
5814         * gtk/gtkmain.c
5815         * gtk/gtkrc.c: (Win32) Use the new
5816         g_win32_get_package_installation_(sub)directory() functions.
5817
5818         * config.h.win32.in: New file.
5819         
5820         * config.h.win32: Removed.
5821
5822         * configure.in: Output config.h.win32.
5823
5824         * Makefile.am: Add it to EXTRA_DIST.
5825
5826         * gtk/gtk.def: Update.
5827
5828 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
5829
5830         * gtk/gtklabel.c (gtk_label_size_request): Set the
5831         attributes onto the PangoLayout even if they are newly
5832         created from label->pattern.
5833
5834 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
5835
5836         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
5837
5838         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
5839         structures in functions. Fixes bug where gtk_dataset_*
5840         was accidentally still being used in one place, causing
5841         every dest side event to be treated independently.
5842
5843         * gtk/gtkdnd.c: Remove last vestages of handling
5844         ::draw (fixes warning)
5845         
5846         * gtk/gtkentry.[ch]: Add drag and drop support.
5847
5848         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
5849         new function gtk_check_drag_threshhold() for checking
5850         to check if (dx,dy) has exceeded the threshhold for starting
5851         a drag and use it everywhere.
5852
5853 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
5854
5855         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
5856         add -I{includedir}/gtk-2.0.
5857
5858         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
5859         gdk/gdk-pixbuf.h: Doc fixups.
5860         
5861         * gtk/gtkobject.h: Remove trailing , from enum
5862
5863 2001-01-17 Alexander Larsson <alexl@redhat.com> 
5864
5865         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
5866         Doh! Mixed up x and y.
5867
5868         * gdk/linux-fb/gdkglobals-fb.c:
5869         Removed gdk_fb_pointer_grab_window_events,
5870         added _gdk_fb_pointer_grab_owner_events and
5871         _gdk_fb_keyboard_grab_owner_events.
5872
5873         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
5874         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
5875         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
5876         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
5877         Send crossing events after ungrab finished.
5878         (gdk_keyboard_grab): Set ..._owner_events
5879         (type_masks): Move out of function.
5880         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
5881         gdk_fb_keyboard_event_window): New functions, return the
5882         window an event should be targeted at. Handles grabs and
5883         event propagation. Can return NULL.
5884         (gdk_event_make): Remove event_mask checking. Now always
5885         returns an event.
5886                 
5887         * gdk/linux-fb/gdkkeyboard-fb.c:
5888         * gdk/linux-fb/gdkproperty-fb.c:
5889         * gdk/linux-fb/gdkselection-fb.c:
5890         Use new event_window/gdk_event_make() behaviour.
5891         
5892         * gdk/linux-fb/gdkmouse-fb.c:
5893         Use new event_window/gdk_event_make() behaviour.
5894         Only send motion events if in the same window.
5895         If grabbed, use cursor from window if sibling of grabbed
5896         window, and cursor from grabbed window otherwise.
5897
5898         * gdk/linux-fb/gdkprivate-fb.h:
5899         Update gdk_fb_window_send_crossing_events, gdk_event_make
5900         and grab varaible declarations. Add gdk_fb_*_event_window().
5901
5902         * gdk/linux-fb/gdkwindow-fb.c:
5903         Use new event_window/gdk_event_make() behaviour.
5904         Keep correct track of focus window.
5905         (gdk_window_set_events): Set all specific button motion masks
5906         if GDK_BUTTON_MOTION_MASK set.
5907
5908         * gtk/gtkdnd.c (gtk_drag_update):
5909         Free info->last_event if gdk_drag_motion returned FALSE.
5910
5911 2001-01-16  Tor Lillqvist  <tml@iki.fi>
5912
5913         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
5914         Eliminate redraws when input-only windows are shown or
5915         hidden. Thanks to jpe@archaeopteryx.com.
5916
5917 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
5918
5919         * docs/faq/gtk-faq.sgml: FAQ update:
5920           - Update to bugzilla
5921           - Add GTK+ and security/SUID/SGID
5922           - Add DnD question
5923
5924 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
5925
5926         * gdk/linux-fb/gdkdnd-fb.c:
5927         Some cleanups.
5928         
5929 2001-01-15  Havoc Pennington  <hp@pobox.com>
5930
5931         * tests/testtreeview.c: add test stuff for CellRendererToggle
5932
5933         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
5934         accessor
5935
5936         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
5937         only toggle on button press (would do release like GtkButton, but
5938         we'd need implicit grab code for treeview cells)
5939
5940 2001-01-16  Tor Lillqvist  <tml@iki.fi>
5941
5942         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
5943
5944         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
5945         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
5946
5947         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
5948         to g_{locale,filename}_{to,from}_utf8 to match current API.
5949
5950         * gtk/makefile.msc.in (gtk_OBJECTS)
5951         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
5952
5953         * gtk/gtk.def: Update.
5954
5955 2001-01-15  Tor Lillqvist  <tml@iki.fi>
5956
5957         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
5958         implementaion that more closely mimics the events that an X server
5959         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
5960         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
5961         with nested preview widgets, for instance, more responsive when
5962         you move the mouse quickly into them.
5963         (find_window_for_pointer_event): Make it actually compile.
5964         (gdk_event_translate): Set send_event to the value of
5965         InSendMessage (). This doesn't really mean the same as X11's
5966         send_event flag, but is close enough, says jpe@archaeopteryx.com
5967
5968 2001-01-15  Alexander Larsson  <alexl@redhat.com>
5969
5970         * gdk/linux-fb/gdkdnd-fb.c:
5971         Implemented drag and drop.
5972         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
5973         when it tries to free and then copy the same event (info->last_event).
5974         I am not sure about why this happens, but will continue looking.
5975
5976 2001-01-15  Alexander Larsson  <alexl@redhat.com>
5977
5978         * gdk/linux-fb/gdkwindow-fb.c:
5979         Use gdk_window_invalidate_rect instead of
5980         gdk_window_invalidate_rect_clear to minimise flashing.
5981         When hiding windows you need to clear the root window though.
5982
5983 2001-01-15  Alexander Larsson  <alexl@redhat.com>
5984
5985         * gdk/linux-fb/gdkdrawable-fb2.c:
5986         For optization, add an full_shapes argument to gdk_fb_clip_region.
5987         If this is false, only the cliprects of the shapes are used.
5988
5989         * gdk/linux-fb/gdkprivate-fb.h:
5990         Export gdk_fb_window_peek_shape.
5991         Add full_shapes to gdk_fb_clip_region.
5992
5993         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5994         When moving a window, don't clear everything under the it, just the
5995         root window. Makes stuff faster and flash less.
5996         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
5997         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
5998         offset of the shape.
5999         
6000
6001 2001-01-12  Havoc Pennington  <hp@redhat.com>
6002
6003         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
6004         current invalid region, fixes redraw bug while scrolling the 
6005         text widget
6006
6007         * gtk/gtktextview.c, gtk/gtktextview.h:
6008         Rearrange the scrolling/validation/etc. code in a major way, 
6009         so it seems to make sense to me. Probably isn't genuinely that
6010         much better, but...
6011
6012         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
6013         notifies
6014
6015         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
6016
6017 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
6018
6019         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
6020         Hide mouse pointer while rotation. Show it afterwards.
6021
6022 2001-01-12  Alexander Larsson  <alexl@redhat.com>
6023
6024         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
6025         windows in consideration when generating clip region.
6026
6027         * gdk/linux-fb/gdkfb.h:
6028         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
6029
6030         * gdk/linux-fb/gdkprivate-fb.h:
6031         Add shape to GdkWindowFBDatat.
6032         exported gdk_fb_window_get_abs_shape().
6033         removed gdk_fb_draw_lines declaration.
6034
6035         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
6036         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
6037         send focus changes when there is a grabbed window.
6038         (gdk_window_get_pointer): Handle shaped windows.
6039         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
6040         (gdk_fb_window_peek_shape): Returns the shape for a window,
6041         handles GDK_FB_USE_CHILD_SHAPE.
6042         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
6043         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
6044         (gdk_window_shape_combine_mask): Implement.
6045
6046         * gtk/gtkwindow-decorate.c:
6047         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
6048         setting the shape of a window makes the window transparent.
6049
6050 2001-01-11  Havoc Pennington  <hp@redhat.com>
6051
6052         * gtk/gtktreemodelsimple.h: Oops, broke some macros
6053
6054 2001-01-10  Havoc Pennington  <hp@redhat.com>
6055
6056         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
6057         add this function, bug 40251
6058
6059         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
6060         of type macro   
6061
6062 2001-01-11  Alexander Larsson  <alexl@redhat.com>
6063
6064         * acconfig.h:
6065         Added ENABLE_SHADOW_FB
6066
6067         * configure.in:
6068         Added --disable-shadowfb
6069
6070         * gdk/linux-fb/gdkcursor-fb.c:
6071         Update shadowfb when updating cursor
6072
6073         * gdk/linux-fb/gdkdrawable-fb2.c:
6074         Added wrappers for shadowfb that calls  the normal drawable
6075         methods, but calls gdk_shadow_fb_update(bounding box) when
6076         GdkWindows are drawed to.
6077         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
6078         which also returns the bounding box.
6079
6080         * gdk/linux-fb/gdkfb.h:
6081         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
6082
6083         * gdk/linux-fb/gdkgeometry-fb.c:
6084         Update shadowfb when scrolling window.
6085
6086         * gdk/linux-fb/gdkglobals-fb.c:
6087         Add _gdk_fb_screen_angle.
6088         
6089         * gdk/linux-fb/gdkkeyboard-fb.c:
6090         Test code for screen rotation. Shift-F2 in the xlate driver
6091         rotates the screen.
6092
6093         * gdk/linux-fb/gdkmain-fb.c:
6094         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
6095
6096         * gdk/linux-fb/gdkmouse-fb.c:
6097         Use fb_width/height instead of modeinfo.xres/yres.
6098
6099         * gdk/linux-fb/gdkprivate-fb.h:
6100         Added fb_men, fb_width, fb_height & fb_stride. When using
6101         shadow fb these can differ from the framebuffer stuff.
6102         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
6103         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
6104         _gdk_fb_screen_angle. Removed CM, RP.
6105
6106         * gdk/linux-fb/gdkrender-fb.c:
6107         Added code for shadowfb handling and screen rotation using
6108         shadowfb.
6109
6110         * gdk/linux-fb/gdkwindow-fb.c:
6111         Use fb_mem, fb_stride, fb_width, fb_height.
6112         Added recompute_rowstride to reset the rowstride of all windows.
6113         Added gdk_fb_recompute_all() which recomputes rootwindow size,
6114         window abs positions and window rowstrides. Usefull when the
6115         rotation has changed.
6116
6117 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
6118
6119         * docs/faq/gtk-faq.sgml: update to make web site updating easier
6120
6121 2001-01-10  Havoc Pennington  <hp@redhat.com>
6122
6123         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
6124         where sibling == iter
6125         (gtk_tree_store_insert_after): handle sibling == iter
6126         (gtk_tree_store_prepend): remove stamp checks
6127         (gtk_tree_store_insert_before): ditto
6128         (gtk_tree_store_append): ditto
6129         (gtk_tree_store_get_path): ditto
6130         (gtk_tree_store_get_value): ditto
6131         (gtk_tree_store_iter_has_child): ditto
6132         (gtk_tree_store_iter_n_children): ditto
6133         (gtk_tree_store_iter_nth_child): ditto
6134         (gtk_tree_store_insert_after): ditto
6135         (gtk_tree_store_is_ancestor): ditto
6136         (gtk_tree_store_iter_depth): ditto
6137         (gtk_tree_store_insert_before): assert that sibling's parent is
6138         the same as the passed-in parent
6139         (gtk_tree_store_insert_after): assert that sibling's parent is
6140         the same as the passed-in parent
6141
6142         
6143         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
6144         function to get the first iterator in a model
6145         
6146         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
6147         conventionally the "root" in this sense is just NULL afaict.
6148
6149         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
6150         where sibling == iter
6151         (gtk_list_store_insert_after): handle case where sibling == iter
6152
6153         * tests/testtreeview.c (run_automated_tests): fairly lame basic
6154         automated tests for ListStore, TreeStore
6155
6156         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
6157         (gtk_list_store_insert): update tail pointer, and fix it to work
6158         (gtk_list_store_insert_before): update tail pointer, and fix it to work
6159         (gtk_list_store_append): use tail to be faster
6160         (gtk_list_store_prepend): fix it, update tail pointer
6161         (gtk_list_store_insert_after): fix it, update tail pointer
6162
6163         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
6164         the list
6165
6166 2001-01-09  Havoc Pennington  <hp@redhat.com>
6167
6168         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
6169         is NULL due to a pending resize
6170
6171         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
6172         column width to values less than 1
6173
6174         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
6175         width to be between min/max width, and still set the width 
6176         even if autosize is turned on, so the tree view can use this 
6177         function in order to autosize.
6178         (gtk_tree_view_column_init): set initial width to 1 not 0
6179
6180         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
6181         setter function to modify column width, so we get notification
6182         (gtk_tree_view_insert_iter_height): ditto
6183         (gtk_tree_view_calc_size): ditto
6184         (gtk_tree_view_check_dirty): ditto
6185
6186         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
6187         properties to change all the interesting attributes of the tree
6188         view column.
6189         (gtk_tree_view_column_set_header_clickable): rename set_clickable
6190         (gtk_tree_view_column_get_clickable): add
6191         (gtk_tree_view_column_set_cell_renderer): don't unset the current
6192         attributes; assume a cell renderer with equivalent object
6193         properties has been swapped in. Do g_object_notify().
6194         (gtk_tree_view_column_set_visible): g_object_notify
6195         (gtk_tree_view_column_get_sizing): rename from get_col_type
6196         (gtk_tree_view_column_set_sizing): g_object_notify
6197         (gtk_tree_view_column_set_width): add g_object_notify
6198         (gtk_tree_view_column_set_min_width): ditto
6199         (gtk_tree_view_column_set_max_width): ditto
6200         (gtk_tree_view_column_set_title): ditto
6201         (gtk_tree_view_column_set_clickable): ditto
6202         (gtk_tree_view_column_set_widget): ditto
6203         (gtk_tree_view_column_set_justification): ditto
6204
6205 2001-01-09  Havoc Pennington  <hp@redhat.com>
6206
6207         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
6208         there are no rows in the model
6209
6210         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
6211         NULL, then return the start of the list
6212
6213         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
6214         if we can't get any rows from an empty model 
6215
6216         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
6217         extraneous * after function pointer typedef usage
6218
6219         * Makefile.am: don't specify full path to cp and rm
6220
6221         * gtk/gtkcellrenderertextpixbuf.c
6222         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
6223         NULL before dereferencing, fixes a segfault that happened from
6224         time to time
6225
6226         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
6227         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
6228         and reindent the function
6229         (gtk_cell_renderer_pixbuf_get_size): indentation
6230
6231         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
6232         we quit it
6233         (gtk_dialog_add_buttons_valist): add g_return_if_fail
6234         (gtk_dialog_set_default_response): New function, to set default
6235         button
6236         (gtk_dialog_set_response_sensitive): New function, to set 
6237         sensitivity of buttons
6238
6239         * gtk/gtkcellrendererpixbuf.c
6240         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
6241         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
6242
6243         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
6244         handle any G_TYPE_OBJECT subclass, not just the base class, and 
6245         also boxed types.
6246         (_gtk_tree_data_list_value_to_node): ditto
6247
6248         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
6249         --gtk-debug=tree
6250
6251         * gtk/gtkmain.c: add GTK_DEBUG_TREE
6252
6253         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
6254
6255 2001-01-09  Tor Lillqvist  <tml@iki.fi>
6256
6257         * gdk/win32/gdkevents-win32.c: Implement better mouse
6258         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
6259         (find_window_for_pointer_event): New function.
6260         (gdk_event_translate): Use it when handling mouse events.
6261
6262 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
6263
6264         * configure.in:
6265         Added --with-included-loaders option
6266
6267         * gdk-pixbuf/Makefile.am:
6268         * gdk-pixbuf/gdk-pixbuf-io.c:
6269         Add support for including selected gdk-pixbuf loaders only.
6270
6271         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
6272         gtk_window_set_has_frame):
6273         Added inline documentation.
6274
6275         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
6276         * docs/reference/gdk/tmpl/windows.sgml:
6277         Added inline documentation.
6278
6279 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
6280
6281         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
6282         realizing buttons that have already been realized.
6283
6284 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
6285
6286         * tests/testtreeview.c (main): Show menu items before adding to
6287         option menu.
6288
6289         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
6290         around if we kill them.
6291
6292         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
6293         Return if we pass in a NULL model.
6294
6295 2001-01-08  Havoc Pennington  <hp@redhat.com>
6296
6297         * tests/testtreeview.c: hack on this some
6298
6299         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
6300         gtk_tree_store_set_valist, v is for arrays, valist for varargs
6301         list
6302         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
6303
6304         * gtk/gtkliststore.h: Add varargs set() and get() convenience
6305         functions
6306
6307 2001-01-08  Alexander Larsson  <alexl@redhat.com>
6308
6309         * gtk/gtkwindow-decorate.[hc]:
6310         * gtk/Makefile.am:
6311         New files. Contains an implementation of a minimal WM for
6312         linux-fb.
6313
6314         * gtk/gtkwindow.h:
6315         Add the possibility for GtkWindows to specify a frame. This
6316         is used for the window decoration code, but could concievably
6317         be used for X programs too (xmms style windows).
6318         GtkWindow->frame is the toplevel window if the window is framed.
6319         The signal frame_event gets all events that are targeted to
6320         GtkWindow->frame.
6321         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
6322         
6323         * gtk/gtkwindow.c:
6324         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
6325         Call out to gtkwindow-decorate.c for WM support in linx-fb.
6326
6327 2001-01-08  Alexander Larsson  <alexl@redhat.com>
6328
6329         * docs/README.linux-fb:
6330         Correct filename ~/.pangoft2_aliases
6331
6332         * gdk/gdkwindow.h:
6333         Added new function gdk_window_get_decorations.
6334
6335         * gdk/linux-fb/gdkfb.h:
6336         Removed _gdk_window_get_decorations declaration.
6337         Renamed _gdk_window_set_child_handler to
6338         gdk_fb_window_set_child_handler.
6339
6340         * gdk/linux-fb/gdkwindow-fb.c:
6341         Renamed _gdk_window_set_child_handler to
6342         gdk_fb_window_set_child_handler.
6343
6344         * gdk/x11/gdkwindow-x11.c:
6345         New function gdk_window_get_mwm_hints().
6346         Implemented gdk_window_get_decorations.
6347
6348         * docs/reference/gdk/tmpl/windows.sgml:
6349         * docs/reference/gdk/gdk-sections.txt:
6350         Added gdk_window_get_decorations docs.
6351         
6352 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
6353
6354         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
6355         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
6356         gdk_fb_window_send_crossing_events):
6357         Possibly send focus events when the mouse moves from one
6358         window to another.
6359
6360 2001-01-07  Tor Lillqvist  <tml@iki.fi>
6361
6362         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
6363         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
6364         to match current API.
6365
6366         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
6367         environment variable is set, don't call g_error when on a
6368         palettized (PseudoColor) display. Some people want to use GTK+ 
6369         in 256-colour mode even though works only partially.
6370
6371         * gdk/gdk.def
6372         * gtk/gtk.def
6373         * gtk/makefile.mingw.in: Update.
6374
6375 2001-01-05  Havoc Pennington  <hp@redhat.com>
6376
6377         * tests/testtreeview.c: hack on this a bit
6378
6379         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
6380         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
6381
6382         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
6383         was spelled incorrectly
6384         (GTK_IS_TREE_MODEL_SIMPLE): ditto
6385
6386         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
6387         from gtk_tree_view_set_headers_active   
6388
6389         * gtk/gtktexttag.c:
6390         (gtk_text_tag_get_property): handle PROP_DIRECTION
6391         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
6392         properties, bug 40235
6393
6394         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
6395         forward_to_line_end
6396
6397 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
6398
6399         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
6400         modules/input/gtkimcontextxim.c: Adapt to new prototypes
6401         for unicode,locale,filename conversion functions.
6402
6403 2001-01-05  Havoc Pennington  <hp@redhat.com>
6404
6405         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
6406         broken if called on the first position in the buffer.
6407
6408         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
6409         forward_to_delimiters to be called only if we aren't already at
6410         the delimiters.
6411
6412 2001-01-05  Havoc Pennington  <hp@redhat.com>
6413
6414         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
6415
6416 2001-01-05  Alexander Larsson  <alexl@redhat.com>
6417
6418         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
6419         colormap in here. Sync from X port.
6420         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
6421         Sync from X port.
6422         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
6423         This happens now and then, and i don't think it is a bug.
6424         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
6425         != endpoint.
6426         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
6427         GDK_LINE_SOLID.
6428
6429         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
6430         some of the fields filled in at least.
6431
6432         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
6433         miLineArcD is no more, remove it from the function definition.
6434
6435 2001-01-04  Havoc Pennington  <hp@redhat.com>
6436
6437         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
6438         this
6439
6440         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
6441         user_data instead of tree_node
6442
6443         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
6444         TREE_VIEW_COLUMN_SIZE
6445
6446         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
6447         "size" field to "width" finishes bug 40061
6448
6449         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
6450         for bitfields, bug 40268
6451
6452 2001-01-04  Havoc Pennington  <hp@redhat.com>
6453
6454         Rename some stuff:
6455         
6456         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
6457
6458         s/GtkModelSimple/GtkTreeModelSimple/g;
6459         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
6460         s/gtk_model_simple/gtk_tree_model_simple/g;
6461         s/gtkmodelsimple/gtktreemodelsimple/g;
6462
6463         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
6464
6465         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
6466         s/column_set_col_type/column_set_sizing/g;
6467
6468         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
6469         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
6470
6471         s/GtkCellRendererType/GtkCellRendererState/g;
6472         
6473         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
6474         (gtk_cell_renderer_toggle_class_init): change "state" property to
6475         "active", to match GtkToggleButton
6476         (gtk_cell_renderer_toggle_get_active): new function, bug
6477         40269
6478         (gtk_cell_renderer_toggle_set_active): new function
6479         (gtk_cell_renderer_toggle_set_property): route changes to toggle
6480         state through gtk_cell_renderer_set_active
6481
6482 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
6483
6484         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
6485         temporarily until they work again.  Brought up to date with
6486         changes in the model.
6487         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
6488         model.
6489
6490 2001-01-04  Havoc Pennington  <hp@redhat.com>
6491
6492         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
6493         equal to the line length, then position iterator before paragraph 
6494         separators. Fixes crash reported by Mikael Hermansson when
6495         pressing left arrow from the start of a line.   
6496
6497         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
6498         about byte indexes off the end
6499         (iter_set_from_char_offset): add g_error about char offsets
6500         off the end
6501
6502 2001-01-03  Havoc Pennington  <hp@redhat.com>
6503
6504         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
6505
6506         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
6507         of private functions; remove inclusion of private headers.
6508
6509         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
6510         function, so we don't need private functions in gtktextdisplay.c
6511
6512         * gtk/gtktextiterprivate.h: underscore-ification
6513
6514         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
6515         to instead say "only useful to implement widgets"
6516
6517         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
6518         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
6519         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
6520
6521         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
6522         This function was completely broken
6523
6524         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
6525
6526         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
6527
6528         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
6529
6530         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
6531
6532         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
6533
6534         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
6535
6536         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
6537         gtk_paint_layout
6538
6539         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
6540         gtk_paint_layout
6541
6542         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
6543         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
6544         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
6545         which were not implemented.     
6546
6547         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
6548         insert_pixbuf signal. Rename delete_text to delete_range since it
6549         also deletes pixbufs and child anchors. This almost closes bug
6550         40245 (still need to deal with child anchors)
6551
6552         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
6553         insert_pixbuf, change signal names as appropriate, change types of
6554         signals taking marks/tags to have the specific type, not just
6555         G_TYPE_OBJECT
6556         
6557         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
6558         closes bug 40051
6559
6560         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
6561         unnecessary remove_contents() call
6562         (gtk_option_menu_class_init): add a "changed" signal, closes
6563         bug 40039
6564         (gtk_option_menu_update_contents): emit "changed" if the 
6565         active menu item changes
6566
6567         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
6568         cast to GtkObject, reported by Jonas Borgstrom
6569         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
6570         we can't do stuff with side effects in finalize. Instead, spew a
6571         warning if the loader isn't closed.
6572
6573         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
6574         colormap in here, non-X ports probably need to sync to this change
6575
6576         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
6577         assertion that colormap != NULL, you can set the colormap to NULL
6578         if you like.
6579         
6580         * Makefile.am: remove gtk-config-2.0
6581
6582         * configure.in: Use pkg-config to locate GLib. Remove
6583         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
6584         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
6585         Use pkg-config to locate Pango. Output correct Pango libs to
6586         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
6587
6588         * Makefile.am (pkgconfig_DATA): install only target-specific pc
6589         files
6590         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
6591         X11 pc files
6592
6593         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
6594         unref from here
6595
6596 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
6597
6598         * configure.in:
6599         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
6600
6601 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
6602
6603         * gtk/gtktextlayout.c
6604         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
6605         variable when moving back onto a single line.
6606
6607 2001-01-01  Havoc Pennington  <hp@redhat.com>
6608
6609         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
6610
6611         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
6612
6613         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
6614         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
6615
6616 2001-01-01  Havoc Pennington  <hp@redhat.com>
6617
6618         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
6619
6620         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
6621         GtkTextAttributes
6622
6623         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
6624         #40246
6625         (gtk_text_attributes_copy_values): rename from 
6626         gtk_text_attributes_copy
6627         (gtk_text_attributes_copy): a more standard GTK copy function, 
6628         which returns a new object
6629
6630 2001-01-01  Havoc Pennington  <hp@redhat.com>
6631
6632         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
6633         
6634         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
6635         don't fill in tree_view->priv->selection, kind of an unexpected
6636         side effect
6637
6638         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
6639         gtkintl.h
6640         
6641         * gtk/gtkcellrenderer.c: Remove definition of _ and include
6642         gtkintl.h
6643         (gtk_cell_renderer_get_property): remove calls to g_value_init
6644
6645         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
6646         gtkintl.h
6647
6648         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
6649         and include gtkintl.h
6650         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
6651         property names
6652
6653         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
6654         GtkTreeSelection
6655         (_gtk_tree_selection_new_from_with_view): rename, return
6656         GtkTreeSelection
6657         (_gtk_tree_selection_set_tree_view): rename with uscore
6658         (gtk_tree_selection_get_selected): fill in the "model" out param
6659         first, so it gets filled in even if we return at the top of the 
6660         function
6661         (gtk_tree_selection_real_select_all): add a comment and an else{}
6662         to clarify this a bit
6663         (gtk_tree_selection_real_unselect_all): add the same else{}
6664
6665         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
6666         set_tree_view to have underscore prefixes, move them to the
6667         private header, fix return type of new_with_tree_view
6668         (struct _GtkTreeSelection): mark struct
6669         fields private  
6670
6671         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
6672         GtkTreeModelFlags, not a guint
6673         (gtk_tree_path_prev): return gboolean not gint
6674         (gtk_tree_path_up): return gboolean not gint
6675
6676         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
6677         return GtkTreeModelFlags, not a guint
6678
6679         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
6680         that child model is non-null before unrefing it
6681         (g_value_int_compare_func): make this a qsort compare func, not 
6682         a boolean predicate
6683
6684         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
6685         (add -umn to the end), and mark it unimplemented
6686         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
6687         I don't see what it's for - doesn't the model always sort itself?
6688         (gtk_tree_model_sort_set_compare): this had the wrong signature
6689
6690         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
6691         Fix the docs to say that it destructively replaces existing
6692         attributes (previously said that it added attributes).
6693         (gtk_tree_view_column_set_visible): canonicalize bool before
6694         equality testing. Also, check for realization before
6695         hiding/showing the tree_column->window; if this window could exist
6696         before realization, then it's busted and needs fixing, we can't 
6697         create GDK resources pre-realization. Also, remove
6698         superfluous queue_resize(), since set_size() does that for us.
6699         (gtk_tree_view_column_set_col_type): check realization before 
6700         using tree_column->window
6701
6702         * gtk/gtktreedatalist.c: fix filename in copyright notice
6703
6704 2000-12-31  Havoc Pennington  <hp@pobox.com>
6705
6706         * gtk/gtktextview.c: Rearrange all the
6707         scroll-while-dragging-or-selecting code to be different, not
6708         necessarily better. ;-)
6709         (gtk_text_view_scroll_to_mark): Change this
6710         function to take within_margin as a fraction instead of a pixel
6711         value, and to take alignment arguments (indicating where to align 
6712         the mark inside the visible area)
6713         
6714         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
6715         to GtkObject
6716
6717         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
6718         behavior so that offsets past the end of the line are not 
6719         allowed, and an offset equal to the line length moves the iterator
6720         to the next line
6721         (gtk_text_iter_set_line_index): make parallel change
6722         (gtk_text_iter_get_bytes_in_line): add this function
6723         
6724         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
6725         of byte indexes off the end of the line; byte index at the end of
6726         the line now returns FALSE and doesn't fill in the requested
6727         values, byte index past the end of the line is an error.  Also,
6728         don't allow -1 offset anymore, since its meaning is unclear.
6729
6730         This change exposes some bug in visual cursor motion, where we
6731         end up with a huge invalid byte index; needs fixing. Symptom of 
6732         bug is a crash when you hit up arrow.
6733         
6734         (_gtk_text_line_char_locate): match the change to byte_locate
6735
6736         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
6737         from start of line properly. fixes bug reported by Mikael
6738         Hermansson where backspace would delete all text before the
6739         cursor.
6740
6741 2000-12-30  Tor Lillqvist  <tml@iki.fi>
6742
6743         * gdk/win32/gdkwindow-win32.c
6744         (gdk_window_impl_win32_get_visible_region): New function, as in
6745         the X11 backend.
6746         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
6747         instead of duplicating the same code here.
6748
6749         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
6750         GDK_COLORMAP macro.
6751
6752         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
6753         destroy function.
6754         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
6755         access that.
6756
6757         * gtk/gtk.def: Update.
6758
6759         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
6760
6761 2000-12-30  Havoc Pennington  <hp@pobox.com>
6762
6763         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
6764         colormap on input only windows, to avoid special cases all over
6765         the code for these windows.
6766
6767 2000-12-26  Tor Lillqvist  <tml@iki.fi>
6768
6769         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
6770         we are on a palettized display ("PseudoColor" in X11), as the code
6771         for that doesn't work anyway, and never has.
6772
6773 2000-12-22  Alexander Larsson  <alexl@redhat.com>
6774
6775         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
6776         Don't use isprint() for chars > 255.
6777
6778 2000-12-21  Havoc Pennington  <hp@redhat.com>
6779
6780         * tests/testtreeview.c: more work
6781
6782 2000-12-21  Alexander Larsson  <alexl@redhat.com>
6783
6784         * docs/README.linux-fb:
6785         Update the docs to the new pangoft2 way.
6786
6787 2000-12-21  Alexander Larsson  <alexl@redhat.com>
6788
6789         * configure.in:
6790         For linux-fb get the pangoft2 cflags and libs. This needs a recent
6791         pango version.
6792         Remove modules/linux-fb/Makefile.
6793
6794         * gdk/linux-fb/gdkdrawable-fb2.c:
6795         Render glyphs using freetype.
6796
6797         * gdk/linux-fb/gdkfb.h:
6798         Add new fb-specific functions needed for managing windows.
6799
6800         * gdk/linux-fb/gdkmain-fb.c:
6801         Remove gdk_font_init/fini() calls.
6802
6803         * gdk/linux-fb/gdkpango-fb.c:
6804         Remove old implementation. Use pangoft2 instead.
6805
6806         * gdk/linux-fb/gdkprivate-fb.h:
6807         Remove PangoFBFont and related stuff.
6808
6809         * gdk/linux-fb/gdkwindow-fb.c:
6810         Implement drawable->get_visible_region.
6811         Implement support for _gdk_window_set_child_handler () and
6812         _gdk_window_get_decorations().
6813
6814         * modules/Makefile.am:
6815         Remove linux-fb subdir.
6816
6817         * modules/linux-fb/*:
6818         Removed all.
6819         
6820 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
6821
6822         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
6823         calls, as they are no longer needed.
6824
6825         * gtk/gtktreemodelsort.c: Fix up the comparison code.
6826         
6827         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
6828         figure out how to emit a signal on an interface.
6829
6830 2000-12-20  Havoc Pennington  <hp@redhat.com>
6831
6832         * tests: new directory to contain tests, gtk/test* should move
6833         here sometime (with appropriate on-cvs-server hackery)
6834
6835         * tests/testtreeview.c, tests/Makefile.am: a test
6836         
6837         * configure.in (AC_OUTPUT): add tests/Makefile
6838
6839         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
6840         and "invisible_set" which were missing
6841
6842         * gtk/gtkrbtree.h: some cheesy indentation fix
6843         
6844 2000-12-20  Alexander Larsson  <alexl@redhat.com>
6845
6846         * gtk/gtkinvisible.c (gtk_invisible_realize):
6847         Attach the style to the window so that the style it is not
6848         leaked when unrealizing the window.
6849
6850 2000-12-18  Havoc Pennington  <hp@redhat.com>
6851
6852         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
6853         begin/end user action where appropriate
6854         (gtk_text_view_commit_handler): add begin/end user action
6855
6856         * gtk/gtktextbuffer.c: add begin/end user action signals, and
6857         bracket interactive operations with begin/end user action pair.
6858         
6859         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
6860         "interactive" arg from insert_text and delete_text signals.
6861         Add begin_user_action, end_user_action signals
6862         (gtk_text_buffer_begin_user_action): 
6863         (gtk_text_buffer_end_user_action): New functions to delimit 
6864         a user-visible action
6865
6866         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
6867         signals.
6868         
6869 2000-12-18  Havoc Pennington  <hp@redhat.com>
6870
6871         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
6872         was pretty non-working.
6873
6874         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
6875         by passing the length to g_utf8_validate().
6876
6877 2000-12-16  Havoc Pennington  <hp@pobox.com>
6878
6879         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
6880         Port to GObject, can go back in gdk-pixbuf after setting up 
6881         a gdk-pixbuf-marshal.h header over there.
6882
6883         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
6884         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
6885         args
6886         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
6887         set
6888         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
6889         here, do it when we create the buttons later
6890         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
6891         (gtk_tree_view_map): paranoia checks that column->button is shown 
6892         and unmapped
6893         (gtk_tree_view_size_request): only request visible children.
6894         Move header size calculation in here, for cleanliness, and 
6895         to maintain invariants for child widgets if we eventually 
6896         let users set different children inside the buttons
6897         (gtk_tree_view_map_buttons): factor out code to map buttons,
6898         since it was being called several times
6899         (gtk_tree_view_size_allocate_buttons): move_resize the drag
6900         windows instead of just moving them; their height may change 
6901         if we allow random widgets in there, or the theme changes.
6902         (gtk_tree_view_size_allocate): move button size allocation 
6903         above emitting the scroll signals, to ensure a sane state when we
6904         hit user code
6905         (gtk_tree_view_button_release): remove queue_resize after
6906         tree_view_set_size(), set_size() will handle any resize queuing
6907         that's needed
6908         (gtk_tree_view_focus_in): just queue a draw, don't fool with
6909         draw_focus goo
6910         (gtk_tree_view_focus): use gtk_get_current_event() and
6911         gdk_event_get_state()
6912         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
6913         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
6914         semicolon
6915         (gtk_tree_view_create_button): show the button here
6916         (gtk_tree_view_button_clicked): actually emit the clicked signal
6917         on the column
6918         (_gtk_tree_view_set_size): return right away if the size is
6919         unchanged, as a cheesy optimization
6920         (gtk_tree_view_setup_model): rename set_model_realized to 
6921         setup_model to match the flag that indicates whether we've 
6922         called it
6923         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
6924         exist, because set_scroll_adjustment does that and it shouldn't
6925         matter what order you call these in
6926         (gtk_tree_view_get_vadjustment): ditto
6927         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
6928         for paranoia
6929         (gtk_tree_view_set_headers_visible): call
6930         gtk_tree_view_map_buttons() instead of using cut-and-paste code
6931         (gtk_tree_view_append_column): clarify whether the return value
6932         is the count of columns before or after, and do the increment 
6933         separately from the return statement so you can tell from the code.
6934         (gtk_tree_view_remove_column): ditto
6935         (gtk_tree_view_insert_column): ditto
6936         (gtk_tree_view_get_column): remove g_return_if_fail for columns
6937         outside the existing range, the docs say that outside-range
6938         columns are allowed, so we handle them as documented. (Presumably
6939         this allows a nice loop with column != NULL as test.)
6940         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
6941         mean (left/right/center etc.).
6942         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
6943         (gtk_tree_view_expand_row): add docs
6944         (gtk_tree_view_collapse_row): add docs
6945
6946         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
6947         function to emit the clicked signal on a column
6948         
6949         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
6950         state of an event
6951         (gdk_event_get_time): don't treat GDK_SCROLL 
6952         as a button event, remove default case from switch so gcc 
6953         will whine if we don't explicitly handle all event types
6954
6955         * gtk/gtktreeselection.h: added some FIXME 
6956         
6957         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
6958         "columns" to "n_columns" and "column" to "columns" for clarity
6959
6960 2000-12-16  Havoc Pennington  <hp@pobox.com>
6961         
6962         * gtk/gtktextiter.c: General cleanup of the log attr iteration
6963         stuff. This should make e.g. the delete key work again in the
6964         text widget...
6965         (gtk_text_iter_forward_cursor_positions): handle negative count
6966         (gtk_text_iter_backward_cursor_positions): handle negative count
6967         (gtk_text_iter_forward_word_ends): handle negative count
6968         (gtk_text_iter_backward_word_starts): handle negative count
6969
6970         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
6971         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
6972         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
6973         GObject. No doubt will cause breakage.
6974
6975         * demos/gtk-demo/textview.c: remove hacks around
6976         non-GObject-ification of the text objects
6977
6978         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
6979         the text tag
6980         
6981 2000-12-14  Havoc Pennington  <hp@pobox.com>
6982
6983         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
6984         that we have Xrender
6985
6986 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
6987
6988         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
6989         Add two virtualized functions gdk_drawable_get_clip_region - to
6990         get the clip region when drawing.
6991         
6992         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
6993         use invalidate_region.
6994
6995         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
6996         region.
6997
6998         * acconfig.h configure.in: Check for Xft. For now, assume
6999         that if Xft is found, Pango was compiled with Xft support
7000         as well.
7001
7002         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
7003         gdk_colormap_query_color().
7004         
7005         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
7006         with Xft if appropriate.
7007
7008         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
7009         a pangoxft context if we have XFT and the environment
7010         variable GD_USE_XFT is set.
7011         
7012         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
7013         and also possibly an XftDraw structure.
7014
7015         * gtk/gtkfontsel.c: Handle the case where the font from the
7016         style doesn't match any of the fonts a bit better.
7017         
7018         * gtk/testgtk.c: Add tabs between directional segments for
7019         hebrew/arabic test. (Not really necessary, just a little
7020         prettier.)
7021
7022 2000-12-14  Havoc Pennington  <hp@redhat.com>
7023
7024         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
7025         reading a file
7026
7027 2000-12-14  Havoc Pennington  <hp@redhat.com>
7028
7029         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
7030         unused call to get_last_line()
7031
7032         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
7033         here until boxed is working (and maybe after that - we should
7034         really not gratuitously break old code)
7035
7036         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
7037         specific types for font_desc and tabs args, move them to
7038         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
7039         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
7040
7041         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
7042         use GTK_TYPE_POINTER for signal signatures as a hack-around
7043
7044         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
7045         PangoTabArray
7046
7047         * gtk/gtktextlayout.c (line_display_iter_to_index): 
7048         make static
7049         (line_display_index_to_iter): make static
7050
7051         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
7052         to marshal a string not a boxed
7053
7054         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
7055
7056         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
7057         since the UTF-8 isn't validated yet
7058
7059         * gtk/gtktextsegment.c (char_segment_check_func): don't require
7060         lines to end in '\n'
7061         
7062         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
7063         forward_to_delimiters, and grapheme boundaries
7064         (gtk_text_view_delete_from_cursor): properly handle non-newline
7065         delimiters, and grapheme boundaries
7066
7067         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
7068         to gtk_text_iter_forward_to_delimiters, and make it work properly
7069         if empty lines end with a character other than '\n'
7070
7071         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
7072         position
7073
7074 2000-12-15  Tor Lillqvist  <tml@iki.fi>
7075
7076         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
7077
7078         * gtk/gtk.def
7079         * gdk/gdk.def: Update.
7080
7081         * gdk/win32/gdkmain-win32.c
7082         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
7083         gdkmain-win32.c here.
7084
7085         * gdk/win32/makefile.mingw.in (all): No need to make
7086         gdk-win32res.o here, the makefile one step up will call us to make
7087         it.
7088
7089         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
7090         gdkkeys-win32.
7091
7092         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
7093
7094         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
7095         call to g_source_add().
7096
7097         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
7098         leak. Thanks to Andreas Kemnade.
7099
7100 2000-12-13  Havoc Pennington  <hp@pobox.com>
7101
7102         * gtk/gtktextbtree.h: Remove double _ in front of some functions
7103
7104         * gtk/gtktext*.[hc]: update accordingly
7105         
7106 2000-12-13  Havoc Pennington  <hp@pobox.com>
7107
7108         * gtk/gtktextbtree.h: Put _ in front of every function in this 
7109         header file
7110
7111         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
7112
7113 2000-12-13  Alex Larsson  <alexl@redhat.com>
7114
7115         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
7116         Add support for ps2 intellimouse.
7117
7118         * gdkkeyboard-fb.c:
7119         Move shift-F1 repaint handling to xlate handler only.
7120         
7121         * docs/README.linux-fb:
7122         Add imps2 to docs.
7123         Document the new refresh keys.
7124         
7125 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
7126
7127         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
7128
7129         * gtk/gtkbox.c: change property types from (u)long to (u)int for
7130         ::position and ::padding.
7131
7132         * gtk/gtkcontainer.c: make ::border_width an INT property.
7133
7134         * gtk/gtkpacker.c: make ::position an INT property.
7135
7136         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
7137         guard against NULL h/v scrollbars, since this is used at construction
7138         time.
7139
7140         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
7141         internal gtk_clist_constructor().
7142
7143         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
7144         gtk_ctree_constructor().
7145
7146         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
7147         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
7148
7149         * docs/reference/Makefile.am: fun stuff, disabled docs generation
7150         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
7151
7152         * gtk/gtkwidget.[hc]:
7153         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
7154         and gtk_widget_get().
7155         (gtk_widget_new): use g_object_new_valist().
7156         (gtk_widget_set): use g_object_set_valist().
7157
7158         * gtk/gtkobject.[hc]:
7159         removed gtk_object_arg_get_info(), gtk_object_getv(),
7160         gtk_object_query_args(), gtk_object_newv(),
7161         gtk_object_class_add_signals(),
7162         gtk_object_class_user_signal_new(),
7163         gtk_object_class_user_signal_newv(),
7164         gtk_object_arg_set(), gtk_object_arg_get(),
7165         gtk_object_args_collect(),
7166         gtk_object_default_construct(),
7167         gtk_object_constructed(),
7168         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
7169         removed nsignals, signals and n_args members from GtkObjectClass.
7170         (gtk_object_new): use g_object_new_valist().
7171         (gtk_object_set): use g_object_set_valist().
7172         (gtk_object_get): use g_object_get_valist().
7173         
7174         * gtk/gtkcompat.h: define gtk_object_default_construct().
7175         
7176         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
7177         g_object_new().
7178
7179         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
7180         fucntions, cleaned up method assignments (make sure your structures
7181         are setup properly before calling out). removed all GTK_CONSTRUCTED
7182         hacks ;)
7183
7184 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
7185
7186         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
7187         off-by-one error in checks. (Dave Lambert)
7188
7189 2000-12-12  Alexander Larsson  <alexl@redhat.com>
7190
7191         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
7192         Don't free gdk_fb_keyboard twice.
7193
7194 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
7195
7196         * gtk/testgtk.c:
7197         (create_tooltips): 
7198         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
7199         use GObject swapped_signal:: properties instead.
7200
7201         * gtk/gtkcellrenderertoggle.c: 
7202         * gtk/gtkcellrenderertextpixbuf.c: 
7203         * gtk/gtkcellrenderertext.c: 
7204         * gtk/gtkcellrendererpixbuf.c: 
7205         * gtk/gtkcellrenderer.c:
7206         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
7207         missing warnings for invalid property ids, install properties
7208         with g_object_class_install_property() now.
7209         
7210         * gtk/gtksignal.c:
7211         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
7212         
7213 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
7214         
7215         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
7216         to determine if a window is the focus widget within
7217         its toplevel.
7218
7219         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
7220         to be boolean.
7221
7222         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
7223         of the case where the container CAN_FOCUS to here instead
7224         of having it in each individual move-the-focus place.
7225
7226         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
7227         focusing to be geometric in a much more obvious sense. Arrowing
7228         around is still non-intuitive because it isn't perfect and
7229         because entries, etc, grab the arrow keys, but it at least
7230         usually will do what you expect now.
7231         
7232         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
7233         file.
7234
7235         * gtk/gtknotebook.c: Change tabs to be a single item in
7236         the focus chain. Make movement of focus on tabs with arrow
7237         keys wrap around.
7238         
7239         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
7240         CHECK_FIND_CHILD macro to give informative error messages
7241         instead of silent returns.
7242
7243         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
7244         flag since we handle GdkReturn on the tabs.
7245
7246         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
7247         windows rather than sending expose events directly.
7248
7249         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
7250         definition for GtkNotebookPage into .c file, since it is private.
7251
7252         * gtk/testgtk.c (create_notebook): Add option for 
7253         testing borderless notebook.
7254
7255         * gtk/testgtk.c (page_switch): Removed egregious poking
7256         around in GTK+ internals.
7257
7258         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
7259
7260         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
7261         properly through gtk_clist_focus. Make the title headers a
7262         single item in the tab-focus chain, and make left-right wrap
7263         around.
7264
7265         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
7266         focus method so that wrapping around works properly.
7267
7268         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
7269         that is handled for the widget now. 
7270
7271 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
7272
7273         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
7274         widgets as TOPLEVEL.
7275
7276         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
7277         TOPLEVEL widgets are containers.
7278
7279         * gtk/gtkinvisible.h: Remove useless include.
7280
7281 2000-12-11  Havoc Pennington  <hp@redhat.com>
7282
7283         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
7284         Handle chopping off \r\n and 0x2029 in addition to \n before
7285         passing to PangoLayout
7286
7287         * gtk/gtkimcontextsimple.c
7288         (gtk_im_context_simple_get_preedit_string): 
7289         return an empty string if no match is pending
7290
7291         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
7292         assertion that the returned preedit string was sane
7293
7294         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
7295         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
7296         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
7297
7298 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
7299
7300         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
7301         Fix up finalizer to chain to its parent.
7302
7303 2000-12-11  Alexander Larsson  <alexl@redhat.com>
7304
7305         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
7306         Clearified the difference between the keyboard types. Wrote a note
7307         about the magic sysrq key to get out of raw mode.
7308
7309 2000-12-09  James Henstridge  <james@daa.com.au>
7310
7311         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
7312         member to hold masks for detecting the start of a protocol packet.
7313         (mouse_devs): add packet start masks for ps2 and ms device types.
7314         Left the mask for fidmour blank, as I have no idea what it should
7315         be.
7316         (handle_mouse_io): skip bytes until we get to the start of a
7317         packet.  My Logitech mouse seems to be passing an extra NULL pad
7318         byte, and GPM does a similar thing here.
7319         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
7320         this is the ms mouse driver.
7321         (gdk_fb_mouse_ms_packet): fix up button handling, which was
7322         completely broken except for button1.  It was checking the wrong
7323         bit in the packet for the status of the right mouse button, and
7324         wrongly assuming right == button2 rather than 3.  I fixed that and
7325         also added support for middle button (button2).
7326
7327 2000-12-08  Havoc Pennington  <hp@redhat.com>
7328
7329         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
7330         that cause a segfault on text insertion
7331
7332         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
7333         warning
7334
7335         * gtk/gtktextiter.c (test_log_attrs): use
7336         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
7337
7338         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
7339         Get log attrs for a line, using a cache stored on the buffer
7340         
7341         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
7342         reported by Jeff Franks
7343
7344 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
7345
7346         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
7347         /dev/ttyS0 -> /dev/mouse
7348
7349 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
7350
7351         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
7352         Added dummy gdk_fontset_load.
7353
7354 2000-12-08  Alexander Larsson  <alexl@redhat.com>
7355
7356         * docs/README.linux-fb:
7357         * docs/Makefile.am:
7358         Initial GtkFB docs.
7359         
7360         * gdk/linux-fb/Makefile.am:
7361         Define GDK_DATA_PREFIX.
7362
7363         * gdk/linux-fb/gdkmain-fb.c:
7364         Fix typo.
7365         Change default display to /dev/fb0.
7366
7367         * gdk/linux-fb/gdkpango-fb.c:
7368         Add $(prefix)/share/fonts/ to font path.
7369         
7370 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
7371
7372         * gdk/linux-fb/gdkkeyboard-fb.c:
7373         New file containing the abstracted keyboard driver. Most code
7374         taken from gdkinput-ps2.c
7375
7376         * gdk/linux-fb/gdkinput-ps2.c:
7377         Removed file.
7378         
7379         * gdk/linux-fb/Makefile.am:
7380         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
7381
7382         * gdk/linux-fb/gdkcolor-fb.c:
7383         display->fb was renamed to display->fb_fd.
7384
7385         * gdk/linux-fb/gdkcursor-fb.c:
7386         gdk_mouse_get_info -> gdk_fb_mouse_get_info
7387
7388         * gdk/linux-fb/gdkinput.c:
7389         Moved gdk_input_init here from gdkinput-ps2.c
7390
7391         * gdk/linux-fb/gdkmain-fb.c:
7392         display->fb was renamed to display->fb_fd.
7393         Now the tty and the console is opened here instead
7394         of in the keyboard driver. Also check GDK_VT to see what
7395         tty to open.
7396         Move gdk_beep () here from gdkinput-ps2.c
7397         gdk_mouse_get_info -> gdk_fb_mouse_get_info
7398
7399         * gdk/linux-fb/gdkmouse-fb.c:
7400         Add header.
7401         gdk_mouse_get_info -> gdk_fb_mouse_get_info
7402         Return correct keyboard modifiers.
7403         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
7404
7405         * gdk/linux-fb/gdkprivate-fb.h:
7406         Add tty and vt info to display.
7407         Add orignal modeinfo storage to display
7408         Update global functions
7409
7410         * gdk/linux-fb/gdkwindow-fb.c:
7411         Added gdk_fb_window_find_focus().
7412         gdk_mouse_get_info -> gdk_fb_mouse_get_info
7413
7414 2000-12-07  Havoc Pennington  <hp@pobox.com>
7415
7416         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
7417         function, noticed by Alex
7418
7419 2000-12-06  Elliot Lee  <sopwith@redhat.com>
7420
7421         * configure.in: Detect freetype properly
7422
7423         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
7424         above.
7425
7426 2000-12-06  Alexander Larsson  <alexl@redhat.com>
7427
7428         * gdk/linux-fb/Makefile.am:
7429         Add gdkmouse-fb.c
7430         
7431         * gdk/linux-fb/gdkmouse-fb.c:
7432         New file. Abstracted the mouse drivers a bit.
7433
7434         * gdk/linux-fb/gdkcursor-fb.c:
7435         The cursor hide/show functions was moved here from gdkinput-ps2.c.
7436
7437         * gdk/linux-fb/gdkinput-ps2.c:
7438         Removed old mouse handling code. Moved cursor handling code
7439         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
7440         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
7441         gdk_mouse_get_info.
7442
7443         * gdk/linux-fb/gdkmain-fb.c:
7444         Pass NULL pointers for x,y in gdk_mouse_get_info call.
7445
7446         * gdk/linux-fb/gdkprivate-fb.h:
7447         Removed public gdk_fb_find_common_ancestor, added and renamed
7448         functions for the new mouse handling code.
7449
7450         * gdk/linux-fb/gdkwindow-fb.c:
7451         Moved gdk_fb_window_send_crossing_events here. added global
7452         variable gdk_fb_window_containing_pointer. made
7453         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
7454         renamed to gdk_mouse_get_info.
7455
7456 2000-12-06  Alexander Larsson  <alexl@redhat.com>
7457
7458         * gdk/linux-fb/gdkevents-fb.c:
7459         Update to match latest gmain/gsource changes.
7460
7461         * gdk/linux-fb/gdkinput-ps2.c:
7462         Bogus gdk_keymap_get_entries_for_keycode implementation so that
7463         it links. Will be implemented later.
7464
7465 2000-12-03  Havoc Pennington  <hp@pobox.com>
7466
7467         * gdk/Makefile.am: add gdkkeys.[hc]
7468
7469         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
7470         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
7471
7472         * acconfig.h, configure.in: add checks and command line options
7473         for XKB
7474
7475         * gdk/x11/gdkkeys-x11.c: Implement the above functions
7476         
7477         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
7478         and group in the key event
7479
7480         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
7481         field with the low-level hardware key code, and a group
7482         field with the keyboard group
7483
7484         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
7485         and declare a couple globals used for keymap handling
7486         
7487         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
7488         hold down Shift-Control and type a hex number to get a Unicode 
7489         character corresponding to the hex number
7490         (gtk_im_context_simple_get_preedit_string): Fix cursor position
7491         (return bytes not chars)
7492
7493 2000-12-05  Elliot Lee  <sopwith@redhat.com>
7494
7495         * gdk/gdkcolor.h: Make GdkColor specify element sizes
7496         to avoid waste on 64-bit platforms.
7497
7498 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
7499
7500         * INSTALL: Fix link to PNG home, remove reference
7501         to fribidi.
7502
7503         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
7504         
7505         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
7506         tested.)
7507
7508         * gtk/gtkcheckmenuitem.c: Permanently turn on
7509         always_show_toggle.
7510
7511         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
7512         be NULL. (Vladimir Klebanov, #26545)
7513
7514         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
7515         some signed/unsigned comparison problems. (#6510,
7516         David Kaelbling)
7517
7518         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
7519         return type to boolean (Oskar Liljeblad, #18648)
7520
7521 2000-12-05  Alexander Larsson  <alexl@redhat.com>
7522
7523         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
7524         Remove bogus colormap setting.
7525
7526 2000-12-05  Alexander Larsson  <alexl@redhat.com>
7527
7528         * gdk/linux-fb/gdkcolor-fb.c:
7529         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
7530
7531         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
7532         Must set colormap.
7533         
7534 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
7535
7536         * docs/tutorial/gtk-tut.sgml: DND updates
7537
7538 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
7539
7540         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
7541         Remove old debug g_warning().
7542         (gdk_fb_draw_drawable): The src argument can be either a wrapper
7543         or an implementation, just pass the implementation to draw_drawable_2.
7544         
7545         * gdk/linux-fb/gdkprivate-fb.h:
7546         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
7547
7548         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
7549         clear and invalidate area when window is destroyed.
7550         (send_map_events): Remove old commented out code.
7551
7552 2000-12-05  Alexander Larsson  <alexl@redhat.com>
7553
7554         * gdk/linux-fb/gdkpango-fb.c:
7555         Use italic instead of oblique in font aliases.
7556         
7557         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
7558         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
7559         other unsupported functions.
7560
7561 2000-12-04  Havoc Pennington  <hp@redhat.com>
7562
7563         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
7564
7565         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
7566
7567         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
7568
7569         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
7570         hack to avoid infinite loops (synthetic expose event) - 
7571         Owen has more appropriate fixes in a branch he'll check in later.
7572
7573         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
7574         separator, CR, and CRLF as line ends
7575
7576         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
7577         into lines using pango_find_paragraph_boundary(); other bits of
7578         the widget are still going to be broken if the boundary isn't '\n'
7579         though
7580
7581 2000-12-04  Alexander Larsson  <alexl@redhat.com>
7582
7583         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
7584         multiply.
7585
7586         * gdk/linux-fb/gdkpango-fb.c:
7587         Copied some 26.6 scaling macros from pango to clean up the rounding.
7588         (pango_fb_font_get_glyph_info): Correct sign on x value.
7589
7590         * gdk/linux-fb/gdkprivate-fb.h:
7591         Removed unreferenced external functions.
7592
7593         * modules/linux-fb/Makefile.am: Use ` instead of '.
7594
7595         * modules/linux-fb/basic.c:
7596         Remove dead code. In particular the dummy lang engine which broke all
7597         pango layouts in GtkFB. Don't include tables-big.i anymore.
7598
7599         * modules/linux-fb/tables-big.i:
7600         Upgrade to latest version from pango. Left for reference, basic_ranges
7601         moved to basic.c.
7602         
7603 2000-12-04  Havoc Pennington  <hp@redhat.com>
7604
7605         Fix bugs Alex found:
7606         
7607         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
7608         to "draw"
7609
7610         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
7611
7612         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
7613
7614         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
7615         implementation in here, apparently the expose() implementation was
7616         dead code.
7617
7618 2000-12-04  Alexander Larsson  <alexl@redhat.com>
7619
7620         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
7621         Return positive descent.
7622
7623 2000-12-02  Havoc Pennington  <hp@pobox.com>
7624
7625         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
7626         method and signal
7627         
7628         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
7629         calls gdk_window_process_updates() to push the exposes through
7630         (gtk_widget_class_init): No more draw signal, no
7631         gtk_widget_real_draw()  
7632         
7633         * gtk/gtkbin.c (gtk_bin_draw): remove
7634
7635         * gtk/gtkbox.c (gtk_box_draw): remove
7636
7637         * gtk/gtkbutton.c (gtk_button_draw): remove
7638
7639         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
7640
7641         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
7642
7643         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
7644
7645         * gtk/gtkclist.c (gtk_clist_draw): remove
7646
7647         * gtk/gtkentry.c (gtk_entry_draw): remove
7648
7649         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
7650
7651         * gtk/gtkfixed.c (gtk_fixed_draw): remove
7652
7653         * gtk/gtkframe.c (gtk_frame_draw): remove
7654
7655         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
7656
7657         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
7658
7659         * gtk/gtklayout.c (gtk_layout_draw): remove
7660
7661         * gtk/gtklist.c (gtk_list_draw): remove
7662
7663         * gtk/gtklistitem.c (gtk_list_item_draw): remove
7664
7665         * gtk/gtkmenu.c (gtk_menu_draw): remove
7666
7667         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
7668
7669         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
7670
7671         * gtk/gtknotebook.c (gtk_notebook_draw): remove
7672
7673         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
7674
7675         * gtk/gtkpacker.c (gtk_packer_draw): remove
7676
7677         * gtk/gtkrange.c (gtk_range_draw): remove
7678
7679         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
7680
7681         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
7682
7683         * gtk/gtktable.c (gtk_table_draw): remove
7684
7685         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
7686
7687         * gtk/gtktext.c (gtk_text_draw): remove
7688
7689         * gtk/gtktextview.c (gtk_text_view_draw): remove
7690
7691         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
7692
7693         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
7694
7695         * gtk/gtktree.c (gtk_tree_draw): remove
7696
7697         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
7698
7699         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
7700
7701         * gtk/gtkviewport.c (gtk_viewport_draw): remove
7702
7703         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
7704
7705         * gtk/gtkvscale.c (gtk_vscale_draw): remove
7706
7707         * gtk/gtkwindow.c (gtk_window_draw): remove
7708
7709 2000-20-01  Anders Carlsson  <andersca@gnu.org>
7710
7711         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
7712         a GtkToggleButton is both insensitive and active, it was being
7713         drawn by the GtkButton draw handler which doesn't check the
7714         state. Now it's calling gtk_toggle_button_paint instead.
7715         
7716 2000-12-01  Havoc Pennington  <hp@redhat.com>
7717
7718         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
7719         dangling pointers to the appearance attributes from the 
7720         line display
7721
7722         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
7723         width/height to mean "full width/height of drawable"
7724
7725         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
7726         click to select word/line
7727         
7728         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
7729         when getting log attrs. Get a slice, so that pixmaps and stuff
7730         are properly handled.
7731
7732         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
7733         paste into the selection (replaces selection now, previously
7734         crashed or added to selection). Reveals longstanding btree bug -
7735         select multiple lines, middle-click on the selection, boom. This
7736         isn't related to my changes though.
7737
7738         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
7739         PangoLogAttrs changes
7740         (gtk_entry_move_backward_word): ditto
7741
7742         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
7743         functions return bool whether the iter moved onto a
7744         dereferenceable position.
7745  
7746         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
7747         functions for motion in terms of display lines.
7748
7749         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
7750         get the buffer a mark is inside
7751         
7752 2000-12-01  Alexander Larsson  <alexl@redhat.com>
7753
7754         * gdk/linux-fb/Makefile.am:
7755         * modules/linux-fb/Makefile.am:
7756         Freetype 2 final uses freetype-config
7757
7758         * gdk/linux-fb/gdkpango-fb.c:
7759         Upgrade to use Freetype 2 final.
7760         More flexible support for font aliases, this also fixes a bug with
7761         GtkFontSelector, as the aliases must be visible in the font/family list,
7762         or GtkFontSelector reads uninitialized memory.
7763
7764 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
7765
7766         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
7767         XGetIMValues to properly terminate variable argument list, and do
7768         NULL return check for ic_values and xim_styles.
7769
7770         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
7771         Restore preedit state after XmbResetIC().
7772         
7773         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
7774         XvaCreateNestedList() should take XvaNestedList, but not
7775         XvaNestedList*.
7776
7777         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
7778         preedit_draw_callback, preedit_caret_callback): Match
7779         "preedit-changed" signal name to "preedit_changed" to be
7780         consistent to the spec.
7781
7782         * gtk/gtkimcontextsimple.c (check_table):
7783         Match "preedit-changed" to "preedit_changed" to be consistent
7784         to the spec.
7785
7786 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
7787
7788         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
7789         gc->clip_region == NULL>
7790
7791 2000-11-30  Tor Lillqvist  <tml@iki.fi>
7792
7793         Changes by Hans Breuer:
7794         
7795         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
7796         Dont't use negative width and height as max_hints. This fixes
7797         Owen's recent testgtk changes for win32.
7798
7799         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
7800         gdk_win32_hdc_release): These are exported and may be called with
7801         other drawable types than our GdkDrawableImplWin32 (?).
7802
7803         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
7804         so always #define USE_BACKING_STORE.
7805
7806         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
7807         of printf for debugging output.
7808
7809         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
7810         
7811         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
7812
7813         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
7814         declaration.
7815
7816         * gtk/gtktexttypes.h: Ditto.
7817
7818         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
7819         (GDK_VoidSymbol) also if in case of arg check failure.
7820
7821         * gtk/gtkimcontextsimple.c
7822         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
7823         position to the pointer, but to the variable it points to.
7824
7825         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
7826
7827         * gtk/gtk.def: Updates.
7828
7829 2000-11-29  Elliot Lee  <sopwith@redhat.com>
7830
7831         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
7832         GTK_TYPE_TREE_MODEL.
7833
7834 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7835
7836         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
7837         Set the size of the font from the description.
7838         (gdk_text_width): Gross hack that calculates the width
7839         of text by text_length * size/2. This is necessary because
7840         GtkLabel does some ugly gtk_string_width call to calculate
7841         an good size.
7842         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
7843
7844 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
7845
7846         * docs/tutorial/gtk-tut.sgml: DND updates
7847
7848 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7849
7850         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
7851         If you pass width or height == 0 to gdk_window_clear_area they
7852         should be calculated from the window size.
7853
7854 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7855
7856         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
7857         a grab, but no grab-cursor, use the cursor from the grabbed
7858         window. (gdk_fb_window_send_crossing_events): Send normal
7859         enter/leave notifications if grab and owner_events == TRUE.
7860
7861 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7862
7863         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
7864         Do implicit button grabs, even if the window doesn't
7865         want the event.
7866         (gdk_fb_window_send_crossing_events): If there is a
7867         grab, only the grabbed window gets normal enter/leave
7868         notifications. On ungrab go from grabbed window to current.
7869         Don't send any notification to b when propagating from c -> b.
7870         If setting a grab on window, don't set prev_window.
7871         (handle_mouse_input): Send enter/leave events to the window the
7872         mouse is over, not the grabbed one.
7873         
7874 2000-11-28  Elliot Lee  <sopwith@redhat.com>
7875
7876         * gdk/gdkregion-generic.c: Zap warning.
7877         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
7878         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
7879
7880 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
7881
7882         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
7883         The cursor should be hidden if it is part of either the
7884         source or destination region. Not only if it is in both.
7885         (gdk_window_set_transient_for): Silence warnings.
7886
7887 2000-11-28  Alexander Larsson  <alexl@redhat.com>
7888
7889         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
7890         The default mode in X is Pie Arcs, therefore that is
7891         what Gtk+ uses.
7892
7893 2000-11-28  Alexander Larsson  <alexl@redhat.com>
7894
7895         * gdk/linux-fb/gdkinput-ps2.c:
7896         Implement correct EnterNotify/LeaveNotify:
7897         (gdk_fb_window_send_crossing_events): New function that sends
7898         all GdkCrossingEvents from the last mouse-window to the specified
7899         destination.
7900         (gdk_fb_window_visibility_crossing): Removed function.
7901         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
7902         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
7903         instead of gdk_window_get_pointer() for better readability.
7904
7905         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
7906         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
7907
7908         * gdk/linux-fb/gdkprivate-fb.h:
7909         removed gdk_fb_window_visibility_crossing, added
7910         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
7911
7912         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
7913         New function that finds the least common ancestor of two windows.
7914         (gdk_window_show, gdk_window_hide):
7915         Use gdk_fb_window_send_crossing_events.
7916         (gdk_fb_window_move_resize): Send configure events to toplevel
7917         windows. Use gdk_fb_window_send_crossing_events.
7918
7919 2000-11-27  Havoc Pennington  <hp@redhat.com>
7920
7921         * gtk/gtkprivate.h (enum): Remove a trailing comma
7922
7923 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
7924
7925         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
7926         the "changed" callback of the adjustment.  We need to redraw the
7927         spin button's arrows when the adjustment's range changes.
7928         (adjustment_changed_cb): Draw the arrows.
7929         (gtk_spin_button_value_changed): Draw the arrows.
7930
7931 2000-11-23  Alexander Larsson  <alexl@redhat.com>
7932
7933         * gdk/linux-fb/gdkselection-fb.c:
7934         Initial selection implementation.
7935
7936         * gtk/gtkselection.c:
7937         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
7938         requestor in gtk_selection_request.
7939         
7940         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
7941         Added gdk_selection_property atom.
7942
7943         * gdk/linux-fb/gdkprivate-fb.h:
7944         Export _gdk_selection_window_destroyed.
7945         Removed mask_off_x/y from GdkCursorPrivateFB.
7946         Removed hbearing, added top, left to PangoFBGlyphInfo.
7947
7948         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
7949         Call _gdk_selection_window_destroyed
7950         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
7951         the root window has been created.
7952         (static_dx_hack, static_dy_hack, compare_draw_rects,
7953         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
7954         in region. They are already sorted. Instead just traverse them in
7955         reverse if draw_direction < 0.
7956         
7957         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
7958         Double-clicks must be sent after the normal button_press.
7959         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
7960         
7961         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
7962         Pass _gdk_fb_screen_gc instead of NULL.
7963
7964         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
7965         Initialize gdk_selection_property.
7966         (gdk_event_make): Remove unused code.
7967
7968         * gdk/linux-fb/gdkcursor-fb.c:
7969         Make the pixmap for the cursor the same size as the mask. Also remove
7970         the mask_off_x/y fields in GdkCursorPrivateFB and combine
7971         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
7972         Now the whole cursor is visible.
7973
7974         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
7975         Fix bug where xdest+height instead of ydest+height was used
7976         to calculate if the source and dest overlapped. This fixes the
7977         redraw bug when the main window in testgtk was scrolled when
7978         partially covered by a tall window.
7979         Copy rectangles in region in order depending on draw_direction.
7980         Also moved the draw_direction flipping of start_y and end_y into
7981         the gc functions, as this might not be what all of them want.
7982         (gdk_fb_draw_lines): Support dashed lines.
7983         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
7984         so that the text is positioned correctly (was 1 pixel high).
7985
7986         gdk/linux-fb/gdkgc-fb.c:
7987         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
7988         all lines were drawn a pixel to short. Also checked the default of
7989         the rest of the values, and they're the same as X now.
7990
7991         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
7992         Clean up pixel positioning of the glyphs. Just use bgy->top and
7993         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
7994         to all divisions to get correct rounding behaviour.
7995
7996         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
7997         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
7998         Moved start_y/end_y flip into draw_drawable implementations.
7999         Flip also x rendering when draw_direction < 0.
8000         Remove unneccesary multiply with draw_direction.
8001
8002 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
8003
8004         * docs/tutorial/gtk-tut.sgml:
8005           - get rid of gtk_toggle_button_toggled FUD
8006           - start DND section - needs work - based on:
8007                 http://wolfpack.twu.net/docs/gtkdnd/
8008
8009 2000-11-22  Alexander Larsson  <alexl@redhat.com>
8010
8011         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
8012         Correct calculation of font metrics. Now GtkEntrys have sane
8013         size.
8014
8015 2000-11-22  Alexander Larsson  <alexl@redhat.com>
8016
8017         * gdk/gdktypes.h:
8018         Add new type GdkSpan
8019         
8020         * docs/reference/gdk/gdk-sections.txt,
8021         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
8022         gdk/gdkregion.h:
8023         Implement and document gdk_region_spans_intersect_foreach.
8024
8025         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
8026         Add new file gdkrender-fb.c which contains all core
8027         rendering code.
8028         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
8029         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
8030         (optimized rectangle fillers).
8031
8032         * gdk/linux-fb/gdkdrawable-fb2.c:
8033         Move all rendering code to gdkrender-fb.c.
8034         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
8035         Use the new span intersection functions in gdk_fb_fill_spans.
8036         gdk_fb_draw_rectangle() clips filled rectangles and calls
8037         gc->fill_rectangle with the result.
8038         gdk_fb_fill_spans() gets extra argument "sorted".
8039
8040         * gdk/linux-fb/gdkevents-fb.c:
8041         Remove unused includes and defines.
8042         New function gdk_fb_get_time() to get correct time for events.
8043
8044         * gdk/linux-fb/gdkinput-ps2.c:
8045         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
8046         Make sure to set the time of all events.
8047
8048         * gdk/linux-fb/gdkmain-fb.c:
8049         Use gdk_fb_get_time ().
8050
8051         * gdk/linux-fb/gdkprivate-fb.h:
8052         New virtual GC calls: fill_span & fill_rectangle.
8053         Export gdk_fb_get_time().
8054         gdk_fb_fill_spans() gets extra argument "sorted".
8055
8056         * gdk/linux-fb/mi*.c:
8057         Use GdkSpan instead of GdkRectangle.
8058         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
8059         from XFree 4 source)
8060         
8061 2000-11-22    <jrb@redhat.com>
8062
8063         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
8064         reversing the order in an if statement will do.  Doing so managed
8065         to make the treemodelsort half work.  Other half will follow after
8066         I get the insert function fully fixed.
8067
8068 2000-11-21  Elliot Lee  <sopwith@redhat.com>
8069         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
8070         more than 2 bits. Besides, I need to implement an evil hack. :)
8071
8072 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
8073
8074         * docs/tutorial/gtk-tut.sgml: minor corrections
8075
8076 2000-11-20  Jonathan Blandford <jrb@redhat.com>
8077         * gtk/gtktreemodelsort.h: Add convertion functions to let you
8078           convert to and from relative path's and iters.
8079
8080         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
8081           testing sorting functions a bit better.  Currently broken -- will
8082           fix in morning.
8083
8084 2000-11-20  Havoc Pennington  <hp@redhat.com>
8085
8086         * gtk/gtkwidget.c: Documented a bunch of functions in here
8087         (gtk_widget_realize): Warn if you try to realize
8088         a widget with no parent that isn't a toplevel
8089         (gtk_widget_intersect): return a gboolean
8090
8091 2000-11-20  Havoc Pennington  <hp@redhat.com>
8092
8093         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
8094         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
8095         scrolling to be implemented in GDK to finish. Also, right now
8096         we just size_allocate all children on every layout change,
8097         which is pretty lame. Test commented out of testtext.c, 
8098         until it works better.
8099
8100 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
8101
8102         * gdk/linux-fb/gdkdrawable-fb2.c:
8103         Removed unused arguments from gdk_fb_drawable_get_pixel().
8104
8105         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
8106         Renamed fidur specific mouse packet data in MouseDevice to
8107         generic. Used it in ps2 mouse handling code to avoid blocking
8108         reads.
8109
8110 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
8111
8112         * demos/gtk-demo/main.c: Changed to have the list become
8113         non-italic when the demo window is destroyed through an external
8114         event (like a close button).  Doing so found three bugs in the
8115         widget.
8116
8117         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
8118
8119         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
8120         we actually set the cell.
8121
8122         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
8123
8124         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
8125         free a leaked path.  Thanks memprof.
8126
8127 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
8128
8129         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
8130         off-by-one error when destroying allocated segments
8131         on failure. (Elliot)
8132
8133 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
8134
8135         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
8136         memleaks found by Evan Martin.
8137
8138 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
8139
8140         * Released 1.3.2
8141         
8142         * NEWS: Updates for 1.3.2
8143
8144 2000-11-17  Tor Lillqvist  <tml@iki.fi>
8145
8146         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
8147         but in general for window system specific events.
8148
8149         * gtk/gtk.def
8150         * gtk/makefile.mingw.in
8151         * gtk/makefile.msc.in: Update.
8152         
8153         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
8154
8155 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
8156
8157         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
8158         distribute gtk.immodules.
8159
8160         * gtk/Makefile.am (install-data-local): Don't install the
8161         gtk.immodules file created for the uninstalled modules;
8162         instead run gtk-query-immodules after install
8163
8164 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
8165
8166         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
8167         -rpath to the right install location.
8168
8169         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
8170         -export-dynamic.
8171
8172         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
8173         properly.
8174
8175 2000-11-15  Havoc Pennington  <hp@pobox.com>
8176
8177         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
8178         patch from Mikael Hermansson to temporarily stop blinking while
8179         the user is using the keyboard to type or navigate. 
8180
8181         Also, when blinking, stay on for longer than we stay off. Also,
8182         return from start_cursor_blink if !cursor_visible, to save
8183         checking that flag all over the place before we call
8184         start_cursor_blink.
8185
8186 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
8187
8188         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
8189         only contain a "fontset" line, which is now ignored.
8190
8191         * gtk/gtkentry.c (gtk_entry_button_release): Make 
8192         double-click-to-select-word work.
8193         
8194 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
8195
8196         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
8197         Don't move back one char when we are actually at the end of the 
8198         paragraph.
8199
8200 2000-11-15  Robert Brady  <robert@suse.co.uk>
8201
8202         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
8203         'o' < 'p'.
8204         
8205         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
8206         bind_textdomain_codeset.
8207
8208         (gtk_init_check): Make the warning about translating default:LTR
8209         sterner.
8210         
8211 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
8212
8213         * **/Makefile.am : remove unecessary rules for win32-specific
8214         config-substituted targets. If you want these rules, use
8215         --enable-maintainer-mode (called automatically by autogen.sh).
8216         Stops a lot of unneccessary make-time warnings.
8217
8218         * gtk/gtktext{layout,display}.c: Factor in total width as
8219         well as screen when figuring alignment for word-wrap as well as
8220         no wrap; this is necessary to handle lines that cannot be wrapped
8221         at all.
8222
8223 2000-11-15  Havoc Pennington  <hp@redhat.com>
8224
8225         * gtk/testtext.c: Implement essential color cycling feature
8226
8227 2000-11-15  Havoc Pennington  <hp@redhat.com>
8228
8229         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
8230         when we invalidate the main window.
8231
8232         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
8233         GtkTextView will now invalidate the side windows for us when text
8234         changes.
8235
8236 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
8237
8238         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
8239         unconditionally, since we may need to update the horizontal
8240         scrollbars even if the height didn't change.
8241
8242         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
8243         the extra attrs, since some of them affect size.
8244
8245         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
8246         x_offset correctly.
8247
8248 2000-11-15  Havoc Pennington  <hp@redhat.com>
8249
8250         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
8251         don't move the first line out into the margin, instead move the
8252         whole paragraph in order to make space for the first line within 
8253         the margin
8254
8255 2000-11-15  Havoc Pennington  <hp@redhat.com>
8256
8257         * gtk/gtktextview.c (changed_handler): offset redraw rect by
8258         xoffset in addition to yoffset, so horizontal scrolling doesn't
8259         break redraws
8260
8261 2000-11-15  Havoc Pennington  <hp@redhat.com>
8262
8263         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
8264         from the cursor
8265         (render_layout_line): fix reversed test that caused weird
8266         underlines to get drawn
8267
8268 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
8269
8270         * gdk/linux-fb/gdkprivate-fb.h:
8271         Fix debug macros.
8272         
8273 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
8274
8275         * gdk/linux-fb/gdkprivate-fb.h:
8276         Added virtual functions set_pixel, get_color,
8277         fill_span and draw_drawable to the GC.
8278         Added global _gdk_fb_screen_gc to use instead of
8279         NULL when drawing to the screen.
8280         Added _gdk_fb_gc_calc_state() prototype.
8281
8282         * gdk/linux-fb/gdkgc-fb.c:
8283         Call _gdk_fb_gc_calc_state() on any gc state change.
8284
8285         * gdk/linux-fb/gdkglobals-fb.c:
8286         Add _gdk_fb_screen_gc
8287                 
8288         * gdk/linux-fb/gdkdrawable-fb2.c:
8289         _gdk_fb_gc_calc_state() calculates best functions
8290         for the GC state and depth.
8291         Moved bpp specialized code to separate functions.
8292         Added optimized 24 bpp AA draw_drawable.
8293
8294         * gdk/linux-fb/gdkevents-fb.c:
8295         Silence gcc warning.
8296
8297         * gdk/linux-fb/gdkimage-fb.c:
8298         Use _gdk_fb_screen_gc
8299
8300         * gdk/linux-fb/gdkwindow-fb.c:
8301         Init and use _gdk_fb_screen_gc
8302
8303         * gdk/linux-fb/mitypes.h:
8304         Remove unused types.
8305
8306 2000-11-14  Havoc Pennington  <hp@pobox.com>
8307
8308         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
8309         to pixels
8310
8311 2000-11-14  Havoc Pennington  <hp@pobox.com>
8312
8313         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
8314
8315         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
8316         unknown char, no real reason we were using a variable. 
8317         Remove gtk_text_unknown_char variable. Fix all the text widget
8318         files accordingly.
8319
8320         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
8321         since the Unicode spec seems to prefer that character for our
8322         purposes.
8323
8324 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
8325
8326         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
8327         value of g_getenv() isn't freeable, so g_strdup it.
8328
8329         * modules/input/inuktitut.c: Inuktitut input method.
8330
8331         * modules/input/Makefile.am: Build this.
8332         
8333 2000-11-14  Elliot Lee  <sopwith@redhat.com>
8334
8335         * gtk/Makefile.am: Install gtk.immodules, needed for operation
8336         of gtk programs.
8337
8338 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
8339
8340         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
8341         reversed > that was causing Home to go to end of previous line.
8342
8343         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
8344         modified-keypresses (leave for bindings.)
8345
8346         * modules/input/Makefile.am: Remove useless -export-dynamic
8347         from module LDFLAGS.
8348
8349 2000-11-14  Havoc Pennington  <hp@redhat.com>
8350
8351         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
8352         higher.
8353
8354         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
8355         account. Also, render rise, underline, background, etc. for
8356         pixbufs as well as text. Also, draw underlines one pixel higher.
8357
8358         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
8359         PangoAttribute for the rise, so it gets drawn properly. Also,
8360         add the GtkTextAppearance attribute for pixbuf/widget segments
8361         as well; we should go ahead and have rise, underline, background,
8362         stipple work for those
8363
8364         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
8365         Pango
8366
8367 2000-11-15  Tor Lillqvist  <tml@iki.fi>
8368
8369         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
8370
8371         * gtk/gtk.def: Update.
8372
8373         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
8374         included.
8375         (gtk_rc_get_im_module_file): Use run-time installation directory
8376         on Win32.
8377
8378         * gdk/win32/rc/gdk.rc: Remove.
8379         * gdk/win32/rc/gdk.rc.in: New file.
8380         * gdk/win32/rc/Makefile.am: New file
8381         * gdk/win32/Makefile.am: Corresponding changes.
8382
8383         * gtk/gtk.rc: Remove.
8384         * gtk/gtk-win32.rc.in: New file.
8385         * gtk/Makefile.am: Corresponding changes.
8386
8387         * configure.in: Corresponding changes.
8388
8389         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
8390         has a built gtkcompat.h. Developers using CVS code on Win32 can
8391         hand-edit it from gtkcompat.h.in.
8392
8393         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
8394         gtkcompat.h from gtkcompat.h.win32.
8395
8396 2000-11-14  Havoc Pennington  <hp@redhat.com>
8397
8398         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
8399         to default to GDK_ACTION_MOVE if the drag is within a single
8400         widget. Defaults to GDK_ACTION_COPY between widgets.
8401
8402 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
8403
8404         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
8405
8406         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
8407
8408         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
8409         srcdir != builddir
8410
8411         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
8412
8413         * configure.in (GTK_VERSION): Up to 1.3.2
8414
8415         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
8416         gtkimcontextxim.h
8417
8418         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
8419         missing doc comment.
8420
8421 2000-11-14  Alexander Larsson  <alexl@redhat.com>
8422
8423         * modules/linux-fb/basic.c:
8424         Use the glib iconv wrappers.
8425
8426 2000-11-13  Havoc Pennington  <hp@pobox.com>
8427
8428         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
8429         still more bugs.
8430
8431         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
8432         scroll the GdkWindows before realization.
8433
8434 2000-11-13  Havoc Pennington  <hp@redhat.com>
8435
8436         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
8437         where GC didn't always get updated properly
8438
8439         * demos/gtk-demo/textview.c (create_tags): Use subattributes
8440         of fonts instead of setting the entire font
8441
8442         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
8443         setting entire font
8444
8445         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
8446
8447         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
8448         a bunch of individually-settable font attributes. You can still 
8449         use the "font" and "font_desc" args, they just set all the font
8450         attributes at once.
8451
8452 2000-11-13 Elliot Lee <sopwith@redhat.com>
8453
8454         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
8455
8456 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
8457
8458         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
8459         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
8460
8461         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
8462         work better.
8463
8464 2000-11-13  Havoc Pennington  <hp@redhat.com>
8465
8466         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
8467         the module file.
8468
8469         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
8470         dest->language
8471
8472         * gtk/testtext.c: Test pixels above/below/inside paragraphs
8473         settings
8474
8475         * gtk/gtktextview.c: Implement object args and setters/getters for
8476         all the aspects of the GtkTextAttributes that are not set from
8477         GtkWidget attributes. This is spacing, justification, margins,
8478         etc.
8479
8480         (gtk_text_view_set_arg)
8481         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
8482         args
8483         (gtk_text_view_class_init): Add args for justify, left_margin,
8484         right_margin, indent, and tabs
8485         
8486
8487         * gtk/gtktextlayout.c (set_para_values): fix to display indent
8488         attribute properly
8489
8490         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
8491         replace with indent attribute
8492
8493         * gtk/gtktextlayout.c (set_para_values): multiply indent by
8494         PANGO_SCALE
8495
8496         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
8497         rearranging code to do that
8498         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
8499         i.e. don't subtract the top_margin first, just to keep
8500         all margin-futzing in one place.
8501
8502         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
8503
8504         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
8505         special case of last line, Pango now handles this itself.
8506         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
8507         Y coordinate
8508         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
8509         (find_display_line_above): wasn't moving the byte index as it
8510         iterated over lines, so always returned byte 0. Also, port to use
8511         PangoLayoutIter.
8512         (find_display_line_below): same problem as
8513         find_display_line_above. Also, port to use PangoLayoutIter.
8514
8515 2000-11-13  Alexander Larsson  <alexl@redhat.com>
8516
8517         * gdk/linux-fb/*.[ch]:
8518         Massive reindent to gtk+ standard. My hands hurt.
8519
8520         * gdk/linux-fb/gdkcolor-fb.c:
8521         Move GdkColorPrivateFB from inherited to windowing_data
8522
8523         * gdk/linux-fb/gdkcursor-fb.c:
8524         _gdk_cursor_new_from_pixmap made static
8525
8526         * gdk/linux-fb/gdkdnd-fb.c:
8527         GdkDragContextPrivate moved to windowing_data
8528
8529         * gdk/linux-fb/gdkdrawable-fb2.c:
8530         Removed endian.h, use glib endianness macros instead
8531         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
8532         and GDK_DRAWABLE_IMPL_FBDATA
8533
8534         * gdk/linux-fb/gdkfont-fb.c:
8535         Add empty gdk_font_load(). Needed for linking of Gtk+.
8536
8537         * gdk/linux-fb/gdkimage-fb.c:
8538         Removed endian.h, use glib endianness macros instead
8539         Moved GdkImagePrivateFB to windowing_data
8540         gdk_image_new_bitmap didn't always allocate enough
8541         memory.
8542
8543         * gdk/linux-fb/gdkinput-ps2.c:
8544         Added semi-working support for MS serial mice.
8545
8546         * gdk/linux-fb/gdkprivate-fb.h:
8547         s/GdkWindowPrivate/GdkWindowObject/
8548         Removed GdkWindowPrivate typedef
8549         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
8550         Removed GDK_DRAWABLE_P
8551         Move GdkColorPrivateFB from inherited to windowing_data
8552         Moved GdkImagePrivateFB to windowing_data
8553
8554         * gdk/linux-fb/gdkvisual-fb.c:
8555         Removed some unused debug code.
8556
8557         * gdk/linux-fb/gdkwindow-fb.c:
8558         Use stock cursors instead of including X headers.
8559         s/GdkWindowPrivate/GdkWindowObject/
8560
8561         * gdk/linux-fb/mitypes.h:
8562         Removed unused types.
8563
8564         * modules/linux-fb/basic.c:
8565         Use the pango fribidi wrappers.
8566
8567 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8568
8569         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
8570         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
8571         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
8572         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
8573         GEqualFunc where applicable.
8574         
8575         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
8576         pango_font_description_equal as changed in pango.
8577         
8578         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
8579
8580         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
8581
8582         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
8583
8584         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
8585
8586         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
8587
8588         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
8589
8590         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
8591         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
8592
8593         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
8594         gtk_rc_styles_compare -> gtk_rc_styles_equal.
8595
8596 2000-11-12  Havoc Pennington  <hp@pobox.com>
8597
8598         * demos/gtk-demo/Makefile.am (democodedir): change demo install
8599         dir to datadir/gtk+-2.0/demo
8600
8601         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
8602         sorts of text widget and Pango font bugs. Urgh.
8603
8604         * demos/gtk-demo/Makefile.am (demos): Add textview.c
8605
8606         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
8607         tree that you should double click to see the demo. Fix 
8608         types of variables to reflect changed return values from 
8609         GtkTreeStore and GtkTreeViewColumn constructors.
8610
8611         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
8612         newly-created buffer to prepare for GObject semantics
8613
8614         * gtk/testtext.c: don't leak the buffer with GObject semantics
8615
8616         * gtk/testtextbuffer.c: ditto
8617         
8618 2000-11-12  Havoc Pennington  <hp@pobox.com>
8619
8620         Rename this testgtk to gtk-demo to avoid confusion, and 
8621         install it so people can use it as a supplement to 
8622         the documentation.
8623         
8624         * demos/gtk-demo: Moved from demos/testgtk
8625
8626         * demos/testgtk: Removed
8627
8628         * configure.in: make Makefile in gtk-demo
8629         
8630         * demos/gtk-demo/Makefile.am: Install sample source to 
8631         datadir/gtk-demo (maybe there's a better place?), and 
8632         rename the binary to gtk-demo
8633         
8634         * demos/gtk-demo/main.c (load_file): Load installed sample
8635         source if source isn't found in pwd.
8636
8637 2000-11-09  Havoc Pennington  <hp@pobox.com>
8638
8639         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
8640         argument to set the char displayed when visibility == FALSE
8641         (gtk_entry_create_layout): If !entry->visible, replace 
8642         all chars with the "invisible char"
8643
8644         * gtk/testgtk.c: Test the invisible_char deal
8645         
8646 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
8647
8648         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
8649         can't get a native font in the right encoding.
8650
8651 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
8652
8653         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
8654         respectively.
8655
8656 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
8657
8658         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
8659         Fix warning when moving between paragraphs.
8660
8661         * gtk/gtkentry.[ch]: Change move => move_cursor, 
8662         delete => delete_from_cursor, insert => insert_at_cursor
8663
8664 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
8665
8666         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
8667
8668         * modules/input/imthai-broken.c: A Thai input method for use if
8669         Thai keys are really generating Latin1 keysyms.
8670
8671         * modules/input/Makefile.am: Build these.
8672
8673 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
8674
8675         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
8676         g_filename_{to,from}_utf8 now takes an extra parameter.
8677
8678         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
8679         strftime into UTF-8.
8680
8681         (column_from_x, gtk_calendar_paint_day_names): Support RTL
8682         calendars.
8683
8684         (gtk_calendar_paint_day_names): Draw day names in the right 
8685         place.
8686         
8687 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
8688
8689         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
8690         problem with using result of g_get_charset() backwards -
8691         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
8692
8693         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
8694         negative min_width/height and max_width/height to
8695         mean "requisition"; this allows setting a window
8696         to be user-resizable in only one direction easily.
8697
8698         * gtk/testgtk.c (create_main_window): Remove hard-coded
8699         usize - set a default size in the vertical direction.
8700
8701 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
8702
8703         * gtk/gtkrange.c: Add some missing casts. Support 
8704         2 and 3 button clicks on the arrows to mean 
8705         "move by pages" and "jump to end". (Like gtkspinbutton)
8706
8707 2000-11-12 Hans Breuer <Hans@Breuer.Org>
8708
8709         * gdk/win32/makefile.msc : reflect build module changes
8710
8711         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
8712         from GdkPixmap*, cast implementation member instead.
8713
8714         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
8715         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
8716         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
8717         more Gdi functions return value checking. 
8718         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
8719         GdkImagePrivateWin32 *.
8720
8721         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
8722         menus useable again. Add #pragma message to keep reminded on this issue.
8723         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
8724         windows. This allows to enable backing store on Win32!
8725
8726         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
8727         in drawable is of impl type. Correct specific type checks appropriate.
8728  
8729         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
8730         GDK_WINDOW_DESTROYED before allocating new resources.
8731
8732         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
8733
8734         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
8735         (gdk_window_foreign_new) initialize parent handle.
8736         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
8737
8738         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
8739         Let the GDI invalidate the window on MoveWindow call to fix scrolling
8740         problems (e.g. main buttons in testgtk). 
8741
8742 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
8743
8744         * gtk/gtkentry.c (gtk_entry_key_press): Call 
8745         gtk_widget_activate for GDK_Return.
8746
8747         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
8748         of preedit cursor position.
8749
8750 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
8751
8752         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
8753         static.
8754
8755 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
8756
8757         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
8758         out support for multiple locales; that simple doesn't
8759         work reliably with current Xlib
8760
8761         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
8762         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
8763         Add support for positioning the cursor within the preedit string.
8764
8765 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
8766
8767         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
8768         at XIM input method module.
8769
8770         * gtk/gtktextview.c: Check for bindings after passing
8771         events to im context filter.
8772
8773 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
8774
8775         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
8776         empty attribute lists properly.
8777
8778 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
8779
8780         * gtk/queryimmodules.c (main): Return non-zero exit
8781         status if errors were encountered querying any
8782         modules.
8783
8784         * modules/input/Makefile.am (moduledir): remove
8785         leftover bin program target.
8786
8787         * docs/make-todo: Fix typo in error message.
8788
8789 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
8790
8791         * configure.in: Add modules/input/Makefile
8792
8793 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
8794
8795         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
8796         don't include gtkthemes.h.
8797
8798         * gtk/testgtk.c gtk/testtext.c: Set environment variables
8799         to point
8800
8801         * gtk/Makefile.am: Add new .c and .h files, build 
8802         gtk-query-immodules and use it to create a gtk.immodules
8803         file for use of test programs.
8804
8805         * gtk/gtkpreview.c: remove extra blank line.
8806
8807 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
8808
8809         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
8810         Add the ability to add extra tables beyond the default
8811         one, and also the ability to have compose sequences 
8812         that are prefixes of other compose sequences. 
8813
8814         * gtk/gtkimcontextsimple.c: Export a preedit string which
8815         consists of possible candidates for keystrokes that have
8816         been entered but not yet committed.
8817
8818         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
8819         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
8820
8821         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
8822         Add a function to add input-method switching menu items
8823         to a menu.
8824
8825         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
8826         when switching input methods.
8827
8828         * gtk/gtkimcontextsimple.[ch]: Change the format of
8829         the compose table to allow compose tables of different
8830         lengths / sequence.
8831
8832 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
8833
8834         * gtk/gtkimmodule.[ch]: Support routines for loading
8835         GtkIMContext implementations dynamically at runtime.
8836
8837         * modules/input/imcyrillic-translit.c: A sample input
8838         method (based on GtkIMContextSimple with an extra table),
8839         which demonstrates preedit strings and the module
8840         system for input modules
8841
8842         * gtk/queryimmodules.c: Program to query the available
8843         input modules and write the results into a file.
8844          
8845         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
8846         extra config options "im_module_file" (cache file for
8847         input method modules), and "im_module_path" - path
8848         to look for modules when generating cache file.
8849
8850         This doesn't scale.
8851
8852 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
8853
8854         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
8855         generic code from gtkthemes into a new abstraction
8856         GtkModule which has the logic for implementing
8857         a loadable module which implements a number of 
8858         GObject types.
8859
8860 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
8861
8862         * gtk/gtkeditable.[ch]: Convert GtkEditable from
8863         a class into an interface  
8864         
8865         * gtk/gtkoldeditable.[ch]: Move the old editable
8866         implementation into here, so legacy widgets can
8867         still rely on the implemenation. GtkOldEditable
8868         exports GtkEditable. Make selection handling
8869         code use new text conversion functions (and
8870         handle UTF-8 as a side-effect). Use GtkClipboard
8871         for CLIPBOARD.
8872
8873         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
8874         Adopt to match above changes.
8875
8876         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
8877         avoid GtkOldEditable implementation. Restructure
8878         to reduce number of places that modify state directly.
8879         Move to GtkBindingSet. Display the preedit string.
8880         Queue recomputation of PangoLayout and scroll position
8881         to improve effiency of doing complex changes naively.
8882         Add a menu with cut/copy/paste and input method selection.
8883
8884 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
8885
8886         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
8887         to set preedit string and attributes; display preedit string by
8888         inserting string and attributes at cursor when creating the
8889         GtkTextLineDisplay.
8890
8891         * gtk/gtktextlayout.c: Move all conversions between byte
8892         positions in PangoLayout and GtkTextIter into new functions
8893         line_display_iter_to_index/index_to_iter that properly
8894         handle the preedit string.
8895
8896         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
8897         it to return const char * (eventually will end up
8898         as GCONST char *, most likely.)
8899
8900         * gtk/gtktextview.[ch]: Handle the preedit string, call
8901         gtk_im_context_reset() as necessary, add a menu to switch
8902         input methods.
8903         
8904         * gtk/gtktextlayout.[ch]: Remove useless
8905         gtk_text_layout_get_log_attrs() function.
8906
8907 2000-11-11  Tor Lillqvist  <tml@iki.fi>
8908
8909         * gdk/gdk.def
8910         * gtk/gtk.def: Update.
8911
8912         * gdk/win32/*.c: Add last argument to g_type_register_static()
8913         calls.
8914
8915         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
8916
8917         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
8918         generated by older wheel mouse drivers. Get the correct y
8919         coordinate from WM_MOUSEWHEEL messages.
8920
8921         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
8922         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
8923         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
8924         Debugging functions.
8925
8926         * gdk/win32/gdkprivate-win32.h: Declare them.
8927
8928         * gdk/win32/gdkinput-win32.h: Add declaration for
8929         gdk_input_window_destroy().
8930
8931         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
8932
8933 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
8934
8935         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
8936         function to help handle keeping things in sync.
8937
8938 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
8939
8940         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
8941         BOXED marshallers.
8942
8943         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
8944         (gtk_list_store_class_init): use the new BOXED marshallers.
8945
8946         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
8947         new_with_values to new_with_types.
8948         (gtk_tree_store_get_column_type): add this.
8949         (gtk_tree_store_class_init): use the new BOXED marshallers.
8950
8951         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
8952         mirror some POINTER marshallers.
8953
8954 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
8955
8956         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
8957         allow more interesting iterators.  Also, made the lifecycle of
8958         iterators more explicit.
8959
8960         * gtk/gtktreemodelsort.[ch]: New model for sorting.
8961
8962         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
8963         types.
8964
8965 2000-11-09  Alexander Larsson  <alexl@redhat.com>
8966
8967         * demos/testgtk/menus.c:
8968         Changes to make the new testgtk compile after
8969         gtk_menu_append was removed.
8970
8971         * gdk/linux-fb/gdkdrawable-fb2.c
8972         (gdk_fb_get_depth, gdk_fb_get_visual,
8973         gdk_drawable_impl_fb_class_init): Implement
8974         these drawable functions. Now GtkImages work again.
8975
8976         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
8977
8978         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
8979         
8980         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
8981         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
8982         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
8983         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
8984
8985 2000-11-08  Havoc Pennington  <hp@pobox.com>
8986
8987         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
8988         visible_set args, don't know where these had gone, I thought they
8989         used to be there
8990
8991         * gtk/testtext.c: Add a menu item to apply invisibility tag;
8992         now we can test the feature and see that it's totally broken.
8993
8994 2000-11-08  Havoc Pennington  <hp@pobox.com>
8995
8996         Make DND copy pixbufs and tags when source and target share a 
8997         tag table.
8998         
8999         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
9000         in-process GTK_TEXT_BUFFER_CONTENTS target
9001         (gtk_text_view_drag_data_received): Paste from
9002         GTK_TEXT_BUFFER_CONTENTS if we receive it.
9003
9004 2000-11-08  Alexander Larsson  <alexl@redhat.com>
9005
9006         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
9007         API changes.
9008
9009         * gtk/gtkmenu.c: Add support for scrolling menus.
9010         Remove gtk_menu_append/prepend/insert, these have been moved to
9011         gtkcompat.h as #defines.
9012
9013         * gtk/gtkcompat.h.in:
9014         Add compatibility #defines for gtk_menu_append/prepend/insert
9015
9016         * gtk/gtkmenu.h: Add data needed for scrolling menus.
9017         GtkMenuPositionFunc gets an extra argument push_in.
9018         gtk_menu_append/prepend/insert removed.
9019         
9020         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
9021         positioning behaviour to fit to scrolling menus.
9022
9023         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
9024         into menuitem->submeny. That is wrong, and broke torn
9025         off submenus of torn off menus, since they were unrealized
9026         when the first menu was unrealized.
9027
9028         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
9029         gtk_menu_shell_select_item() since these need to be overridden in
9030         GtkMenu.
9031
9032         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
9033         positioning behaviour to fit to scrolling menus.
9034         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
9035         the current item so that it is prelighted when the menu pops up.
9036         This is a workaround to the fact that the menu doesn't get the
9037         initial enter event (due to grabs).
9038
9039         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
9040         s/gtk_menu_append/gtk_menu_shell_append/
9041
9042         * gtk/gtknotebook.c:
9043         s/gtk_menu_insert/gtk_menu_shell_insert/
9044
9045         * gtk/testgtk.c (create_menu, create_menus):
9046         Create the first menu with 50 items so that menu scrolling
9047         can be tested.
9048         
9049         
9050         Patch from Jonathan Blandford  <jrb@redhat.com>
9051
9052         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
9053         system to handle size requests.  First, we ask what the size of
9054         the toggle is.  Then, when allocating the size, we allocate the
9055         toggle_size first.  This way we can have multiple menu-item
9056         classes w/o needing a seperate class for each.
9057
9058         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
9059         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
9060
9061         * gtk/gtkcheckmenuitem.c
9062         (gtk_check_menu_item_toggle_size_request): New function to handle
9063         the toggle size-request.
9064
9065 2000-11-07  Havoc Pennington  <hp@redhat.com>
9066
9067         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
9068         Half-ass somewhat fix this function, so that scrolling to the
9069         insertion point works. Pango hacking is in the future to really
9070         fix it.
9071
9072         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
9073         length of data, no longer used.
9074
9075         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
9076         method contents in here, get rid of destroy method
9077         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
9078         that were backward. Remove debug spew.
9079         (cut_or_copy): Make the clipboard work with insert_range to
9080         preserve tags and pixbufs, not just the primary selection.
9081
9082 2000-11-07  Havoc Pennington  <hp@redhat.com>
9083
9084         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
9085         to gtk_text_mark_get_visible
9086
9087         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
9088         bug that was generating an invalid iterator
9089
9090         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
9091         ensure_char_offsets() in front of code placing the iter in an
9092         invalid state.
9093
9094         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
9095         make override_location arg const
9096         (paste): Replace the selection if we paste into the 
9097         current selection
9098
9099         * gtk/gtkselection.h: Remove "GtkSelectioData"
9100         (struct _GtkSelectionData): move the definition here.
9101
9102         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
9103         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
9104
9105         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
9106
9107         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
9108         (gtk_text_buffer_insert_range_interactive): implement
9109         (gtk_text_buffer_get_tags): Remove, replaced by
9110         gtk_text_iter_get_tags()
9111
9112         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
9113         limit parameter, to avoid infinite linear scan.
9114         (gtk_text_iter_backward_search): Add search limit
9115         (gtk_text_iter_forward_find_char): Add search limit
9116         (gtk_text_iter_backward_find_char): Add search limit
9117
9118 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
9119
9120         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
9121         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
9122         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
9123         gdk/linux-fb/gdkwindow-fb.c:
9124         use g_object_new() instead of g_type_create_instance() which
9125         is a private function for fundamental type implementations.
9126
9127         * gdk/linux-fb/gdkinput-ps2.c:
9128         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
9129         instead just store the current modifier state. Add a (somewhat broken)
9130         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
9131         Rename exported function gdk_input_ps2_get_mouseinfo to
9132         gdk_input_get_mouseinfo.
9133
9134         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
9135         gdk/linux-fb/gdkwindow-fb.c:
9136         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
9137         
9138
9139 2000-11-02  Havoc Pennington  <hp@redhat.com>
9140
9141         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
9142         use stock buttons. Should be 100% source compatible, appropriate
9143         filesel fields now point to dialog->vbox and dialog->action_area.
9144         On the bizarre side, dialog->action_area and filesel->action_area
9145         are not the same widget.
9146         (gtk_file_selection_init): Put some padding around the selection
9147         entry, so it isn't touching the GtkDialog separator.    
9148
9149         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
9150         use stock buttons, etc. Should also be source compatible.
9151         Set the dialog default title in _init not _new().
9152         
9153         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
9154         Use stock buttons; don't put a button box inside the existing
9155         dialog button box. Don't bother with push/pop colormap anymore.
9156
9157         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
9158         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
9159         for message dialog, and necessary for the font selection and color
9160         selection with help and apply buttons.
9161         
9162         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
9163         to the created button widget. Set GTK_CAN_DEFAULT on the button.
9164         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
9165         between buttons, put less padding around the action area.
9166         (gtk_dialog_run): Exit on unmap rather than on destroy. 
9167         This will also exit the loop if the widget is hidden.
9168         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
9169         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
9170         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
9171         special-case delete event.
9172
9173         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
9174         formatting
9175         
9176 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
9177
9178         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
9179         button to temporarily disable position recording in the
9180         "saved position" test.
9181
9182 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
9183
9184         * gtk/gtkthemes.c: added compat code that temporarily implements
9185         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
9186         going to be revamped by owen's upcoming GtkModule patches, but
9187         untill then people want gtk to build, right? ;)
9188
9189 2000-11-04  Havoc Pennington  <hp@pobox.com>
9190
9191         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
9192         list
9193
9194         * docs/Changes-2.0.txt: Add note about
9195         gtk_container_get_toplevels()
9196
9197         * gtk/gtktextview.h: formatting
9198         
9199         * gtk/gtktextview.c: don't start descriptions with "Returns",
9200         confuses gtk-doc
9201
9202 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
9203
9204         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
9205         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
9206
9207 2000-11-03  Havoc Pennington  <hp@redhat.com>
9208
9209         * gtk/gtktexttagtable.c: Docs
9210         (gtk_text_tag_table_size): return a signed int
9211
9212         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
9213         (gtk_text_tag_event): make the event_object a GObject
9214
9215         * gtk/gtktextview.c: Write API docs for all functions.
9216
9217         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
9218         for gtk_text_view_get_window_type() called on one of the private
9219         windows.
9220
9221         * gtk/gtktextview.c: Instead of accessing text_view->buffer
9222         directly, call get_buffer() which demand-creates a default
9223         buffer. So gtk_text_view_new() can be used to create a view with a
9224         default buffer in it, if you just want an empty text box users can
9225         put data in. Useful for GUI builders also.
9226
9227 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
9228
9229         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
9230         the charset encodign portion MUST be in lowercase.
9231         * gtk/gtkrc.az: added file for Azeri language
9232
9233 2000-11-03  Havoc Pennington  <hp@redhat.com>
9234
9235         Get widgets working on the btree/buffer side. Display of them 
9236         still doesn't work.
9237         
9238         * gtk/gtktextview.c: start implementing child widget stuff
9239
9240         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
9241
9242         * gtk/gtktextlayout.c: handle embedded widgets
9243
9244         * gtk/gtktextdisplay.c: handle embedded widgets
9245
9246         * gtk/gtktextchild.c: Implement all the child anchor goo
9247
9248         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
9249         function
9250
9251         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
9252         (insert_pixbuf_or_widget_segment): abstract out common portions of 
9253         creating a child anchor or a pixbuf segment.
9254         (gtk_text_btree_create_child_anchor): new function
9255         (gtk_text_btree_unregister_child_anchor): new function
9256
9257         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
9258         allocate_child signal on GtkTextLayout
9259
9260         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
9261         values
9262         (gtk_text_iter_get_child_anchor): new function
9263
9264         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
9265         default handler for the changed signal, which calls
9266         gtk_text_buffer_set_modified(), instead of just always emitting
9267         changed then calling set_modified() manually. I guess this is
9268         maybe more flexible. It seems logical.
9269
9270 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
9271
9272         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
9273         now.
9274
9275         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
9276
9277 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
9278
9279         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
9280         been marked static.
9281
9282 2000-11-02  Havoc Pennington  <hp@redhat.com>
9283
9284         * gtk/testgtk.c (create_labels): had a test backward
9285
9286         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
9287         fields, so the dest GC ends up with the correct clip origin, 
9288         etc. Fixes a bug where colored labels didn't redraw 
9289         properly.
9290
9291 2000-11-02  Alexander Larsson  <alexl@redhat.com>
9292
9293         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
9294         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
9295         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
9296         Add last argument to t_type_register_static call.
9297         
9298         * gdk/linux-fb/gdkdrawable-fb2.c:
9299         Add last argument to t_type_register_static call.
9300         export the get_image drawable virtual function.
9301
9302         * gdk/linux-fb/gdkimage-fb.c:
9303         Add last argument to t_type_register_static call.
9304         rename gtk_image_get to _gdk_fb_get_image and
9305         export it for use by gdkdrawable-fb2.
9306
9307         * gdk/linux-fb/gdkprivate-fb.h:
9308         export _gdk_fb_get_image.
9309
9310         * gdk/linux-fb/gdkselection-fb.c:
9311         Add new api call stubs.
9312
9313         * gtk/Makefile.am:
9314         Missing ( in linux-fb part.
9315
9316         * modules/linux-fb/Makefile.am:
9317         Must link with gdk_pixbuf or get unresolved symbol.
9318
9319 2000-11-01  Havoc Pennington  <hp@pobox.com>
9320
9321         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
9322         GTK_TYPE_TEXT_ITER and BOXED marshallers
9323
9324         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
9325
9326         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
9327         
9328         * gtk/gtk-boxed.defs: add GtkTextIter
9329
9330         * gtk/gtkmarshal.list: Add marshallers for text widget that 
9331         properly use OBJECT and BOXED
9332
9333 2000-11-01  Havoc Pennington  <hp@redhat.com>
9334
9335         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
9336
9337         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
9338         before returning it. 
9339         
9340 2000-11-01  Havoc Pennington  <hp@redhat.com>
9341
9342         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
9343         Clip the rectangle to be rendered to the drawable, since
9344         get_from_drawable() requires a region within the drawable
9345
9346 2000-11-01  Havoc Pennington  <hp@redhat.com>
9347
9348         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
9349         from coordinates.
9350
9351 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
9352
9353         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
9354         it isn't NULL.
9355
9356 2000-11-01  Havoc Pennington  <hp@pobox.com>
9357
9358         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
9359         on a label
9360         (gtk_label_finalize): unref the attr list if any.
9361
9362         * gtk/testgtk.c (create_get_image): close test on second click
9363         (make_message_dialog): close dialog if it exists
9364
9365         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
9366
9367         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
9368         gdk-pixbuf
9369
9370         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
9371         from Pango markup format
9372         (gtk_label_set_markup_with_accel): ditto but with accelerator
9373         parsing
9374
9375         * gtk/gtkimage.c (gtk_image_expose): reformatting.
9376
9377         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
9378         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
9379         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
9380         call gdk_window_get_origin().
9381
9382         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
9383         implement GDK_PIXBUF_ALPHA_FULL
9384         
9385 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
9386
9387         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
9388         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
9389         g_signal_handlers_disconnect_matched to block/unblock and disconnect
9390         multiple handlers respectively, instead of only treating the
9391         first handler found (bug reported by owen).
9392
9393 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
9394
9395         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
9396
9397         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
9398
9399         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
9400         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
9401         gtk/gtktreeviewcolumn.h: Fixed inline docs.
9402
9403         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
9404         widget.  Needs writing someday.
9405
9406         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
9407         the docs.
9408
9409 2000-10-30  Havoc Pennington  <hp@redhat.com>
9410
9411         * gtk/gtktextview.h, gtk/gtktextview.c:
9412         Rename delete_at_cursor delete_from_cursor, and 
9413         move to move_cursor.
9414
9415 2000-10-30  Havoc Pennington  <hp@redhat.com>
9416
9417         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
9418         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
9419         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
9420         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
9421         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
9422         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
9423         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
9424         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
9425         gtktexttypes.h, gtktextview.c, gtktextview.h:
9426
9427         Massive reindentation and reformatting. Arg alignment and comments
9428         still need fixing in various places.
9429
9430 2000-10-30  Havoc Pennington  <hp@redhat.com>
9431
9432         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
9433         to be named insert_at_cursor and delete_at_cursor so C++ can
9434         handle them.
9435
9436 2000-10-28  Tor Lillqvist  <tml@iki.fi>
9437
9438         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
9439         to get a double directory separator in case the home directory
9440         ends with one. This would cause trouble especially on Windows,
9441         where the path will be confused with the syntax for an an UNC
9442         (network share) path \\server\share\path.
9443         (gtk_rc_add_initial_default_files): Ditto.
9444
9445 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
9446
9447         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
9448
9449         * gtk/gtktextview.c: Use correct marshallers.
9450
9451 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
9452
9453         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
9454         use new iter stuff, and added all the appropriate signals et al.
9455
9456         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
9457         code is internal to gtk only.
9458
9459 2000-10-28  Tor Lillqvist  <tml@iki.fi>
9460
9461         * gtk/gtk.def
9462         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
9463         glib-genmarshal etc.
9464
9465 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
9466
9467         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
9468         parallel builds.
9469
9470 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
9471
9472         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
9473
9474 2000-10-27  Robert Brady  <robert@suse.co.uk>
9475
9476         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
9477         en_GB (British), ia (Interlingua).
9478
9479 2000-10-26  Havoc Pennington  <hp@redhat.com>
9480
9481         * gtk/gtktextiter.c (my_strrstr): fix constness warning
9482
9483         Fixed output of:
9484         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
9485         
9486         * gtk/gtktextsegment.c (char_segment_new): rename
9487         (_char_segment_new_from_two_strings): rename
9488         (_toggle_segment_new): rename
9489         
9490         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
9491         (make_clipboard_widget): make it static
9492         (text_get_func): static
9493         (text_clear_func): static
9494
9495         * gtk/gtkcolorsel.c (adjustment_changed): make this function
9496         static
9497         (hex_changed): make it static
9498         (hsv_changed): make it static
9499         (opacity_entry_changed): make it static
9500
9501         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
9502         (toggle_segment_check_func): rename with _gtk
9503
9504         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
9505         (_widget_segment_new): rename
9506         (_widget_segment_add): rename
9507         (_widget_segment_remove): rename
9508         (_widget_segment_ref): rename
9509         (_widget_segment_unref): rename
9510
9511         * gtk/gtktextmark.c (_mark_segment_new): Rename
9512         _gtk_mark_segment_new   
9513
9514 2000-10-26  Havoc Pennington  <hp@redhat.com>
9515
9516         * gtk/gtkmarshal.list: add new marshallers used by the text widget
9517         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
9518         types
9519
9520         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
9521         marshaller types
9522
9523         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
9524         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
9525         license on these files.
9526
9527         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
9528         work.
9529
9530         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
9531         runtime random number different for each tree, instead of 
9532         a constant I made up.
9533
9534 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
9535
9536         * gtk/Makefile.am: buncha cleanups, kludged build sources
9537         dependencies with a Makefile: oldest-source-stamp dependancy
9538         for the moment. automake is really fighting us here, with
9539         intentionally not allowing user-defined rules or dependancies
9540         prior to it's -include $(DEP_FILES) statement. sucks rocks!
9541
9542         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
9543         to public headers. tehy have a comment stating that they are
9544         "semi-public" aren't included by gtk.h and if enums popup there,
9545         they can be /*< skip >*/-ed.
9546
9547         * gtk/gtktextlayout.h: 
9548         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
9549         added LGPL... <SIGH>
9550
9551 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
9552
9553         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
9554         GtkTreeIter.  Added iterators everywhere.
9555
9556         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
9557
9558         * gtk/gtktreeviewselection.c: Changed to use the iterators.
9559
9560         * gtk/gtktreestore.c: Changed to use the iterators.
9561
9562         * gtk/gtkliststore.c: Commented out the code.  Will convert to
9563         iterators tomorrow.
9564
9565         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
9566         iterators tomorrow.
9567
9568         * gtk/treestoretest.c: Changed to use iterators.
9569
9570         * demos/testgtk/main.c: Moved to use the new iterator system.
9571
9572 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
9573
9574         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
9575         localization misbehaviour.
9576
9577         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
9578         a useless type without copy/free.
9579
9580         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
9581         of GTK_TYPE_CTREE_NODE.
9582
9583 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
9584
9585         * gtk/gtksignal.c:
9586         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
9587         applicable.
9588
9589         * gtk/gtk-boxed.defs (GtkSelectionData): specify
9590         gtk_selection_data_copy and gtk_selection_data_free
9591         do GtkSelectionData work as params in signals.
9592
9593 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
9594
9595         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
9596         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
9597         couldn't they at least give it a non-standard name?
9598         
9599         * gtk/gtktextlayout.c: arg! yet another implementation of
9600         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
9601
9602         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
9603         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
9604         home. now i know this _is_ a conspiracy.
9605
9606         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
9607         ::state-changed.
9608
9609         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
9610         (gtk_accel_group_create_add): marshaller signature fixups.
9611
9612         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
9613         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
9614
9615         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
9616         anymore.
9617
9618 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
9619
9620         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
9621         due to the signal system changes, it wouldn't build currently. to
9622         be fixed soon.
9623
9624         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
9625
9626         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
9627         so it needs gtk_marshal_VOID__ENUM() instead of
9628         gtk_marshal_NONE__UINT().
9629
9630         * gdk/gdk*.c: adapted type registration functions.
9631
9632         * gtk/gtkbindings.c:
9633         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
9634         gone.
9635
9636         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
9637
9638         * gtk/gtkobject.c:
9639         (gtk_object_destroy):
9640         (gtk_object_shutdown): fixed recursion guards. basically we have to
9641         catch the case where any of GObject.shutdown() or gtk_object_destroy()
9642         is called during ::destroy, and avoid recursion there.
9643
9644         * gtk/gtktypeutils.c:
9645         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
9646         boxed_copy/boxed_free. this needs a more general solution based on a
9647         publically installed code-generator utility.
9648
9649         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
9650         glib's gobject has support for that now.
9651         define GtkSignalMarshaller in terms of GSignalCMarshaller.
9652
9653 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
9654
9655         * gtk/gtksignal.[hc]:
9656         * gtk/gtkmarshal.[hc]:
9657         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
9658         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
9659         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
9660         care of that.
9661
9662         * *.c: marshaller name fixups.
9663
9664         * gtk/gtkmarshal.list: added a comment briefing the format.
9665
9666 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
9667
9668         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
9669         compatibility macros here now. more specifically, most of
9670         the API is preserved (yes, _most_, nonwithstanding the
9671         following exceptions listed, the API is stil lHUGE ;)
9672         things that got removed completely:
9673         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
9674         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
9675         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
9676         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
9677         gtk_signal_remove_emission_hook().
9678         non-functional functions variants:
9679         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
9680         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
9681         not supported anymore.
9682         (gtk_signal_compat_matched): new internal function to aid
9683         implementation of the compatibility macros, it  provides
9684         functionality to block/unblock/disconnect handlers based
9685         on func/data.
9686
9687         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
9688
9689         * *.c: adaptions to new type registration API signatures.
9690
9691 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
9692
9693         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
9694
9695 2000-10-25  Robert Brady  <robert@suse.co.uk>
9696
9697         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
9698         gdk_property_delete): If window == NULL, assume the root window.
9699         (restoring the behaviour that was in 1.2).
9700         
9701         * gtk/testtext.c (save_buffer): Allow creation of new files when
9702         saving.
9703
9704         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
9705         calls to read().
9706
9707 2000-10-25  Tor Lillqvist  <tml@iki.fi>
9708
9709         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
9710
9711         * gdk/win32/gdkdrawable-win32.c
9712         * gdk/win32/gdkimage-win32.c
9713         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
9714         X11 backend.
9715
9716         * gdk/win32/gdkcc-win32.c
9717         * gdk/win32/gdkcolor-win32.c
9718         * gdk/win32/gdkfont-win32.c
9719         * gdk/win32/gdkinput-win32.c
9720         * gdk/win32/gdkmain-win32.c
9721         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
9722
9723 2000-10-24  Havoc Pennington  <hp@redhat.com>
9724
9725         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
9726         it a static function
9727
9728         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
9729         redraw text when a tag is applied to it.
9730
9731         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
9732         (gtk_text_tag_affects_nonsize_appearance): private functions to
9733         see if a tag requires various kinds of redraw/layout to be queued
9734         up.
9735
9736         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
9737
9738         * gtk/testtext.c (fill_example_buffer): Put the cursor 
9739         at the start of the buffer, so search works by default
9740
9741         * gtk/gtktextiter.c (lines_match): init match_start always
9742
9743         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
9744         function, get iter at a line + a byte index
9745
9746         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
9747         to set byte position within a line
9748         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
9749
9750 2000-10-23  Havoc Pennington  <hp@redhat.com>
9751
9752         * gtk/testtext.c: Re-enable the "find" dialog
9753
9754         * gtk/testgtk.c: Add test for gdk_drawable_get_image
9755         
9756         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
9757         the arguments to gdk_draw_drawable were in the wrong order
9758         (gdk_window_paint_init_bg): This function was ignoring the
9759         init_region, instead of clipping to it, so the entire backing
9760         pixmap was cleared on every begin_paint()
9761         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
9762         was in here again, the loop kept using the same GtkWindowPaint
9763         over and over.
9764         (gdk_window_begin_paint_region): Fix a bug where we had two
9765         x_offset instead of x_offset and y_offset
9766
9767         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
9768         before we get the image.
9769         (gdk_draw_drawable): get the composite before we draw the drawable.
9770         (gdk_drawable_real_get_composite_drawable): default
9771         get_composite_drawable implementation that returns the drawable 
9772         itself
9773
9774         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
9775         get_composite_drawable virtual function
9776
9777         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
9778         list-walking bug
9779
9780         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
9781         make this work if the source drawable is a GdkDrawableImplX11
9782         instead of a public drawable type. This is really broken; the
9783         problem is that GdkDrawable needs a virtual method get_xid(), but
9784         of course that doesn't work in practice. Enter RTTI.
9785
9786         Also, improve mismatched depth message.
9787
9788         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
9789         GdkPixmap
9790
9791         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
9792         install _gdk_x11_get_image as our implementation of get_image
9793         
9794         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
9795         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
9796
9797         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
9798         gdk_drawable_get_image
9799
9800         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
9801
9802         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
9803         get_image
9804
9805         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
9806         trailing semicolon after for loop
9807
9808 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
9809
9810         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
9811         where font_desc for widget's context lagged widget's font_desc by
9812         one step.
9813
9814 2000-10-22  Tor Lillqvist  <tml@iki.fi>
9815
9816         * gdk/win32/gdkgc-win32.c
9817         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
9818
9819         * gtk/makefile.mingw.in
9820         * gtk/gtk.def: Updates.
9821
9822         * gtk/testgtk.c: sleep() is called _sleep in MS's C
9823         library.
9824
9825         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
9826
9827         * gtk/makefile.msc: Remove
9828
9829         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
9830
9831         * gtk/Makefile.am: Add it.
9832
9833         * configure.in: Generate it.
9834
9835         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
9836         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
9837         something even if not implemented, to satisfy picky MSVC.
9838
9839         Patches by Hans Breuer:
9840         
9841         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
9842         SetBkMode() and SetTextAlign() before calling
9843         pango_win32_render().
9844
9845         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
9846         Set hcliprgn to NULL after destroying it.
9847         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
9848
9849         * gdk/win32/gdkgeometry-win32.c
9850         (_gdk_windowing_window_queue_antiexpose): More effective
9851         implementation.
9852
9853         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
9854         depth as default, not the visual's.
9855
9856         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
9857         against empty title.
9858
9859         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
9860         IMAGE_PRIVATE_DATA.
9861
9862         * gdk/win32/gdkimage-win32.c: Use it.
9863
9864 2000-10-22  Robert Brady  <robert@suse.co.uk>
9865
9866         * configure.in: Check for bind_textdomain_codeset
9867
9868         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
9869         present, make use of it.
9870
9871         Add a translatable string "default:LTR" which, if translated
9872         to "default:RTL", will cause the default direction to be
9873         Right-to-Left.
9874
9875         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
9876         direction if marked as flippable.
9877
9878         * gtk/gtkhscale.c: Mark widget as flippable.
9879         
9880 2000-10-04  Havoc Pennington  <hp@redhat.com>
9881
9882         * gtk/testgtk.c (create_buttons): create some stock buttons
9883         with the default accel group
9884         (create_image): test some new GtkImage features
9885         (make_message_dialog): test GtkMessageDialog
9886         (create_modal_window): fix someone's bizzarro indentation
9887
9888         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
9889         GTK_WIN_POS_CENTER_ON_PARENT. 
9890         Add "destroy with parent" setting, which means the window goes
9891         away with its transient parent.
9892         (gtk_window_get_default_accel_group): get the default accel group
9893         for the window.
9894         (gtk_window_set_destroy_with_parent): set/unset destroy with
9895         parent flag
9896         (gtk_window_read_rcfiles): invalidate icon set caches
9897         after reloading rcfiles 
9898
9899         * gtk/gtkenums.h (GtkWindowPosition): add
9900         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
9901         on its parent window when the dialog is mapped for the first time.
9902
9903         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
9904         a simple message dialog class
9905         
9906         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
9907         handler to emit response signal, and maybe later it would
9908         honor a hide_on_delete flag - though that isn't there yet.
9909         Set border width on the vbox to 2, so we get some padding.      
9910         Use a button box for the action area.
9911         (gtk_dialog_key_press): synthesize a delete event if Esc
9912         is pressed and the GtkWidget key press handler didn't 
9913         handle the escape key.
9914         (gtk_dialog_new_with_buttons): new function creates a dialog
9915         with some default buttons in it.
9916         (gtk_dialog_add_action_widget): add an activatable widget
9917         as a button in the dialog - you can also add a non-activatable
9918         widget by accessing the action area directly.
9919         (gtk_dialog_add_button): add a simple button - stock ID or 
9920         label - to the action area
9921         (gtk_dialog_response): emit response signal
9922         (gtk_dialog_run): block waiting for the dialog, return 
9923         the response. Override normal delete_event behavior, so that 
9924         delete_event does nothing inside gtk_dialog_run().
9925
9926         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
9927         emitted when an action widget is clicked or the dialog gets
9928         delete_event
9929
9930         * gtk/gtk.h: add gtkmessagedialog.h
9931
9932         * gtk/Makefile.am: add gtkmessagedialog.[hc]
9933
9934 2000-10-18  Havoc Pennington  <hp@redhat.com>
9935
9936         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
9937         where any number of empty lines would get skipped
9938
9939         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
9940         edge.
9941
9942         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
9943         warning about invalid iterators (explain more thoroughly)
9944         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
9945
9946         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
9947         big
9948
9949         * demos/*.c: Add error handling
9950
9951         * gtk/gtktextbuffer.c: don't modify const iterators
9952
9953         * gtk/gdk-pixbuf-loader.c: Add full error handling here
9954
9955         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
9956         on file load
9957
9958         * gtk/gtkiconfactory.c: Update to reflect addition of error
9959         handling to gdk-pixbuf loaders
9960
9961 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
9962
9963         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
9964         move to new modularized testgtk.
9965
9966 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
9967
9968         * gtk/gtktreeview.c: Draw the arrows correctly.
9969
9970         * gtk/gtktreemodel.c: Added user docs.
9971
9972         * gtk/gtk.h: remove gtktreedatalist.h.
9973
9974         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
9975         parent when generating my type.
9976
9977         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
9978         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
9979
9980 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
9981
9982         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
9983         GtkTreeModel from object to interface.
9984
9985 2000-10-16  Havoc Pennington  <hp@redhat.com>
9986
9987         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
9988         compilation
9989
9990 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
9991
9992         * gtk/gtktreeselection.c: Add API documentation to all public
9993         functions.
9994
9995         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
9996         functions.
9997
9998 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
9999
10000         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
10001         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
10002         docs to all public functions.
10003
10004         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
10005         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
10006         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
10007         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
10008         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
10009         issue.
10010
10011 2000-10-14  Robert Brady  <robert@suse.co.uk>
10012
10013         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
10014
10015 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
10016
10017         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
10018         values other then G_TYPE_STRING.
10019         * gtk/gtktreeselection.c: Minor commenting updates.
10020         * gtk/gtktreeview.c: Format updates.
10021
10022 2000-10-09  Tor Lillqvist  <tml@iki.fi>
10023
10024         * README.win32: Update.
10025
10026         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
10027         lines that had been deleted by mistake (?).
10028
10029         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
10030         also the case fg==white and bg==black (but still not randomly
10031         coloured cursors). Thanks to Wolfgang Sourdeau.
10032
10033         * gdk/win32/*.c: Silence gcc -Wall.
10034
10035         * gtk/gtk.def: Add missing entry points.
10036
10037         Fixes by Hans Breuer:
10038
10039         * gdk/makefile.msc
10040         * gdk/win32/makefile.msc: Update.
10041
10042         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
10043         some MSVC thing, presumably), cause breakpoint on failures. Add
10044         GDK_NOR case. Call g_log_set_always_fatal.
10045
10046         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
10047         should be pased by reference.
10048         
10049         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
10050         
10051         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
10052
10053         * gdk/win32/gdkevents-win32.c
10054         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
10055
10056         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
10057         implementation object.
10058
10059         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
10060         not just windows.
10061         
10062         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
10063         Use the wrapper object.
10064         
10065 2000-10-06  Havoc Pennington  <hp@redhat.com>
10066
10067         * Makefile.am (SRC_SUBDIRS): contrib subdir
10068
10069         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
10070         so it can be used in Xlib version
10071
10072         * demos/testpixbuf.c (update_timeout): error checking from 1.0
10073         tree
10074
10075         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
10076         change from 1.0 tree that returns first frame of animation
10077         if the loaded file is an animation.
10078
10079         * contrib: add new directory to hold stuff that comes with GTK+
10080         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
10081         
10082         * configure.in: add contrib/*
10083
10084 2000-10-05  Havoc Pennington  <hp@redhat.com>
10085
10086         * demos/testpixbuf-save.c: add pixbuf save test
10087
10088         * demos/Makefile.am: add testpixbuf-save.c
10089
10090 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
10091
10092         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
10093         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
10094         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
10095         * gtk/gtktreeselection.[ch]: Replaced
10096         "node_selected"/"node_unselected" signal with "selection_changed"
10097         signal.
10098
10099 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
10100
10101         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
10102         tree widget.
10103
10104 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
10105
10106         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
10107         drawing.
10108
10109 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
10110
10111         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
10112         Move list pointer forwards before removing item from
10113         list. (Crash reported by Salmaso Raffaele)
10114
10115         * gdk/gdkwindow.h: Remove spurious trailing ,
10116
10117         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
10118         dependencies on uninstalled libraries, sorry folks.
10119
10120 2000-10-04  Havoc Pennington  <hp@redhat.com>
10121
10122         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
10123         gtk/gtkiconfactory.c: Fix copyrights    
10124
10125         * demos/testpixbuf.c: add inline pixbuf test
10126         
10127 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
10128
10129         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
10130         Add gdk_window_iconify.
10131
10132         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
10133         (gdk_window_set_geometry_hints): Add win_gravity
10134         to geometry structure.
10135
10136         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
10137         Implement _NET_WM_PING.
10138
10139         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
10140         Set _NET_WM_PID on the client leader.
10141
10142         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
10143         Handle UTF-8 better.
10144
10145         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
10146         UTF-8 better, set _NET_WM_NAME as well. Only set
10147         icon name if it hasn't previously been explicitely 
10148         set.
10149
10150 2000-10-03  Havoc Pennington  <hp@redhat.com>
10151
10152         * gtk/testtextbuffer.c: clean up trailing whitespace,
10153         add extensive tests for tag toggle iteration.
10154         
10155         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
10156         distance
10157
10158         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
10159         optimize case where the tag root is on level 1
10160         (gtk_text_line_previous_could_contain_tag): attempt to implement
10161         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
10162         functionality
10163
10164         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
10165         Implement this, though not very efficiently.
10166
10167         * gtk/gtktextiterprivate.h: reformat
10168
10169         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
10170         iterator
10171
10172         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
10173         this to properly revalidate the iterators.
10174
10175         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
10176         properly at the end of the line (and therefore on empty lines)
10177
10178         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
10179         maybe we should return a value...
10180
10181 2000-10-03  Tor Lillqvist  <tml@iki.fi>
10182
10183         * config.h.win32: Guard definition of alloca(). glib.h now handles
10184         that.
10185
10186         * gdk/gdk.def
10187         * gtk/gtk.def: Add new entry points.
10188
10189         Changes just to make GTK+ build without errors on Win32. No hope
10190         of it working in its current state, though...:
10191         
10192         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
10193         some functions from the X11 backend, just to make GTK+ build.
10194
10195         * gdk/makefile.mingw.in
10196         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
10197         number. Add new object files.
10198
10199         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
10200         GetMessageTime to get timestamp (where on X11 uses
10201         gdk_x11_get_server_time()).
10202
10203 2000-10-02  Havoc Pennington  <hp@pobox.com>
10204
10205         * gtk/gtktextview.c: text_window_* weren't static and should have
10206         been.
10207         Start work on child widgets; not yet complete, syncing to 
10208         office computer.
10209
10210         * gtk/gtktextchild.h: change this to contain a public interface,
10211         starting work on child interfaces.
10212         * gtk/gtktextchildprivate.h: move private interfaces here
10213
10214         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
10215
10216         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
10217         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
10218         gtk/gtktextmark.c: copyright notices
10219
10220         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
10221         internal functions      
10222
10223         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
10224         internal function
10225
10226         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
10227         Reformatting    
10228
10229 2000-09-30  Havoc Pennington  <hp@pobox.com>
10230
10231         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
10232         NULL start/end pointers
10233
10234         * gtk/gtktextbuffer.c: Write some docs
10235         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
10236         NULL, so you can just check whether there's a selection.        
10237
10238         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
10239         cleanup_line or segments_changed ourselves, it gets done 
10240         in unlink_segment
10241
10242         * gtk/gtktextmark.h:
10243         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
10244         
10245         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
10246
10247         * gtk/gtktextmark.c: delete some more old Tk cruft
10248
10249         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
10250         mark before removing it, so we can emit MARK_DELETED with a valid
10251         pointer.
10252         (gtk_text_buffer_mark_set): hold ref across signal emission
10253
10254         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
10255         whining about attempts to delete special marks
10256
10257         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
10258         underscore, since it's internal.
10259
10260         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
10261         now implemented in terms of iterators in gtktextiter.h
10262
10263         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
10264         New function, destructively sets contents of buffer. Also 
10265         a convenient way to clear the buffer by setting text to ""
10266
10267         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
10268         multiline string literal
10269
10270         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
10271         text changes.
10272
10273         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
10274         is not dereferenceable
10275         (gtk_text_iter_forward_lines): fix return value
10276
10277 2000-09-29  Havoc Pennington  <hp@redhat.com>
10278
10279         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
10280
10281         * gtk/gtktextview.c: Implement drag thresholding; change functions 
10282         that set border window size to have nicer name
10283         (gtk_text_view_mark_set_handler):  Fix this to have the 
10284         right signature.
10285
10286         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
10287
10288         * gtk/testtext.c: Update with API changes, put line numbers on 
10289         both sides.
10290         
10291         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
10292         with this
10293
10294         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
10295         pixbuf; delete a big block of #if 0 Tk code
10296
10297         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
10298         insert_pixmap with insert_pixbuf
10299
10300 2000-09-29  Martin Baulig  <baulig@suse.de>
10301
10302         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
10303         confusion with the GdkPixbuf of the GNOME 1.x platform.
10304
10305 2000-09-29  Havoc Pennington  <hp@pobox.com>
10306
10307         * gtk/gtktextview.c: Implement the side windows.
10308
10309         * gtk/testtext.c: Implement simple line numbering in the 
10310         left side window; seems to make scrolling sloooow. Oops.
10311         Also, cursor blink is for some reason causing redraws
10312         of the line numbers. Should investigate...
10313
10314 2000-09-28  Havoc Pennington  <hp@redhat.com>
10315
10316         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
10317         scrolling child windows, and draw focus rectangle properly.
10318         
10319         (gtk_text_view_buffer_to_window_coords):
10320         Coordinate transformation to deal with all these freaking windows
10321         and offsets
10322         (gtk_text_view_window_to_buffer_coords): transform the other way
10323
10324         * gtk/testtext.c (create_buffer): Update to match Pango API change
10325
10326         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
10327         anonymous tags
10328         (foreach_unref): don't emit remove signal from finalize, just
10329         set tag's parent to NULL
10330
10331 2000-09-26  Havoc Pennington  <hp@redhat.com>
10332
10333         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
10334         Fix some warnings       
10335
10336 2000-09-26  Havoc Pennington  <hp@redhat.com>
10337
10338         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
10339         headers into the private header list
10340
10341         * Makefile.am (pkgconfig_DATA): install pkg-config files
10342
10343         * configure.in: add pkg-config files
10344
10345         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
10346
10347         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
10348         outstanding icon caches on theme change.
10349
10350         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
10351         important types:
10352
10353         (GtkIconSource): Specification for creating a pixbuf 
10354         appropriate for a direction/state/size triplet from 
10355         a source pixbuf or filename
10356
10357         (GtkIconSet): List of GtkIconSource objects that are used to
10358         create the "same" icon (e.g. an OK button icon), and cache for
10359         rendered icons
10360
10361         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
10362         up the icon set for a given stock ID.  GTK maintains a stack of
10363         GtkIconFactory to search, and applications or libraries can add
10364         additional icon factories on top of the stack
10365         
10366         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
10367         the set of GtkIconSource specified for a given stock ID into 
10368         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
10369         RcStyle, under the specified stock ID.
10370
10371         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
10372         render_icon used to derive a GdkPixbuf from a GtkIconSource.
10373         This allows people to theme how prelight, insensitive, etc. are
10374         done.
10375
10376         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
10377         icon factories for a style, and return the resulting 
10378         icon set if any.
10379
10380         (gtk_style_render_icon): Render an icon using the render_icon 
10381         method in the GtkStyleClass.
10382
10383         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
10384         Use the style for a given widget to look up a stock ID, get the
10385         icon set, and render an icon using the render_icon method 
10386         of the style
10387
10388         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
10389         (contains information about a stock item), the built-in stock item
10390         IDs, and functions to add/lookup stock items.
10391
10392         * gtk/stock-icons/*: Stock icons that come with GTK
10393
10394         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
10395         a button based on a GtkStockItem
10396         (gtk_button_new_accel): Takes a uline string and accel group, and
10397         installs the accelerator.
10398
10399         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
10400         image-display widget.
10401
10402 2000-09-25  Havoc Pennington  <hp@redhat.com>
10403
10404         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
10405
10406         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
10407         Fix a bug when removing node data, we didn't properly 
10408         re-splice the linked list after removing the data.
10409
10410         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
10411         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
10412
10413         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
10414
10415         * gtk/gtktextlayout.c (set_para_values): Set tab array 
10416         for the layout from the GtkTextTag.
10417
10418         * gtk/gtktexttypes.h: delete tab and search cruft, 
10419         remove g_convert() in favor of GLib version
10420
10421         * gtk/gtktexttypes.c: remove tab implementation from here,
10422         move to Pango
10423
10424         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
10425         tab stuff using new PangoTabArray from Pango
10426
10427         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
10428         unused border_width stuff
10429
10430 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
10431
10432         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
10433         glib) and now useless utf_to_latin1() latin1_to_utf()
10434
10435         * gtk/gtktextview.[ch]: Change ::move_insert and
10436         ::delete_text action signals to ::move and ::delete;
10437         create the signals with the right enumeration type,
10438         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
10439         C-v bindings, change Home, End to move to beginning/end
10440         of line, Add C-Home C-End to move to beginning/end
10441         of buffer. Change ::cut_text to ::cut_clipboard, etc;
10442         combine ::scroll_text into ::move; use new GtkSelectionData
10443         functions to simplify DND text handling.
10444         
10445         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
10446         deletion enumerations here, rename enumeration values to 
10447         be consistently plural.
10448
10449         * gtk/gtktextbuffer.c: Use new clipboard interfaces
10450         for cut/copy/paste and primary selection.
10451
10452         * gtk/gtktextbuffer.[ch]: Remove excess time and
10453         'interactive' arguments from cut/copy/paste;
10454         rename cut to cut_clipboard, etc; remove
10455         gtk_text_buffer_get_clipboard_contents().
10456
10457         * gtk/gtktextlayout.[ch]: Add 
10458         gtk_text_layout_move_iter_to_line_end() to move the iter to 
10459         line ends.
10460
10461         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
10462         Functions to set or get a UTF-8 string on the selection
10463         data.
10464
10465         * gtk/gtkclipboard.[ch]: New, simplified selection handling
10466         interfaces.
10467
10468         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
10469         created widgets - one of these is useless if we don't.
10470
10471         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
10472         a public function clear all targets registered for the
10473         widget.
10474
10475         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
10476         Never call gtk_widget_realize() - that was just asking
10477         for bizarre side-effects.
10478
10479         * gtk/gtkselection.c (gtk_selection_owner_set): Call
10480         gdk_selection_owner_set even if the widget is the
10481         same so that we reliably update the timestamp on
10482         the server.
10483
10484         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
10485         gdk_x11_get_server_time() function.
10486         
10487         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
10488         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
10489         Add some tricky filtering on serial numbers for
10490         selection clear events to fix up long-standard
10491         race condition FIXME's in gtkselection.c.
10492
10493         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
10494         routines to convert from utf8 to compound text or
10495         STRING and from a text property to UTF-8.
10496
10497         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
10498         a convenience function gdk_get_current_event_time().
10499
10500         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
10501         and free selection_data->data properly
10502
10503 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
10504
10505         * gtk/gtkthemes.c: Remove some unecessary includes.
10506
10507 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
10508
10509         * gtk/gtktextdisplay.c
10510         * gtk/gtktextlayout.c
10511         * gtk/gtktexttag.c
10512         * gtk/gtktexttag.h
10513         * gtk/testtext.c: Change the overstrike property to strikethrough,
10514         to closer match pango.
10515
10516 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
10517
10518         * gtk/gtktextview.c: Fix up visibility so that focus,
10519         cursor_visible and blink interact properly.  Reenable cursor blink
10520         which had been roughly disabled. Make blink and focus
10521         properly per-view.
10522
10523         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
10524         Add a flag for whether to display insertion cursor and
10525         a function to set the flag.
10526
10527         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
10528         get_line_y() to get_line_yrange(), to be a bit more generally
10529         useful.
10530
10531 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
10532
10533         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
10534           do stop_navigating_submenu, to clear last timeout properly.
10535           Also in gtk_menu_motion_notify move ignore_enter above
10536           the conditional to make it always happen as suggested by Owen
10537
10538 2000-09-07  Tor Lillqvist  <tml@iki.fi>
10539
10540         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
10541
10542         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
10543         w32api headers.
10544
10545         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
10546         declarations.
10547
10548         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
10549         (gdk_win32_get_colormap): A line had been deleted by mistake.
10550
10551         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
10552         (gdk_event_translate): Handle more virtual keycodes to be able to
10553         generate GDK events for Control-comma, Control-period, etc.
10554
10555         * gtk/gtk.def: Add some missing entry points.
10556
10557 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
10558
10559         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
10560         Doc comment fixing. (Mostly non-matching parameter names.)
10561
10562         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
10563         comments a little to avoid looking like a doc comment.
10564
10565         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
10566         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
10567         conversions be changed to GError?)
10568
10569         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
10570         Move private #defines into .c file.
10571
10572         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
10573         order of argument addition, remove duplicates.
10574
10575         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
10576         parent class is FrameClass, not BinClass.
10577
10578         * gtk/gtk.h: Add gtkinvisible, which was missing.
10579         (It's occasionalyl useful for client apps, if seldom.)
10580
10581         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
10582         #define.
10583
10584 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
10585
10586         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
10587         coordinates when creating window, instead of GDK-space
10588         coordinates. (Avoid BadValue on too large windows.)
10589
10590 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
10591
10592         * configure.in (use_mmx_asm): Remove conftest* after use along the
10593         lines of AC_TRY_COMPILE.        
10594         
10595         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
10596         of g_dirname, which is deprecated.
10597         (gtk_rc_parse_any): Removed calls to
10598         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
10599
10600         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
10601         Removed calls to g_hash_table_{freeze,thaw}, as they are
10602         deprecated now.
10603
10604         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
10605         instead of g_basename.
10606         
10607 2000-09-04 Elliot Lee <sopwith@redhat.com>
10608         
10609         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
10610         ANSI warning.
10611
10612 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
10613
10614         * gtk/gtkwidget.h:  Add some documenting comments about 
10615           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
10616           just as owen said on irc.
10617
10618         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
10619           set HAS_DEFAULT.  Only set it if there isn't another window
10620           holding it (a focus window which RECEIVES_DEFAULT) and only unset
10621           it if the widget is not the focused window with RECEIVES_DEFAULT.
10622           This fixes weird double default bugs in dialogs which has things
10623           call gtk_window_set_default at times.
10624
10625 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
10626
10627         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
10628         Nils Barth and David Santiago to improve submenu
10629         navigation. The patch does this by creating a triangular
10630         region from the point where the pointer leaves the
10631         menu to the submenu.  While the pointer is in
10632         that region and a timeout has not expired, events 
10633         that would cause the active submenu to change are
10634         ignored.
10635
10636 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
10637
10638         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
10639         moving a toplevel window immediately after sizing it would
10640         result in it being sized back to the old size since 
10641         impl->width, impl->height aren't updated until we hear
10642         back from the server. There is still a (longstanding) bug
10643         here that gdk_window_get_size() will give the wrong size
10644         until we do hear back.
10645
10646 2000-08-31  Havoc Pennington  <hp@redhat.com>
10647
10648         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
10649         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
10650         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
10651         Rename GtkTextStyleValues to GtkTextAttributes
10652
10653 2000-08-31  Havoc Pennington  <hp@pobox.com>
10654
10655         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
10656         for rapid testing whether an iterator is the end iterator
10657         (gtk_text_btree_new): init end line cache
10658         (gtk_text_line_is_last): use fast cached line to 
10659         see if we're the last line.
10660         (get_last_line): use cached line here too, should 
10661         speed up some random unrelated code.
10662         
10663 2000-08-30  Havoc Pennington  <hp@pobox.com>
10664
10665         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
10666         signals.
10667
10668         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
10669         delete_text signals. This allows the signals to be used for
10670         implementing undo.
10671
10672         * gtk/gtktextbuffer.c: Change signal handler signatures; 
10673         provide "interactive" argument when emitting insert_text or
10674         delete_text signal.
10675         
10676 2000-08-30  Havoc Pennington  <hp@pobox.com>
10677
10678         * gtk/gtktextbuffer.c: Docs
10679
10680 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
10681
10682         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
10683         from switch statements, since Tor removed the enumeration
10684         value.
10685         
10686         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
10687         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
10688
10689 2000-08-29 Elliot Lee <sopwith@redhat.com>
10690         * */*.h: Use G_GNUC_CONST.
10691
10692 2000-08-27  Havoc Pennington  <hp@pobox.com>
10693
10694         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
10695         minor indentation fixes, inserted some FIXME about stuff I
10696         realized was broken while documenting it.
10697         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
10698         GTK convention  
10699
10700 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
10701
10702         * gtk/testgtk.c (create_styles): Fix double free of
10703         font desc.
10704
10705 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10706
10707         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
10708         
10709         * gtk/testgtk.c (create_styles): Add a test for modifying
10710         the style through gtk_widget_modify_*.
10711
10712         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
10713         a function to get the current modifier style.
10714
10715         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
10716         of the passed in GtkRcStyle instead of ref'ing it.
10717
10718         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
10719
10720 2000-08-20  Tor Lillqvist  <tml@iki.fi>
10721
10722         * gdk/gdkimage.h
10723         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
10724         shared memory image+pixmap GdkImage type, or
10725         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
10726         I am dropping that.
10727
10728         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
10729         actually call gtk_init_abi_check(), passing also
10730         sizeof(GtkWindow). Ditto for gtk_init_check(). 
10731
10732         * gtk/gtk.def
10733         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
10734         New functions, used to check that the GTK+-using code has been
10735         compiled using the correct compiler and switches. In particular,
10736         with gcc one has to use the -fnative-struct switch as GTK+ is
10737         compiled with that.
10738
10739 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
10740
10741         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
10742         ->prev fields when merging lists. (Found simultaneously
10743         by Pawel Salek and Jakub Jelinek)
10744
10745 2000-08-12  Tor Lillqvist  <tml@iki.fi>
10746
10747         * gdk/gdk.def
10748         * gtk/gtk.def: Add missing entries.
10749
10750         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
10751         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
10752
10753         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
10754         function. Dummy implementation at this point.
10755
10756         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
10757         rules. Undefine GTK_COMPILATION when compiling the test programs.
10758         
10759         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
10760
10761 2000-08-11  Tor Lillqvist  <tml@iki.fi>
10762
10763         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
10764         to convert back and forth from UTF-8 and the "system" (or "current
10765         locale") charset when necessary. Indentation/spacing cleanup.
10766
10767 2000-08-10  Havoc Pennington  <hp@redhat.com>
10768
10769         * Makefile.am (snapshot): Change the format of the snapshot
10770         version to match glib
10771
10772         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
10773         from EXTRA_DIST since it doesn't seem to exist
10774
10775 2000-08-10  Tor Lillqvist  <tml@iki.fi>
10776
10777         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
10778         version of the directory name (not the UTF-8 one) when building
10779         the path name to stat().
10780
10781 2000-08-03  Elliot Lee  <sopwith@redhat.com>
10782
10783         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
10784         PANGO_ATTR_SHAPE set.
10785
10786 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
10787
10788         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
10789         Peter Osterlund to simplify the code while keeping the
10790         functionality the same.
10791
10792 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
10793
10794         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
10795         is_viewable() test further inside the function, since removing the 
10796         window from the redraw list without clearing ->update_area
10797         was also very broken.
10798
10799 2000-08-02  Tor Lillqvist  <tml@iki.fi>
10800
10801         * configure.in: Check for <unistd.h>.
10802
10803 2000-08-01  Martin Baulig  <baulig@suse.de>
10804
10805         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
10806         to display the message that this is a development version of GTK+.
10807
10808 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
10809
10810         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
10811         was depending on widget->allocation instead of the width of text_area,
10812         which was incorrect for subclasses like GtkSpinButton.
10813
10814         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
10815         with width == 1 tests that should be width == -1.
10816
10817 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
10818
10819         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
10820         (broken, Elliot, every single window blank on X) custom code with call
10821         to gdk_window_is_viewable() which a) prevents code duplicate and
10822         b) works. 
10823
10824 2000-07-31  Elliot Lee  <sopwith@redhat.com>
10825
10826         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
10827         to get the GDK_PARENT_ROOT() macro to work.
10828         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
10829         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
10830         of, windows that aren't shown.
10831         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
10832         pointer grab stuff.
10833
10834 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
10835
10836         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
10837           s/gtk_main_iteration/g_main_iteration/
10838
10839           Did this already in change:
10840                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
10841           don't know how it got reverted.
10842
10843 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
10844
10845         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
10846         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
10847
10848         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
10849         not gdk_pixbuf.
10850
10851 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
10852
10853         * configure.in,po/{sp,sr}.po: Added Serbian files
10854
10855 2000-07-30  Tor Lillqvist  <tml@iki.fi>
10856
10857         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
10858
10859         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
10860         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
10861         GIOChannel implementation.
10862
10863         * gdk/win32/gdkinput.c
10864         * gdk/win32/gdkpango-win32.c: Update license name here, too.
10865
10866         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
10867         definition to match prototype.
10868
10869         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
10870
10871 2000-07-27  Elliot Lee  <sopwith@redhat.com>
10872
10873         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
10874         function, to allow handling image formats that cannot be detected
10875         by looking at content alone.
10876
10877 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
10878
10879         * docs/tutorial/*.gif *.jpg *.eps
10880           Update these to the same look-n-feel.
10881           Why does including images in DocBook suck so badly?
10882
10883 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
10884
10885         * gtk/gtktable.c: applied patch from Phil Thompson
10886         <phil@river-bank.demon.co.uk> that enables space settings for
10887         the last row/columns as well.
10888
10889 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
10890
10891         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
10892         updates the license headers to the GNU Lesser General Public License,
10893         as well as updating the copyright year to 2000.
10894
10895 2000-07-26  Robert Brady  <rwb197@zepler.org>
10896
10897         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
10898           and po/Makefile, was installing and looking for them under gtk20
10899           and gtk2 respectively.
10900
10901 2000-07-25  Havoc Pennington  <hp@redhat.com>
10902
10903         * gtk/testtext.c: Comment out some stuff that depends on the rest
10904         of my patches.
10905
10906 2000-07-25  Havoc Pennington  <hp@redhat.com>
10907
10908         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
10909         buffer
10910
10911 2000-07-25  Havoc Pennington  <hp@redhat.com>
10912
10913         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
10914         widget changes.
10915
10916         * gtk/gtktextview.h: To be consistent with usage of "line"
10917         throughout the API to mean "newline-terminated thingy", change
10918         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
10919         to MOVEMENT_LINE.
10920
10921         (GtkTextView): Add flags for default editability, and whether to
10922         show the cursor. Add functions to get/set that. Add 
10923
10924         (gtk_text_view_get_iter_location): new function
10925
10926         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
10927         gtktextlayout.h
10928         (g_convert): Add g_convert temporarily, will go in glib in a bit
10929         
10930         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
10931         GtkTextTagTableForeach instead of brokenly using GHFunc.
10932         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
10933
10934         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
10935         moved to public header.
10936
10937         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
10938         "invisible", since "elide" was a bad name.
10939         (gtk_text_tag_get_priority): Added
10940
10941         (GtkTextStyleValues): put this in public header, along with
10942         functions to use it.
10943
10944         * gtk/gtktextmarkprivate.h: Include more headers, since we no
10945         longer include gtktextbtree.h.
10946
10947         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
10948         gtk_text_mark_deleted
10949
10950         * gtk/gtktextlayout.h: Don't include the "really private" headers,
10951         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
10952         to make this possible. Now we only need to install
10953         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
10954         (However the Makefile.am isn't changed yet because of the
10955         logistics of merging gtk-hp-patches piecemeal)
10956
10957         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
10958         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
10959         gtk_text_iter_get_line is now used in the public API for a
10960         different purpose.
10961
10962         * gtk/gtktextiter.h: Clean up function names to be more
10963         consistent. Always call char offset "offset" and byte index
10964         "index". A "line" is always a line number. 
10965
10966         (gtk_text_iter_is_last): new function, more efficient than 
10967         the existing way to check
10968         (gtk_text_iter_is_first): new function, also more efficient
10969
10970         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
10971
10972         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
10973         gtk_text_iter_forward_char, etc.
10974
10975         (gtk_text_iter_forward_to_tag_toggle): Renamed from
10976         forward_find_tag_toggle, since this isn't a linear search
10977
10978         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
10979
10980         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
10981         New functions, search for a buffer substring.
10982
10983         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
10984         interactive and default editable (since we need to store that info
10985         until we receive the selection data).
10986
10987         Remove all the _at_char and at_line etc. versions of functions;
10988         only have iterator versions.
10989
10990         Add _interactive() versions of functions, that consider the
10991         editability of text. (FIXME add interactive flag to the 
10992         insert/delete signals per Darin's suggestion)
10993
10994         (gtk_text_buffer_get_tag_table): new function, demand-creates the
10995         tag table if necessary
10996
10997         Remove declaration of gtk_text_buffer_get_iter_from_string
10998
10999         (_gtk_text_buffer_get_btree): private/internal function, added.
11000         
11001
11002         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
11003         (gtk_text_line_is_last): new function
11004
11005 2000-07-25  Havoc Pennington  <hp@redhat.com>
11006
11007         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
11008         using GtkProgressBar. See Changes-2.0.txt for details.
11009
11010         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
11011         "pulse_step" which are the equivalent of
11012         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
11013         Implement new API.
11014         
11015         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
11016         (use_text_format) to mark whether text set on the progress bar is
11017         a format string. Deprecate entire GtkProgress interface.
11018
11019         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
11020         (gtk_progress_build_string): make this a no-op if use_text_format
11021         is FALSE
11022
11023         * docs/Changes-2.0.txt: Describe progress bar changes.
11024
11025 2000-07-25  Tor Lillqvist  <tml@iki.fi>
11026
11027         * Makefile.am: Include the build directory.
11028
11029         * configure.in: Generate build/Makefile, build/win32/Makefile,
11030         gdk/, gdk/win32/, and gtk/makefile.mingw.
11031
11032         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
11033         Add GETTEXT_PACKAGE.
11034         
11035         * gdk/gdk.def
11036         * gtk/gtk.def: Updates.
11037
11038         * gdk/gdkfont.h
11039         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
11040         need them any longer.
11041
11042         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
11043
11044         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
11045         PANGOWIN32_LIBS and gdk_pixbuf.
11046
11047         * gdk/win32: Compiles, but no doubt doesn't work at all.
11048
11049         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
11050
11051         * gdk/win32/gdkinput.c: New file, temporarily.
11052         
11053         * gdk/win32/gdkinput-win32.h: New file
11054
11055         * gdk/win32/gdkinputprivate.h: Remove.
11056
11057         * gdk/win32/gdkpango-win32.c: New file.
11058
11059         * gtk/makefile.mingw.in: New file
11060
11061         * gtk/makefile.cygwin: Removed
11062         
11063         * gtk/Makefile.am: Update accordingly.
11064
11065         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
11066         made externally visible.
11067
11068         * gtk/gtkmain.c: Use it.
11069         
11070         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
11071         is enough.
11072
11073         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
11074
11075 2000-07-24 Elliot Lee <sopwith@redhat.com>
11076         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
11077         individual backends already.
11078         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
11079         again. Yes, there really is a good reason for this, if you are using the gdkregion
11080         internals, and if you're not, why do you care?
11081         * gdk/gdkwindow.c: Fix inverted condition
11082         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
11083         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
11084         * gtk/gtkrange.c: Redraw trough when moving.
11085         * gtk/gtktypeutils.c: Fix warning by adding const cast.
11086         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
11087
11088 2000-07-23  Tor Lillqvist  <tml@iki.fi>
11089
11090         * configure.in: Check for mkstemp and sigsetjmp. Output
11091         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
11092
11093         More work on GDK for Win32. Still in an intermediate state.
11094
11095         * gdk/makefile.cygwin
11096         * gdk/win32/makefile.cygwin: Removed.
11097         
11098         * gdk/makefile.mingw.in
11099         * gdk/win32/makefile.mingw.in: New files.
11100
11101         * gdk/Makefile.am
11102         * gdk/win32/Makefile.am: Generate and distribute them.
11103
11104         * gdk/win32/gdkwindow-win32.h
11105         * gdk/win32/gdkdrawable-win32.h
11106         * gdk/win32/gdkpixmap-win32.h: New files.
11107
11108         * gdk/win32/gdkcolor-win32.c
11109         * gdk/win32/gdkcursor-win32.c
11110         * gdk/win32/gdkdrawable-win32.c
11111         * gdk/win32/gdkgc-win32.c
11112         * gdk/win32/gdkimage-win32.c
11113         * gdk/win32/gdkprivate-win32.h
11114         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
11115         Rename fields and variables called xcursor, xid, etc (these names
11116         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
11117
11118 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
11119
11120         * gtk/gtkentry.[ch]: Fix some problems with vertical
11121         alignment.
11122
11123         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
11124         char/byte confusion.
11125
11126 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
11127
11128         * gtk/gtktextview.c (changed_handler): Fix bug where
11129         redraw wasn't being done properly when height of
11130         dirty region changed.
11131
11132         * demos/Makefile.am: Remove various references to
11133         -lgmodule
11134
11135 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
11136
11137         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
11138         PangoAttrShape to reserve space for pixmaps, add 
11139         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
11140         in the display functions.
11141         
11142         * gtk/testgtk.c (create_layout): Set some more exotic
11143         scrolled window options
11144
11145         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
11146         Add function to set the shadow type of a window, to allow
11147         putting a shadow around widgets such as GtkLayout or GnomeCanvas
11148         which don't draw their own frame.
11149
11150 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
11151
11152         * docs/tutorial/package-db-tutorial.sh: New file for
11153           packaging DocBook format tutorial
11154
11155 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
11156
11157         * docs/tutorial/gtk-tut.sgml: Minor updates
11158
11159         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
11160
11161 2000-07-19  Tor Lillqvist  <tml@iki.fi>
11162
11163         * gtk/gtksignal.c: Fix C++ comment.
11164
11165         * gtk/gtkimmulticontext.c
11166         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
11167         don't return value from void functions.
11168
11169         * gtk/gtk.def: Add gtk_rc_style_unref.
11170
11171 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
11172
11173         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
11174         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
11175         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
11176         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
11177         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
11178         gtk/gtktypeutils.h: Include files outside of the extern "C"
11179         block. Makes some C++ compiler happy. Reported by Denis Vakatov
11180         <vakatov@peony.nlm.nih.gov>.
11181
11182 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
11183
11184         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
11185           Completes first pass. Hurrah!
11186
11187 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
11188
11189         * docs/tutorial/gtk-tut.sgml: More clean ups.
11190
11191 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
11192
11193         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
11194         paint the background of the text area which was accidentally
11195         removed at some point.
11196
11197         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
11198           
11199          - Move most of the functionality from the theme vtable
11200            into GtkRcStyleClass and GtkStyleClass. The moved
11201            vtable functions were changed a bit in the move to
11202            work better in their new home.
11203
11204          - Get rid of the engine and engine_data fields from
11205            GtkRcStyle and GtkStyle; instead the theme
11206            engine derives theme-specific subclasses of GtkRcStyle
11207            and GtkStyle
11208
11209          - Add extra dlsym() found entry point to themes,
11210            theme_create_rc_style().
11211
11212         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
11213         in gtk_style_real_copy.
11214
11215         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
11216         to register a type associated with an engine. (The engine
11217         won't be unloaded as there is an instance of the type.)
11218
11219
11220 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
11221
11222         * docs/tutorial/gtk-tut.sgml: Clean ups.
11223
11224 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
11225
11226         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
11227           of cleaning up to do.
11228
11229 2000-07-15  Tor Lillqvist  <tml@iki.fi>
11230
11231         * gdk/testgdk.c: New file, quick hack to test backends for
11232         pixel-by-pixel correctness of the most simple graphic operations.
11233
11234 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
11235
11236         * Really release 1.3.1
11237         
11238         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
11239         include structure.
11240
11241 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
11242
11243         * Released 1.3.1
11244
11245 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
11246
11247         * gtk/gtktextlayout.c: use FALSE for size_only most
11248         of the time when calling gtk_text_layout_get_line_display()
11249         to avoid causing double reshapes when a redraw follows
11250         immediately after.
11251
11252 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
11253
11254         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
11255         appropriate region and gdk_window_process_updates() so trough
11256         updating doesn't lag behind the window being scrolled.
11257
11258         * gdk/gdkgc.c: Make parent_class pointer static.
11259          
11260 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
11261
11262         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
11263         include <string.h>.
11264          
11265         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
11266         cut-and-paste error in computing memory offset for 4 channels.
11267
11268 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
11269
11270         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
11271         gtk_rc_append_default_pixmap_path(), since it wasn't
11272         adding an interesting path and we don't have a meaningful
11273         default for this value.
11274
11275 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
11276
11277         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
11278         gtk-config to gtk-config-2.0 move gtk_.m4 to
11279         gtk-2.0.m4
11280
11281         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
11282         gdk/Makefile.am demos/Makefile.am: Change 
11283         library names to libgtk-1.3.la, etc, so that we
11284         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
11285
11286         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
11287         gdk/Makefile.am gdk/x11/Makfile.am
11288         Move include files into /usr/include/gtk-2.0, 
11289         /usr/lib/gtk-2.0/include/
11290          
11291         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
11292         gtk/gtkintl.h: Change package for gettext from 
11293         gtk+ to gtk20. Put hack in autogen.sh to modify
11294         po/Makefile.in.in after gettextize to make this
11295         possible.
11296
11297         * gtk+.spec: Some updates, not tested.
11298
11299         * gdk-pixbuf/Makefile.am: Move loaders into
11300         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
11301
11302         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
11303         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
11304         to THEMENAME/gtk-2.0/. Move engine directory  to
11305         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
11306         
11307 2000-07-12  Tor Lillqvist  <tml@iki.fi>
11308
11309         Win32 changes, still doesn't build though.
11310
11311         * gdk/makefile.cygwin
11312         * gdk/win32/makefile.cygwin
11313         * gtk/makefile.cygwin: Updates.
11314
11315         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
11316         default values for fg and bg pixel as X11 does (0 and 1), not
11317         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
11318         Use 0 for pen width by default (treated as 1 anyway later, but for
11319         apps that might check the value in the GdkGC).
11320         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
11321         interface to gdk_gc_predraw and _postdraw.
11322
11323         * gdk/win32/gdkwin32.h
11324         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
11325
11326         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
11327         extraneous semicolon.
11328
11329         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
11330
11331         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
11332         not the Win32 bitspixel value.
11333
11334         * gdk/win32/gdkcc-win32.c:
11335         * gdk/win32/gdkcolor-win32.c 
11336         * gdk/win32/gdkprivate-win32.h
11337         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
11338         GDK object structure.
11339
11340 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
11341
11342         * docs/tutorial/gtk_tut_12.es.sgml (name): 
11343         * docs/tutorial/gtk_tut_it.sgml (name): 
11344         * docs/tutorial/gtk_tut_fr.sgml (name): 
11345         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
11346         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
11347
11348 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
11349
11350         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
11351           small changes.
11352
11353 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
11354
11355         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
11356         a bug here, never been here and never fixed anything ;(
11357         (don't segfault if tree->root_tree is NULL, which happens prior
11358         to widget realization, but puke instead).
11359
11360 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
11361
11362         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
11363         add the necessary tokens.
11364
11365         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
11366         (gtk_rc_style_to_style): copy thicknesses.
11367         (gtk_rc_init_style): apply thicknesses.
11368         (gtk_rc_parse_style): parse xthickness and ythickness.
11369
11370         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
11371
11372         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
11373         (gdk_window_new): 
11374         (_gdk_windowing_window_init): 
11375         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
11376         (gdk_pixmap_create_from_data): 
11377         (gdk_bitmap_create_from_data): 
11378         (gdk_pixmap_new): 
11379         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
11380         (gdk_image_new): 
11381         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
11382         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
11383         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
11384         (gdk_colormap_get_system): 
11385         (gdk_colormap_new): 
11386         * gdk/gdkwindow.c (gdk_window_init): 
11387         * gtk/gtkstyle.c (gtk_style_new):
11388         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
11389         * gdk/gdkpixmap.c (gdk_pixmap_init): 
11390         * gtk/gtkrc.c (gtk_rc_style_new):
11391         use g_object_new() instead of g_type_create_instance() which
11392         is a private function for fundamental type implementations.
11393
11394 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
11395
11396         * configure.in: Add check for db2html
11397
11398 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
11399
11400         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
11401         hack to set glib_debug_objects based on gtk_debug_flags.
11402
11403 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
11404
11405         * INSTALL.in: Update the Prerequisites section.
11406
11407         * Makefile.am demos/Makefile.am docs/Makefile.am
11408         docs/tutorial/Makefile.am gdk/x11/Makefile.am
11409         gdk/linux-fb/Makefile.am: Dist fixes
11410
11411 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
11412
11413         * NEWS: 10,000 foot view of 1.3.1 changes.
11414
11415 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
11416
11417         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
11418         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
11419         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
11420         gdk/x11/gdkmain-x11.c: 
11421
11422         Patch from George Lebl to add a GdkGrabStatus enumeration to use
11423         as a return value of gdk_*_grab(). Previously, we just
11424         returned the X11 values directly.
11425
11426 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
11427
11428         * gdk/x11/Makefile.am: Patch from George Lebl to 
11429         install all the headers in the right place.
11430
11431 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
11432
11433         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
11434           initial conversion to DocBook.
11435
11436 2000-07-04  Tor Lillqvist  <tml@iki.fi>
11437
11438         * README.win32: Improve a bit.
11439
11440         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
11441         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
11442         Alt+0nnn on the numpad (used to enter characters by numeric code
11443         from current DOS or ANSI codepage) working correctly, as in other
11444         Windows apps.
11445
11446         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
11447         same argument validity tests as in X11 version.
11448         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
11449
11450         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
11451         definitions in case missing from headers.
11452
11453         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
11454         destroy the window-specific cursor.
11455         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
11456         calling GetModuleHandle(NULL).
11457         (gdk_window_set_cursor): Reworked to always copy the passed cursor
11458         with CopyCursor before setting it as the window-specific
11459         cursor. It is OK for the caller to destroy the GdkCursor (and thus
11460         also its Windows cursor) after calling this function. Destroy any
11461         previous window-specific cursor.
11462
11463 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
11464
11465         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
11466         font charset is iso8859-1, not iso-8859-1.
11467
11468 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
11469
11470         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
11471         Use g_get_charset() instead of g_get_codeset().
11472
11473         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
11474         Comment out some strdup'ing functions to keep timj
11475         happy until we finish fighting this out.
11476
11477 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
11478
11479         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
11480         <= width or height.
11481
11482         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
11483         from 1.2 for parent/child states.
11484
11485         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
11486         of typos.
11487
11488         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
11489         event structures, replace with a generic axes field. Replace 
11490         deviceid/sourec with GdkDevice *device.
11491
11492         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
11493         to extract particular axis use value from event. (Also
11494         can be used for normal X/Y.)
11495
11496         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
11497         allow for arbitrary number of axes, namespace everything
11498         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
11499         everywhere.
11500
11501         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
11502         Get rid of the gdk_input_vtable setup if favor of simply
11503         defining the functions in gdkinput-none/gxi/xfree.c in
11504         a similar fashion to the way that the port structure is 
11505         done.
11506
11507         * gtk/gtkdnd.c: Fix fields of synthesized button press event
11508         for new event structures. 
11509
11510         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
11511         new device interfaces.
11512
11513 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
11514
11515         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
11516         set the initial text.
11517
11518         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
11519         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
11520         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
11521         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
11522
11523         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
11524         pango_layout_set_font_description to simplify.
11525
11526 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
11527
11528         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
11529         pango_layout_set_font_description to simplify.
11530
11531 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
11532
11533         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
11534         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
11535         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
11536
11537         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
11538         PANGO_PIXELS() macro.
11539
11540 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
11541
11542         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
11543         that returns a PangoContext owned by the widget and updated to
11544         match future changes in the widget. Also, make 
11545         gtk_widget_create_pango_layout() use this context. If we ever
11546         add a ::changed signal to PangoContext, this will make things
11547         much more convenient. 
11548
11549         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
11550         in the appropriate places instead of destroying the layouts and
11551         creating new ones.
11552
11553         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
11554         in a few strategic places.
11555
11556 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
11557
11558         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
11559         gtk_widget_size_request() on reparented child, if one. Otherwise,
11560         queue_resize() on the child never results in it getting size-requested
11561         at all.
11562
11563         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
11564         in option menus, so that (with luck) people won't copy it into
11565         their apps in the future.
11566
11567         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
11568         to gtk_option_menu_calc_size. This isn't perfect, but should fix
11569         a lot of problems with changing the size of the menu's menu
11570         items after adding it to the option menu.
11571
11572         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
11573
11574         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
11575         the text direction for a widget changes.
11576
11577         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
11578         ::direction_changed to get rid of various hacks.
11579
11580 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
11581
11582         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
11583         name.
11584
11585 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
11586
11587         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
11588         flag to the structure. Do not call XFreePixmap on pixmaps created
11589         by gdk_pixmap_foreign_new().
11590
11591 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
11592
11593         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
11594         value using GdkRGB functionality given GdkColormap and GdkColor.
11595         (name not final, waiting for inspiration.)
11596         
11597         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
11598         set the foreground/background of a GC using the GC's colormap
11599         and GdkRGB. (name not final, waiting for inspiration.)
11600
11601         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
11602         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
11603
11604         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
11605         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
11606         purely a function of the corresponding colormap. Make
11607         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
11608
11609         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
11610         gdk_pixbuf_*create_from_xpm_* in terms of
11611         gdk_pixbuf_new_from_xpm_data(), move into platform independent
11612         code.
11613
11614         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
11615         advantage of the new draw_rgb_32_image_dithalign.
11616
11617         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
11618
11619         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
11620         on each created GC.
11621
11622         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
11623
11624         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
11625         which we initialize from the drawable when the GC is created,
11626         if the drawable has a colormap.
11627
11628         * gdk/x11/gdkgc-x11.c: include string.h for memset.
11629
11630         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
11631
11632         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
11633
11634 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
11635
11636         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
11637         actually returning expose events, make sure to set
11638         the count field properly.
11639
11640         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
11641         accidentally reintroced bug which always cleared
11642         the graphics_exposures value. 
11643
11644 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
11645
11646         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
11647
11648 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
11649
11650         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
11651
11652 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
11653
11654         * docs/faq/gtk-faq.sgml: Start of Section 6.
11655
11656 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
11657
11658         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
11659         
11660         (Fixes problem with drawing childless frames. Pointed out
11661         by and a first patch from Anders)
11662         
11663         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
11664         compute a child_allocation, even if we don't have a child.
11665
11666         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
11667         Always chain to the parent's impl, even if we don't have a child.
11668
11669 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11670
11671         * gdk/gdkrgb.c: If possible, create only a single shm segment and
11672         use multiple parts of it instead of creating a bunch of separate
11673         segments, since the maximum number of segments per system is not
11674         large. (This might be worth backporting to GTK+-1.2.x if we make a
11675         new release )
11676
11677         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
11678         structure in preparation for per-colormap GdkRGB.
11679
11680         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
11681         to False when we get EINVAL from shmget so that the caller of
11682         gdk_image_new can retry with a smaller segment size.
11683
11684 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
11685
11686         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
11687
11688 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
11689
11690         * configure.in: make the current version number 1.3.1 (binary age 0,
11691         interface age 0).
11692         
11693         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
11694         gtkcompat.h is all we want.
11695
11696         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
11697         GLib primitive types. fixed g_type_register_fundamental() argument
11698         ordering.
11699
11700         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
11701         compiles.
11702
11703         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
11704         object code cleanup, comment trigraph fixes, etc...
11705
11706 2000-06-23  Havoc Pennington  <hp@redhat.com>
11707
11708         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
11709         instead of making up a bogus name for first_para_mark
11710
11711         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
11712         0 as a context ID
11713
11714 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
11715
11716         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
11717
11718 2000-06-21  Havoc Pennington  <hp@pobox.com>
11719
11720         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
11721         we didn't check window->bg_pixmap != GDK_NO_BG.
11722
11723         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
11724         gdk-pixbuf
11725
11726 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
11727
11728         * docs/faq/gtk-faq.sgm: Move file to here.
11729           TODO: Update Makfile.am 
11730
11731 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
11732
11733         * docs/gtk-faq.sgm: Add Section 2
11734
11735 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
11736
11737         * docs/gtk-faq.sgm: New file. Start of DocBook
11738           version of the FAQ.
11739
11740 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
11741
11742         * configure.in (GDK_PIXBUF_MAJOR): Define version
11743         numbers for GDK_PIXBUF_*, as they get substituted
11744         into a header file. Need to consider versioning
11745         for gdk-pixbuf more carefully later.
11746
11747 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
11748
11749         Work with srcdir != builddir.   
11750         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
11751         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
11752         * demos/testpixbuf.c: Likewise.
11753         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
11754         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
11755         <gdk/x11/gdkx.h>.
11756         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
11757         "gdk-pixbuf.h".
11758         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
11759
11760 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
11761
11762         * TODO.xml: Change 1.4 version numbers to 2.0.
11763
11764 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
11765
11766         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
11767         fixups to GTK+ standard.
11768
11769 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
11770
11771         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
11772         gdk-pixbuf.
11773
11774         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
11775         fixups for GObject.
11776
11777         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
11778         gdk-pixbuf with GDK dependencies moved into GDK.
11779         
11780         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
11781         move gdk-pixbuf-loader here until GObject has signals.
11782
11783         * demos/: New directory of demos. Move demos from
11784         gdk-pixbuf here.
11785
11786         * demos/pixbuf-init.c: Small bit of code to check for
11787         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
11788         set GDK_PIXBUF_MODULEDIR appropriately.
11789
11790         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
11791         define which no longer makes sense.
11792
11793 2000-06-21  Havoc Pennington  <hp@redhat.com>
11794
11795         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
11796         gtk_get_default_language
11797
11798         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
11799         new function to get the default language
11800
11801         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
11802         s/gtk_text_view_style_values/gtk_text_style_values/
11803
11804         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
11805         Add a "language" field to tags.
11806
11807         (gtk_text_tag_set_arg): Fix bug in setting
11808         "bg_full_height_set" tag.
11809
11810 2000-06-21  Havoc Pennington  <hp@redhat.com>
11811
11812         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
11813         in the interfaces
11814
11815         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
11816         stuff instead when possible.
11817
11818         * gtk/gtktexttypes.h: Delete some unused constants
11819
11820         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
11821         testtextbuffer.c: use glib instead of custom unicode routines
11822
11823 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
11824
11825         * docs/es/: Removed mistakenly added generated sgml
11826
11827         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
11828         Remove outdated info files.
11829
11830         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
11831         Moved tutorial files into subdir
11832
11833         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
11834         subdir.
11835
11836         * docs/man/gtk_button.pod: Remove. (contents will be
11837         integrated into gtk-reference button page.)
11838
11839         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
11840         docs/faq/Makefile.am: Adjust for new organization
11841
11842 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
11843
11844         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
11845         not $(MKINSTALLDIRS)
11846
11847 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
11848
11849         * gtk/testgtk.c (create_text): Finish the job Elliot started
11850         of removing font setting test for text widget. (Since text widget
11851         and GdkFont are not deprecated, and cause portability problems.)
11852
11853 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
11854
11855         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
11856         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
11857         Remove use of libunicode in favor of new GLib functions.
11858
11859         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
11860         nano-x, framebuffer. The X11 include is just a hack until we get
11861         the necessary functions in gdkcolor.h, so there is no reason to
11862         add other includes of platforms.
11863
11864         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
11865         window bigger than the screen change.
11866
11867         * gtk/testgtk.c: Revert some random changes from Elliot
11868         that had no particular point and were causing testgtkrc
11869         not to function correctly.
11870         
11871         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
11872         because GdkSegment and GdkRegionBox have the same fields,
11873         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
11874         results in clearer code.
11875
11876         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
11877         gdk_input_translate_coordinates): Fix missed GdkObjectification
11878
11879 2000-06-18  Elliot Lee  <sopwith@redhat.com>
11880
11881         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
11882         * gtk/gtk{plug,socket}.h: Missed commits from previous.
11883
11884 2000-06-20  Havoc Pennington  <hp@redhat.com>
11885
11886         * modules/linux-fb/Makefile.am: Make this compile
11887         without framebuffer enabled
11888
11889         * gdk/linux-fb/Makefile.am: Add conditional to not build
11890         framebuffer unless specified in configure
11891
11892         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
11893         the size of the target instead of source if -1 was passed for
11894         width/height
11895
11896         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
11897         width/height confusion.
11898
11899 2000-06-19  Havoc Pennington  <hp@redhat.com>
11900
11901         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
11902         GDK_DRAWABLE_XID. In the future, we probably want to make it
11903         faster with G_DISABLE_CHECKS turned on.
11904
11905 2000-06-14  Havoc Pennington  <hp@redhat.com>
11906
11907         * gdk/Makefile.am: add gdkpixmap.c
11908
11909         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
11910         s/gdk_image_init/_gdk_windowing_image_init
11911
11912         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
11913         ref/unref
11914
11915         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
11916
11917         * gdk/gdkcompat.h: remove GdkWindowType compat, since
11918         GdkWindowType is now non-deprecated; 
11919         change gdk_window_get_type() compat to be
11920         gdk_window_get_window_type().
11921
11922         * gdk/gdkdnd.h: make GdkDragContext a GObject.
11923
11924         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
11925         virtual GObject. Make all functions call into the vtable.
11926         Move gdk_image_put() guts in here. Remove GdkDrawableType
11927         and gdk_drawable_get_type(), these are now GdkWindow-specific.
11928         draw_image, get_depth, get_size, set_colormap, get_colormap,
11929         get_visual added to the vtable.
11930         
11931         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
11932         GObject. Virtualize everything. 
11933         (gdk_gc_new_with_values): remove check for destroyed window,
11934         because now GdkWindow::create_gc will check this.
11935         (gdk_gc_set_values): New function to set GC values, this 
11936         was already implemented but wasn't in the header
11937
11938         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
11939
11940         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
11941         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
11942         remove _gdk_window_class; add _gdk_window_impl_get_type() and
11943         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
11944         _gdk_windowing_window_init, rename gdk_image_init to
11945         _gdk_windowing_image_init.
11946         
11947         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
11948         (gdk_draw_layout): Remove check for destroyed window, 
11949         because all the drawable methods already check it.
11950         
11951         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
11952         Add gdkpixmap.c which contains implementation of GdkDrawable
11953         virtual table (by chaining to a platform-specific implementation
11954         object).
11955         
11956         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
11957         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
11958         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
11959         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
11960         GdkColormapPrivate. 
11961
11962         * gdk/gdktypes.h: #include <glib-object.h>
11963
11964         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
11965         Move most functionality to platform-specific implementation
11966         object. GdkWindow itself now handles the backing store, then
11967         chains to the platform-specific implementation.
11968         (gdk_window_get_window_type): return GdkWindowType of the window.
11969         (gdk_window_peek_children): New routine, returns the children of 
11970         a GdkWindow
11971         (gdk_window_get_children): Was in X11-specific code and did 
11972         XQueryTree. Changed to simply return a copy of window->children; 
11973         so it can go in cross-platform code.
11974         
11975         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
11976
11977         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
11978         GdkColormap; just changed to use the new private data instead
11979         of casting to GdkColormapPrivate.
11980
11981         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
11982         gdk_cursor_new().
11983
11984         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
11985         (private data member in the GObject). 
11986         (xdnd_manager_source_filter): Function had broken 
11987         error handling, fix it (use gdk_error_trap_push).
11988
11989         * gdk/x11/gdkdrawable-x11.c: This file now implements
11990         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
11991         base class is purely for the convenience of the X port,
11992         and not part of the interface to cross-platform GDK.
11993
11994         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
11995         
11996         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
11997         specific to X, and returned by the create_gc virtual method
11998         of GdkDrawableImplX11. 
11999         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
12000         rather than gchar, this was also changed in the GdkGC vtable.
12001         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
12002         mask is 0, return immediately, instead of checking every flag.
12003         This is faster, and keeps us from segfaulting if values is NULL
12004         and the mask contains some nonzero flags.
12005
12006         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
12007         GdkWindow.
12008
12009         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
12010         GdkWindowPrivate is gone.
12011
12012         * gdk/x11/gdkim-x11.c: rename things that got renamed.
12013
12014         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
12015         remove the image_put stuff that got transferred to GdkDrawable.
12016         
12017         * gdk/x11/gdkinput.c: renamings
12018
12019         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
12020
12021         * gdk/x11/gdkpixmap-x11.c: GObject conversion
12022
12023         * gdk/x11/gdkprivate-x11.h: indentation fixes
12024
12025         * gdk/x11/gdkproperty-x11.c: renamings
12026
12027         * gdk/x11/gdkselection-x11.c: renamings
12028
12029         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
12030         implements the platform-specific "impl" object.
12031         Moved gdk_window_get_children to gdk/gdkwindow.c
12032
12033         * gdk/x11/gdkx.h: Remove all the private structs and private datas
12034         that no longer exist. Add declaration of GdkGCX11 object here.
12035         Fix all the macros to still work. 
12036
12037         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
12038         GdkDragContext from the boxed types since they are now GObjects.
12039
12040         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
12041         moved xthickness/ythickness into the instance. GtkStyleClass
12042         functions are now in the standard vtable for GtkStyle, so you have
12043         to create a GObject subclass to write a theme engine.
12044         (gtk_style_copy): fixed a leaked PangoFontDescription
12045         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
12046         can be the standard GObject function.
12047         
12048         * Throughout GTK:
12049         s/style->klass->[xy]thickness/style->[xy]thickness
12050         s/pango_layout_unref/g_object_unref/
12051
12052         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
12053         
12054         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
12055         accessing GDK internals.
12056
12057         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
12058         accessing GDK internals.
12059
12060 2000-06-18  Elliot Lee  <sopwith@redhat.com>
12061
12062         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
12063
12064         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
12065         problem by calculating event position relative to the trough
12066         rather than the slider.
12067         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
12068
12069         * gdk/gdkgc.h: Add GDK_NOR.
12070
12071         * configure.in, Makefile.am: Add modules top level dir
12072         * configure.in: Only use pangox library if building x11 target.
12073         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
12074
12075 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
12076
12077         * gtk/gtkcolorsel.c: Change private class member to be named
12078         private_data throughout the file.
12079
12080         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
12081         private_data to avoid clashing with keyword.
12082
12083 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
12084
12085         * gdk/gdkdnd.h: Add comment to remove warning.
12086
12087 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
12088
12089         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
12090         Byelorussian language; changed the Makefile and file names 
12091         to reflect that.
12092
12093 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
12094
12095         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
12096         rather than gdk_window_hide; this makes things work
12097         correctly if the window is programmatically hidden while
12098         iconified.
12099
12100 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
12101
12102         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
12103         cut and paste typo where wrong pixmap was being
12104         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
12105
12106 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
12107
12108         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
12109         Add helper function to compute format / bytes 
12110         relationship. Use in a couple places to fix up
12111         errors which assume 8 * format.
12112
12113         * gtk/gtkselection.c (gtk_selection_request): Use 32
12114         rather than 8 * sizeof (GdkAtom), to work correctly
12115         on Alpha.
12116
12117 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
12118
12119         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
12120         libgtk.la
12121         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
12122         versions
12123
12124         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
12125         checking macros return NULL since the function has a return value.
12126
12127 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
12128
12129         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
12130         GTK+ from building at all.
12131
12132         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
12133
12134 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
12135
12136         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
12137         gtk/Makefile.am: make it possible to configure gtk for different
12138         targets on the same platform. The library name is now 
12139         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
12140         flag. Only the x11 target compiles right now.
12141         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
12142         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
12143         * gdk/nanox/gdk*generic*: delete generic region code.
12144         * gdk/linux-fb/gdk*generic*: delete generic region code.
12145         * README.nanox: update information.
12146         
12147 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
12148
12149         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
12150         prepend not append. (Pointed out by Brett Hall.)
12151
12152 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
12153
12154         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
12155
12156 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
12157
12158         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
12159         need this later, and this makes sure that the atexit for
12160         glib gets called after that for GDK, so atexits are
12161         properly ordered for object leak checking.
12162
12163         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
12164
12165         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
12166         pango_x_shutdown_display()
12167
12168         * gtk/simple.c (main): Close window on destroy.
12169
12170 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
12171
12172         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
12173         to treat initial creation different from setting with 
12174         regards to the graphics-exposures parameter, so add a parameter
12175         indicating whether this is initial or not.
12176
12177 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
12178
12179         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
12180         to sort of work by adding an extra return_exposes arg
12181         to gdk_event_translate() - it might be better to simply
12182         deprecate the function altogether and force people to rewrite
12183         without it. gdk_window_scroll() handles most of it, and where
12184         gdk_window_scroll() doesn't work, simply redrawing more does.
12185
12186         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
12187         assertion.
12188
12189         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
12190
12191         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
12192         bunch of pretty much useless /* Print debugging info */ comments 
12193         which had drifted away from the code they were commenting.
12194
12195 2000-06-02  Havoc Pennington  <hp@pobox.com>
12196
12197         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
12198         is in working order.
12199         
12200         * gtk/testtext.c: Change to reflect anonymous mark API
12201
12202         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
12203
12204         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
12205         field, which was unused.
12206
12207         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
12208         saves some typing.
12209
12210         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
12211
12212         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
12213         flag on the insertion point and selection bound
12214
12215         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
12216         make mark-manipulation functions take a GtkTextMark* instead of a
12217         mark name.
12218         
12219         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
12220         GtkTextMarkBody; will be used to detect attempts to delete
12221         the permanent marks (insert and selection bound)
12222
12223         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
12224
12225 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
12226
12227         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
12228         flag to on.
12229
12230         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
12231         Honor DOUBLE_BUFFRED_FLAG
12232
12233         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
12234         function to set the DOUBLE_BUFFERED flag.
12235
12236         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
12237         or not exposes done on the widget should be double-buffered.
12238
12239         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
12240         to be what would be expected. (Fixes problem with a
12241         g_return_if_fail() validating a TextDirection enumeration)
12242
12243 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
12244
12245         * gtk/gtkwidget.c: Remove all references to 
12246         offscreen flag which was no longer used.
12247
12248         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
12249
12250         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
12251         for non-null label_widget->parent.
12252
12253         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
12254         which no longer was used.
12255
12256         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
12257
12258         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
12259         for null arguments.
12260
12261         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
12262         check for destroyed windows.
12263
12264 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
12265
12266         * gtk/gtkimmulticontext.c: Add a finalize method and unref
12267         the slave context there.
12268
12269         * gtk/gtkinvisible.[ch]: Make reference counting behavior
12270         identical to GtkWindow.
12271
12272 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
12273
12274         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
12275         pangox to here, so we can write them independent of rendering
12276         system, using GDK primitives.
12277
12278         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
12279         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
12280         since we have a rendering-system independent implementation in
12281         terms of draw_glyphs().
12282         
12283         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
12284         function to render a single line.
12285
12286         * gdk/x11/gdkpango.c: Move the guts of this file mostly
12287         into ../gdkpango.c, which simplifies things, since we
12288         don't have to deal with raw X gc's.
12289
12290 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
12291
12292         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
12293         get the logical attributes for a given GtkTextLine.
12294
12295 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
12296
12297         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
12298         g_locale_get_codeset() to g_get_codeset() change.
12299
12300 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
12301
12302         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
12303         descriptions.
12304
12305         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
12306         the entry.
12307
12308         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
12309         redoing (vastly simplifying) for Pango. Still needs quite
12310         a bit of work. (Size selection is currently poor. List of 
12311         predefined sizes is not a good idea, since all of these
12312         sizes won't necessarily be distinct.)
12313
12314 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
12315
12316         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
12317         CODESET results for LANG=C.
12318
12319 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
12320
12321         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
12322         which takes a stringized pango font description;
12323         ignore the older 'font' and 'fontset' declarations.
12324
12325         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
12326         field with a GdkFont derived via gdk_font_from_description(),
12327         for compatibility. (Should we just remove it entirely?
12328         Probably too much compatibility breakage, but people
12329         should be migrating to the new Pango stuff as quickly
12330         as possible.)
12331
12332 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
12333
12334         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
12335
12336 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
12337
12338         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
12339         redoing; there are some bugs in size allocation right
12340         now, the semi-existant distinction between header / day
12341         fonts was removed, but, with Pango, could actually
12342         be made functional in a nice way.
12343         
12344         * gtk/testcalender: Move calender from examples into this
12345         directory as a test program. (We really need to restrcture
12346         testgtk into a whole directory full of tests for every
12347         widget or functionality group, separated into multiple .c
12348         files.)
12349
12350 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
12351
12352         * gtk/testgtk.c (file_exists): Fix stupid typo that
12353         was keeping RC file from being loaded.
12354
12355         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
12356         RC file font code.
12357
12358 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
12359
12360         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
12361         Add function to load a GdkFont from a PangoFontDescription.
12362
12363 2000-05-29  Tor Lillqvist  <tml@iki.fi>
12364
12365         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
12366         variable should be of type GdkEventPrivate.
12367
12368 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
12369
12370         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
12371         to have any widget for the label, use a GtkLabel widget
12372         to display the text. (Based partially on a patch from
12373         Anders Carlson.)
12374
12375         (Quite a bit of code reorganization - strip 90% of the
12376         guts out of gtkaspectframe and add a single virtual
12377         func to GtkFrameClass - compute_child_allocation.)
12378
12379 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
12380
12381         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
12382         (Removed clist->row_center_offset field because caching
12383         it wasn't saving time or code, added private function
12384         _gtk_clist_create_cell_layout()).
12385
12386 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
12387
12388         * gtk/gtkaccellabel.c: Pangoized.
12389
12390         * gtk/[hv]ruler.c: Pangoized
12391
12392 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
12393
12394         * gtk/gtkfilesel.c (gtk_file_selection_init):
12395         Use gtk_clist_set_column_auto_resize() to remove need
12396         need for manual column width computations.
12397
12398 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
12399
12400         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
12401         ensuring Pango correctness, and considerably simplifying the
12402         code.
12403         
12404         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
12405
12406         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
12407         getting of numbers of lines.
12408
12409         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
12410         to the actual requested width of the lable, not to the wrap
12411         width we set.
12412
12413         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
12414
12415         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
12416           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
12417
12418         * gtk/gtktextview.c: Fix structure inheritance.
12419
12420         * gtk/gtkprogressbar.c: Pangoize.
12421
12422 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
12423
12424         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
12425         in a function.
12426
12427         * gtk/gtktextlayout.c (find_display_line_above): Fixed
12428         bug with computing line tops.
12429
12430         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
12431
12432 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
12433
12434         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
12435         and y_offset coordinates to do what we need now. (The offset between
12436         buffer and layout coordinates has been reintroduced, but is a 
12437         bit different than before.)
12438
12439         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
12440         handle the adjustments ourselves, and scroll as necessary using
12441         the new gdk_window_scroll().
12442         
12443         The advantage of this is that when we are incrementally revalidating,
12444         we are essentially rearranging things around the visible portion
12445         of the screen. With the old setup, the visible portion of the
12446         screen was moved around in the layout, so scrolling and redrawing
12447         to track that caused jumping of the display. Since we now
12448         control the scrolling ourselves, we can suppress this and
12449         only redraw when things actually change.
12450
12451 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
12452
12453         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
12454         the region not just redisplay it after-all, since we store the
12455         cursors in the LineDisplay. (Ugly interactions here between
12456         GtkLayout and GtkTextBTree here.)
12457         
12458         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
12459
12460 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
12461
12462         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
12463         Added function to scroll contents of a window while keeping the
12464         window constant. Works by XCopyArea or guffaw-scrolling depending
12465         on the details of how the window is set up. (guffaw-scrolling
12466         still needs to be filled in.)
12467
12468 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
12469
12470         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
12471         move the debugging that was tied to a global variable
12472         to that.
12473
12474         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
12475
12476         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
12477         validated flag, in line data instead of setting height/width to
12478         -1. This allows us to perform operations with partially invalid
12479         buffer (using the old size for invalid lines) and thus to do
12480         incremental vaidation. Keep height/width aggregates up to date
12481         when deleting text and rebalancing the tree.
12482
12483         * gtk/gtktextbtree.[ch]: Add functions validate a line
12484         (gtk_text_btree_validate_line), and to validate up
12485         to a number of pixels (gtk_text_btree_validate).
12486
12487         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
12488         that indicates that something is changed and a revalidation
12489         pass is needed. Change ::need_repaint to ::changed, and
12490         make it take old and new yranges instead of a rectangle.
12491
12492         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
12493         the line_data_destroy() function from 
12494         gtk_text_btree_add_view() to a virtual function in 
12495         GtkTextLayout
12496
12497         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
12498         since we are handling partial repaints in a different fashion
12499         now.
12500
12501         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
12502         of the selection instead of queueing a repaint on the
12503         entire widget.
12504
12505         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
12506         get_selection_bounds() down to btree, make the function
12507         in buffer a wrapper around the btree function.
12508
12509         * gtk/gtktextlayout.[ch]: Add functions to check if the
12510         layout is valid and to recompute either a range of pixels
12511         aroudn a line or a certain total number of pixels.
12512
12513         * gtk/gtktextlayout.[ch]: Cache a single line display;
12514         now that we only redraw the needed portions, the hit rate
12515         for this cache is quite high.
12516         
12517         * gtk/gtktextview.[ch]: Keep track of the first paragraph
12518         on the screen so that when re-laying-out the buffer, we can
12519         keep the same place. This requires connecting to ::value_changed
12520         on the adjustments
12521
12522         * gtk/gtktextview.[ch]: Add idle functions to revalidate
12523         the buffer after we receive an ::invalidated signal.
12524         
12525 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
12526
12527         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
12528         to max of allocation and layout size, not just to the
12529         layout size.
12530
12531         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
12532         Invalidate window so it gets redrawn properly.
12533
12534         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
12535         to mean the entire window.
12536
12537         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
12538         into public header.
12539
12540 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
12541
12542         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
12543         to get the name of a mark.
12544
12545         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
12546         to find the paragraph from a y position.
12547
12548 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
12549
12550         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
12551         nodes have width/height >= 0, not > 0.
12552
12553 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
12554
12555         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
12556         Add a size_only flag, so when we only need the size, we don't create
12557         useless appearance attributes.
12558
12559         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
12560         duplicate setting of font description.
12561
12562         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
12563
12564 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
12565
12566         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
12567         EXTRA_DIST. It does not work well when the file that
12568         everything depends on is not in the tarball.
12569
12570 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
12571
12572         * gtk/testgtk.c: Some hacks and fixes so that it basically
12573         works when not sitting in the GTK+ build tree.
12574
12575 2000-05-03  Havoc Pennington  <hp@redhat.com>
12576
12577         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
12578         Properly determine the ordering of the tag root and the current
12579         line within the tree. Previous algorithm only worked if the tag
12580         root's immediate parent was the common root of both the current
12581         line and the tag root.
12582
12583 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
12584
12585         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
12586         alignment.
12587
12588         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
12589         the widget text directional dynamically.
12590
12591         * gtk/gtktextview.[ch]: Added functions to get and set default
12592         wrap mode.
12593
12594 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
12595
12596         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
12597         in cursor location computation.
12598
12599 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
12600
12601         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
12602         vadjusment values properly when layout gets smaller.
12603
12604         * gtk/gtktextview.c (need_repaint_handler): Areas being
12605         passed in are far completely inaccurate, and sometimes
12606         too small, so, for now, just queue a redraw on the
12607         whole visible region.
12608
12609 2000-04-25  Havoc Pennington  <hp@redhat.com>
12610
12611         * gtk/gtktextbtree.c (summary_destroy): new function to 
12612         destroy tag summary nodes
12613         (gtk_text_line_next_could_contain_tag): this function was 
12614         totally broken if the line passed in wasn't below the tag
12615         root. Fix it.
12616         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
12617         "wildcard" case, we have to do a linear scan. Blah.
12618         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
12619         we have to do the linear scan
12620         (tag_removed_cb): When a tag is removed from the tag table, 
12621         remove the GtkTextTagInfo node from the btree.
12622         (gtk_text_btree_spew): Implement the spew function, for 
12623         our debugging pleasure.
12624
12625 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
12626
12627         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
12628         a problem with referring to the wrong buffer.
12629
12630         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
12631
12632         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
12633         font description to gtk_style_new() - otherwise things
12634         don't work without a .gtkrc file.
12635
12636         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
12637         tags table if we create it ourself, too.
12638
12639         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
12640         it was conflicting with XKB modifiers.
12641
12642         * gtk/gtktextview.[ch]: Add simple support for 
12643         GtkIMContext.
12644
12645 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
12646
12647         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
12648         with deletion from last commit.
12649
12650 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
12651
12652         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
12653         in the context from the current locale.
12654         
12655         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
12656         context, not hardcoded value.
12657
12658         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
12659         not logical.
12660
12661 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
12662
12663         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
12664         attributes - that doesn't handle partial-glyph selection
12665         properly. Instead use new pango_layout_line_get_x_ranges()
12666         functionality to draw the selection.
12667
12668         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
12669         now properly handles out-of-range coordinates.
12670
12671         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
12672
12673         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
12674         public.
12675
12676         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
12677         for paragraphs opposite to the base direction of the widget.
12678
12679         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
12680
12681         * gtk/gtktextlayout.c: Don't split segments on marks, since that
12682         causes Arabic words to reshape as you cursor through.
12683
12684         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
12685         cursor position when moving vertically with the arrow keys and
12686         scrolling with page-up/page-down. (Arrow keys save only the X,
12687         scrolling saves both X and Y.)
12688
12689         This means you can line-up / line-down or page-up / page-down
12690         without losing your place, and also that moving vertically
12691         with the cursor keys keeps the same X position, not the same
12692         character count:
12693
12694         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
12695         arrow keys move by display lines, not paragraphs.
12696
12697 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
12698
12699         * gtk/gtklayout.c: Make sure that the bin window is at least
12700         as big as the allocation. (Should we also make sure that the
12701         bin window is big enough to completely cover widget->window?)
12702
12703         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
12704         function to get the onscreen rectangle.
12705
12706         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
12707         for offsets in window coordinates.
12708
12709 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
12710
12711         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
12712         confusion.
12713
12714         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
12715         from the widget direction.
12716
12717         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
12718         Add a "direction" attribute.
12719
12720         * gtk/gtktextview.c: global s/tkxt/text_view/.
12721
12722         * gtk/testtext.c: Added long block of text in Arabic, to test out
12723         the direction attributes. (Some problems with the shaping system
12724         for arabic become obvious - like the fact the cursor splits words
12725         into unjoined pieces.)
12726
12727 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
12728
12729         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
12730
12731         * gtk/gtktextlayout.c: Fix up alignment.
12732
12733         * gtk/testtext.c: Add some tests for centering, wrapping.
12734
12735 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
12736
12737         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
12738         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
12739         If we wrote GTK+-specific layout-render function this could just replace
12740         the draw_layout() operation in the vtable.
12741
12742         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
12743         pango_layout_get_cursor_pos() and use that function.
12744
12745         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
12746         is a non-static symbol.
12747
12748         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
12749         with gtk_text_btree_find_line_by_y()
12750
12751         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
12752         renderer that handles GtkTextAppearance attributes.
12753
12754         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
12755
12756           - Move the values in the style that don't affect geometry into a
12757             GtkTextAppearance structure.
12758           - Change underline to take a PangoUnderline and "font" a string
12759             representation of a font description
12760           - Add a "font_desc" attribute which takes a FontDescription structure.
12761
12762         * gtk/gtktextlayout.[ch]:
12763
12764           - Get rid of the display-line list per each line. Instead, we
12765             generate, on demand, a GtkTextLineDisplay structure which]
12766             contains a PangoLayout * and other necesary information
12767             (offsets, cursor locations) for displaying a paragraph.
12768           - Get rid of the code to wrap lines, create display chunks,
12769             etc. Instead, we just go through a paragraph and convert
12770             it into the necessary inputs to a PangoLayout.
12771           - Implement a new attribute type, GtkTextAttrAppearance. This
12772             holds a GtkTextAppearance, and is used to pass colors, 
12773             stipple, etc, through from the layout to the display without
12774             having to use lots and lots of individual attributes.
12775           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
12776             in terms of PangoLayout functions.
12777         
12778         * gtk/gtktextview.c: 
12779          
12780           - Handle passing the necessary PangoContext to the layout
12781           - Some fixups in painting to deal with the automatic backing store
12782             and offsetting of GTK+-1.4
12783           - Add a style_set handler so that the default style reacts
12784             properly to theme changes.
12785         
12786         * gtk/gtktext?*.[ch]: Random code-style fixes.
12787
12788         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
12789
12790 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
12791
12792         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
12793         in original form preparatory to Pango-ization and gdkimcontext-ization.
12794
12795 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
12796
12797         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
12798         so that we can derive from gtkimcontext in language bindings properly.
12799
12800 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
12801
12802         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
12803         Add a compose table including (almost) all the compose combinations
12804         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
12805         data in the XIM implementation.
12806
12807         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
12808         Moved functions to convert keyvalues from and to unicode here from
12809         the win32 port and made them public.
12810
12811 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
12812
12813         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
12814
12815 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
12816
12817         * gtk/gtkimcontext.[ch]: Base class for new input context system
12818
12819         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
12820         the real input context implementation to be loaded from modules
12821         and switched on the fly.
12822
12823         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
12824         context that just does direct keysymbol => unicode translation.
12825
12826         * gtk/gtkentry.[ch]: Start switching editing over to using
12827         GtkInputContext. (No handling of preedit yet.)
12828
12829 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
12830
12831         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
12832         many substitutions. (klass should not be subsituted.)
12833
12834 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
12835
12836         * configure.in: Add checks for Pango
12837
12838         * configure.in docs/Makefile.am: Add test for sgml2html
12839         and allow 'make dist' without building html, but print out
12840         warnings in that case. (For making snapshots)
12841
12842         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
12843         Add Pango libraries and C flags
12844
12845         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
12846         Add function (gdk_draw_layout) to draw a pango layout.
12847
12848         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
12849         for getting Pango contexts for GDK.
12850
12851         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
12852
12853         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
12854         editing.
12855
12856         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
12857         keysym => unicode translations. More languages can be added
12858         here, but real input-method support is needed.
12859
12860         * docs/Changes-1.4.txt: Added note about entry behavior.
12861         
12862         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
12863         to set the reading direction for a widget and the global direction.
12864         Add test which allows toggling the global direction. Two private
12865         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
12866
12867         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
12868           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
12869
12870         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
12871
12872         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
12873         underlining now handled by Pango.
12874
12875         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
12876         to RCStyle and Style. (Having both this and the old font name and GdkFont 
12877         is temporary.)
12878
12879         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
12880         convenience functions for creating contexts and layouts for widgets.
12881
12882         * gtk/testgtk.c: Enhance label tests with multilingual labels.
12883
12884 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
12885
12886         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
12887         titles to be active, even if they aren't visible.
12888         (gtk_clist_column_titles_passive):  Ditto.
12889
12890 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
12891
12892         * gtkmenu.c:
12893         * gtkmenu.h:
12894         * gtktypeutils.h: Spelling/grammar fixes in comments.
12895
12896 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
12897
12898         * gdk/nanox/*.h: add missing header files.
12899
12900 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
12901
12902         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
12903         send_event to TRUE.
12904         (gtk_drawing_area_size): queue a resize.
12905
12906 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
12907
12908         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
12909         the handlers, also invalidate them. bug nailed down by Karl Nelson
12910         <kenelson@ece.ucdavis.edu>.
12911
12912 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
12913
12914         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
12915         "(nil)" foundries, patch from Grigorios Magklis.
12916
12917         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
12918         on non-available fonts, based on a patch by Grigorios Magklis
12919         <maglis@cs.rochester.edu>.
12920
12921 2000-05-18  Elliot Lee  <sopwith@redhat.com>
12922
12923         * gdk/x11/gdkregion-generic.c: If a region does not have any
12924         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
12925         instead of GDK_OVERLAP_RECTANGLE_IN.
12926
12927 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
12928
12929         * gtk/gtklayout.c (gtk_layout_map): Remove references to
12930         OFFSCREEN, as it is no longer necessary.
12931
12932 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
12933
12934         * gtk/gtkcolorsel.c: Patch from David Santiago
12935         <mrcooger@cyberverse.com> to change things so that the 
12936         indicator of the active palette entry is done independently,
12937         not via the focus, since it should always be visible.
12938
12939 2000-05-17  Tor Lillqvist  <tml@iki.fi>
12940
12941         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
12942         refcount leaks as in the X11 backend.
12943
12944         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
12945         cosmetics.
12946
12947         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
12948         backend. Add _gdk_windowing_window_destroy().
12949
12950         * gtk/gtkcolorsel.c: Include correct backend-specific header.
12951         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
12952         either, but these probably do exist on nanox?)
12953         
12954         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
12955         which isn't necessarily defined by <math.h>.
12956
12957         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
12958         ancestry past GtkObject.
12959
12960         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
12961         from DLL on Win32.
12962
12963         * gtk/gtk.def: Update corresponding to recent changes.
12964
12965         * gtk/makefile.{cygwin,msc}: Updates.
12966
12967 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
12968
12969         * docs/Changes-1.4.txt: A bit of editing.
12970
12971         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
12972         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
12973         to clear the update area for the window, and clear it
12974         when hiding a window.
12975
12976         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
12977         if window destroyed.
12978
12979         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
12980
12981         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
12982         gdk_window_destroy() to the generic code, since there was a lot of 
12983         window-system-independent logic it in. Add a function:
12984         
12985          _gdk_window_destroy() 
12986
12987         to the internal API to destroy a window without unreferencing it.
12988         Add a function:
12989
12990          _gdk_windowing_window_destroy()
12991
12992         That does the windowing-system-dependent part of destroying 
12993         the window.
12994
12995 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
12996
12997         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
12998
12999 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
13000
13001         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
13002         Make gtk_widget_shape_combine_mask() keep a reference count on
13003         the pixmap since it keeps it around.
13004
13005 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
13006
13007         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
13008         leak.
13009
13010         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
13011         leak with event filters.
13012
13013 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
13014
13015         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
13016         signal handlers with the right data arguments. (Fixes
13017         some warnings when a widget was repeatedly set as a drag
13018         destination.)
13019
13020         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
13021         window so we can avoid avoid setting the DND properties on the
13022         toplevel window repeatedly.
13023
13024 2000-05-13  Tor Lillqvist  <tml@iki.fi>
13025
13026         * gdk/win32/gdkwin32.h: Define more message types missing from
13027         mingw headers.
13028
13029         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
13030         call gdk_window_destroy_notify(). It was never called. This
13031         probably meant that the GdkWindow was never freed. Thanks Owen for
13032         noticing (!).
13033
13034         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
13035         window as destroyed before calling DestroyWindow(). DestroyWindow()
13036         causes a call to the window procedure (gdk_WindowProc), which
13037         calls gdk_event_translate(), which calls
13038         gdk_window_destroy_notify(), which gets confused unless the window
13039         is set as destroyed.
13040
13041         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
13042         this function to indicate it's win32 only. Put inside #ifdef
13043         G_ENABLE_DEBUG.
13044
13045         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
13046         debugging function. (gdk_event_translate:) Add a default branch
13047         that uses the above function to print debug messages with all
13048         Windows messages symbolically.
13049
13050         * gdk/win32/gdkprivate-win32.h: Declare it, and
13051         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
13052
13053 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
13054
13055         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
13056         public header file.
13057
13058 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
13059
13060         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
13061
13062         * gtk/gtktext.c: made the adjustments no-construct args, simply
13063         provide default adjustments.
13064         (gtk_text_destroy): release adjustments.
13065
13066         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
13067         adjustment argument non-construct.
13068
13069         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
13070         instead of in finalize.
13071         (gtk_progress_get_text_from_value): 
13072         (gtk_progress_get_current_text): 
13073         (gtk_progress_set_value): 
13074         (gtk_progress_get_percentage_from_value): 
13075         (gtk_progress_get_current_percentage): 
13076         (gtk_progress_set_percentage): 
13077         (gtk_progress_configure): ensure an adjustment is present.
13078
13079 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
13080
13081         * gtk/gtkcolorsel.[hc]:
13082         * gtk/gtkcolorseldialog.[hc]:
13083         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
13084         their parent implementation, use bit fields for boolean values, don't
13085         create unused widgets, usage of glib types, braces go on their own
13086         lines, function argument alignment, #include directives etc. etc. etc..
13087
13088         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
13089
13090 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
13091
13092         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
13093
13094         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
13095         of NULL.
13096
13097         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
13098         to freed data.
13099         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
13100
13101         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
13102         to NULL when the toplevel is getting destroyed.
13103         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
13104         (gtk_menu_destroy): 
13105         (gtk_menu_init): store the information of whether we have to
13106         readd the initial child ref_count during destruction in a new
13107         GtkMenu field needs_destruction_ref_count.
13108
13109         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
13110         here, those reading: learn from my mistake! ;)
13111         in order for set_?adjustment to support a default adjustemnt if
13112         invoked with an adjustment pointer of NULL, the code read (pseudo):
13113         if (v->adjustment) unref (v->adjustment);
13114         if (!adjustment) adjustment = adjustment_new ();
13115         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
13116         now imagine the first unref to actually free the old adjustment and
13117         adjustment_new() creating a new adjustment from the very same memory
13118         portion. here, the latter comparision will unintendedly fail, and
13119         all hell breaks loose.
13120         (gtk_viewport_set_hadjustment):
13121         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
13122         after unreferencing it.
13123
13124         * gtk/gtkcontainer.[hc]: removed toplevel registration
13125         functions: gtk_container_register_toplevel(),
13126         gtk_container_unregister_toplevel() and
13127         gtk_container_get_toplevels() which had wrong semantics
13128         anyways: it didn't reference and copy the list.
13129
13130         * gtk/gtkwindow.c: we take over the container toplevel registration
13131         bussiness now. windows are registered across multiple destructions,
13132         untill they are finalized. the initial implicit reference count
13133         users are holding on windows is removed with the first destruction
13134         though.
13135         (gtk_window_init): ref & sink and set has_user_ref_count, got
13136         rid of gtk_container_register_toplevel() call. add window to
13137         toplevel_list.
13138         (gtk_window_destroy): unref the window if has_user_ref_count
13139         is still set, got rid of call to
13140         gtk_container_unregister_toplevel().
13141         (gtk_window_finalize): remove window from toplevel list.
13142         (gtk_window_list_toplevels): new function to return a newly
13143         created list with referenced toplevels.
13144         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
13145
13146         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
13147         adjustment a non-construct arg.
13148         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
13149         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
13150         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
13151
13152         * gtk/gtkrange.c: added some realized checks.
13153         (gtk_range_destroy): get rid of the h/v adjustments in the
13154         destroy handler instead of finalize. remove timer.
13155         (gtk_range_get_adjustment): demand create adjustment.
13156
13157         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
13158         we simply create them on demand now and get rid of them in
13159         the destroy handler.
13160         (gtk_viewport_destroy): get rid of the h/v adjustments in the
13161         destroy handler instead of finalize.
13162         (gtk_viewport_get_hadjustment): 
13163         (gtk_viewport_get_vadjustment): 
13164         (gtk_viewport_size_allocate): demand create h/v adjustment
13165         if required.
13166
13167         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
13168         gtk_widget_real_destroy () functionality.
13169         (gtk_widget_real_destroy): reinitialize with a new style, instead
13170         of setting widget->style to NULL.
13171
13172 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
13173
13174         * gtk/gtkcalendar.c:
13175         * gtk/gtkbutton.c: ported _get_type() implementation over to
13176         GType, either to preserve memchunks allocation facilities,
13177         or because Gtk+ 1.0 GtkTypeInfo was still being used.
13178
13179         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
13180         over. prepare for ::destroy to be emitted multiple times.
13181         removed reference tracer magic. chain into GObjectClass.shutdown()
13182         to emit ::destroy signal.
13183
13184         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
13185         fundamental.
13186
13187         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
13188         cludge.
13189
13190         * gtk/gtksocket.c:
13191         * gtk/gtkplug.c:
13192         * gtk/gtklayout.c:
13193         * gtk/gtklabel.c:
13194         * gtk/gtkargcollector.c:
13195         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
13196         not being a fundamental anymore, and to work with the new
13197         type system (nuked fundamental type varargs clutter).
13198
13199         * gtk/*.c: install finalize handlers in the GObjectClass
13200         part of the class structure.
13201         changed direct GTK_OBJECT()->klass accesses to
13202         GTK_*_GET_CLASS().
13203         changed direct object_class->type accesses to GTK_CLASS_TYPE().
13204
13205         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
13206         GType. made most of the GTK_*() type macros and Gtk* typedefs
13207         simple wrappers around macros and types provided by GType.
13208         most notably, a significant portion of the old API vanished:
13209         GTK_TYPE_MAKE(),
13210         GTK_TYPE_SEQNO(),
13211         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
13212         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
13213         GTK_TYPE_ARGS,
13214         GTK_TYPE_CALLBACK,
13215         GTK_TYPE_C_CALLBACK,
13216         GTK_TYPE_FOREIGN,
13217         GtkTypeQuery,
13218         gtk_type_query(),
13219         gtk_type_set_varargs_type(),
13220         gtk_type_get_varargs_type(),
13221         gtk_type_check_object_cast(),
13222         gtk_type_check_class_cast(),
13223         gtk_type_describe_tree(),
13224         gtk_type_describe_heritage(),
13225         gtk_type_free(),
13226         gtk_type_children_types(),
13227         gtk_type_set_chunk_alloc(),
13228         gtk_type_register_enum(),
13229         gtk_type_register_flags(),
13230         gtk_type_parent_class().
13231         replacements, where available are described in ../docs/Changes-1.4.txt.
13232         implemented compatibility functions for the remaining API.
13233
13234         * configure.in: depend on glib 1.3.1, use gobject module.
13235
13236 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
13237
13238         * TODO.xml: Various updates to current status.
13239
13240 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
13241
13242         * gtk.m4: Print out version when test succeeds.
13243
13244 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
13245
13246         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
13247         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
13248         
13249         (Original triangle color selector from Simon Budig
13250         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
13251         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
13252         Santiago <mrcooger@cyberverse.com>)
13253
13254         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
13255         out into a separate widget.
13256
13257         * gtk/testgtk.c: Add some checkbuttons for toggling palette
13258         and opacity controls.
13259
13260 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
13261
13262         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
13263         snuck in prematurely.
13264
13265 2000-05-07  Tor Lillqvist  <tml@iki.fi>
13266
13267         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
13268         had deleted a ! operator by mistake, which caused
13269         GDK_SELECTION_CLEAR events never to be generated, which caused
13270         only the first copy to the clipboard from an gtkeditable to
13271         actually cause a copy to the Windows clipboard.
13272
13273 2000-05-06  Tor Lillqvist  <tml@iki.fi>
13274
13275         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
13276         compilation, too. Current mingw gcc distributions include the
13277         necessary headers. Also the necessary IIDs are now in mingw
13278         headers/libraries, and own definitions unnecessary.
13279
13280         More hacking on OLE2 DND, still doesn't work though, and thus
13281         ifdeffed out.
13282
13283         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
13284         here, too.
13285
13286 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
13287
13288         * gdk/nanox/*: nano-X port work in progress.
13289         * gdk/simple.c: simple test for Gdk.
13290         * README.nanox: notes about the port: read this first!
13291         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
13292         with nano-X.
13293
13294 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
13295
13296         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
13297         gdk_window_clear() into common code, implement in terms of
13298         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
13299         not redirected to the backing rectangle.
13300
13301 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
13302
13303         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
13304         EXTRA_DIST. It does not work well when the file that
13305         everything depends on is not in the tarball.
13306
13307 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
13308
13309         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
13310         with recursion where process_updates() is called from
13311         an expose handler. (GtkTextView is highly broken in
13312         doing this, but it should work, so it is a nice test
13313         case.)
13314
13315 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
13316
13317         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
13318         handle the case where updates are queued during processing of
13319         updates.
13320
13321 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
13322
13323         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
13324         window is on gdk_display - use that instead of segfaulting.
13325
13326 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
13327
13328         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
13329         broken and require an empty arg, give it to them.
13330
13331 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
13332
13333         * gtk/gtklabel.h: indentation fixes.
13334
13335 2000-05-02  Tor Lillqvist  <tml@iki.fi>
13336
13337         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
13338         draw too narrow or too low arcs, they seem to fail, at least with
13339         some display drivers.
13340
13341         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
13342
13343         Large changes to the Win32 backend, partially made necessary by
13344         the changes to the backend-independent internal
13345         structures. Attempts to implement similar backing store stuff as
13346         on X11. The current (CVS) version of the Win32 backend is *not* as
13347         stable as it was before the no-flicker branch was merged. A
13348         zipfile with that version is available from
13349         http://www.gimp.org/win32/. That should be use by "production"
13350         code until this CVS version is usable. (But note, the Win32
13351         backend has never been claimed to be "production quality".)
13352
13353         * README.win32: Add the above comment about versions.
13354
13355         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
13356
13357         * gdk/gdk.def: Update.
13358
13359         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
13360         presumably be replaced by some more better mechanism as 1.4 gets
13361         closer to release shape.
13362
13363         * gdk/makefile.{cygwin,msc}: Update.
13364
13365         * gdk/win32/*.c: Correct inclusions of the backend-specific and
13366         internal headers. Change code according to changes in these. Use
13367         gdk_drawable_*, not gdk_window_* where necessary.
13368
13369         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
13370         our old DND.
13371
13372         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
13373         to interpret single characters as UTF-8. Thanks to Hans Breuer.
13374         Use correct function name in warning messages.
13375
13376         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
13377         GSourceFuncs gdk_event_prepare and gdk_event_check.
13378         (gdk_event_get_graphics_expose): Do implement, use
13379         PeekMessage. Thanks to Hans Breuer.
13380         (event_mask_string): Debugging function to print an GdkEventMask.
13381         (gdk_pointer_grab): Use it.
13382
13383         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
13384         (old) book I used claimed was Hangul actually is CJK Unified
13385         Ideographs Extension A. Also, Hangul Syllables were missing.
13386         Improve logging.
13387
13388         * gdk/win32/gdkgc-win32.c: Largish changes.
13389
13390         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
13391         g_win32_getlocale() from GLib, and not setlocale() to get current
13392         locale name.
13393
13394         * gdk/win32/gdkprivate-win32.h
13395         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
13396         gdkwin32.h, similarily as in the X11 backend.
13397
13398         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
13399         assignment was used instead of equals in if test. Thanks to Hans
13400         Breuer.
13401
13402         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
13403         the X11 version.
13404
13405         * gdk/win32/makefile.{cygwin,msc}
13406         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
13407         path to the Win32 headers that works also with the mingw compiler.
13408
13409         * gtk/gtkstyle.c: Include <string.h>.
13410
13411 2000-04-26  Havoc Pennington  <hp@redhat.com>
13412
13413         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
13414         replacing the broken gtk_label_get ()
13415
13416 2000-04-15  Havoc Pennington  <hp@pobox.com>
13417
13418         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
13419         this keeps scanner scripts from getting confused.
13420
13421         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
13422         data, rather than void
13423
13424 2000-04-15  Tor Lillqvist  <tml@iki.fi>
13425
13426         * gtk/gtkclist.c (gtk_clist_motion)
13427         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
13428         with is_hint FALSE, get x and y from the event. They used to be
13429         used uninitialised. The Win32 backend never sends motion events
13430         marked as hints. This for instance fixes the annoying file and
13431         font selector behaviour in the Win32 version.
13432
13433 2000-04-14  Tor Lillqvist  <tml@iki.fi>
13434
13435         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
13436         gtk_private_n_signals variables, they are used by some software,
13437         sigh.
13438
13439         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
13440         installation directory from the Registry, where the installer
13441         should have put it.
13442
13443 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
13444
13445         * gdk/x11/Makefile.am: Fix problem with installation directory for
13446         gdkx.h
13447
13448         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
13449         <mrcooger@cyberverse.com> so that when selecting menus with the
13450         mouse, the first item will not be selected, but when selecting
13451         with an accelerator, or navigating left-right on a menubar with
13452         the menus popped up, the first item will be selected.
13453
13454 2000-04-05  Dan Damian  <dand@dnttm.ro>
13455
13456         * configure.in: Added "ro" to ALL_LINGUAS.
13457
13458 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
13459
13460         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
13461         indentation.
13462
13463         * Makefile.am (EXTRA_DIST): Fix typo.
13464
13465         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
13466         to catch gdkconfig.h
13467
13468         * gtk/gtkitemfactory.c: Added FIXME.
13469
13470 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
13471
13472         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
13473         s/return_if_fail/return_val_if_fail/g and add a return value.
13474
13475 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
13476
13477         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
13478         merge slipup.
13479
13480         * gdk/gdkinput.h: Fix missing line from merge.
13481
13482 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
13483
13484         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
13485         instead of gdkprivate.h.
13486
13487 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
13488
13489         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
13490         parent class to correctly be GtkDialogClass.
13491
13492 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
13493
13494         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
13495         toplevel windows and their immediate children by their parents,
13496         since the size of toplevel windows is out of our immediate
13497         control and we don't get any real benefit from trying to track
13498         this size for clipping.
13499
13500         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
13501         for input_only windows.
13502
13503         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
13504         to fix some hacks and make sure that we don't try to set the
13505         background of input only windows.
13506
13507 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
13508
13509         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
13510         the _really_ internal stuff, and leave gdkprivate.h for the fake private
13511         stuff that we've traditionally exposed.
13512
13513         * gdk/**.c: Use gdkinternals.h where appropriate.
13514
13515         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
13516         not include gdkprivate-x11.h, move all stuff of conceivable public
13517         interest into gdkx.h; keep all really private stuff in
13518         uninstalled header gdkprivate-x11.h.
13519
13520         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
13521         image->image_put on windows through a new function _gdk_window_draw_image()
13522         to allow us to do backing store for images. (Sort of ugly)
13523
13524         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
13525         contexts locally so that we can offset them properly when drawing 
13526         onto backing pixmaps.
13527
13528         * gdk/gdkinput.h: Reindented
13529
13530         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
13531         pixmap or color for the window, so we can properly initialize
13532         our double-buffer pixmaps, and also so that we temporarily set
13533         a background of None while scrolling.
13534
13535         * gdk/gdkregion.h: Revise region boolean operators to have an
13536         interface that is actually convenient - switch from creating new
13537         regions on every op, to "methods" that modify existing regions
13538         (A = A OP B). 3 argument forms which allow dest == src, would also
13539         be possible, but the current interfaces seem to map nicely
13540         onto what needs to be done. (There is quite a lot of region
13541         code in GDK now.)
13542
13543         * gdk/gdkregion.h: Add constructor from rectangle and a copy
13544         operator.
13545
13546         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
13547         gdkpoly-generic.h: Copy region code from Xlib, switch it over
13548         to 32 bit coordinates, modify it to be mostly GTK+ style
13549         and to have interfaces that match gdkregion.h.
13550
13551         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
13552         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
13553         create a backing pixmap and redirect all drawing to
13554         that backing pixmap until a matching gdk_window_end_paint().
13555
13556         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
13557         Create a special drawable class for GtkWindow's that 
13558         redirects the drawing to the backing pixmap as necessary
13559         and then calls the real operations in _gdk_windowing_window_class.
13560
13561         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
13562         Store invalid region for each window. Generate expose events for invalid
13563         region in an idle. This replaces both the expose compression
13564         and the redrawing queuing in GTK+. It is both more efficient and
13565         simpler than either one individually and far more so then the
13566         combination.
13567
13568         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
13569         Emulate 32 bit coordinates for windows with 16 bit coordinates
13570         by offsetting drawing, guffaw scrolling techniques and
13571         mapping/unmapping child windows as necessary.
13572
13573         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
13574         where, when invalid regions are processed, the region is stored,
13575         and if expose events come in that are detectably duplicate
13576         the processed exposes (by comparison of event serial numbers),
13577         the stored region is subtracted out of those exposes.
13578
13579         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
13580         regions newly exposed when scrolling or resizing windows.
13581         This, combined with forcing processesing of queued invalidated
13582         regions, gives nice flicker-free scrolling.
13583
13584         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
13585         invalidated regions after every scroll.
13586
13587         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
13588         emulation in GDK. Its, for all practical purposes just a
13589         GtkViewport/GtkFixed hybrid now.
13590
13591         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
13592         (16-bit) structures as necessary instead of just casting.
13593
13594         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
13595         in terms of the structures from gdkregion-generic.c, using appropriate
13596         offsets from GDK to X11 coordinates. Cache clip mask and
13597         origin and ts origin locally and only flush to the server
13598         when drawing, to avoid constantly setting and resetting these
13599         values when offsetting GC's for scrolling and backing pixmaps.
13600
13601         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
13602
13603         * gtk/gtkcontainer.c: Call process_all_updates at end
13604         of resizing to reduce flicker. (Avoids having redraw
13605         lag arbitrarily behind resize under some circumstances)
13606
13607         * gtk/gtkentry.c: Remove old backing store code, and simply take
13608         advantage of the new backing store capabilities of GDK.
13609
13610         * gtk/gtkmain.c: Simple implementation of widget backing
13611         store - simply push a paint while handling each expose.
13612         (Should really be configurable widget for widget.)
13613         
13614         * gtk/gtkwidget.c: Remove all the old complicated redraw
13615         code, and simply invalidate the GDK windows from
13616         gdk_window_queue_clear(), etc. (Sigh, so much carefully
13617         debugged complexity ... gone to the winds.)
13618
13619         Remove all the code for suppressing expose events while
13620         resizes are pending; this isn't needed since the invalid
13621         areas won't be processed until after the resizes are
13622         processed, since they are in a lower priority idle.
13623
13624 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
13625
13626         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
13627         and height of dest rectangle for non-intersecting rectangles.
13628
13629 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
13630
13631         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
13632         for GdkRectangle.
13633
13634 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
13635
13636         * gdk/gdk{events,image,private,types,window}.h
13637          gdk/x11/gdkinputprivate.h: Change all coordinates
13638          from int16 to int. Also, Change width and height from
13639          unsigned to signed to avoid all the stupid C 
13640          signedness bugs.
13641
13642 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
13643
13644         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
13645         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
13646         Add some more detailed checking.
13647
13648         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
13649         New function to retrieve the depth of a drawable.
13650
13651         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
13652         field, reorder fields to save memory. 
13653
13654 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
13655
13656         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
13657         of the background image instead of scaling the background down to
13658         a line.
13659
13660         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
13661         which temporarily set slider to wrong size.
13662
13663         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
13664         queue_clear().
13665
13666 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
13667
13668 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
13669
13670         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
13671
13672 2000-03-17  Tor Lillqvist  <tml@iki.fi>
13673
13674         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
13675         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
13676
13677         * gdk/win32/gdkfont-win32.c
13678         * gdk/win32/gdkproperty-win32.c
13679         * gdk/win32/gdkselection-win32.c
13680         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
13681         now declared such.
13682
13683 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
13684
13685         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
13686
13687 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
13688
13689         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
13690         is called without trapping X errors.
13691
13692 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
13693
13694         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
13695         way into the fontset lists.
13696
13697 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
13698
13699         * gtk/gtkthemes.h: add extern "C" scope.
13700
13701 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
13702
13703         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
13704         to make appends to the list constant. (gtk-guy-990901-0.patch)
13705
13706 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
13707
13708         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
13709         for the typename hash table.
13710
13711 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
13712
13713         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
13714         to make sure we never divide by zero. 
13715         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
13716
13717 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
13718
13719         * gtk/gtkfontsel.c: Apply patch from
13720         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
13721         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
13722
13723         Also, some cleanups in atom handling.
13724
13725 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
13726
13727         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
13728         not GtkWidget.
13729
13730 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
13731
13732         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
13733         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
13734         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
13735         more guint wrap-around bugs before going to bed.
13736
13737 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
13738
13739         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
13740         guint wrap arounds in allocation.width.
13741
13742         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
13743         process untill we fit the allocation given.
13744
13745 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
13746
13747         * gtk/gtkwidget.c:
13748         (gtk_widget_unrealize): guard widget access with ref/unref
13749         around signal emission.
13750         (gtk_widget_hide): same here, but also check its destroyed
13751         state before queueing a resize.
13752
13753 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
13754
13755         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
13756         of gtk_default_insensitive_bg as insensitive base color.
13757
13758         * gtk/gtktext.c (gtk_text_style_set): set the background color according
13759         to the widget's state.
13760         (gtk_text_realize): same here.
13761         (gtk_text_state_changed): same here.
13762         (draw_bg_rect): compare background color against base[] from
13763         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
13764
13765 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
13766
13767         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
13768         grabs are active, unless a delete event is send to the toplevel
13769         of the currently grab holding widget.
13770
13771 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
13772
13773         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
13774         debugging g_print's.
13775
13776 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
13777
13778         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
13779         ever make the scrolled-window requisition ever depend on the 
13780         visibility state of the scrollbars for the AUTOMATIC policy. 
13781         This breaks the GTK+ requisition model, and causes loops.
13782
13783 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
13784
13785         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
13786         the default font to avoid problems with XFree86-4.0 where the
13787         default charset is iso10646-1, not iso8859-1.
13788
13789 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
13790
13791         * acinclude.m4
13792         * config.guess
13793         * config.sub
13794         * ltconfig
13795         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
13796
13797         * gtk/Makefile.am: minor cosmetic consistency tweak
13798
13799 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
13800
13801         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
13802         the activate_time to 0, so that we handle a quick
13803         press/release press/release properly and don't suppress
13804         the second release. (Red Hat bug #7545)
13805
13806 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
13807
13808         * gtk/gtkctree.c (row_delete):
13809         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
13810         bugs with destruction notifier, *always* update internal
13811         structures *before* calling user code.
13812
13813 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
13814
13815         A few more fixes for bug #5487, #2051, #2677.
13816         * gtk/gtkclist.c : 
13817         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
13818         not GDK_BUTTON_PRESS.
13819         (resync_selection): resync only if selection_mode is
13820         GTK_SELECTION_EXTENDED
13821         * gtk/gtkctree.c (resync_selection): same here
13822
13823 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
13824
13825         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
13826         gdk_drag_get_selection() and gtk_menu_detach().
13827
13828         [ From Jeroen Ruigrok/Asmodai ]
13829
13830 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
13831
13832         * gtk/gtknotebook.c (gtk_notebook_size_request): 
13833         page->tab_label can be NULL.
13834
13835 2000-01-25  Havoc Pennington  <hp@pobox.com>
13836         
13837         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
13838         arg is boolean
13839
13840         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
13841
13842         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
13843
13844         * gdk/gdkproperty.c (gdk_property_get): return boolean
13845
13846         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
13847
13848         * gdk/gdkim.c (gdk_im_ready): return boolean
13849
13850         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
13851
13852         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
13853         glib clash, should fix glib)
13854
13855         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
13856         (gdk_get_show_events): return gboolean, and canonicalize 
13857         to TRUE/FALSE
13858
13859         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
13860         colormap is private
13861         (gdk_colors_alloc): gboolean whether to be contiguous
13862         (gdk_color_equal): return gboolean since we are a predicate
13863         and not a qsort() (this looks semi-wrong due to glib breakage,
13864         IMO glib should be fixed)
13865         
13866         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
13867         (gdk_get_use_xshm): return gboolean
13868         (gdk_pointer_is_grabbed): return gboolean
13869
13870         * gdk/gdk.h: Change prototypes to match all the above changes,
13871         and re-run egtk-format-protos as required.
13872
13873 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
13874
13875         * gtk/gtkctree.c (resync_selection): 
13876         * gtk/gtkclist.c (resync_selection):
13877
13878         Return immediately if clist->drag_pos < 0. This is a workaround
13879         for the corrupt state that the clist gets into when a
13880         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
13881
13882         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
13883         
13884         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
13885         variable from recent commit.
13886
13887 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
13888
13889         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
13890
13891 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
13892
13893         * gtk/Makefile.am: prefix all autogenerated source that get build in
13894         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
13895         in builddir. since we subsequently cd into srcdir for autogeneration,
13896         the paths have to be stripped from the target file names, thusly we
13897         use $(@F) as target names now.
13898         put a comment about configure.in's --disable-rebuilds option,
13899         which can be used for non-writable source directories, for development
13900         setups though, srcdir has to be *writable*.
13901
13902 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
13903
13904         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
13905           Finish the job of allowing event to be NULL.
13906           (Fixes bug #4283, reported by Chris Blizzard)
13907
13908         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
13909           things so that the cursor appears on screen, properly
13910           take into account INNER_BORDER.
13911           (Fixes bug #4754, reported by Antonio Campos)
13912
13913 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
13914
13915         * gtk/gtknotebook.c (gtk_notebook_map): Don't
13916           show the tab_label unless it itself is visible.
13917
13918           gtk/gtknotebook.c (gtk_notebook_size_request):
13919           Do a better job of making sure that the visibility
13920           of the tab label corresponds to whether it should
13921           be mapped or not.
13922
13923 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
13924
13925         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
13926           Use the requisition, not the allocation, since the
13927           allocation has not necessarily been computed yet.
13928           (Pointed out by Eugene Osintsev)
13929
13930 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
13931
13932         * gtk/gtkstyle.c (gtk_style_new): Dont' set
13933           style/base[GTK_STATE_INSENSITIVE] both to
13934           gtk_default_insensitive_bg!
13935           (Bug #2187, reported by Jonathan Blandford)
13936
13937         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
13938           Add Alt_L, Alt_R to list of invalid accelerators.
13939           (Bug #3736, reported by Vlad Harchev)
13940
13941 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
13942
13943         * gtk/gtkfilesel.c (open_ref_dir): Fix several
13944         bugs which occured after an attempt to open 
13945         invalid home directory left cmpl_state->reference_dir == NULL.
13946
13947          - completion on files in home directory didn't work
13948          - completion on an empty string caused  segfault
13949
13950          (Bug #3678, reported by Steve Ratcliffe)
13951
13952         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
13953         cut and paste error that was causing scales to
13954         be incorrectly positioned.
13955         (Bug #2956,
13956          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
13957
13958 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
13959
13960         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
13961         when checking for dcgettext, if we've found we needed
13962         it for dgettext.
13963 +
13964 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
13965
13966         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
13967         queue_clear on NO_WINDOW widgets during a reparent,
13968         since at that point the window and widget heirarchies
13969         are out of sync. This stops crashing in some cases
13970         (the scrolled window reparent test, for instance), and
13971         _probably_ won't cause drawing errors.
13972
13973         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
13974         test do what it was supposed to do and be robust against
13975         window closings, etc. (Bug #2443)
13976
13977 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
13978
13979         * gtk/gtkentry.c: Fix return values on mouse events.
13980         (Bug #2686, Sky <seb_sky@yahoo.com>)
13981
13982         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
13983         (pointed out by George Lebl)
13984
13985         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
13986         (From Ettore Perazzoli  <ettore@helixcode.com>)
13987  
13988 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
13989
13990         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
13991         clicks between rows or outside calender area correctly.
13992         (Patch from Damon Chaplin)
13993
13994         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
13995         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
13996           Call destroy function when overwriting existing data. 
13997           (Pointed out by Damon Chaplin)
13998
13999 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
14000
14001         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
14002           which was causing problems on various systems with Xmu.
14003           This hasn't been needed for a very long time.
14004           (Fixes #1185 3167)
14005
14006 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
14007
14008         * gdk/gdki18n.h: Include <ctype.h> when defining
14009           gdk_isw* in terms of is* as a fallback.
14010           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
14011
14012 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
14013
14014         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
14015           realize the widget when it is size allocated!
14016           (old, old bug)
14017
14018         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
14019           Removed unused call to gdk_window_get_size() that
14020           showed up when the above was fixed.
14021
14022 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
14023
14024         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
14025           fix up widget->window when the widget is a
14026           NO_WINDOW container widget.
14027
14028 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
14029
14030         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
14031           to account for the fact that feof() does _not_ 
14032           return TRUE on errors, and thus avoid infinite loops
14033           when trying to use gdk_pixmap_create_from_xpm()
14034           on unreadable values.
14035
14036 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
14037
14038         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
14039
14040 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
14041
14042         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
14043           gdk_gc_set_dashes to take gint8 instead of gchar to
14044           make it clearer that it is _not_ a NULL terminated string.
14045
14046         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
14047           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
14048           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
14049           arguments.
14050
14051 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
14052
14053         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
14054         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
14055         background size relative to our allocation, guard against small
14056         allocations, we may have not yet been size allocated.
14057
14058 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
14059
14060         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
14061         not just version == 3. We implement all 3 + most of 4 - 
14062         (we don't support matching text/plain;charset=iso-8859-1
14063         to a dest that expects text/plain). We'll still advertise
14064         3 to be safe, but any client implementing version >= 3
14065         must interoperate with 3.
14066         
14067 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
14068
14069         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
14070         background and gc members, add a warning in gtk_tooltips_set_color()
14071         indicating that this function is deprecated.
14072
14073 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
14074
14075         * docs/gtkfaq.sgml: FAQ Update:
14076           - Minor cleanups (Emmanuel, me)
14077           - New questions:
14078                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
14079                 How can I retrieve the text from a GtkMenuItem? (timj)
14080                 How do I validate/limit/filter the input to a GtkEntry? (me)
14081                 Memory does not seem to be released when I free the list
14082                         nodes I've allocated (timj)
14083
14084 2000-03-07  Tor Lillqvist  <tml@iki.fi>
14085
14086         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
14087         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
14088         for which it is no use to call GetLastError onWin9x.
14089         (gdk_other_api_failed) New function, for general error
14090         reporting without calling GetLastError.
14091         (gdk_win32_api_failed) OTOH, this function always calls
14092         GetLastError. (gdk_win32_last_error_string) Remove this function,
14093         GLib has the equivalent now.
14094
14095         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
14096         call them with function name, file name and line number in the
14097         arguments.
14098
14099         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
14100         functions.
14101         
14102         * gtk/gtk.def: Add some missing entry points.
14103
14104         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
14105         gtk_paned_set_gutter_size, which don't exist any longer, as void.
14106         
14107         Fixes by Hans Breuer:
14108
14109         * gdk/makefile.msc: Update for debugging.
14110
14111         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
14112         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
14113         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
14114         in the dash_list.
14115
14116         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
14117         the x11 backend.
14118
14119         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
14120
14121         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
14122
14123 2000-03-04  Tor Lillqvist  <tml@iki.fi>
14124
14125         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
14126         just pixel value of background colour.
14127
14128         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
14129         containing code snippet previously duplicated in a couple of
14130         places.
14131         
14132         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
14133         gdk_colormap_color.
14134
14135         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
14136         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
14137         events for autorepeated Shift, Control and Alt keys. Use
14138         gdk_colormap_color.
14139
14140         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
14141         pointer is inside the window the cursor of which we are setting,
14142         call SetCursor immediately.
14143
14144         * gdk/win32/makefile.cygwin
14145         * gtk/makefile.cygwin: If we don't have the build number stamp
14146         file, use zero.
14147
14148         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
14149         gtk_paned_set_gutter_size as empty.
14150
14151         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
14152         
14153 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
14154
14155         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
14156           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
14157           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
14158           docs/gtk_tut.sgml docs/gtk.texi TODO:
14159
14160           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
14161
14162 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
14163
14164         * gtk/gtkcalendar.c: Implement num_marked_dates,
14165           and don't emit mutiple day_selected signals on
14166           month_prev.
14167
14168 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
14169
14170         * docs/make-todo (lineno): let title and logo be configurable so
14171         that GNOME can use this script too.
14172
14173         * TODO.xml: added logourl and a title
14174
14175 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
14176
14177         * TODO.xml: Added some UI items, and an explanatory
14178         comment at the top of the file.
14179
14180 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
14181
14182         * TODO.xml: some updates, added abunch of new entries.
14183         a note for those fiddeling with this file, when done
14184         with it, invoke:
14185         $ ./docs/make-todo TODO.xml >/dev/null
14186         and correct output errors before comitting changes.
14187
14188 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
14189
14190         * TODO.xml: Added XML-structured TODO file.
14191         * docs/make-todo: python script to turn TODO.xml into
14192           pretty XML output. 
14193
14194 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
14195
14196         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
14197         the function to let it draw the seven dots, instead of the old,
14198         much maligned, method.
14199         (draw_dot): New function to draw a dot.
14200
14201         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
14202         to draw the handle inside the border width as opposed to outside.
14203         Use paint function instead of gdk_draw_point.
14204
14205         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
14206         to draw the handle inside the border width as opposed to outside.
14207         Use paint function instead of gdk_draw_point.
14208
14209         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
14210         Change indenting to be more GTK like.
14211
14212 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
14213
14214         * docs/gtk_tut.sgml: New section on GtkCalendar
14215         * examples/calendar: Update example code
14216
14217 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
14218
14219         * docs/gtkfaq.sgml: FAQ Update
14220
14221 2000-02-19  Anders Carlsson  <andersca@gnu.org>
14222
14223         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
14224         to prevent the scroll event to be propagated upwards.
14225
14226 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
14227
14228         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
14229         OwnerGrabButtonMask from button entries for
14230         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
14231
14232         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
14233         to the event mask (which will result in button/press release
14234         being added to the event mask on Unix) so scrolling works
14235         for layouts in scroll windows.
14236
14237         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
14238
14239         Patch from Anders Carlsson  <andersca@gnu.org> to add
14240         a scroll event.
14241
14242         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
14243         scrolling to the "Test Scrolling" part of testgtk.
14244  
14245         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
14246  
14247         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
14248         it against GDK_SCROLL.
14249  
14250         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
14251         way of mouse wheel scrolling.
14252  
14253         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
14254  
14255         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
14256  
14257         * gtk/gtkmain.c: Removed previous mouse wheel hack.
14258  
14259         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
14260         gdk_event_mask_table.
14261  
14262         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
14263         GdkEventScroll handler.
14264  
14265         * gdk/gdkevents.h: Added GdkEventScroll structure.
14266  
14267 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
14268
14269         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
14270         and Anders Carlsson to change the Paned widgets so that they
14271         can be dragged from anywhere along the length. Also change
14272         the way that this is drawn to make this apparent.
14273
14274         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
14275         from George Lebl to check that option_menu->menu is present
14276         before getting history.
14277
14278 2000-02-14  Tor Lillqvist  <tml@iki.fi>
14279
14280         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
14281         before the assertion for non-NULL segment list.
14282
14283         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
14284         Seems that pattern brushes *must* be 8x8 pixels! At least on my
14285         machine, but it might be display driver dependent. Sigh, so make
14286         sure the stipple is that size. Does Windows suck or what?
14287
14288         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
14289         places.
14290
14291 2000-02-13  Havoc Pennington  <hp@pobox.com>
14292
14293         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
14294         refcount to 1
14295         (gdk_cursor_new): init refcount to 1
14296
14297         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
14298
14299 2000-02-13  Tor Lillqvist  <tml@iki.fi>
14300
14301         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
14302         so that we don't have to do unnecessary settings to the HDC.
14303
14304         * gdk/win32/gdkdrawable-win32.c
14305         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
14306         gdk_gc_predraw.
14307
14308         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
14309         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
14310         GDI paths, call WidenPath to get the outline of the stroken path,
14311         and then fill the outline (with the brush that was built from the
14312         stipple).
14313
14314         * gdk/win32/gdkgc-win32.c: Factor out common code from
14315         _gdk_win32_gc_new and gdk_win32_gc_set_values into
14316         gdk_win32_gc_values_to_win32values. Use correct colour for
14317         SetBkColor() (Until now the code actually used a random colour in
14318         the call to SetBkColor()... but that didn't show up as not many
14319         GDI APIs use the background colour. Pattern (opaque stippled)
14320         brushes do.)
14321
14322         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
14323         gdk_win32_api_failed): New functions for error logging.
14324
14325         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
14326         WIN32_API_FAILED to call them, passing function or file name and
14327         line number.
14328
14329         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
14330
14331         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
14332         GdkColor for foreground and background in GdkGCWin32Data.
14333
14334         * gdk/makefile.cygwin: Link in the resource object separately.
14335
14336         * gdk/win32/rc/gdk.rc
14337         * gtk/gtk.rc (New file)
14338         * gdk/win32/makefile.cygwin
14339         * gtk/makefile.cygwin: Update build number in DLLs automatically,
14340         as in GLib.
14341
14342 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
14343
14344         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
14345         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
14346         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
14347         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
14348         parameters given and cursor->ref_count. coding style fixups.
14349
14350         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
14351         not GtkWidget.
14352         
14353         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
14354         fix up widget macros and add _GET_CLASS() variant.
14355         
14356         * gtk/*.c: some GtkType fixups.
14357
14358 2000-02-09  Tor Lillqvist  <tml@iki.fi>
14359
14360         * gdk/win32/gdkproperty-win32.c
14361         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
14362         were reversed.
14363
14364 2000-02-04  Tor Lillqvist  <tml@iki.fi>
14365
14366         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
14367         g_filename_to_utf8 to convert the font names Windows gives us from
14368         whatever is the default codepage to UTF-8.
14369         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
14370         in the other direction.
14371
14372         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
14373         error in debugging output.
14374
14375 2000-02-02  Tor Lillqvist  <tml@iki.fi>
14376
14377         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
14378         and height parameters to gdk_window_clear_area(). Not minus one.
14379
14380 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
14381
14382         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
14383         checks if the widget passed to gtk_drag_get_data() was not the
14384         dest widget.
14385
14386 2000-02-01  Tor Lillqvist  <tml@iki.fi>
14387
14388         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
14389         g_filename_from_utf8 functions (which were added a moment ago to
14390         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
14391         size buffers.
14392
14393         gtk_file_selection_get_filename returns the filename in the C
14394         runtime encoding. It calls g_filename_from_utf8, but copies the
14395         returned string to a static buffer, which is returned. I think
14396         this is better than returning the result from g_filename_from_utf8
14397         directly, which would mean all apps that use it would have to free
14398         the return value. Or should this function care about this issue at
14399         all? Maybe a new function with clearly defined semantics.
14400
14401         * gtk/gtkfilesel.h: Add comment about
14402         gtk_file_selection_get_filename returning the filename in the C
14403         runtime's encoding.
14404
14405         * README.win32
14406         * gdk/gdk.def
14407         * gdk/makefile.{cygwin,msc}
14408         * gtk/gtk.def: Updates.
14409
14410         * gdk/gdkcursor-win32.c: Initialise refcount.
14411
14412 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
14413
14414         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
14415
14416 2000-01-30  Havoc Pennington  <hp@pobox.com>
14417
14418         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
14419         destroy
14420
14421         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
14422
14423         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
14424         implemented in platform-specific code
14425
14426         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
14427
14428         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
14429         underscore in front
14430
14431         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
14432         put an underscore in front
14433
14434         * gdk/gdkcursor.c: new file, implements
14435         gdk_cursor_ref/gdk_cursor_unref
14436
14437         * gdk/gdkcursor.h: Refcount GdkCursor
14438
14439         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
14440
14441 2000-01-29  Tor Lillqvist  <tml@iki.fi>
14442
14443         * gdk/gdkwindow.h
14444         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
14445
14446 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
14447
14448         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
14449         structures to properly inherit from GtkWidget not GtkBin.
14450
14451 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
14452
14453         * gtk+.spec.in: Added lib/gtk+/include/* to %files
14454         (bug #5178 - Peter Wainright)
14455         
14456         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
14457         so that it will be installed.
14458         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
14459
14460 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
14461
14462         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
14463         for the GtkStyleClass vtable const.
14464
14465         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
14466         take a const string argument like GtkTranslateFunc. This will
14467         require changes in use code.
14468
14469 2000-01-19  Tor Lillqvist  <tml@iki.fi>
14470
14471         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
14472         semantics (to mimic the X11 backend, which just calls XClearArea)
14473         is to check for zero width (and height), and in that case use the
14474         window's width minus x (height minus y). This fixes for instance
14475         some redraw problems with gtkclist, which were easily noticeable
14476         in the gtk file selection widget.
14477
14478         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
14479         windows.
14480
14481 2000-01-13  Tor Lillqvist  <tml@iki.fi>
14482
14483         * configure.in
14484         * gdk/Makefile.am
14485         * gdk/x11/Makefile.am
14486         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
14487         (bug #5177).
14488         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
14489         out later.
14490
14491 2000-01-09  Tor Lillqvist  <tml@iki.fi>
14492
14493         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
14494         WM_MOVE for iconified or invisible windows. This fixes various
14495         problems when minimising windows. Thanks to Bernd Herd.
14496
14497 2000-01-05  Tor Lillqvist  <tml@iki.fi>
14498
14499         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
14500         backend's draw_lines method, not draw_points.
14501
14502 2000-01-02  Tor Lillqvist  <tml@iki.fi>
14503
14504         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
14505         before Owen's reorganisation: Don't have queued_events and
14506         queued_tail statics in this file, but use gdk_queued_events and
14507         gdk_queued_tail. This makes exposure event compression work again.
14508
14509         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
14510         seem to be needed?
14511
14512 1999-12-30  Tor Lillqvist  <tml@iki.fi>
14513
14514         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
14515         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
14516         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
14517         doesn't do anything.
14518
14519         * gdk/gdk.def: Add gdk_xid_table_insert.
14520
14521         * gdk/win32/gdkprivate-win32.h
14522         * gdk/win32/gdkevents-win32.c
14523         * gdk/win32/gdkinput-win32.c
14524         
14525         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
14526         extension_events field in the GdkWindowWin32Data struct. Use only
14527         the extension_events field in GdkWindowPrivate. Previously one was
14528         set, and the other one tested, which broke tablet
14529         functionality. Thanks to Keishi Suenaga for pointing this out.
14530
14531 1999-12-18  Tor Lillqvist  <tml@iki.fi>
14532
14533         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
14534         When handling a single character (text length == 1), don't handle
14535         it as if it was UTF-8.
14536
14537 1999-12-11  Tor Lillqvist  <tml@iki.fi>
14538
14539         * Makefile.am: Distribute README.win32.
14540         
14541         * gdk/Makefile.am
14542         * gdk/win32/Makefile.am: Distribute Win32 files.
14543
14544         * gdk/makefile.msc: New file.
14545
14546         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
14547         after label).
14548
14549         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
14550         gdk_error_code as GDKVAR, as they are referred outside GDK.
14551
14552         * gdk/win32/makefile.msc: Update.
14553
14554         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
14555         tweaks. Check only if at least one of those Unicode subrange bits
14556         we care for is set. If no code page bits are set, guess (wildly)
14557         based on the charset.
14558
14559         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
14560
14561         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
14562         non-NULL.
14563
14564         * gtk/gtkdnd.c
14565         * gtk/gtklayout.c
14566         * gtk/gtkplug.c
14567         * gtk/gtkselection.c
14568         * gtk/gtksocket.c
14569         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
14570         appropriate. There must be a cleaner way to handle this?
14571
14572         * gtk/gtkrc.c: Must include windows.h on Win32.
14573
14574         * gtk/testgtk.c: No need to include gdkx.h.
14575
14576         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
14577
14578 1999-12-07  Tor Lillqvist  <tml@iki.fi>
14579
14580         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
14581         the rbearing is set to the same as the width, but this should be
14582         fixed.
14583
14584 1999-12-06  Tor Lillqvist  <tml@iki.fi>
14585
14586         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
14587         function. If Windows doesn't tell us what Unicode subranges a font
14588         covers, guesstimate based on the codepages it covers. This will
14589         hopefully help those Windows versions or fonts that don't give us
14590         any useful Unicode subrange information with GetTextCharsetInfo.
14591         Call this function in gdk_font_load_internal.
14592
14593         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
14594         minor changes.
14595
14596 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
14597
14598         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
14599         New function, long needed.
14600
14601 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
14602
14603         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
14604         only_if_exists argument of gdk_atom_intern to
14605         bool.
14606
14607 1999-11-25  Tor Lillqvist  <tml@iki.fi>
14608
14609         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
14610         Fix two copy&paste errors.
14611
14612         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
14613         win32 has changed.
14614
14615         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
14616         GdkWin32SingleFont struct.
14617
14618         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
14619         subranges of loaded fonts. Clear font signature first, in case
14620         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
14621         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
14622
14623         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
14624         Unoffset clip region.
14625
14626 1999-11-23  Tor Lillqvist  <tml@iki.fi>
14627
14628         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
14629         event->any.window before calling filter functions.
14630
14631 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
14632
14633         * gtk/gtkgamma.h: Adapt cast macros to standard.
14634
14635 [ Merges from 1.2 ]
14636
14637 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
14638
14639         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
14640         If translation does not include a '/', use entire
14641         translation instead of crashing.
14642
14643 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
14644
14645         * docs/gtk_tut.sgml:
14646         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
14647
14648 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
14649
14650         * gtk/gtkselection.c (gtk_target_list_remove): Use
14651         g_list_remove_link, not g_list_remove.
14652
14653         [ From Geert Bevin <gbevin@thunderstorms.org> ]
14654         
14655 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
14656
14657         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
14658         statement upon unselection (how the heck did that slip in?).
14659
14660 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
14661
14662         * gtk/gtktext.c (gtk_text_freeze): 
14663         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
14664         in frozen state (and aparently crashes). patch provided by Anders
14665         Melchiorsen <and@kampsax.dtu.dk>.
14666
14667 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
14668
14669         * fix insensitive default/focus widget activation,
14670         reported by Matt Goodall <mgg@isotek.co.uk>.
14671
14672         * gtk/gtkwindow.c (gtk_window_key_press_event): 
14673         (gtk_window_activate_default):
14674         (gtk_window_activate_focus):
14675         return handled=FALSE for actiavtion of insensitive default
14676         widgets. return handled=TRUE for activation of insensitive
14677         focus widgets. don't activate in either case.
14678
14679 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
14680
14681         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
14682         and $glib_cflags to match library order and in the
14683         theory that an old version of GLib is more likely to
14684         be in the include directory for X then vice-versa.
14685         (Bug #2776)
14686
14687 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
14688
14689         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
14690         to determine the locale for fontsets, not LC_MESSAGES;
14691         the user may want English messages with a handling
14692         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
14693         will still be broken) (Bug #2891)
14694
14695 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
14696
14697         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
14698
14699 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
14700
14701         * gtk/gtkrc.ko: Changed the Korean default fontset.
14702
14703 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
14704
14705         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
14706         where when scrolling to the left or top double exposes
14707         were done, causing major slowdowns.
14708
14709 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
14710
14711         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
14712         names to lowercase and alphanumeric, before looking
14713         them up.
14714
14715         * gtk/Makefile.am: Install codeset variant gtkrc files
14716         with normalized names.
14717
14718 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
14719
14720         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
14721         popup menus when the menu is already visible, but its parent
14722         is still hidden, (happens after tornoff window got hidden).
14723
14724 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
14725
14726         * gtk/Makefile.am (install-data-local): Fix
14727         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
14728         deleted, causing error messages on install.
14729
14730 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
14731
14732         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
14733         the handle as well, since we now sometimes ignore
14734         exposes on the handle while resizing.
14735
14736 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
14737
14738         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
14739         extra g_free introduced in one of the last one or two 
14740         commits.
14741
14742 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
14743
14744         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
14745         consistent, put each style that a gtkrc.* file creates
14746         in a unique namespace, remove old files before installing.
14747
14748 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
14749
14750         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
14751         gtk_rc_init is called multiple times. (Yes, people who
14752         do that have bugs in their code.)
14753
14754 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
14755
14756         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
14757         Remove it since it's generated by the Makefile anyway
14758
14759 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
14760
14761         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
14762         device->info.axes for core pointer.
14763
14764 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
14765
14766         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
14767         idle_id, to deal with obsolete, broken C libraries.
14768
14769 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
14770
14771         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
14772         allocation->x/y twice!
14773
14774         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
14775         consistent with gtk_vscale_pos_trough().
14776
14777 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
14778
14779         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
14780         be queueing a resize on a toplevel container between
14781         the time we show it and when we map it. So, we need
14782         to test GTK_WIDGET_VISIBLE() for toplevels, and only
14783         use GTK_WIDGET_DRAWABLE() for child windows.
14784
14785 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
14786
14787         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
14788         (fixes bug #2144)
14789
14790 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
14791
14792         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
14793         container DRAWABLE (instead of VISIBLE), so we don't queue
14794         resizes on non-toplevel containers.
14795
14796 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
14797
14798         * gtk/gtkselection.[ch]: Make the data argument
14799         const guchar *.
14800
14801 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
14802
14803         * gtk/gtkwindow.c: Try to behave sensibly if 
14804         the focus widget is the window itself. (Should
14805         we allow this at all?)
14806
14807 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
14808
14809         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
14810         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
14811         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
14812         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
14813         in prototypes and implementations consistent (Tomas Ogren).
14814
14815         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
14816         before the widget is unparented (reported by damon).
14817
14818         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
14819         since we provide unsigned data anyways.
14820
14821 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
14822
14823         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
14824         the call to gtk_tooltips_layout_text() until later.
14825
14826         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
14827         Call gtk_widget_ensure_style() before using the style.
14828
14829 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
14830
14831         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
14832         for old widgets that don't propagate draws to all
14833         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
14834
14835 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
14836
14837         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
14838         for a redraw but just the widget that requested the resize.
14839
14840 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
14841
14842         * gtk/gtkcontainer.c: added new widget level method
14843         gtk_container_set_reallocate_redraws() and a GtkContainer flag
14844         reallocate_redraws : 1 to reflect the setting, exported this through
14845         the argument system as a boolean ::reallocate_redraws.
14846
14847         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
14848         on the widget because the allocation changes, do so as well for
14849         widget->parent if the parent has reallocate_redraws set to TRUE.
14850         with that containers requesting reallocation redraws get automatically
14851         redrawn if their children changed allocation (this unfortunately
14852         affects also other children that didn't change allocation, but we
14853         cannot work around that before 1.3).
14854
14855 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
14856
14857         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
14858         _and_ height are >0 (not _or_).
14859
14860         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
14861         instead of gtk_container_queue_resize(), which is a core gtk internal
14862         function (must have been on crack when i queued that).
14863
14864         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
14865         we can check more reliably if we want to discard expose events.
14866         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
14867         flag.
14868         
14869         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
14870         we simply trust these events. for deciding whether to discard exposes,
14871         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
14872         
14873 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
14874
14875         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
14876         queues of areas that are completely off screen.
14877
14878         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
14879         logic for handleboxes.
14880
14881         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
14882         check on width/height.
14883
14884 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
14885
14886         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
14887         we are fine with using $@ the way we do (if we actually encounter
14888         brokeness with $@ in VPATH builds because of additional path prefixes,
14889         we need to use $(@F) actually).
14890
14891 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
14892
14893         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
14894         short lived bugs, that would allow language bindings to do surgeries
14895         to our guts.
14896
14897 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
14898
14899         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
14900         where comparison was being done against an uninitialized
14901         value causing intermittant results depending on
14902         compiler flags. Also make it clearer that we aren't
14903         ever initializing the child as 0x0 (though this will
14904         be caught in gtk_widget_size_allocate())
14905
14906 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
14907
14908         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
14909         gtk_window_unset_transient_for() call after we do checks
14910         involving the old transient parent.
14911         [ From Lance Capser <lmc@cyberhighway.net> ]
14912
14913 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
14914
14915         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
14916         an empty file.
14917
14918 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
14919
14920         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
14921         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
14922
14923 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
14924
14925         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
14926         `$@' is valid only in the build dir, not after we've done 
14927         `cd $srcdir'.  Also use `test -f' instead of less portable
14928         `test -e'.
14929
14930 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
14931
14932         * gtk/gtktext.c (correct_cache_insert): Rewrite
14933          for simplicity, and hopefully correctness.
14934          (Fixes bug #1322, which was a segfault when
14935           on some insertions with the properties around
14936           the insertion set up just wrong.)
14937
14938         * gtk/gtktext.c (gtk_text_adjustment): When we receive
14939          a "changed" signal, clamp the new value to the adjustment
14940          bounds to avoid segfaulting if someone tries to change
14941          the adjustment to a bogus value. (Bug #1795)
14942
14943 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
14944
14945         * gtk/gtkmain.c: Ignore unexpected destroy notifies
14946         for children, for toplevel windows handle them
14947         like delete_event.
14948
14949         * gtk/gtkplug.c: Add an unrealize handler so that
14950         we unref plug->socket_window when we are done
14951         with it.
14952
14953 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
14954
14955         * gtk/gtktext.c (clear_area): Fix stupid signedness
14956          problem that was causing background to sometimes
14957          be misaligned.
14958
14959 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
14960
14961         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
14962         
14963         * gtk/gtkmenu.c (gtk_menu_position): Make
14964          sure we never position menus with negative x, y,
14965          since gtk_widget_set_uposition() can't handle that.
14966
14967         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
14968          Modify the positioning code a bit so that we always
14969          put the top-left corner onscreen. (This is for
14970          UI reasons, gtk_menu_position() now takes care of
14971          gtk_widet_set_uposition() brokeness.)
14972
14973 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
14974
14975         * gtk/Makefile.am: fixed up things for -jx, x > 1.
14976
14977 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
14978
14979         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
14980           RC style that is passed in. The lack of the ref
14981           before was a bug. If people worked around this
14982           bug, this will introduce a slight memory leak
14983           in their code. The code should typically look like:
14984
14985             rc_style = gtk_rc_style_new ();
14986             [...]
14987             gtk_widget_modify_style (widget, rc_style);
14988             gtk_rc_style_unref (rc_style);
14989
14990         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
14991           the style if it was already set.
14992
14993         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
14994           style if it was set before.
14995
14996 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14997
14998         * gtk/testgtk.c (main): Add a check to see if we
14999           are being run from the correct directory and
15000           to quit nicely if we are not.
15001
15002         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
15003           static.
15004
15005 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
15006
15007         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
15008
15009         * gtk/gtkwindow.c:
15010         queue resizes unconditionally (gtk_widget_queue_resize will figure
15011         what to do if the window is not realized).
15012         (gtk_window_move_resize): only recenter the window
15013         for GTK_WIN_POS_CENTER_ALWAYS.
15014         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
15015         the same way as GTK_WIN_POS_CENTER.
15016
15017 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
15018
15019         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
15020         with (!(info->last_flags & GDK_HINT_POS)) instead of
15021         (!info->last_flags & GDK_HINT_POS).
15022
15023         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
15024         new_height unconditionally, because we use these values even if
15025         !default_size_changed && !hints_changed.
15026         comented the (default_size_changed || hints_changed) case with
15027         respect to resize rejects from the window manager.
15028
15029         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
15030         in the zvt condition hack, since this includes the window hints, set
15031         the hints after the handling_resize case.
15032
15033         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
15034         window is initially shown with to the geometry.
15035
15036 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
15037
15038         * gtk/gtkwindow.c (gtk_window_move_resize):
15039         s/size_changed/default_size_changed/g so i know what's
15040         really going on (frying brain on smaller flame now).
15041
15042 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
15043
15044         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
15045         we have size_changed upon handling_resize. this is a gross
15046         workaround for the broken zvt widget and should be removed in
15047         1.3 again (search for FIXME).
15048         Owen provided an accurate comment for this:
15049
15050         /* We could be here for two reasons
15051          *  1) We coincidentally got a resize while handling
15052          *     another resize.
15053          *  2) Our computation of size_changed was completely
15054          *     screwed up, probably because one of our children
15055          *     is broken. It's probably a zvt widget.
15056          *
15057          * For 1), we could just go ahead and ask for the
15058          * new size right now, but doing that for 2)
15059          * might well be fighting the user (and can even
15060          * trigger a loop). Since we really don't want to
15061          * do that, we requeue a resize in hopes that
15062          * by the time it gets handled, the child has seen
15063          * the light and is willing to go along with the
15064          * new size. (this happens for the zvt widget, since
15065          * the size_allocate() above will have stored the
15066          * requisition corresponding to the new size in the
15067          * zvt widget)
15068          *
15069          * This doesn't buy us anything for 1), but it shouldn't
15070          * hurt us too badly, since it is what would have
15071          * happened if we had gotten the configure event before
15072          * the new size had been set.
15073          */
15074
15075 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
15076
15077         * gtk/gtkrc.c: deal properly with the fact that RC
15078           style lists may include rc styles more than once.
15079
15080         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
15081           unused static function.
15082
15083         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
15084           stack of directories of RC files currently being
15085           parsed and implicitely add them to pixmap path.
15086           
15087           This fixes a bug where the directory would get
15088           appended then overwritten by pixmap_path declarations.
15089
15090           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
15091
15092         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
15093           theme's exit function. (Patch from Peter Wainwright,
15094           bug #1454)
15095
15096         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
15097           Add a destroy() handler to take care of removing
15098           group for menu item. (Fixes bug #1197)
15099
15100         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
15101           in warning message.
15102
15103 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
15104
15105         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
15106         roundtrip to figure window's width and height, since we know that
15107         anyways from widget->allocation.
15108
15109 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
15110
15111         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
15112           the hints after we request the new size.
15113
15114 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
15115
15116         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
15117           GTK_WIDGET_REALIZED() assertion - we can compute the
15118           hints before we are realized.
15119
15120         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
15121           hint changing so that we have a value of hints_changed
15122           when we decide whether to constrain the window size.
15123
15124         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
15125
15126         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
15127         change back to G_MAXINT.
15128
15129 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
15130
15131         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
15132         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
15133         contain uncluttered values.
15134         (gtk_window_compute_hints): simply assert that window is realized
15135         and that geometry_info is valid, since we rely on this anyways.
15136         (gtk_window_constrain_size): major cleanups to the code.
15137         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
15138         for the base size, instead of the minimums. use 32767 as max width
15139         and height (like in gtkwindow.c) instead of G_MAXINT.
15140
15141 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
15142
15143         * cleaned up the GtkContainer.need_resize flag handling mess, we
15144         only need to force resize requests when we were prematurely
15145         realized, or our widget tree was modified when we were temporarily
15146         hidden. handling these cases directly upon showing the window (i.e.
15147         while the GdkWindow is still unmapped) avoids the need to wait for
15148         a configure event response and therefore makes the GUI more snappier
15149         and avoids blank windows during the roundtrip.
15150
15151         * gtk/gtkwidget.c:
15152         (gtk_widget_hide): 
15153         (gtk_widget_show): don't queue resizes on toplevels, they know how
15154         to deal with matters.
15155
15156         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
15157         flag directly for not visible resize containers and spare us unecessary
15158         signal emissions.
15159
15160         * gtk/gtkwindow.c:
15161         (gtk_window_realize): if we need to enforce premature size allocation,
15162         queue a container resize so we are correctly resized later on.
15163         (gtk_window_init):
15164         (gtk_window_size_request):
15165         don't freak around with the ->need_resize flag,
15166         gtk_container_queue_resize() will care about that.
15167         (gtk_window_show):
15168         handle initial resizing issues here, we can handle matters better in
15169         this place, especially since we know that our GdkWindow is still
15170         unmapped.
15171         (gtk_window_move_resize):
15172         don't care about ->need_resize at all.
15173         handle size changes properly that occoured while we waited for a
15174         configure event.
15175
15176 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
15177
15178         * gtk/gtkwidget.c (gtk_widget_set_uposition):
15179         * gtk/gtkwindow.[hc] (gtk_window_reposition):
15180         Move the hint setting code from gtk_widget_set_uposition
15181         to here; set the hints so that we respect any previously
15182         set geometry hints.
15183
15184         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
15185         change the window hints here or move the window here,
15186         let that happen in gtk_window_move_resize().
15187
15188 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
15189
15190         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
15191         to already queued resizes (and therefore redraws) on a widget, check
15192         its anchestry as well.
15193
15194         * gtk/gtkcontainer.c:
15195         (gtk_container_queue_resize): clear resize widgets for resize
15196         containers before aborting prematurely. this is especially important
15197         for toplevels which may need imemdiate processing or their resize
15198         handler to be queued.
15199         (gtk_container_dequeue_resize_handler): added new internal function for
15200         gtkwindow.c.
15201
15202         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
15203         configure event, take possible changes in window position into account
15204         as well.
15205         if we request a new window size, queue up a resize handler that will
15206         last until the configure event response arrives.
15207         combined the ->need_resize case (initial show) with the general size
15208         (hints) changed case and added even more comments.
15209         if !auto_shrink, only revert to the old allocation if the new size
15210         is smaller than the current allocation.
15211
15212 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
15213
15214         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
15215                            gtk_window_set_geometry_hints
15216                            gtk_window_set_default_size):
15217         When hints are set, queue a resize so that the hints will
15218         be eventually reset on the toplevel.
15219
15220         * gtk/gtkwindow.c (gtk_window_show): Use
15221         gtk_window_compute_default_size(). Clear the need_resize flag
15222         on the initail map so that we don't unnecessarily trigger the
15223         resize code.
15224
15225         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
15226         into separate functions. Compare the hints we are setting
15227         with what we set last time so that we can accurately
15228         tell when we need to reset the hints.
15229
15230         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
15231         function to figure out the size from requisition
15232         and default_size.
15233
15234         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
15235         from fvwm to constrain a size to the geometry hints.
15236
15237         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
15238         to compare two sets of geometry hints.
15239
15240         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
15241         from gtk_window_set_hints(), just compute the hints,
15242         don't set them.
15243
15244         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
15245         code from gtk_window_move_resize() to separate function,
15246         rationalize a bit.
15247
15248 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
15249
15250         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
15251         structure into a new private structure.
15252
15253         * gtkrc.c: Split GtkRcStyle into public/private.
15254         In the private part, add a list of pointers to the
15255         RcStyle lists this RcStyle participates in.
15256
15257         * gtkrc.c: When a RcStyle is free, remove all
15258         lists referencing it from the 
15259         realized_style_ht hash, and free those lists.
15260         
15261         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
15262         gtk_rc_init(), since that adds the default styles
15263         to the list of parsed RC files again.
15264
15265         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
15266         
15267 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
15268
15269         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
15270         checks that ensure that a widget's allocation is at least 1 in width
15271         and height. (GNOME note: this doesn't affect old panel code anymore,
15272         because GtkSocket will request width and height of at least 1 since
15273         Fri Jul 23).
15274
15275         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
15276         allocated yet (happens if the user realizes the window prematurely),
15277         size request and allocate it.
15278         (gtk_window_size_allocate): guard against guint underflows.
15279
15280 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
15281
15282         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
15283         in gtk_built_sources, so gtk.defs gets built prior to all other
15284         sources.
15285
15286 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
15287
15288         * gtk/Makefile.am:
15289         invoke indent on gtkmarshal.*. 
15290         rewrote source generation rules, use COPYING as oldest source tag for
15291         a piggyback rule to generate all sources from (don't touch it ;).
15292         major cleanups, strip spaces on build rules for GNU Make.
15293
15294         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
15295         source and target files from commandline arguments. don't invoke indent.
15296
15297 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
15298
15299         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
15300         notebook after switch to avoid drawing problems.
15301         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
15302         
15303         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
15304         show them instead. 
15305         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
15306
15307 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
15308
15309         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
15310         notebook after switch to avoid drawing problems.
15311         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
15312         
15313         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
15314         show them instead. 
15315         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
15316
15317 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
15318
15319         * gtk/gtkwindow.c:
15320         we use window->need_resize from configure_event now, to indicate that
15321         the gtkwindow should keep its allocation (e.g. because the user resized
15322         the window through window manager handles). resize_count is now reliably
15323         used to figure whether we got the allocation we requested from the
15324         window manager.
15325         configure events get queued as resizes now, the real stuff (size
15326         computation and allocation) now only goes on in gtk_window_move_resize().
15327         GtkWindow's requisition now contains its *real* requisition (like all
15328         other widgets), *not* taking usize into account.
15329         geometry_info->last_{width|height} is now updated from set_hints() only
15330         so it always contains the last hints we set for the window manager.
15331         made some event handlers return TRUE instead of FALSE.
15332         the overall code should be much more straight forward now, and the
15333         significant code portions are accompanied by comments now.
15334         (gtk_window_set_hints):
15335         removed requisition argument and made it
15336         fetch the requisition through gtk_widget_get_child_requisition.
15337         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
15338         does that now.
15339         (gtk_window_show):
15340         ensure that the widget is realized before calling 
15341         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
15342         ensure that we got properly size requested and allocated before
15343         realization.
15344         (gtk_window_configure_event):
15345         ignore plain window moves, or reallocate the widget tree through the
15346         resize queue otherwise.
15347         (gtk_window_move_resize):
15348         mostly rewrote this function to figure window manager hints more
15349         reliably, coalesce window moves and resizes to reduce configure events
15350         and do actuall size allocations.
15351
15352 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
15353
15354         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
15355         that have a resize pending, because a redraw is already queued for them.
15356
15357         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
15358         hack to clear resize_widgets.
15359
15360         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
15361         for resize containers prior to size allocation. (this is also a bit
15362         ugly, but avoids side effects for stopped emissions and is thus more
15363         reliable).
15364         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
15365
15366         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
15367         function from gtk_tooltips_expose, as we connect to ::expose_event
15368         *and* ::draw now.
15369
15370 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
15371
15372         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
15373         checks.
15374         (gtk_target_list_unref): Likewise.
15375
15376         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
15377
15378 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
15379
15380         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
15381         guard against division by zero. (Fixes bug #1339)
15382
15383 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
15384
15385         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
15386         Prevent the trivial leak of information of allowing
15387         word motion when the entry is not visible.
15388
15389 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
15390
15391         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
15392         modality to error dialog as well as confirmation dialogs.
15393         (Bug #1803, reported by Rosanna Wing Sze Yuen)
15394
15395 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
15396
15397         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
15398         tree->view_lines.
15399         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
15400
15401         * gtk/Makefile.am (install-data-local): Solaris apparently
15402         has various troubles with ln -f; use rm first instead.
15403         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
15404
15405 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
15406
15407         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
15408         use `cp' followed by `rm' (the `rm' was already there).
15409
15410 July 30, 1999 Elliot Lee <sopwith@redhat.com>
15411         
15412         * configure.in: Fix autoconf warnings about cross compilation by
15413         trying to provide sane defaults for AC_TRY_RUN.
15414         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
15415         put them into $(srcdir) when generated. Also add a dependency of
15416         gtksignal.h on gtkmarshal.h for -j builds. 
15417         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
15418
15419 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
15420
15421         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
15422         GDK_THREADS_{LEAVE,ENTER} pair.
15423         (From Paul Fisher <pnfisher@redhat.com>)
15424
15425 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
15426
15427         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
15428         width and height are always >0 (owen).
15429
15430 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
15431
15432         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
15433         change that assured that a widget's allocated with and height are
15434         always >1, since this breaks *buggy* panel code. unfortunately this
15435         back-breaks the gimp's color selector.
15436
15437         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
15438         allocation is always >0 in width and height, before sending the
15439         configure event; this is a *gross* hack to get the gimp back to work.
15440         
15441         * marked both cases with TODO-1.3
15442
15443 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
15444
15445         * gtk/gtktext.c: Don't display wrap indicators when
15446         text is not editable and word wrap is on.
15447
15448 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
15449
15450         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
15451         option menus here as they are not derived from menu shell, assure that
15452         the option menu has a menu we can add items to.
15453
15454 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
15455
15456         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
15457         width/height to (gint) before calculations and check against < 0 to
15458         avoid guint wraparounds.
15459
15460 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
15461
15462         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
15463         width and height is never zero. sanity check both dimensions against
15464         32767 and issue a warning if the allocation is greater than that.
15465
15466 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
15467
15468         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
15469         to g_main_pending() as well.
15470
15471 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
15472
15473         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
15474         call to g_main_iteration() - since that will regrab
15475         GTK+ lock to process events.
15476
15477 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
15478
15479         * gtk/gtkwindow.c
15480         - Regularize with the rest of GTK+ by making widget->requisition
15481           not reflect the set_usize()
15482         - Always recompute geometry hints, then check if they
15483           changed before sending them to the X server. The
15484           previous checks for changes would fail in a number
15485           of circumstances. 
15486
15487 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
15488
15489         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
15490
15491 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
15492
15493         * gtk/gtkdnd.c:
15494         - Code cleanups
15495         - Instantaneously update on modifier key presses
15496         - Allow cancellation of the drag with Escape.
15497
15498 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
15499
15500         * gtk/testgtk.c (create_handle_box): Set the policy
15501         to auto_shrink - otherwise the appearance is rather
15502         strange when flipping between horizontal and vertical.
15503
15504 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
15505
15506         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
15507         (gtk_window_set_default_size): don't change a value if it's < 0.
15508         queue a resize.
15509
15510 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
15511
15512         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
15513
15514 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
15515
15516         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
15517         add an extra "/" when concating "/" + filename.
15518         (From Matt Grossman <mattg@oz.net>)
15519
15520 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
15521
15522         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
15523         for fg_gc if we set it for drawing pixmap.
15524
15525 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
15526
15527         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
15528         
15529         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
15530         already set, call old engine's destroy function and
15531         unref the old engine.
15532
15533 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
15534
15535         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
15536
15537 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
15538
15539         * gtk/gtkaccelgroup.h: mark certain functions as internal.
15540
15541 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
15542
15543         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
15544         expand behaviour changed.
15545
15546         * gtk/gtklabel.c (gtk_label_set_pattern):
15547         (gtk_label_set_justify):
15548         (gtk_label_set_line_wrap):
15549         don't bother invoking queue_clear, the reallocation does
15550         that for us, always free_words so the upcoming resize will
15551         relayout the label's contents.
15552
15553 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
15554
15555         * applied argument implementation patches from Elena Devdariani
15556         <elena@cogent.ca>.
15557
15558         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
15559         ::space_style, ::relief
15560         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
15561         * gtk/gtkpreview.c: ::expand
15562         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
15563         * gtk/gtknotebook.c: ::homogeneous
15564         * gtk/gtklabel.c: ::wrap
15565         * gtk/gtklist.c: ::selection_mode
15566         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
15567         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
15568         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
15569         * gtk/gtkclist.c: ::sort_type
15570         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
15571         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
15572
15573 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
15574
15575         * gtk/gtkstyle.c: Removed ill-thought-out part of last
15576         comment.
15577
15578 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
15579
15580         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
15581         counting right when we have to attach a new style
15582         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
15583
15584         * gtk/gtkstyle.c: Documented the refcounting
15585         peculularities of gtk_style_attach.
15586
15587 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
15588
15589         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
15590         window types.
15591
15592         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
15593         of GTK_TOPLEVEL for creating the window.
15594
15595 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
15596
15597         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
15598         the last argument (reported by Per Winkvist).
15599         
15600 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
15601
15602         Fixes for invisible XOR lines (Frank Loemker
15603         <floemker@TechFak.Uni-Bielefeld.DE>)
15604         
15605         * gtk/gtkclist.c (gtk_clist_realize): Always use
15606         a non-zero pixel for GDK_XOR.
15607
15608         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
15609         Use GDK_INVERT instead of GDK_XOR.
15610
15611 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
15612
15613         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
15614         signals if h/voffsets differ from adjustment values.
15615         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
15616
15617 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
15618
15619         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
15620         ::selection-done emissions up to the topmost menu shell.
15621
15622 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
15623
15624         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
15625         the user data on the window before destroying it.
15626
15627         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
15628         unrealize handler to take care of destroying 
15629         notebook->panel properly. 
15630         (Bug #1198 - Morten Welinder <terra@diku.dk>)
15631
15632         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
15633         of g_new and g_realloc to stop memory leak. (Actually,
15634         we could just use g_realloc(), but I'm not 100% sure
15635         that is portable).
15636         (Bug #1196 - Morten Welinder <terra@diku.dk>)
15637
15638 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
15639
15640         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
15641
15642         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
15643         for fontsets.
15644
15645         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
15646         with bin/button confusion.
15647
15648 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
15649
15650         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
15651         and show how preselection of radio items is done.
15652
15653 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
15654
15655         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
15656         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
15657         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
15658         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
15659         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
15660         * gtk/gtktable.c (gtk_table_attach): 
15661         * gtk/gtklist.c (gtk_list_insert_items): 
15662         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
15663         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
15664         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
15665         * gtk/gtkbin.c (gtk_bin_add): 
15666         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
15667         * gtk/gtkfixed.c (gtk_fixed_put): 
15668         * gtk/gtklayout.c (gtk_layout_put):
15669         general fixups to container_add logic. always realize child if
15670         child->parent is realized, only map the child and queue a resize
15671         if child and child->parent are both visible.
15672
15673 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
15674
15675         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
15676         instead of gtk_container_foreach to walk and unrealize children, so
15677         composite children get also unrealized.
15678         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
15679         (gtk_widget_map): assert that the widget is visible (basic constrain).
15680         (gtk_widget_real_map): assert that the widget is realized (basic
15681         constrain).
15682
15683 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
15684
15685         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
15686
15687 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
15688
15689         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
15690         file for iso-8859-2 locales.
15691
15692         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
15693
15694 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
15695
15696         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
15697          (Pointed out by andy@rz.uni-karlsruhe.de and others).
15698          Remove some suspicious and useless lines. 
15699
15700 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
15701
15702         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
15703         width,height = 0, 0 to mean - here to edge of window,
15704         instead of -1, -1, since the former is all we support.
15705
15706 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
15707
15708         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
15709         when removing from quit_functions list.
15710
15711 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
15712
15713         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
15714
15715 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
15716
15717         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
15718          When redrawing characters on non-visible entry, use appropriate
15719          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
15720
15721 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
15722
15723         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
15724         from drag coordinates.
15725         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
15726         use drag_dest_cell.
15727
15728         * gtk/gtktree (drag_dest_cell)
15729         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
15730         (Bug #1129)
15731
15732 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
15733
15734         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
15735         translate_* fields.
15736         (gtk_item_factory_finalize): invoke translate_notify independant from
15737         translate_data.
15738         (gtk_item_factory_set_translate_func): likewise.
15739         (gtk_item_factory_destroy): only remove ifactory pointer from those
15740         widgets that belong to us (stupid me).
15741
15742 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
15743
15744         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
15745         rc_style list when lookup succeeeds.
15746
15747 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
15748
15749         * gtk/gtkctree.c (resync_selection): 
15750         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
15751         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
15752         bug.
15753
15754 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
15755
15756         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
15757         Add some missing GDK_THREADS_ENTER()/LEAVE around
15758         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
15759
15760 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
15761
15762         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
15763         rather than emit_by_name.
15764
15765         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
15766         on the widget across multiple signal emissions.
15767         (gtk_editable_delete_text): same here.
15768         (gtk_editable_class_init): set widget_class->activate_signal after
15769         editable_signals[ACTIVATE] has been created.
15770
15771 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
15772
15773         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
15774         position here prematurely -- we might not have the
15775         right ->min_position and ->max_position yet.
15776
15777 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
15778
15779         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
15780         Add error traps so if the other end of the connection
15781         dies, we survive.
15782
15783         * gtk/gtkselection.c (gtk_selection_notify): Clean
15784         up properly when selection property retrieval fails.
15785         
15786         * gtk/gtkselection.c (gtk_selection_request): Correctly
15787         reject SelectionRequest notifies where the handler
15788         returns no data.
15789
15790 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
15791
15792         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
15793         when we've previously highlighted.
15794
15795         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
15796         emit two "drag_leave" signals for Motif drops.
15797
15798         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
15799         back the correct status messages when dropping from
15800         Motif onto a proxy window that is rejecting the
15801         drop.
15802
15803 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
15804
15805         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
15806         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
15807         to compare two argument values. added gtk_arg_to_valueloc() to set a
15808         variable from an arg through its location (pointer).
15809
15810         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
15811         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
15812         as gfloat*, uchars are collected as guchar*, ints are collected as
15813         gint*, etc...
15814
15815 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
15816
15817         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
15818         Include <string.h> instead of <strings.h>.
15819
15820         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
15821         (actually, a lot more duplicate includes occur if
15822          you trace through the sequence of #include's)
15823         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
15824         
15825 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
15826
15827         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
15828         gtk-a-higuti-990322-[0-3]
15829
15830         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
15831         that was causing -DX_LOCALE not to work.
15832
15833         * gtk/gtkrc.c (gtk_rc_init):
15834         X_LOCALE will never have LC_MESSAGES defined
15835
15836 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
15837
15838         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
15839         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
15840
15841         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
15842         left/right as well (gtk-michael-980726-0.patch.gz).
15843
15844         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
15845         for pointer values, use gchar instead of char. fixed uline allocation
15846         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
15847         chunks instead of G_ALLOC_ONLY.
15848         (gtk_label_size_request): always alter requisition as passed and leave
15849         widget->requisition alone.
15850         (gtk_label_set_text): allow NULL strings.
15851         (gtk_label_new): likewise.
15852
15853 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
15854
15855         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
15856
15857 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
15858
15859         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
15860         *and* mapped (i.e. drawable).
15861         (gtk_bin_expose): only send exposes to drawable children.
15862
15863         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
15864         (gtk_box_expose): only send exposes to drawable children.
15865
15866         * gtk/gtkhscale.c (gtk_hscale_draw): 
15867         * gtk/gtkvscale.c (gtk_vscale_draw):
15868         hm, this is an ugly one. we first compute the size of our trough area
15869         here (window relative) and then check intersection with the draw_area
15870         which is parent relative because we're a NO_WINDOW widget, so we need
15871         to offset the trough area by allocation.x and allocation.y before the
15872         check. (this must not be done for the background area though, since
15873         that's already computed parent relative).
15874
15875 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
15876
15877         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
15878         unrealize title buttons.
15879
15880 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
15881
15882         * gtk/gtkclist.c (gtk_clist_column_title_passive)
15883         (gtk_clist_column_title_active): 
15884         only connect/disconnect to GtkWidgetClass::event to block mouse events.
15885
15886         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
15887         zero initialize event, removed superfluous gdk_window_get_pointer call
15888
15889         * gtk/gtklist.c (gtk_list_vertical_timeout)
15890         (gtk_list_horizontal_timeout): removed superfluous
15891         gdk_window_get_pointer call
15892
15893 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
15894
15895         * plugging problems reported by "Bruce Mitchener, Jr."
15896         <bruce@puremagic.com> due to a purify session.
15897
15898         * gtk/gtkstyle.c:
15899         (gtk_style_ref): 
15900         (gtk_style_unref): assert ref_count to be > 0.
15901
15902         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
15903         the requisition.
15904         (gtk_clist_set_shift): likewise.
15905
15906         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
15907         adjustments.
15908
15909         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
15910         event before sending it and set send_event to TRUE (which needs to
15911         be done for *all* synthesized events).
15912         (gtk_list_vertical_timeout): likewise.
15913
15914         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
15915         leaks.
15916
15917         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
15918         to TRUE when synthesizing events.
15919
15920 [ *** end of merges from 1.2 *** ]      
15921         
15922 1999-11-21  Tor Lillqvist  <tml@iki.fi>
15923
15924         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
15925         (or copied from gdkconfig.h.win32 on Win32, sigh).
15926
15927         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
15928
15929         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
15930
15931         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
15932
15933         * gdk/gdkconfig.h.win32: New file.
15934
15935         * gdk/win32/makefile.cygwin: Build just a static archive here.
15936
15937         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
15938         for the DLL from the static archive built above.
15939
15940         * gdk/gdk.def: Moved here from the win32 subdirectory.
15941
15942         * gdk/win32/*: Adapt for the changed private struct organisation.
15943
15944         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
15945
15946 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
15947
15948         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
15949         for wheel mice (buttons 4 and 5).
15950
15951 1999-11-18  Tor Lillqvist  <tml@iki.fi>
15952
15953         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
15954         drawables use just the pixel field in the foreground and
15955         background GdkColor of the GdkGC.
15956
15957         gdk_gc_set_{fore,back}ground() are called in the GIMP with
15958         GdkColors containing uninitialized (red,green,blue) fields, and
15959         just the pixel field filled in, and furthermore in the
15960         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
15961         It thus turns out that we really don't need to have the full
15962         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
15963         it later to have just the pixel values.
15964
15965 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
15966
15967         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
15968
15969 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
15970
15971         * docs/gtkfaq.sgml: threads example from Erik Mouw.
15972         New question on GtkLabel background colors.
15973
15974         * docs/gtk_tut.sgml:
15975           - Correct the example code callback
15976             function definitions.
15977           - Update the gtkdial example code, from Frans van Schaik.
15978           - Update setselection.c to current API.
15979
15980         * examples/Makefile examples/*/*.c: Update to code
15981         listed in tutorial.
15982
15983 1999-11-10  Tor Lillqvist  <tml@iki.fi>
15984
15985         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
15986         subrange table (from the "Developing International Software for
15987         WIndows 95 and Windows NT" book) was missing the Hangul syllable
15988         block... Get the loaded font's charset correctly.
15989
15990         (Note that this, and the other *-win32.c files, still really are
15991         the old ones, the win32 subdirectory is not ready for compilation
15992         yet after the reorg.)
15993
15994 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
15995
15996         * gtk/gtkclist.c: Fix off-by-one bug in parameter
15997         check.
15998
15999 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
16000
16001         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
16002         on results of XQueryDeviceState().
16003
16004 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
16005
16006         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
16007         we need to accesss only ->children. We need an accessor
16008         for the children.
16009
16010         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
16011         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
16012         to get rid of gdkx.h include.
16013         
16014         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
16015         and random references to 'None'.
16016
16017         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
16018         Get rid of unused #include <gdk/gdkx.h>
16019
16020         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
16021         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
16022         gdkconfig.h.
16023
16024 1999-11-08  Tor Lillqvist  <tml@iki.fi>
16025
16026         * gdk/win32/gdkdraw.c
16027         * gdk/win32/gdkfont.c
16028         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
16029         following yesterday's changes. (Unrelated to Owen's reorg.)
16030
16031 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
16032
16033         * gdk/x11/gdkinput-gxi.c: Add missing include,
16034           fix GdkWindowPrivate => GdkDrawablePrivate.
16035
16036         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
16037
16038         * gdk/x11/Makefile.am (xinput_sources): Add missing
16039         backslash to fix building with --with-xinput=none
16040
16041 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
16042
16043         Move all X specific code into the x11/ directory.
16044         Aside from shuffling things around, did the following:
16045
16046        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
16047          gdk_arg_context_* - a simple argument parsing system
16048          in the style of popt.
16049
16050        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
16051          gdk/x11/gdkprivate-x11.h:
16052          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
16053          add ->klass and ->klass_data fields. The klass_data
16054          field points to an auxilliary structure that is
16055          windowing system dependent.
16056
16057        * gdk/gdkfont.c: Make most of the measurement functions
16058          simply wrappers around gdk_text_extents().
16059
16060        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
16061          _gdk_font_strlen() function that hides the weird
16062          behavior in gtk+-1.[02] where a string is interpreted
16063          differently for 8-bit and 16-bit fonts.
16064
16065        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
16066          to store common code for synthesizing double/triple
16067          press events.
16068         
16069        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
16070          Make all the function that modify an existing GC
16071          simply wrappers around gdk_gc_set_values().
16072          
16073        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
16074          for throwing out later.
16075
16076        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
16077          GdkImagePrivate and GdkColormapPrivate to have a
16078          windowing system dependent part (GdkFontPrivateX etc.)
16079          that "derives" from the system-independent part.
16080
16081        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
16082          Got rid of the included-source-files for XInput in
16083          favor of automake conditionals. (Which didn't exist
16084          when XInput support was originally added.)
16085
16086        * gdk/gdkrgb.c: Remove the visual id from the debugging
16087          statements since that is X11 specific; print out
16088          type/depth info instead.
16089          
16090
16091 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
16092
16093         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
16094         loading duplicates of hashed fonts.
16095
16096         * gdk/gdk.c (gdk_keysym_convert_case): rename
16097         gdk_XConvertCase to gdk_keysym_convert_case, allow
16098         results to be NULL in the GTK+ style.
16099
16100         * gdk/gdkcompat.h: Started compatibility header
16101         for renames.
16102
16103 1999-11-07  Tor Lillqvist  <tml@iki.fi>
16104
16105         * gdk/win32/gdkprivate.h: New font private structures, related to
16106         fontsets.
16107
16108         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
16109         gdk_font_list_free(). On X11, will just be wrappers to
16110         XListFonts() and XFreeFontNames(). On Win32, the code previously
16111         in gtkfontsel.c is now here.
16112
16113         New function gdk_font_xlfd_create(). On X11 will get the FONT
16114         property of the font (for GDK_FONT_FONTs), or call
16115         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
16116         builds a XLFD style name from the font information in the LOGFONT
16117         struct(s).
16118
16119         New function gdk_font_xlfd_free(), which correspondingly frees the
16120         string returned by gdk_font_xlfd_create().
16121
16122         Implement fontsets on Win32. Add a function that iterates over a
16123         wide char string and calls a callback function for each substring
16124         of wide chars from the same Unicode subrange (and thus probably
16125         available in the same real font).
16126
16127         Improve the XLFD emulation a bit.
16128
16129         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
16130
16131         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
16132         Beta3, WM_IME_CHAR messages don't seem to contain the composed
16133         multi-byte char as with the Active IMM on Win9x. Oh well, handle
16134         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
16135         ImmGetCompositionStringW() to get the composed Unicode chars.
16136
16137         * gdk/win32/gdkgc.c
16138         * gdk/win32/gdkdraw.c: Changes needed because of the font private
16139         struct changes.
16140
16141         * gdk/win32/gdk.def: Add the new functions.
16142
16143 1999-11-04  Tor Lillqvist  <tml@iki.fi>
16144
16145         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
16146         get the Platform SDK to get <dimm.h>.
16147
16148         * gdk/win32/gdkevents.c: More event handling fixes and
16149         simplification. Never generate motion events with is_hint true. We
16150         used to do that on bogus grounds earlier. Windows sends
16151         WM_MOUSEMOVE messages on button events even if the mouse hasn't
16152         moved, ignore these.
16153
16154         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
16155
16156         * gdk/win32/gdkglobals.c
16157         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
16158         the TrackMouseEvent function, and use it.
16159
16160         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
16161         char before calling WideCharToMultiByte in order to get a string
16162         for the window title.
16163
16164         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
16165
16166         * gdk/win32/gdk.def: Remove obsolete functions.
16167
16168         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
16169         /nodefaultlib and /defaultlib switches.
16170
16171         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
16172
16173 1999-10-31  Tor Lillqvist  <tml@iki.fi>
16174
16175         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
16176         EuroSign).
16177
16178         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
16179         same type as GdkWChar, especially on Win32.
16180
16181         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
16182
16183         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
16184         before passing to Windows GDI for drawing etc. Convert to the
16185         system default codepage before passing to Windows as window
16186         titles.
16187
16188         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
16189         support changing input locale on the fly.
16190
16191         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
16192         on-the-fly changes. Convert incoming characters from the current
16193         codepage to Unicode (and then to a UTF-8 multi-byte string) based
16194         on the current input language. Use keysym<->Unicode mapping tables
16195         and functions borrowed from xterm sources.
16196
16197         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
16198         editions of Win9x, use the ActiveX-based Active IMM (Input Method
16199         Manager) if available. IMEs and the Active IMM are available under
16200         the disguise of Chinese, Korean and Japanese support for IE and
16201         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
16202         support is present in all editions (as long as you install it).
16203
16204         Call DispatchMessage from gdk_events_queue() (and thus
16205         gdk_WindowProc()), instead of duplicating the code in
16206         gdk_WindowProc().
16207
16208         Reworked the grab handling and propagation code, factored out
16209         duplicated code snippets into separate functions. Other cleanups,
16210         too.
16211
16212         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
16213         the <dimm.h> header describing the Active IMM.
16214
16215         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
16216         just do the same as for "single" fonts.
16217
16218         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
16219         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
16220         the new keysyms from gdkkeysyms.h.
16221
16222         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
16223         fontset, so that gtkentry uses wide characters.
16224
16225         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
16226         GTk+'s system directory "gtk+", not "gtk".
16227
16228 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
16229
16230         * docs/gtkfaq.sgml: FAQ update
16231
16232 1999-10-21  Tor Lillqvist  <tml@iki.fi>
16233
16234         * gdk/win32/gdkprivate.h: Add more font private data.
16235
16236         * gdk/win32/gdkfont.c
16237         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
16238         fonts and strings. Now works much better. You still have to
16239         have a correct font selected, though. No fontset emulation yet.
16240
16241 1999-10-19  Tor Lillqvist  <tml@iki.fi>
16242
16243         * gtk/maketypes.awk: Use G_OS_WIN32.
16244
16245         * gtk/gtk.def: Add some missing entry points. Also some non-public
16246         ones, but PyGTK porter claims to need them.
16247
16248         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
16249         built-in type generation.
16250
16251 1999-10-14  Tor Lillqvist  <tml@iki.fi>
16252
16253         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
16254         GDK_FONT_FONT fonts (which is all we have for now, we don't
16255         emulate fontsets). The X11 version uses plain XDrawString in that
16256         case, too. The string passed to gdk_draw_text_wc seems to be in
16257         fact (at least, when used by gtkentry and gtktext) either in a
16258         single-byte charset, or a DBCS. Not Unicode.
16259
16260         This fixes the problem in gtkfontsel, where even if you had
16261         selected a font with a non-Latin1 charset (windows-greek, for
16262         instance), the preview still used Latin-1 glyphs.
16263
16264         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
16265         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
16266         (gdk_font_load): Recognize the demibold etc weights, even if we
16267         don't have the corresponding constants in the headers.
16268         (gdk_font_hash_insert): Use same hash mechanism as in the X11
16269         version. Should save font resources a bit, when we don't have
16270         multiple HFONTs for the same font.
16271
16272         * gdk/win32/gdkprivate.h: Add the names field as in the X11
16273         version.
16274
16275 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
16276
16277         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
16278         X values
16279
16280 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
16281
16282         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
16283         layout support (as mentioned on
16284         http://www.jcinteractive.com/gnome-ui/software/widgets/)
16285
16286 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
16287
16288         * gtk/fnmatch.c
16289         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
16290
16291 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
16292
16293         * configure.in (ALL_LINGUAS): Added Galician (gl)
16294
16295 1999-10-05  Tor Lillqvist  <tml@iki.fi>
16296
16297         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
16298
16299         * gdk/win32/gdkcompat.c: New file, actually provide an
16300         implementation for the deprecated functions. (Just temporarily.)
16301
16302         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
16303
16304         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
16305
16306         * gdk/win32/gdk.def gtk/gtk.def: Updates.
16307
16308 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
16309
16310         * configure.in: Added "uk" to ALL_LINGUAS.
16311         
16312 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
16313
16314         * configure.in: correct checking for BeOS check
16315
16316         * gdk/gdktypes.h
16317         * gtk/fnmatch.c
16318         * gtk/gtkfilesel.c
16319         * gtk/gtkitemfactory.c
16320         * gtk/gtkmain.[ch]
16321         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
16322
16323 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
16324
16325         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
16326         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
16327         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
16328         by Bulgarian). 
16329
16330 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
16331
16332         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
16333         Fix a reference to window_private->destroyed.   
16334
16335         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
16336         (ugly) setting of an internal GdkWindow member to use
16337         a _slightly_ cleaner macro.
16338
16339         * gdk/gdkprivate.h: Split GdkWindowPrivate into
16340         GdkDrawablePrivate and GdkWindowPrivate.
16341         Add extra macros for accessing GDK_DRAWABLE_ components.
16342
16343         * *.[ch]: Massive adjustments for the above, use the
16344         new macros in a lot of places.
16345
16346 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
16347
16348         * gdk/gdktypes.h: Make GdkDrawable the base type,
16349         not GdkWindow.
16350
16351 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
16352
16353         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
16354
16355 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
16356
16357         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
16358
16359 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
16360
16361         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
16362         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
16363
16364         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
16365
16366         * docs/gtk-config.1: Now autogenerated.
16367         * docs/Changes-1.4.txt: started
16368         
16369 1999-10-03  Tor Lillqvist  <tml@iki.fi>
16370
16371         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
16372         to #ifdef also here.
16373
16374         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
16375         Owen did to the X11 backend.
16376
16377         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
16378         ScrollWindowEx when blitting inside a window, it can't be correct
16379         in the general case.
16380
16381         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
16382         WM_GETMINMAXINFO is easier.
16383
16384         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
16385         depth equal to the bitspixel value, not the visual's depth.
16386
16387         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
16388         to 24 even if the bitspixel value is 32.
16389
16390         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
16391         need to check for depth==32 when bpp==32, depth will always be 24.
16392
16393 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
16394
16395         * docs/Changes-1.4.txt: Started
16396         
16397         * gtk/Makefile.am (gdk_headers): Include all the new headers.
16398
16399         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
16400         
16401         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
16402         into C file.
16403         
16404         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
16405         header to gdkinputprivate.h.
16406
16407         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
16408         unused since before 1.2.
16409
16410 1999-09-30  Tor Lillqvist  <tml@iki.fi>
16411
16412         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
16413         expand possible hex escapes in the font family (put there by
16414         logfont_to_xlfd if the font name isn't a legal XLFD font family,
16415         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
16416         On Win32, add hex escapes here, too.
16417
16418 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
16419
16420         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
16421         to #ifdef GDK_WINDOWING_X11.
16422
16423 [ Merges from gtk-1-2 ]
16424
16425 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
16426
16427         * configure.in: fixed "GNU Make" check to pass with new make version
16428         3.77.95.
16429
16430 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
16431
16432         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
16433         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
16434         AM_PATH_GTK() macros don't get confused by the -pre1.
16435
16436 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
16437
16438         * configure.in (REBUILD): Change check for perl5
16439           to check explicitely for v >= 5.002. (5.001
16440           does not work with our scripts.)
16441
16442 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
16443
16444         * configure.in: evaluate $PERL for the perl version check. added
16445         --disable-rebuilds to give the user an option to completely disable
16446         any source autogeneration rules.
16447
16448 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
16449
16450         * configure.in: evaluate $ac_make when checking for GNU Make.
16451
16452 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
16453
16454         * docs/Makefile.am: added generation.txt.
16455
16456         * Makefile.am: require automake 1.4, build README from README.in and
16457         INSTALL from INSTALL.in in dist-hook.
16458         
16459         * README.in:
16460         * INSTALL.in: new files to autogenerate README and INSTALL from.
16461
16462         * configure.in: figure whether we have GNU Make
16463
16464         * docs/generation.txt: minor additions/corrections.
16465
16466 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
16467
16468         * docs/gtkfaq.sgml: FAQ Update
16469
16470 July 30, 1999 Elliot Lee <sopwith@redhat.com>
16471         
16472         * configure.in: Fix autoconf warnings about cross compilation by
16473         trying to provide sane defaults for AC_TRY_RUN.
16474
16475 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
16476
16477         * ltconfig
16478         * ltmain.sh: upgrade to libtool 1.3.3
16479
16480 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
16481
16482         * INSTALL: Indicate that the --with-glib= configure
16483         time flag is unsupported.
16484
16485 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
16486
16487         * docs/generation.txt: Added a file that gives
16488         documenation about the autogeneration process for
16489         various autogenerated files.
16490         
16491 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
16492
16493         * configure.in (LIBS): Look for libgmodule in the
16494         right location.
16495
16496 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
16497
16498         * docs/gtk_tut.sgml: Removed references to
16499         code examples in my directory on gtk.org as
16500         they should all be in the tutorial now.
16501
16502         * docs/gtk_tut.sgml: Added sources for dial-test
16503         and scribble-xinput programs that were previously
16504         missing.
16505
16506 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
16507
16508         * TODO: Added entry about menu keyboard navigation, removed
16509         some finished items.
16510
16511 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
16512
16513         * acinclude.m4: Standardize on func_dgettext
16514         not func_gettext, so that the checks for dgettext
16515         actually are paid attention to.
16516
16517 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
16518
16519         * configure.in (LIBS): Add $INTLLIBS into $LIBS
16520         directly, rather than repeating the checks for
16521         gettext.
16522
16523         * INSTALL: Added information about gettext and
16524         NLS support.
16525
16526         * acinclude.m4 (LIBM): Check for dgettext, not
16527         just gettext. This should hopefully fix things wrt
16528         systems with old versions of GNU gettext installed.
16529
16530 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
16531
16532         * configure.in (LIBS): Look for libgmodule in the
16533         right location.
16534
16535 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
16536
16537         * autogen.sh: add --enable-maintainer-mode
16538
16539         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
16540
16541 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
16542
16543         * docs/gtk-config.1.in:
16544           docs/Makefile.am:
16545           configure.in: gtk-config is now generated.
16546
16547         * docs/gtk-config.1: Removed, now generated.
16548
16549 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
16550
16551         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
16552         handle CreateNotify itself, still put out a debuging message for
16553         --gdk-debug=events. made the ReparentNotify debugging message more
16554         verbose.
16555         wrap xcoords translation for ConfigureEvents into an error trap,
16556         a destroy event may already be pending, and in that case, the
16557         actuall coordinate values are not at all critical.
16558
16559 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
16560
16561         * gdk/gdkcc.c: Stop leaking the color_hash all over
16562         the place. Simplify and improve the logic.
16563
16564 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
16565
16566         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
16567         for prototypes and function implementations consistent (reported
16568         by Tomas Ogren).
16569
16570 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
16571
16572         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
16573         send_event set in debugging output.
16574         (gdk_compress_exposures): default initialize the event so we don't
16575         operate on bogus values (namely send_event).
16576
16577 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
16578
16579         * gdk/gdkwindow.c: When we receive an unexpected
16580         destroy notify on one of our windows, don't just
16581         warn about it, also mark our windows as destroyed.
16582
16583 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
16584
16585         * gdk/gdkfont.c (gdk_font_hash_insert): Add
16586           name => font and name => fontset hashes. The 
16587           name => fontset hash is a _big_ win since we
16588           weren't previously caching fontsets at all and loading
16589           fontsets is expensive. The name => font hash
16590           is less of a win, but it does save us from doing
16591           repeated XQueryFont calls on the same font.
16592
16593         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
16594           list so we can remove font/fontset from hash.
16595
16596 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
16597
16598         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
16599           and slightly confusing test. [ XInternAtom (,,TRUE)
16600           will never return None ].
16601
16602 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
16603
16604         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
16605           gdk/gdkwindow.c (gdk_window_set_hints):
16606
16607         Don't omit setting the properties if flags == 0 -
16608         there may be an existing set of properties there
16609         already. (Very old bug. Would it be better to
16610         delete the property instead?)
16611
16612         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
16613           spelling error in comment.
16614
16615 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
16616
16617         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
16618           to avoid stomping over gdk_error_warnings.
16619
16620         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
16621           as (bits_per_pixel + 7) / 8. This gives the same
16622           result as before for multiples of 8, but actually
16623           a "reasonable" value for 1bit or 4bit displays.
16624
16625 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
16626
16627         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
16628         GNU Make.
16629
16630 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
16631
16632         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
16633         discarding configure events.
16634
16635 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
16636
16637         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
16638         refcount is greater than zero.
16639
16640         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
16641
16642         * gdk/gdkfont.c (gdk_font_unref): Likewise.
16643
16644         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
16645
16646         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
16647
16648 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
16649
16650         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
16651         that format 32 => sizeof(item) == 4. It really is
16652         sizeof(long).
16653
16654 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
16655
16656         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
16657         core dump at all on X IO errors, only core dump
16658         if --enable-debug for X errors.
16659
16660 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
16661
16662         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
16663         unknown window:" message. disabled ConfigureNotify discarding code,
16664         because it led to events being processed out of order.
16665
16666 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
16667
16668         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
16669
16670         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
16671         we export this function, supress error warnings and don't reset the
16672         error code in the first half of this function.
16673
16674         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
16675         code (instead of just -1) so gdk_error_trap_pop() reveals something
16676         actually informative about the error that happened.
16677
16678         * gdk/*.c:
16679         don't rely on gdk_error_code being -1 if an error occoured, but just
16680         gdk_error_code != 0.
16681
16682 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
16683
16684         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
16685         pointer *before* invoking the filter function, so we at least don't
16686         crash if a filter is removed that is currently executed. window filters
16687         *really* need to be made truely reentrant at some point.
16688
16689 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
16690
16691         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
16692         PropertyNotify debug messages.
16693
16694 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
16695         
16696         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
16697         
16698         * gdk/gdkim.c: Fix cut-and-paste errors for 
16699         x/y and PreeditAttributes/StatusAttributes.
16700
16701 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
16702
16703         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
16704         G_MAXINT to 2^16 to alleviate overflow problems in
16705         various window managers.
16706
16707 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
16708
16709         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
16710         for fontsets.
16711
16712 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
16713
16714         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
16715         Initialize size_hints.x and size_hints.y because kwm
16716         brokenly pays attention to them.
16717         (Bug #1181 -  Lars Heete <hel@admin.de>)
16718
16719 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
16720
16721         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
16722         return value of gdk_list_visuals(). 
16723         (Bug #1193 - Morten Welinder <terra@diku.dk>)
16724
16725 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
16726
16727         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
16728         XSetIMValues to (void *) when comparing to NULL, to workaround
16729         the problem of some compilers barfing since older X headers don't
16730         have the prototype for it.
16731
16732 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
16733
16734         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
16735         for pseudocolor where colormap->colors was double
16736         allocated.
16737
16738         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
16739         color value in the hash table with the pixel filled
16740         in so when we do later hash table lookups, the color
16741         value is correct.
16742         
16743 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
16744
16745         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
16746         making the call
16747
16748 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
16749
16750         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
16751         pointed out by Morten Welinder <terra@diku.dk>.
16752
16753 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
16754
16755         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
16756           default filter from the list
16757
16758 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
16759
16760         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
16761           default filter from the list
16762
16763 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
16764
16765         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
16766
16767         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
16768         g_strdup_printf instead of calcing the length separately
16769
16770 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
16771
16772         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
16773         that we don't do in many other places. (Fixing duplicate 
16774         #include of config.h)
16775
16776         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
16777         Otherwise, #ifndef XINPUT_NONE check in the latter
16778         doesn't work. (Bug #546)
16779
16780 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
16781
16782         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
16783         "None" case insensitive.
16784
16785 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
16786
16787         * gdk/gdkselection.c: 
16788         Add error traps so if the other end of the connection
16789         dies, we survive.
16790
16791 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
16792
16793         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
16794         dest_xid field into two fields - one for the window
16795         to send in messages, one to indicate the last looked
16796         up window for caching purposes. This is needed, so
16797         that Leave messages get the correct window.
16798
16799 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
16800
16801         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
16802         Fix warning created by people mucking around
16803         with the gsource API.
16804
16805         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
16806         Change mapping between GIOCondition and GdkInputCondition
16807         to match the way the Linux kernel does it. This should
16808         fix problems where closed pipes were no longer signalling
16809         GDK_INPUT_READ on systems with a native poll().
16810
16811 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
16812
16813         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
16814         explicitly for the string "None" - it is in the XPM
16815         spec and some servers treat unknown colors in odd ways
16816         (like asking the user!)
16817
16818 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
16819
16820         * gdk/gdkevents.c: made "->" into a "." of previous change so
16821         it compiles
16822
16823 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
16824
16825         * gdk/gdkevents.c (gdk_compress_exposures): Set the
16826         window field of the event structure before calling
16827         user filters.
16828
16829 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
16830
16831         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
16832         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
16833
16834 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
16835
16836         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
16837         intermediate text property - prevents major memory
16838         leak when gdk_use_mb.
16839         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
16840
16841 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
16842
16843         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
16844         gtk-a-higuti-990322-[0-3]
16845
16846         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
16847         sizeof(wchar_t) != sizeof (GdkWChar)
16848
16849         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
16850         that was causing -DX_LOCALE not to work.
16851
16852         * gtk/gtkrc.c (gtk_rc_init):
16853         X_LOCALE will never have LC_MESSAGES defined
16854
16855         * gdk/gdk.c (gdk_init_check):
16856         Remove --xim-preedit and --xim-status from argv properly.
16857
16858         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
16859         that the client window is present on the X server
16860         before we pass it to the input method.
16861
16862 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
16863
16864         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
16865         if --display is specified on the command line, than
16866         the drag window will not be created on that display.
16867         
16868 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
16869
16870         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
16871         lookups with only_if_exists == TRUE were inserting
16872         bogus values into the atom cache.
16873
16874 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
16875
16876         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
16877         then reset it to NULL.
16878
16879         * gdk/gdkcolor.c:
16880         (gdk_colors_free): 
16881         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
16882         key for g_hash_table_remove() in both functions, this prevents us
16883         from accessing possibly uninitialized portions of a GdkColor structure
16884         where we are only interested in its pixel value.
16885
16886 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
16887
16888         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
16889         font hash table, if we have a GdkFontPrivate entry for this font
16890         already, simply increment its reference count, provided by Olaf Dietsche
16891         <olaf.dietsche+list.gtk@netcologne.de>.
16892
16893 1999-09-21  Tor Lillqvist  <tml@iki.fi>
16894
16895         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
16896         just to be sure.
16897
16898         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
16899         unused variables, leftovers from the X11 version.
16900
16901         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
16902
16903         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
16904         downcase fields on X11.
16905
16906 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
16907         
16908         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
16909         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
16910
16911 1999-09-17  Tor Lillqvist  <tml@iki.fi>
16912
16913         * gdk/win32/gdk.def: Add gdk_threads_mutex.
16914
16915         * gtk/makefile.msc: Correct path to libintl.
16916
16917         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
16918         use of gint vs. int, and gint vs. gboolean in headers and
16919         definitions. Use GtkType for the *_get_type functions. Note that
16920         these changes preserve binary compatibility.
16921
16922         * gdk/gdk.c
16923         * gdk/win32/gdk.c
16924         * gdk/gdk.h: Fix inconsistencies: gint vs int.
16925
16926         * gtk/gtkmain.c
16927         * gtk/gtkclist.c
16928         * gtk/gtkmenufactory.c
16929         * gtk/gtknotebook.c
16930         * gtk/gtkwidget.c: Fix inconsistencies, also gint
16931         vs. gboolean.
16932
16933         * gtk/gtkcolorsel.[ch]
16934         * gtk/gtkcombo.[ch]
16935         * gtk/gtkdrawingarea.[ch]
16936         * gtk/gtkgamma.[ch]
16937         * gtk/gtkhandlebox.[ch]
16938         * gtk/gtkhpaned.[ch]
16939         * gtk/gtkhruler.[ch]
16940         * gtk/gtkplug.[ch]
16941         * gtk/gtkpreview.[ch]
16942         * gtk/gtkruler.[ch]
16943         * gtk/gtksocket.[ch]
16944         * gtk/gtkstatusbar.[ch]
16945         * gtk/gtktoolbar.[ch]
16946         * gtk/gtkvbbox.[ch]
16947         * gtk/gtkvpaned.[ch]
16948         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
16949         functions.
16950
16951         * gtk/gtkgamma.h: Fix bug, missing () in call of
16952         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
16953
16954 1999-09-14  Tor Lillqvist  <tml@iki.fi>
16955
16956         * gdk/gdkcolor.c (gdk_colormap_new)
16957         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
16958         colormap->colors was allocated twice.
16959
16960         * gdk/win32/gdk.c: Remove some unused stuff.
16961
16962         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
16963         colormap.
16964
16965         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
16966         * gtk/gtklabel.h (gtk_label_get_type)
16967         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
16968         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
16969         in a couple of places, not guint.
16970
16971 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
16972
16973         * configure.in,po/et.po: added Estonian language file
16974
16975 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
16976
16977         * configure.in,po/da.po: added Danish file
16978
16979 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
16980
16981         * docs/gtkfaq.sgml: Minor FAQ Update
16982
16983 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
16984
16985         * docs/gtkfaq.sgml: FAQ update
16986
16987 1999-08-27  Tor Lillqvist  <tml@iki.fi>
16988
16989         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
16990         way to get window contents continually refreshed while resizing. I
16991         didn't like the effects myself, so it's not on by default.
16992
16993         * gdk/win32/gdkprivate.h: New flag variable
16994         gdk_event_func_from_window_proc, FALSE by default.
16995
16996         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
16997         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
16998         are passed --gdk-event-func-from-window-proc.
16999
17000         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
17001         and we have am event_func, call it instead of enqueing the event.
17002
17003 1999-08-23  Tor Lillqvist  <tml@iki.fi>
17004
17005         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
17006         Kelley: Set expose_count in GdkEventExposes correctly.
17007
17008         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
17009         MULTIPLE_WINDOW_CLASSES).
17010
17011         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
17012         for bug in NT, apparently NT *does* draw the end pixel, too, in
17013         LineTo with a one-pixel pen, so we don't have to do it ourselves.
17014
17015 1999-08-21  Tor Lillqvist  <tml@iki.fi>
17016
17017         Improvements by Hans Breuer: 
17018
17019         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
17020
17021         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
17022         CS_?REDRAW flags as they cause lots of (late) redraws when "show
17023         window contents while dragging" is turned on. Allocate at least
17024         one unique class for every GdkWindowType. If support for single
17025         window-specific icons is ever needed (eg. Dialog specific), every
17026         such window should get its own class.
17027
17028 1999-08-19  Tor Lillqvist  <tml@iki.fi>
17029
17030         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
17031         error that caused crashes.
17032
17033 1999-08-17  Tor Lillqvist  <tml@iki.fi>
17034
17035         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
17036         window, use ScrollWindowEx, and call UpdateWindow. This prevents
17037         bugs when for instance part of the window was outside the
17038         display. Thanks to Philippe Colantoni for finding and fixing this.
17039
17040 1999-08-16  Tor Lillqvist  <tml@iki.fi>
17041
17042         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
17043         endpoint calculations which were totally wrong. (A little RTFMing
17044         helps a lot ;-)
17045
17046         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
17047         from a separate directory, not from gettext, because of licensing
17048         issues (we want to use the LGPL version).
17049
17050         * README.win32: Mention the intl from glibc vs from gettext issue.
17051
17052 1999-08-13  Tor Lillqvist  <tml@iki.fi>
17053
17054         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
17055         in the key event handling: Now AltGr chars work again. Also,
17056         now Alt-digits are passed up as well as Control-digits.
17057         Pass keypad plus and minus as normal plus and minus.
17058
17059 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
17060
17061         * docs/gtkfaq.sgml: FAQ Update
17062
17063 1999-07-25  Tor Lillqvist  <tml@iki.fi>
17064
17065         * README.win32
17066         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
17067         the Wintab SDK.
17068
17069         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
17070         OK, but getting closer. Guard against bogus tilt data from Wacom
17071         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
17072         enable easier building without Wintab.
17073
17074         * gdk/win32/gdkinput.h
17075         * gdk/win32/gdkevents.c 
17076         * gdk/win32/gdkwindow.c: Minor changes related related to above.
17077         
17078         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
17079         code. As we have just one visual on Win32, no sense to have it in a
17080         table, and no need for the hash table.
17081
17082         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
17083         better on white background.
17084
17085 1999-07-21  Tor Lillqvist  <tml@iki.fi>
17086
17087         * README.win32: Update gcc build instructions. Mention gettext is
17088         GPL.
17089
17090         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
17091         supported cursor size with GetSystemMetrics.
17092
17093         * gdk/win32/gdkfont.c
17094         * gtk/gtkfontsel.c: Guard against some font weight and charset
17095         symbols being undefined (in mingw32 headers).
17096
17097         * gdk/win32/makefile.cygwin
17098         * gtk/makefile.cygwin
17099         * gtk/gtkthemes.c: No longer need to have differently named
17100         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
17101
17102 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
17103
17104         * docs/gtkfaq.sgml: Long awaited FAQ update.
17105
17106 1999-07-15  Tor Lillqvist  <tml@iki.fi>
17107
17108         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
17109         it. Obscure bit manipulation needed.
17110
17111         * gdk/win32/gdkevents.c: Logging.
17112         
17113         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
17114         style (file name include compiler name) for theme engines.
17115
17116 1999-07-13  Tor Lillqvist  <tml@iki.fi>
17117
17118         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
17119
17120         * gdk/win32/gdkevents.c: Fix long-standing bug in key
17121         events. The key.string wasn't zero-terminated, still we strdup'ed
17122         it in gdk_event_copy(). Synthesize crossing events for button
17123         events before possible propagation.
17124
17125         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
17126
17127         * gdk/win32/makefile.cygwin
17128         * gtk/makefile.cygwin: Use new DLL naming style for the
17129         GCC-compiled ones.
17130
17131         * gdk/win32/makefile.msc
17132         * gtk/makefile.msc: Cosmetics mostly.
17133
17134         * gtk/gtk.def: Add missing entry points.
17135
17136         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
17137
17138 1999-07-09  Tor Lillqvist  <tml@iki.fi>
17139
17140         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
17141         or height is zero. Don't print a warning if Pie or Arc fails, they
17142         always fail (?) for very narrow ellipses.
17143
17144         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
17145         the part or the destination window corresponding to source area
17146         outside of the source drawable's boundary.
17147
17148         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
17149         anything if less than two points.
17150
17151         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
17152         return NULL. Gtk cut-and-paste inside a single program works
17153         better this way. (It always gets the clipboard contents from
17154         Windows, not from its own copy, which is cleared anyway. I can't
17155         say I fully understand what happens... Emulating the X selection
17156         and property stuff is a bit of a mess.)
17157
17158         * gdk/win32/gdkevents.c
17159         * gdk/win32/gdkproperty.c: A bit more verbose logging.
17160
17161         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
17162         that never got deleted). Revamp gdk_region_shrink.
17163
17164         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
17165         after use.
17166
17167         * gtk/gtk.def: Add some missing entry points.
17168
17169         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
17170         component.
17171
17172 1999-07-04  Tor Lillqvist  <tml@iki.fi>
17173
17174         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
17175         Control-digits specially.
17176
17177 1999-07-03  Tor Lillqvist  <tml@iki.fi>
17178
17179         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
17180
17181 1999-06-28  Tor Lillqvist  <tml@iki.fi>
17182
17183         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
17184         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
17185         finding this.)
17186
17187 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
17188
17189         * gtk+.spec.in: Corrected some typos in files section.
17190         
17191 1999-06-15  Tor Lillqvist  <tml@iki.fi>
17192
17193         * README.win32: Mention using GNU gettext.
17194         * config.h.win32: Enable NLS stuff.
17195         * gtk/makefile.msc: Use GNU gettext.
17196         * gdk/win32/gdkdnd.c: Minor header reorg.
17197         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
17198         cosmetics.
17199         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
17200         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
17201
17202 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
17203
17204         * acinclude.m4
17205         * config.guess
17206         * config.status
17207         * ltconfig
17208         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
17209
17210 1999-05-30  Tor Lillqvist  <tml@iki.fi>
17211
17212         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
17213         SafeAdjustWindowRectEx. Don't override all calls to
17214         AdjustWindowRectEx by it, but use it only in two places: When
17215         creating a new top-level window and when moving a top-level
17216         window.
17217
17218         Use screen coordinate rectangle, not client rectangle, in
17219         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
17220         when we try to place a window so that the decoration (mainly,
17221         title bar) isn't visible.
17222
17223         These changes fix the bug that showed up for instance as the
17224         GIMP's saved top-level windows moving right and down (by an amount
17225         equal to the window decoration) for each session. This bug showed
17226         up also in testgtk's "Saved Position".
17227
17228         gdk_window_resize also redone a bit.
17229
17230 1999-05-25  Tor Lillqvist  <tml@iki.fi>
17231
17232         * gtk/testgtkrc: Add (commented out) Windows-style theme
17233         include line.
17234
17235         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
17236
17237 1999-05-18  Tor Lillqvist  <tml@iki.fi>
17238
17239         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
17240         gdkx.h to a gdk subdirectory, so that applications can include
17241         these with <gdk/*.h> without trouble.
17242
17243         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
17244         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
17245         have their bitmap destroyed.
17246
17247         * gdk/win32/gdk.def: Add gdk_root_parent.
17248
17249 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
17250
17251         * configure.in
17252           gtk-config.in
17253           ltconfig
17254           ltmain.sh     
17255           gtk/Makefile.am: changes to compile nicely (with xlib) 
17256           on BeOS
17257
17258 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
17259
17260         * acinclude.m4
17261         * config.guess
17262         * config.sub
17263         * ltconfig
17264         * ltmain.sh: upgrade to libtool 1.3
17265
17266 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
17267
17268         * gtk/gtkclist.c:
17269         * gtk/gtkctree.c: merges from gtk-1-2
17270
17271 1999-04-25  Tor Lillqvist  <tml@iki.fi>
17272
17273         Support added for building using a GNU toolchain on Win32,
17274         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
17275
17276         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
17277         * config.h.win32: Changes for gcc.
17278         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
17279         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
17280         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
17281         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
17282         Protect shl stuff unavaiilable with mingw32 headers.
17283         * gdk/win32/gdkevents.c: Fix typo.
17284         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
17285         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
17286         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
17287         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
17288         the mingw32 headers.
17289         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
17290         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
17291         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
17292         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
17293         Test for NATIVE_WIN32, not _MSC_VER.
17294         * gtk/gtkmain.c: No use warning about developer version on Win32,
17295         there aren't any non-developer versions anyhow.
17296         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
17297         * gtk/makefile.msc: Use pthread from another directory. Minor other
17298         changes. 
17299
17300 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
17301
17302         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
17303           default filter from the list
17304
17305 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
17306
17307         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
17308          when gtk_widget_grab_default() is called for a widget that
17309          is not within a GtkWindow.
17310
17311 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
17312
17313         * docs/gtk_tut.sgml, examples/clist.c: use a
17314           scrolled window in the clist example. Minor
17315           tutorial fixes.
17316
17317 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
17318
17319         * docs/gtk_tut.sgml: Style check from David King
17320           <dking@youvegotmail.net>
17321
17322 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
17323
17324         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
17325         compile with unknown value of GDK_WINDOWING
17326
17327 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
17328
17329         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
17330         after the rule is fired.
17331         (install-exec-local): Install gdkconfig.h only if the contents are
17332         different from the currently installed gdkconfig.h.
17333
17334 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
17335
17336         * gdk/Makefile.am (configexecincludedir): Rename from 
17337         configincludedir so that gdkconfig.h will be installed 
17338         as part of `make install-exec'. 
17339
17340 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
17341
17342         * acinclude.m4
17343         * config.guess
17344         * config.sub
17345         * ltconfig
17346         * ltmain.sh: upgrade to libtool 1.2f
17347
17348         * autogen.sh: libtool is not required to autogen gtk+
17349
17350         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
17351         needed)
17352
17353 1999-03-18  Tor Lillqvist  <tml@iki.fi>
17354
17355         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
17356         declaring gdk variables exported/imported from the DLL. New image
17357         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
17358         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
17359         GDK_DRAG_PROTO_OLE2.
17360
17361         * gdk/gdk.h: Merge in Win32 version: Two new functions,
17362         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
17363         declared only for the Win32 version, but could be in the X11
17364         version as well. (Needed for a Xlib-less gdk_imlib.)
17365         gdk_color_hash should have only one parameter. Declare
17366         gdk_threads_mutex with GDKVAR.
17367         
17368         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
17369         just one parameter.
17370
17371         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
17372         per pixel, not bits.
17373
17374         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
17375         Fetch bpp (which means bits-per-pixel here) from another place on
17376         Win32. Accept also depth==32 (which we might get on Win32) with
17377         bpp==32.
17378
17379         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
17380         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
17381         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
17382         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
17383         in the backend-dependent directory, not in the common gdk
17384         directory.
17385
17386         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
17387         headers.
17388
17389 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
17390
17391         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
17392         want to use the Gtk+ devel version (which is true, and yes - even i am
17393         currently working with the 1.2.x branch). so everyone reading this, you
17394         probably want to issue
17395         cvs checkout -r glib-1-2 glib
17396         and
17397         cvs checkout -r gtk-1-2 gtk+
17398         as your next two comands.
17399
17400 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
17401
17402         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
17403         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
17404
17405         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
17406         file. strongly deprecated the GTK_HAVE_* macros, we provide
17407         GTK_CHECK_VERSION() for people that need to check for certain
17408         Gtk+ versions.
17409
17410         * gtk/gtkcompat.h: removed this from CVS.
17411         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
17412         idea right from the start, it just didn't seem like that back then.
17413
17414 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
17415
17416         * merges from gtk-1-2:
17417
17418 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
17419
17420         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
17421         item factory class has been created.
17422         (gtk_item_factory_parse_rc): likewise.
17423
17424         * gtk/gtkmenu.c:
17425         keep proper references for old_active_menu_item.
17426         (gtk_menu_reparent): unset the usize of the new parent,
17427         so the menu can sanely be size requested and we don't get nasty screen
17428         artefacts upon next reparentation.
17429         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
17430         enter notify. only synthesize enter notifies if the pointer really is
17431         inside the event window.
17432         (gtk_menu_popdown): use gtk_menu_shell_deselect().
17433         (gtk_menu_popup): move the background setting stuff into
17434         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
17435
17436         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
17437         gtk_menu_shell_select_item() to select the new item.
17438         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
17439         do the right thing for deselection as well.
17440
17441 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
17442
17443         * gtk/gtkwidget.[hc]:
17444         (gtk_widget_accelerators_locked): return whether a widget's accelerators
17445         are locked.
17446
17447         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
17448         existing accelerators if the widget's accelerators are locked.
17449
17450 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
17451
17452         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
17453
17454         * gtk/gtkmenu.c: truely forward key press and key release events to
17455         the menu widget from the toplevel or tearoff window. we can't simply
17456         connect to that, we need to stop further processing of the events as
17457         well.
17458
17459 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
17460
17461         * gtk/gtkmenu.c:
17462         (gtk_menu_key_press): pass event->keyval, event->state to
17463         gtk_accelerator_valid, instead of event->keyval twice.
17464         refuse to install single letter accelerators for menus that use
17465         single letter shortcuts.
17466
17467         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
17468         gtk_menu_ensure_uline_accel_group().
17469
17470         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
17471         which will always return an uline accel group, made
17472         gtk_menu_get_uline_accel_group() return NULL if the group isn't
17473         yet created.
17474
17475 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
17476
17477         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
17478
17479         * gtk/gtkclist.c (gtk_clist_column_title_passive):
17480         Leave button sensitive, trap  button_press, button_release,
17481         motion_notify, enter_notify and leave_notify events instead.
17482         (gtk_clist_column_title_active): disconnect event handler.
17483         (gtk_clist_drag_data_get): fixed memory leak. Reported by
17484         Guillaume Laurent <glaurent@worldnet.fr>
17485
17486 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
17487
17488         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
17489         width/height mixups.
17490
17491         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
17492         if needed.
17493
17494 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
17495
17496         * gtk/testgtk.c (create_item_factory): unref the item factory after
17497         window's destruction.
17498
17499         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
17500         count on the menu shell around the menu item's activation, since the
17501         signal emission may cause menu shell destruction.
17502
17503         * gtk/gtkitemfactory.c:
17504         the previous code leaked one accel group per menu. we use
17505         gtk_menu_get_uline_accel_group() now to fix that, and with that
17506         also create the underline accelerator group of the menus only if
17507         required (i.e. an underline accelerator has been specified).
17508         (gtk_item_factory_construct):
17509         (gtk_item_factory_create_item): removed code that would create an
17510         extra accel group for the menu (and leak references).
17511         (gtk_item_factory_create_item): adapted the underline accelerator
17512         installation code to properly feature gtk_menu_get_uline_accel_group().
17513
17514         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
17515         menu->accel_group, this may return NULL if the accelerator group
17516         hasn't been set yet.
17517         added gtk_menu_get_uline_accel_group() to retrive the underline
17518         accelerator group of the menu, this will be created on demand
17519         and proper care is taken about its reference count.
17520
17521         * gtk/gtkitemfactory.h:
17522         * gtk/gtkitemfactory.c:
17523         dumped the approach of keeping a widgets by action list on the
17524         factory since the factory<->widget destroy negotiation didn't work
17525         and would be hard to get going at all. instead we keep a list of
17526         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
17527         persistant throughout a program's life time).
17528         also, i removed the static const gchar *key_* variables, and made
17529         them inline strings (they weren't actually used anyways).
17530         (gtk_item_factory_add_item): update ifactory->items.
17531         (gtk_item_factory_destroy): destroy ifactory->items (and remove
17532         the item factory pointer from the remaining ifactory widgets).
17533         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
17534         list to find the widget.
17535         (gtk_item_factory_get_item): new function that works around
17536         gtk_item_factory_get_widget() limitations, this function will only
17537         return menu items, even for <Branch> entries.
17538
17539 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
17540
17541         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
17542         font hash table, if we have a GdkFontPrivate entry for this font
17543         already, simply increment its reference count, provided by Olaf Dietsche
17544         <olaf.dietsche+list.gtk@netcologne.de>.
17545
17546         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
17547         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
17548
17549 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
17550
17551         * gtk/gtkcontainer.c:
17552         (gtk_container_add_with_args):
17553         (gtk_container_addv):
17554         (gtk_container_add): before adding a child to a conatiner, make sure
17555         it is (default) constructed, this is neccessary because under certain
17556         circumstances the child will get relized and mapped immediatedly, in
17557         which case it has to be constructed already.
17558
17559 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
17560
17561         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
17562         values > 1 as TRUE also.
17563
17564 1999-03-16  Tor Lillqvist  <tml@iki.fi>
17565
17566         * README.win32: New file.
17567                 
17568         * configure.in: Check for lstat.
17569
17570         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
17571         completeness.
17572
17573         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
17574
17575         * gtk/gtk.def: Removed CRs.
17576
17577         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
17578         ..\gdk\win32).
17579
17580         * gdk/win32/makefile.msc: Correct upwards relative paths.
17581         
17582 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
17583
17584         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
17585           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
17586           it was connecting a void function to expose_event and the int
17587           returning function to the draw signal
17588
17589 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
17590
17591         * configure.in:
17592         Use correct path to libgmodule.la when ref'ing uninstalled copy
17593         of glib.  (Already in stable branch, Bug #417)
17594
17595 1999-03-15  Tor Lillqvist  <tml@iki.fi>
17596
17597         Win32 merge and general portability stuff:
17598                 
17599         * acconfig.h,configure.in: Check for <sys/time.h>.
17600
17601         * gdk/win32: New directory (actually, been there for a while).
17602         
17603         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
17604         NATIVE_WIN32, and use these. Always case fold on Win32. No
17605         backslashed escapes on native Win32.
17606
17607         * gtk/{gtk.def,makefile.msc}: New files.
17608
17609         * gtk/Makefile.am: Add above new files.
17610         
17611         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
17612         instead of <strings.h>.
17613
17614         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
17615         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
17616         <unistd.h> appropriately.
17617
17618         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
17619         Use ABS() (from <glib.h>) instead of abs().
17620         
17621         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
17622         of gtk (and thus glib) headers, so that WIN32 will be
17623         defined. With MS C, include <direct.h> for mkdir prototype.
17624
17625         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
17626         some casts, needed by MS C.
17627
17628         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
17629         implemented).
17630
17631         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
17632         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
17633         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
17634
17635         * gtk/gtkmain.h: Mark variables for export/import on Win32.
17636                 
17637         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
17638         the event is not a hint, or its window is not the slider. Needed
17639         on Win32, at least.
17640
17641         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
17642         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
17643         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
17644         a subdirectory of the Windows directory as gtk system
17645         configuration directory.
17646
17647         * gtk/gtkselection.c: No chunks on Win32.
17648
17649         * gtk/gtksocket.c: Not implemented on Win32.
17650
17651         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
17652
17653         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
17654
17655         * gtk/maketypes.awk: Declare variables with a macro that expands to
17656         necessary export/import magic in the case of Win32.
17657                 
17658         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
17659
17660 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
17661
17662         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
17663         since those were meant only for gdki18n.h.  
17664         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
17665         for widechar tests.
17666         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
17667
17668 1999-03-13  Tor Lillqvist  <tml@iki.fi>
17669
17670         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
17671         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
17672
17673         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
17674         installed) to CFLAGS.
17675
17676         * gdk/Makefile.am: Add rules for gdkconfig.h.
17677
17678         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
17679         APIs.
17680
17681         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
17682         gdkx.h anyway when compiling for X11.
17683         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
17684         general): Merge in Win32 version.
17685         
17686         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
17687         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
17688         expansion (if we don't have HAVE_PWD_H), allow for drive
17689         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
17690         included code from Craig Setera's port to Win32 (the one that uses
17691         X11, and the cygwin dll), even if it probably will be abandoned.
17692
17693         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
17694         the user entered one herself.  This way one can complete *.h and
17695         don't get matches on any .help files, for instance.
17696         
17697 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
17698
17699         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
17700         font hash table, if we have a GdkFontPrivate entry for this font
17701         already, simply increment its reference count, provided by Olaf Dietsche
17702         <olaf.dietsche+list.gtk@netcologne.de>.
17703
17704         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
17705         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
17706
17707 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
17708
17709         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
17710         the number of calls to gdk_draw_point() (and thus to X) by
17711         clipping the points by hand.
17712
17713         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
17714         the clip parameter.
17715         (gtk_handle_box_paint): Only paint the handle if the expose area
17716         intersects it.
17717
17718 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
17719
17720         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
17721
17722 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
17723
17724         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
17725         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
17726
17727 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
17728
17729         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
17730          textmode (O_TEXT) for OS/2 version.
17731
17732 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
17733
17734         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
17735         GtkSpinButton, "input" and "output", to make the output more flexible.
17736         The user has to provide a mapping between adjustment->value and the
17737         output string (and vice versa, if the spin button is editable). 
17738         See testgtk for examples.
17739
17740 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
17741
17742         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
17743         new one.
17744         
17745         * configure.in: set gtk+ version to 1.3.0.