]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
added rc-style argument GtkSpinButton::shadow_type. removed
[~andy/gtk] / ChangeLog.pre-2-10
1 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
2
3         * gtk/gtkspinbutton.[hc]: added rc-style argument
4         GtkSpinButton::shadow_type.
5         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
6         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
7         rc-style settings.
8
9         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
10
11         * gtk/gtkwidget.c: quark cleanups.
12
13         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
14         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
15         to create_rc_style() (we don't do cloning in standard OO sense).
16         added per rc style properties.
17         
18         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
19         property values and for caching those. some cleanups.
20         
21         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
22         
23         * gtk/gtksettings.[hc]: new file for global rc-file properties
24         (at least currently, should get extended to support X properties
25         and other communication mechanisms).
26         
27         * gtk/gtkwidget.[hc]: added style property support:
28         (gtk_widget_class_install_style_property_parser): install style
29         property pspec with parser function for rc-file values other
30         than LONG, DOUBLE or STRING.
31         (gtk_widget_class_install_style_property): same as above without
32         parser (parsers are going to be needed quite infrequently).
33         (gtk_widget_style_get_property): retrive style property value.
34         (gtk_widget_style_get_valist): same as above with varargs support,
35         has NOCOPY semantics.
36         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
37
38 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
39
40         * demos/gtk-demo/main.c (row_activated_cb): modified to use
41         "row_activated" signal.
42
43         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
44         stupidity.  Lets actually pass in the row with this signal...
45
46 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
47
48         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
49
50         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
51
52         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
53         everything into the ::destroy function, and freed a lot more.
54
55 2001-03-16  Havoc Pennington  <hp@redhat.com>
56
57         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
58         instead of gint16, to avoid overflow issues, since sizes > 16-bit
59         are now allowed.
60
61 2001-03-16  Havoc Pennington  <hp@redhat.com>
62
63         * Applied patch from Nils Barth (bug # 51041) to 
64         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
65         in various places.
66
67 2001-03-15  Havoc Pennington  <hp@redhat.com>
68         
69         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
70         for properties to set on the tag.
71
72         * gtk/testtext.c: fixups to reflect create_tag change
73         
74         * gtk/gtktexttag.c (gtk_text_tag_set_property):
75         background/foreground stipple are objects, not boxed.
76
77         * demos/gtk-demo/textview.c: intellihancing
78
79 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
80
81         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
82         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
83
84 2001-03-16  Alexander Larsson  <alexl@redhat.com>
85
86         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
87         Fix sign error with queued region translations.
88
89 2001-03-15  HideToshi Tajima  <tajima@happy>
90
91         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
92         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
93         * gtk/gtkentry.c (update_im_cursor_location): 
94         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
95         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
96         set_cursor_pos to set_cursor_location in GtkInputContext class
97
98 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
99
100         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
101         the location of the cell relative to its area.
102         * gtk/gtkcell*: modified for above change
103         * gtk/gtktreeview.c: modified for above change.
104
105 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
106
107         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
108          (gtk_tree_view_finalize): actually unref the model.  Thanks to
109         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
110
111 2001-03-14  Havoc Pennington  <hp@redhat.com>
112
113         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
114         
115         * gtk/gtk.h: remove gtkdata.h
116
117         * gtk/Makefile.am: remove gtkdata
118         
119         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
120         not "disconnect" on the adjustments.
121         
122         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
123         GtkData
124
125         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
126         not GtkData
127
128         * configure.in: handle case where X render exists, but Pango lacks
129         Xft support.
130
131 2001-03-15 Alexander Larsson  <alexl@redhat.com>
132
133         * gtk/gtktoolbar.[ch]:
134         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
135         to add stock items to toolbars.
136
137         * gtk/Makefile.am:
138         Remove ../gdk/gdkim.h from gdk_headers.
139
140 2001-03-15  Sven Neumann  <sven@gimp.org>
141
142         * gdk/gdkim.h: removed
143         
144         * gdk/gdkprivate.h
145         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
146
147 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
148
149         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
150         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
151         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
152         set_cursor_pos() virtual method
153
154         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
155         (gtk_im_context_xim_set_cursor_pos): add implementation for
156         set_cursor_pos() method
157
158         * gtk/gtkentry.c (recompute_idle_func): set current cursor
159         position to input methods
160
161 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
162
163         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
164         code a lot.
165
166         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
167         g_mem_chunk.
168         (_gtk_tree_data_list_alloc): use g_mem_chunk.
169         (_gtk_tree_data_list_node_to_value): Fix to switch on
170         G_TYPE_FUNDAMENTAL.
171         (_gtk_tree_data_list_value_to_node): Fix to switch on
172         G_TYPE_FUNDAMENTAL.
173         (_gtk_tree_data_list_node_copy): Fix to switch on
174         G_TYPE_FUNDAMENTAL.
175
176 2001-03-12  Havoc Pennington  <hp@redhat.com>
177
178         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
179         to convert to new property API. Also, change default_width and
180         default_height get_property to return 0 as the flag value for
181         "unset"; -1 is not a valid value for these fields.
182
183 2001-03-12  Havoc Pennington  <hp@redhat.com>
184
185         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
186         enum with registration for icon sizes, instead of strings.
187
188         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
189         gtkwidget.c: Fix to reflect GtkIconSize
190         
191 2001-03-12  Alexander Larsson  <alexl@redhat.com>
192
193         Make GtkFB compile and link.
194         
195         * gdk/linux-fb/gdkdrawable-fb2.c:
196         window->mapped to GDK_WINDOW_IS_MAPPED(). 
197         
198         * gdk/linux-fb/gdkwindow-fb.c:
199         window->mapped to GDK_WINDOW_IS_MAPPED(). 
200         Added gdk_window_shape_combine_region.
201         Added assorted placeholders for unimplemented new GdkWindow API calls.
202
203 2001-03-12  Alexander Larsson  <alexl@redhat.com>
204
205         * gtk/gtkfilesel.c:
206         Add more test when converting filenames from/to utf-8.
207         Don't allow entering text in the filename entry which isn't allowed in
208         a filename. Just beep instead.
209
210 2001-03-12  Alexander Larsson  <alexl@redhat.com>
211
212         * gtk/gtkclist.c:
213         Scroll using gdk_window_scroll(). Don't wait for exposes.
214         Move the column headers in an order that makes them flash less.
215
216 2001-03-10  Hans Breuer  <hans@breuer.org>
217
218         * gdk/gdk.def : updated
219
220         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
221         to offseting the clip_mask at the right place
222
223         * gdk/win32/gdkwindow-win32.c : don't create background brushes
224         for all the gdkClasses, especially not for the input_only case.
225         Otherwise flickering wont be avoidable, because we don't get
226         WM_ERASEBKGND message for these windows.
227
228         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
229         and fixed massive redraw problems apparently triggered by Alexanders 
230         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
231         but it seems to work quite well :-)
232
233         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
234         prototype
235
236 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
237
238         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
239         (gtk_list_store_set_cell): Fix a stupid typo.
240
241 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
242
243         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
244         select_all not work if you're in SINGLE mode (it doesn't make that
245         much sense, anyway.)
246
247         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
248         handle types more sanely.
249         (_gtk_tree_data_list_value_to_node): handle types more sanely.
250         (_gtk_tree_data_list_node_copy): handle types more sanely.
251
252         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
253         GValue better. Converts the type as well.
254
255         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
256         GValue better. Converts the type as well.
257
258 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
259
260         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
261         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
262         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
263         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
264
265         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
266         gdk_im/gdk_ic.
267
268 2001-03-09  Hans Breuer  <hans@breuer.org>
269
270         * gdk/gdk.def : updated
271
272         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
273         for their palette
274
275         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
276         removing
277
278         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
279         removing and implemented Havoc's GdkWindow state functions; 
280         stick/unstick only as no-op, cause I don't know how to emulate 
281         on win32 ...
282
283         * gtk/gtk.def : updated
284
285         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
286
287         * gtk/gtktypeutils.c : #include <string.h>
288
289         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
290
291 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
292
293         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
294         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
295         not a boxed.
296
297 2001-03-09  Alexander Larsson  <alexl@redhat.com>
298
299         * docs/Changes-2.0.txt:
300         Document expose event->region change and that gtk_widget_event
301         doesn't allow passing expose events.
302
303         * gdk/gdkevents.h:
304         Add region to expose event.
305         
306         * gdk/gdkevents.c:
307         Handle event->region in gdk_event_copy() and gdk_event_free().
308
309         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
310         Generate expose_event->region when creating expose events.
311
312         * gdk/x11/gdkevents-x11.c:
313         Generate expose events with regions when translating X events.
314
315         * gtk/gtkcontainer.[ch]:
316         Default expose handler that propagates expose events to NO_WINDOW
317         children. New function gtk_container_propagate_expose()
318
319         * gtk/gtkwidget.[ch]:
320         Moved gtk_widget_event implementation to gtk_widget_event_internal.
321         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
322         expose events. New function gtk_widget_send_expose() to send expose
323         events. New function gtk_widget_region_intersect() to calculate
324         window/region intersections.
325         
326         * gtk/gtkmain.c (gtk_main_do_event):
327         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
328         Use gtk_widget_send_expose() to send expose events.
329         
330         * gtk/gtkbin.c:
331         * gtk/gtkbox.c:
332         * gtk/gtkfixed.c:
333         * gtk/gtkimagemenuitem.c:
334         * gtk/gtklist.c:
335         * gtk/gtkpacker.c:
336         * gtk/gtktable.c:
337         * gtk/gtktree.c:
338         Remove expose handler, using the default container implementation
339         instead.
340         
341         * gtk/gtkbutton.c:
342         * gtk/gtkcheckbutton.c:
343         * gtk/gtkeventbox.c:
344         * gtk/gtkfixed.c:
345         * gtk/gtkhandlebox.c:
346         * gtk/gtklayout.c:
347         * gtk/gtklistitem.c:
348         * gtk/gtkmenu.c:
349         * gtk/gtkmenubar.c:
350         * gtk/gtkmenuitem.c:
351         * gtk/gtknotebook.c:
352         * gtk/gtkoptionmenu.c:
353         * gtk/gtkpaned.c:
354         * gtk/gtkscrolledwindow.c:
355         * gtk/gtktogglebutton.c:
356         * gtk/gtktoolbar.c:
357         * gtk/gtktreeitem.c:
358         * gtk/gtkviewport.c:
359         Chain expose handler to parent class handler. Use
360         gtk_container_propagate_expose() to propagate exposes.
361
362         * gtk/gtkclist.c (check_exposures):
363         * gtk/gtktext.c (process_exposes):
364         Use gtk_widget_send_expose instead of gtk_widget_event.
365
366 >>>>>>> 1.1811
367 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
368
369         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
370
371 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
372
373         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
374         unref the nodes.   Fixes bug #50058.
375
376         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
377         "::ref_iter" to "::ref_node".
378         (gtk_tree_model_unref_node): change "::unref_iter" to
379         "::unref_node". Fixes bug #50064.
380
381 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
382
383         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
384         support for invisible cells.
385          (gtk_tree_view_bin_expose): ditto
386
387 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
388
389         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
390         on gobjects.
391
392         * tests/testtreefocus.c (main): New test file.
393
394         * tests/testtreeview.c: update to latest glib changes.
395
396         * tests/testtreecolumns.c: update to latest glib changes.
397
398 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
399
400         * gtk/testgtk.c: re-enabled event watcher emission hooks.
401
402 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
403
404         * *.c: added accumulator data argument to g_signal_newc()
405         functions.
406
407         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
408         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
409         * gtk/treestoretest.c (make_window):
410         s/g_signal_connect/g_signal_connectc/.
411
412         * gtk/gtktextbuffer.c: completed signal arg fixups,
413         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
414
415 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
416
417         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
418         G_CONST_RETURN.
419
420         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
421         ::hierarchy-changed signal when a widget changes
422         from anchored to unanchored or vice versa.
423         (anchored means 
424          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
425         Use a private flag to keep track of this efficiently.
426
427 2001-03-07  Havoc Pennington  <hp@redhat.com>
428
429         * gtk/testgtk.c (create_spins): uglify so that size request gets
430         tested.
431
432         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
433         request on values for upper/lower, completes #6152
434
435 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
436
437         * Makefile.am: Remove gtk-config-2.0 again.
438         (Grrrr, pkg-config. And stops make loops.)
439
440 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
441
442         * gtk/gtksignal.[hc]: removed old emission hook API.
443         
444         * docs/Changes-2.0.txt: fixed sections.
445         
446         * gtk/gtktextbuffer.c: signal arg fixups.
447
448 2001-03-07  Havoc Pennington  <hp@redhat.com>
449
450         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
451
452         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
453         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
454         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
455         validation and the redraw which is higher priority than the
456         validation.
457
458 2001-03-07  Havoc Pennington  <hp@redhat.com>
459
460         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
461         (gtk_entry_set_property): remove trailer
462
463         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
464         (gtk_entry_get_width_chars): new functions, to set size request to 
465         a given number of characters
466
467         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
468
469         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
470         (gtk_dialog_get_has_separator): new function
471         (run_delete_handler): fix to not emit "response" signal
472         because we already did in the delete event handler installed
473         at dialog creation time.
474         
475         * gtk/gtkdialog.h: add a has_separator property,
476         add GTK_DIALOG_NO_SEPARATOR flag
477
478 2001-03-07  Havoc Pennington  <hp@redhat.com>
479
480         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
481         off decorations for a window.
482
483         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
484         changes
485
486         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
487         to get location of PangoLayout inside the label, closes #51198
488
489         * gtk/testgtk.c (create_bbox): fix up button box usage
490
491         * gtk/testcalendar.c (create_calendar): fix up button box usage
492
493         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
494
495         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
496
497         * gtk/gtkhbbox.h: deprecations
498
499         * gtk/gtkvbbox.h: deprecations
500
501         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
502         emulate deprecated gtk_button_box_get_spacing
503
504         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
505         the "set global default" functions
506         (struct _GtkButtonBox): remove "spacing" field, use the one from 
507         GtkBox base class
508
509         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
510
511         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
512         render the icon, return the missing image icon.
513
514         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
515         image icon if the load fails.   
516
517         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
518         when no image is found; should be the Netscape "missing image"
519         icon eventually but for now is a random image
520
521         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
522         role for the session manager
523
524         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
525
526         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
527         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
528
529         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
530
531 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
532
533         * gtk/*.c: marshaller fixes.
534         
535         * gtk/gtkmarshal.list: extreme cleanup.
536
537         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
538         param spec for now.
539
540         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
541         where appliable.
542
543         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
544         special cased autogenerated boxed types from gtktypebuiltins_ids.c
545         which are not reference counted:
546         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
547         PangoFontDescription, GtkTreeIter and GtkTreePath.
548
549 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
550
551         * gtk/gtktreeselection.h: 
552         * gtk/gtktreemodel.c:
553         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
554         file should be included directly, and gobject/gmarshal.h
555         as well as gtk/gtkmarshal.h even can't be included directly.
556
557         * Makefile.am: grr, install gtk-config-2.0.
558
559         * gtk/testgtk.c:
560         * gtk/simple.c:
561         * gtk/gtkmenu.c:
562         * gtk/gtkitemfactory.c: use g_object_connect() instead of
563         passing "*signal*::*" args to gtk_widget_set().
564         
565         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
566         
567         * gtk/*.c: removed trailer arg from property setters and getters.
568         macro fixups.
569
570 2001-03-07  Alexander Larsson  <alexl@redhat.com>
571
572         * gtk/gtklabel.c (set_markup): Removed warning
573
574 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
575
576         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
577         field to allow you to hide cell renderers.
578
579         * gtk/gtkcellrenderer.c: Add support for invisible cells.
580
581         * gtk/gtktreeview.c: Add support for invisible cells.
582
583 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
584
585         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
586         Add "clicked" signal back to columns.
587
588         * ChangeLog: remove conflict markers.
589
590 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
591
592         * gtk/gtkbutton.c: Add animation of activation by, on 
593         activate, pressing the button, and adding a timeout that 
594         releases the button after 250ms or on key release and
595         emits ::clicked. (#51501)
596
597         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
598         action area, we connect to ::clicked instead of ::activate
599         so the dialog stays up through the animation.
600
601 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
602
603         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
604         check the ignore_enter flag for the menu shell that
605         the item is actually a child of, not for attached
606         submenus. (#51536)
607
608 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
609
610         * gtk/gtkmain.c (gtk_propagate_event): Only do special
611         special key-press grab handling for widgets within
612         GtkWindows. Otherwise, fall through to normal case.
613
614         This prevents key events being sent twice to GtkInvisible
615         widgets, which can cause all sorts of mischief.
616
617 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
618
619         * gtk/gtkmain.c (gtk_propagate_event): When a grab
620         widget is in effect, give the grab widget a first
621         crack at KEY_PRESS/RELEASE events. (#424)
622
623 2001-03-06  James Henstridge  <james@daa.com.au>
624
625         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
626         offset for the window_state_event to point at window_state_event
627         rather than no_expose_event.
628
629 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
630
631         * gtk/gtkimmodule.h: fix busted /* comment */
632
633 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
634
635         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
636         object properties.
637
638 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
639
640         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
641         add object properties.
642
643         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
644         to add object properties.
645
646         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
647         object properties.
648
649         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
650         add object properties.
651
652         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
653         object properties.
654
655 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
656
657         * gtk/gtktreemodel.c: renamed "child_toggled" to
658         "has_child_toggled".
659
660         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
661         handle new signal name.
662
663         * gtk/gtktreestore.c: Updated to handle new signal name.
664         * gtk/gtklisttore.c: Updated to handle new signal name.
665         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
666
667 2001-03-05  Alexander Larsson  <alexl@redhat.com>
668
669         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
670         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
671
672 2001-03-05  Michael Natterer  <mitch@gimp.org>
673
674         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
675         pixbuf-engine coincidentially also failed to make one of it's
676         parent_class pointers static, causing overwriting of GtkLabel's
677         parent_class pointer in pixbuf_style_class_init().
678         (Will commit the fix to the pixbuf-engine too).
679
680 2001-03-05  Alexander Larsson  <alexl@redhat.com>
681
682         * gdk/gdkwindow.h:
683         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
684         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
685         gdk_window_set_icon_list for net wmspec functionality.
686
687         * gdk/x11/gdkwindow-x11.c:
688         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
689         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
690         gdk_window_set_icon_list.
691         Added gdk_wmspec_change_state helper function and used it in the code.
692         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
693
694         * gtk/gtkdialog.c (gtk_dialog_init):
695         Set GDK_WINDOW_TYPE_HINT_DIALOG.
696
697         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
698         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
699
700         * gtk/gtkwindow.c:
701         new function gtk_window_set_type_hint.
702         On realize, set type hint and modal hint.
703
704         * gtk/gtkwindow.h:
705         Added type_hint field and gtk_window_set_type_hint.
706
707 2001-03-05  Alexander Larsson  <alexl@redhat.com>
708
709         * gtk/gtklabel.[ch]:
710         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
711         New function gtk_label_get_accel_keyval () to get the underline accelerator
712         of the label. Setting the label pattern overrides other attributes.
713
714 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
715
716         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
717         Added missing initializers to gtk_rc_style_init().
718
719 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
720
721         * gtk/gtktextview.c: fixed bug #51097 about setting 
722         gtk_text_view_set_border_window_size() if the widget is 
723         already realized.
724
725 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
726
727         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
728
729         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
730         comment. Won't do to have duplicated doc comments between
731         the platform subdirs.
732
733 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
734
735         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
736           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
737
738         Detectable auto-repeat - make a repeating key generate
739         press/press/press/release instead of press/release pairs.
740
741         If we have Xkb and XkbSetDectableAutoRepeat supports
742         that, we do it that way. Otherwise, when we get
743         a release event, we check ahead with XPending to see
744         if the next key is a KeyPress with the same keycode
745         and timestamp. (Not 100% reliable, but pretty close.)
746           
747 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
748         
749         * gtk/gtkmain.c (gtk_propagate_event): Only do special
750         special key-press grab handling for widgets within
751         GtkWindows. Otherwise, fall through to normal case.
752  
753         This prevents key events being sent twice to GtkInvisible
754         widgets, which can cause all sorts of mischief.
755  
756 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
757  
758         * gtk/gtkmain.c (gtk_propagate_event): When a grab
759         widget is in effect, give the grab widget a first
760         crack at KEY_PRESS/RELEASE events. (#424)
761  
762 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
763
764         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
765         to extend the selection. (Roughly based on patch
766         from Jay Cox, #50939)
767
768         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
769         to properly handle previous GDK_BUTTON_PRESS. 
770         (Patch from Jay Cox, #50938)
771
772         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
773         '\0' back along with the deleted text. (#51148)
774
775 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
776
777         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
778         the group when extracting it from the X keyboard event.
779
780         * modules/input/Makefile.am modules/input/imipa.c: 
781         Simple module for entering IPA. (Do we need a 
782         gtk-stupid-input-tricks CVS module?)
783
784 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
785
786         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
787         const.
788
789         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
790
791         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
792         is no focus widget for the dialog currently, grab the focus as well
793         as the default.
794
795         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
796         the action area's children to iterate through, not the
797         dialog's children.
798
799 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
800
801         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
802         Add plug-socket tests. (Won't work worth a darn until I commit
803         the rest of the plug-socket changes, but no reason these
804         can't go into CVS now.)
805
806 2001-03-02  Havoc Pennington  <hp@redhat.com>
807
808         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
809         _gdk_region_get_xrectangles()
810
811         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
812
813         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
814
815         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
816         function, contributed by Ron Steinke    
817
818         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
819         gdk_net_wm_supports
820
821         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
822         New function, contributed by Ron Steinke
823
824         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
825         used to line up the text in the entry when using the entry for
826         editable sheet cell hacks
827
828         * gtk/testgtk.c (create_entry): test the activate_default setting
829         on GtkEntry
830
831         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
832         cause the entry to activate the default button for a dialog when 
833         activated
834         (gtk_entry_get_activates_default): new function
835
836 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
837
838         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
839         Hwang to move call to sync_selection() up a few lines
840         to before the row list is modified, to fix crash when
841         removing rows in the undo_selection list.
842
843         (Test case provided by Daniel Elstner:
844
845         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
846
847 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
848
849         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
850         of tree->root_tree in parent_set rather than _map(), 
851         fixing #50892 in a bit better manner.
852
853 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
854
855         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
856
857 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
858
859         * gtk/gtkstyle.c : Remove duplicate fwd decl for
860         gtk_default_draw_shadow.
861
862 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
863
864         * gdk/gdkimage.c (gdk_image_new): Remove excess 
865         warning, make warnings more verbose, treat a error
866         in shmat as permanent, and don't try again.
867         (#51163, Ed Randall.)
868
869 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
870
871         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
872         delay for the first click before starting to scroll.
873         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
874
875         * gtk/gtktext.c: GtkText should have I-beam cursor. 
876         (based on gtk-enf-990513-1.patch, Eric Fisher.)
877
878 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
879
880         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
881         cleanup to remove some references to unused
882         ->xoffset, ->yoffset.
883
884 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
885
886         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
887         mask. (#51039, fix from Martin Maierhofer)
888
889 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
890
891         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
892         for unshifted + and shifted = for non-us keyboards.
893         Make <Control>+ and <Control>- work as well as 
894         <Control>KP_Plus, <Control>KP_Minus for recursive
895         open/close.  (#2682, René Seindal)
896
897 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
898
899         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
900         the active menu item before deactivating the menu,
901         so gtk_menu_popdown doesn't change the history. (#50964)
902         
903 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
904
905         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
906         draw lines with text_gc rather than black_gc.
907         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
908
909 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
910
911         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
912         Move handling of buttons fully in gtktreeviewcolumn.  This code is
913         less interrelated then it was, but it still requires the
914         GtkTreeView to map it.
915
916         * test/testtreecolumn.c: Now I can add a column to one view,
917         remove it, add it to the another view, remove it, then re-add it
918         to the first.  Nifty.
919
920 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
921
922         * docs/tutorial/gtk-tut.sgml: Minor corrections
923
924 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
925
926         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
927         GtkRowReference.
928
929 2001-02-28  Havoc Pennington  <hp@redhat.com>
930
931         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
932         draw_default
933         (gtk_widget_draw_focus): remove this function; we could instead
934         make it just gtk_widget_draw(), but in most cases I think the
935         result would be broken user code, so think it's better to have
936         that code not compile and get fixed
937         (gtk_widget_draw_default): ditto
938
939         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
940         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
941         
942         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
943         widgets lose/get the default, instead of calling draw_default
944         
945         * docs/Changes-2.0.txt: note about all this
946
947         Then fixed every widget in GTK, I won't list all the filenames.
948
949 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
950
951         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
952         _gtk_tree_row_reference_deleted.
953         (inserted_callback): Proxy out to
954         _gtk_tree_row_reference_inserted.
955         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
956         get around signal emission ordering problem.
957
958         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
959         fix to work with SINGLE 
960         (_gtk_tree_selection_internal_select_node): Major sanitization on
961         selections.  SINGLE now seems to work.
962
963         * tests/Makefile.am: add testtreecolumn.c:
964
965         * tests/testtreecolumn.c: New test.  Mostly points out selection
966         bugs currently, but will test columns later.
967
968         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
969         selection bug.  I hate touching this code -- it's scary.
970
971 2001-02-26  Havoc Pennington  <hp@redhat.com>
972
973         * gtk/testgtk.c: test the window state stuff
974
975         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
976         window come to the user's attention as if it were just created
977         (gtk_window_iconify): new function
978         (gtk_window_deiconify): new function
979         (gtk_window_stick): new function
980         (gtk_window_unstick): new function
981         (gtk_window_maximize): new function
982         (gtk_window_unmaximize): new function
983
984         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
985
986         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
987
988         * gdk/x11/gdkevents-x11.c: create window state events when
989         appropriate
990         (gdk_wmspec_supported): new function
991
992         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
993         iconification before showing the window
994         (gdk_window_deiconify): new function
995         (gdk_window_stick): new function
996         (gdk_window_unstick): new function
997         (gdk_window_maximize): new function
998         (gdk_window_unmaximize): new function
999
1000         * gdk/gdkwindow.c: store the window state in the window; 
1001         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
1002         window->mapped.
1003         (gdk_window_get_state): return the current window state
1004
1005         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
1006         (gdk_event_get_state): handle GDK_WINDOW_STATE
1007         (gdk_synthesize_window_state): function to create the window state
1008         events
1009
1010         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
1011         event, for changes to "window state" such as maximized, sticky, 
1012         etc.
1013         
1014         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
1015         focuses a window
1016
1017         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
1018         finds out if we support a given WM spec hint
1019
1020 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
1021
1022         * docs/faq/gtk-faq.sgml: New question re memory leaks.
1023
1024 2001-02-25  Hans Breuer  <hans@breuer.org>
1025
1026         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
1027         cause we want to loose those prototypes only in the latter case
1028
1029         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
1030         GdkPixmapImplWin32 because it itsn't derived from it. Use the
1031         impl member variable instead
1032
1033         * gtk/gtk.def : updated
1034
1035         * gtk/gtklist.c : 
1036         * gtk/gtkmenus.c : include <string.h> for memset ()
1037
1038         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
1039         for everthing built here, but for gtk-x.x.dll only. This solves
1040         problem of indifferent gtk type definitions
1041
1042 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
1043
1044         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
1045
1046 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
1047
1048         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
1049         column that is exposed.
1050
1051         (_gtk_tree_view_update_size): Changed name from set_size, and
1052         changed function to do more work, and not force people calling it
1053         to figure out the size.  Simplifies a lot of code elsewhere.
1054
1055 2001-02-23  Alexander Larsson  <alexl@redhat.com>
1056
1057         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
1058         return solid masks for xpms that have no transparent color.
1059         This makes the ..._create_from_xpm... API backwards
1060         compatible.
1061
1062 2001-02-23  Tor Lillqvist  <tml@iki.fi>
1063
1064         * README.win32: Update. Mention the gtk-1-3-win32-production
1065         branch.
1066
1067         * gdk/win32/bdfcursor.c: New file. A program that generates
1068         xcursors.h. Thanks to Stefan Ondrejicka.
1069
1070         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
1071         compact format.
1072
1073         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
1074
1075         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
1076         function, uses xcursors.h.
1077         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
1078         cursor from inline data instead of using LoadCursor() to generate
1079         it from a resource.
1080
1081         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
1082         event, must check the Windows message for mouse button state, as
1083         the GDK event state might not have been built if it is
1084         undelivered. Remove one goto.
1085
1086         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
1087         SetCursor() if the current cursor as returned by GetCursor() is
1088         the window's previous cursor. The ChildWindowFromPoint() test
1089         apparently didn't work correctly.
1090
1091         * gdk/win32/rc/*.cur: Remove.
1092
1093         * gdk/win32/rc/gdk.rc.in: Remove cursors.
1094
1095         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
1096
1097         * gtk/makefile.{mingw,msc}.in: Updates.
1098
1099 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
1100
1101         * gtk/gtktreemodel.h: add functions for signal emission.
1102
1103         * gtk/gtktreestore.c: move to use above functions instead of
1104         g_signal_emit.
1105
1106         * gtk/gtkliststore.c: ditto
1107
1108 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
1109
1110         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
1111         GObject instead of GtkObject.
1112
1113         * gtk/gtkliststore.c: ditto.
1114
1115         * gtk/gtktreemodelsort.c: ditto.
1116
1117         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
1118         GtkTreeModelIface, instead of in each model.
1119
1120 2001-02-21  Havoc Pennington  <hp@redhat.com>
1121
1122         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
1123         unbreak this function
1124
1125         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
1126         properties
1127
1128         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
1129         properties
1130
1131         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
1132         properties
1133
1134         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
1135         mean unset the max length
1136
1137 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
1138
1139         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
1140         Changed name to be set_cell_data_func to make it clear what
1141         the functino does.  Close bug #51069.
1142
1143 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
1144
1145         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
1146         have memory actually freed.  Keeps box running longer.
1147
1148 2001-02-21  Alexander Larsson  <alexl@redhat.com>
1149         
1150         * gtk/gtkseparatormenuitem.[ch]:
1151         Added new menu separator item. The drawing and size handling
1152         is still done in GtkMenuItem, but the API is a bit more sane.
1153         
1154         * gtk/Makefile.am:
1155         Add gtkseparatormenuitem.[ch].
1156
1157         * gtk/gtk.h:
1158         Add gtkseparatormenuitem.h.
1159         
1160         * gtk/gtkentry.c:
1161         * gtk/gtkmenufactory.c:
1162         * gtk/gtktextview.c:
1163         Use the new API for menu separators.
1164         
1165         * demos/gtk-demo/menus.c (create_menu):
1166         Add some GtkSeparatorMenuItem demo code.
1167
1168 2001-02-20  Havoc Pennington  <hp@redhat.com>
1169
1170         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
1171         Lee Mallabone
1172
1173         * gtk/gtkarrow.c: Convert to new property API, patch from 
1174         Lee Mallabone
1175
1176 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
1177
1178         * tests/testtreeview.c (toggled_callback): fix to reflect change
1179         in GtkTreeModelStore.
1180
1181 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
1182
1183         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
1184         function to create an icon set from a pixbuf.
1185
1186 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1187
1188         * gtk/gtkcellrenderertext.[ch]:
1189         Add a "markup" property.
1190
1191         * gtk/treestoretest.c:
1192         Use the markup property, remove some leftover stuff from
1193         GtkTreeModelMapping.
1194
1195 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1196
1197         * gtk/gtklabel.c (gtk_label_set_selectable):
1198         Queue a redraw if the selectable setting was changed.
1199
1200 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1201
1202         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
1203         Actually copy the whole gc, not just the public parts.
1204         
1205         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1206         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
1207         labels.
1208
1209 2001-02-19  Havoc Pennington  <hp@pobox.com>
1210
1211         * gdk/gdkwindow.c: docs
1212
1213         * gdk/gdkrgb.c: docs
1214
1215         * gdk/gdkregion-generic.c: docs
1216
1217         * gdk/gdkgc.c (gdk_gc_set_values): docs
1218
1219         * gdk/gdkdraw.c: docs
1220
1221         * gdk/gdkdrawable.h: deprecate drawable get/set data
1222
1223 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
1224
1225         * demos/gtk-demo/dialog.c: Add simple new demo.
1226
1227 2001-02-19  Havoc Pennington  <hp@redhat.com>
1228
1229         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
1230         insert_child_anchor signal, bug #50245
1231
1232         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
1233         from create_child_anchor, so the anchor is passed in
1234
1235         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
1236         (_gtk_widget_segment_new): have the child anchor object passed in, 
1237         instead of creating it.
1238
1239         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
1240         to gtk_text_buffer_get_modified
1241
1242 2001-02-19  Havoc Pennington  <hp@redhat.com>
1243
1244         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
1245         changed GLib without fixing GTK
1246
1247         * gtk/gtkrange.h: Rename all the stupid implementation detail 
1248         functions to have an underscore in front. Most of them should 
1249         probably just go away, but for starters don't export them.
1250         Bug #50482
1251
1252 2001-02-19  Havoc Pennington  <hp@redhat.com>
1253
1254         * gdk/gdkcolor.h: test was backward, so deprecated functions were
1255         excluded by default
1256
1257         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
1258         clean up the old code a bit
1259
1260         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
1261         inconsistent state
1262
1263         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
1264         draw inconsistent state
1265
1266         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
1267         (create_menu): add inconsistent test
1268
1269         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
1270         new function
1271         (gtk_check_menu_item_get_inconsistent): new function
1272         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
1273         state (using etched in for now)
1274
1275         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
1276         draw inconsistent state
1277
1278         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
1279         function, used when the user has selected a range of stuff in
1280         different states
1281         (gtk_toggle_button_get_inconsistent): accessor for that
1282         (gtk_toggle_button_paint): draw inconsistent state (etched in?
1283         don't know what else to do)
1284
1285 2001-02-19  Hans Breuer <hans@breuer.org>
1286
1287         * gtk/gtk.def : updated exported symbols
1288
1289         * gtk/makefile.msc.in : updated
1290
1291         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
1292         a colormap, when invoked from testgtk::entry. I'm not sure where
1293         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
1294         avoids immediate crashing ...
1295
1296         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
1297         any objections ?
1298
1299         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
1300         0 parameter. At least msvc doesn't like macros with var args. 
1301         I simply removed the extra 0, was it a feature or a typo ?
1302
1303         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
1304         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
1305         because the value assignment to the internal struct wasn't working.
1306         I'm not absolutely sure. The problem could have been resolved by
1307         changing the "func" declartion in the struct, but was the pointer
1308         to the function pointer intended ?
1309
1310         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
1311
1312         * gdk/gdk.def : updated exported symbols
1313
1314         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
1315         only use SetDIBitsToDevice if there is a palette at the drawable
1316         and the image is GDK_VISUAL_PSEUDO_COLOR
1317
1318         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
1319
1320         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
1321
1322         * gdk/*/makefile.msc : updated
1323
1324 2001-02-19  Havoc Pennington  <hp@redhat.com>
1325
1326         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
1327         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
1328
1329         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
1330         (gdk_key_repeat_restore): nuke
1331
1332         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
1333         (gdk_init_check): no atexit func
1334
1335         * gdk/gdkrgb.h: mark some stuff deprecated
1336
1337         * gdk/gdkcolor.h: mark some stuff deprecated
1338         
1339         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
1340
1341         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
1342
1343 2001-02-16  Havoc Pennington  <hp@redhat.com>
1344
1345         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
1346         scroll steps.
1347
1348         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
1349         steps, and add Ctrl-arrow shortcuts for paging visually as with
1350         HScale, since Page Up and Page Down move logically.
1351
1352         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
1353         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
1354         
1355         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
1356         steps
1357         (gtk_range_scroll): handle the visual steps
1358
1359         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
1360         scroll steps
1361
1362         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
1363         steps, not the logical ones.
1364
1365         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
1366         (scroll_vertical): handle up/down steps
1367
1368 2001-02-19 Alexander Larsson  <alexl@redhat.com>
1369
1370         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
1371         Copy data and free data with free().
1372
1373         * gdk-pixbuf/gdk-pixbuf.c:
1374         * gdk-pixbuf/io-jpeg.c:
1375         * gdk-pixbuf/io-png.c:
1376         Use g_try_malloc/g_free instead malloc/free.
1377         
1378         * gdk-pixbuf/test-gdk-pixbuf.c:
1379         Must... initialize... gobject...
1380         
1381         * gdk-pixbuf/pixops/timescale.c:
1382         * gtk/gtkcalendar.c:
1383         Use g_malloc instead of malloc.
1384         
1385 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
1386
1387         * gtk/testgtkrc:
1388         Comment out property assignments, these don't work yet.
1389
1390 2001-02-17  Havoc Pennington  <hp@pobox.com>
1391
1392         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
1393         bit.
1394
1395 2001-02-17  Havoc Pennington  <hp@pobox.com>
1396
1397         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
1398         shadowed variables that had broken size request in some cases,
1399         leading to bogus tooltips (#50996)
1400
1401 2001-02-06  Jon K Hellan  <hellan@acm.org>
1402
1403         Implement fast browsing of tooltips, bug #50619
1404         
1405         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
1406         and last_popdown
1407         
1408         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
1409         use_sticky_delay and last_popdown.
1410         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
1411         time of popdown.
1412         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
1413         is NULL.
1414         (gtk_tooltips_recently_shown): New static function.  Return true
1415         if < sticky_delay has elapsed since last popdown.
1416         (gtk_tooltips_event_handler): Display window after sticky_delay
1417         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
1418         since last popdown.
1419         
1420 2001-02-17  Havoc Pennington  <hp@pobox.com>
1421
1422         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
1423         instead of (). #6394
1424
1425         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
1426         G_CONST_RETURN, make it return by reference, #50473
1427         
1428 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
1429
1430         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
1431         generated ENTER_NOTIFY event with 0, otherwise not explicitely
1432         setup fields contain garbage (e.g. subwindow, breaking
1433         gdk_drawable_ref() upon event copy).
1434         (gtk_menu_stop_navigating_submenu_cb): same here.
1435
1436         * gtk/gtklist.c (gtk_list_vertical_timeout): 
1437         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
1438         * gtk/gtkclist.c (vertical_timeout): 
1439         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
1440         default-zero-intialization for unions to memset(,0,), as unions are
1441         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
1442         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
1443
1444         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
1445         g_closure_sink() warning.
1446
1447         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
1448         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
1449         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
1450         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
1451         
1452 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
1453
1454         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
1455         gtk_*_store_get, and moved to GtkTreeModel.
1456
1457         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
1458
1459         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
1460
1461         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
1462
1463         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
1464         set the func.
1465
1466         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1467         freeze/thaw notify between setting all the properties for a cell.
1468
1469         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
1470
1471 2001-02-15  Havoc Pennington  <hp@redhat.com>
1472
1473         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
1474         the X coordinates so they're with respect to the line, rather than 
1475         with respect to the layout.
1476
1477         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
1478         Mallabone
1479
1480         * gtk/testgtk.c (create_range_controls): add vscale tests, 
1481         and inverted test
1482
1483         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
1484         #50806
1485
1486         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
1487
1488         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
1489         gtk_text_iter_is_end
1490
1491         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
1492         rename gtk_text_buffer_get_end_iter
1493
1494         * gtk/testgtk.c (create_labels): Add test for selectable
1495
1496         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
1497         the selection stuff. This code is kind of broken since it doesn't 
1498         use the theme engine.
1499
1500         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
1501         fix infinite loop and y offset problem
1502         (gdk_draw_layout_line_with_colors): fix foreground color handling
1503
1504         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
1505         that makes the label selectable.
1506         
1507         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
1508         layout when the style is set, since fonts etc. could have changed.      
1509
1510 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
1511
1512         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
1513
1514         * gtk/gtktreemodelsimple.[ch]: removed.
1515
1516 2001-02-16  Alexander Larsson  <alexl@redhat.com>
1517
1518         * gtk/gtktreemodelmapping.[ch]:
1519         New files. Implement GtkTreeModelMapping.
1520         
1521         * gtk/Makefile.am:
1522         Add gtktreemodelmapping.[ch].
1523         
1524         * gtk/gtk.h:
1525         Add gtktreemodelmapping.h
1526
1527         * gtk/treestoretest.c:
1528         Test the GtkTreeModelMapping
1529
1530 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
1531
1532         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
1533         have a demo, we might as well pass in real values.  Thanks to
1534         clahey for pointing this out.
1535
1536 2001-02-14  Havoc Pennington  <hp@pobox.com>
1537
1538         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
1539         "static" to a private function
1540         (gtk_image_menu_item_class_init): remove destroy handler,
1541         add "image" object property
1542
1543 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
1544
1545         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
1546         Add a shortcut if the window and the current clip_region doesn't
1547         overlap. This is needed when there are a lot of windows in a
1548         window. The layout test in testgtk is a good test.
1549
1550         * gdk/linux-fb/gdkwindow-fb.c:
1551         Whitespace fix.
1552
1553 2001-02-13  Sven Neumann  <sven@convergence.de>
1554
1555         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
1556
1557 2001-02-13  Alexander Larsson  <alexl@redhat.com>
1558
1559         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
1560         Don't reference last_cursor if it is null. Fixes crash when rotating
1561         the screen before having moved the mouse.
1562
1563         * gdk/linux-fb/gdkcc-fb.c: Zapp!
1564
1565         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
1566
1567         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
1568         when using 90 or 270 degrees rotation.
1569
1570 2001-02-12  Havoc Pennington  <hp@pobox.com>
1571
1572         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
1573         it always set the foreground, even if we were only using
1574         a stipple.
1575         (gdk_draw_layout_line_with_colors): new function, allow
1576         override colors
1577         (gdk_draw_layout_with_colors): new function, allow override
1578         colors
1579         (gdk_pango_layout_line_get_clip_region): function to get the clip
1580         region for a logical text range
1581         (gdk_pango_layout_get_clip_region): get the clip region for a
1582         logical text range
1583
1584         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
1585         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
1586         the right number of arguments.
1587
1588         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
1589         enhance the function to check that node data corresponds to a 
1590         view still belonging to the tree.
1591
1592         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
1593         GtkTreePath
1594         (gtk_tree_view_inserted): ditto
1595         (gtk_tree_view_child_toggled): ditto
1596
1597         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
1598         simplify this code.
1599
1600         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
1601         a PangoAttrList
1602
1603         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
1604
1605         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
1606
1607         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
1608         size in the size request 
1609         (gtk_menu_bar_size_allocate): consider toggle size here
1610
1611         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
1612         that displays a widget in the toggle slot
1613
1614         * gtk/testgtk.c: test GtkImageMenuItem
1615
1616         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
1617         
1618         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
1619         request and allocation
1620
1621         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
1622
1623         * gtk/gtkcheckmenuitem.c
1624         (gtk_check_menu_item_toggle_size_request): ditto
1625         
1626 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
1627
1628         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
1629         reference.
1630
1631         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
1632         and refuse to initialize GTK+ if they fail.
1633
1634 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
1635
1636         * configure.in: Add check for gtk-doc version.
1637
1638 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
1639
1640         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
1641         where the xpad/ypad was only being used on one side!
1642
1643 2001-02-11  Tor Lillqvist  <tml@iki.fi>
1644
1645         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
1646         function, copied from X11 version.
1647
1648         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
1649         DestroyCursor failures. The reason for the problem (despite the
1650         inconsistent messages from GetLastError()) was that
1651         DestroyCursor() cannot be called while a cursor is set in a
1652         window. Set the new cursor first and then destroy the old one.
1653         Thanks to jpe@archaeopteryx.com.
1654
1655         * gdk/win32/gdkcc-win32.c: Remove.
1656
1657         * gdk/win32/Makefile.am: Remove from here, too.
1658         
1659         * gdk/gdk.def
1660         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
1661
1662         * gtk/gtk.def
1663         * gtk/makefile.mingw.in: Updates.
1664
1665 2001-02-08  Havoc Pennington  <hp@redhat.com>
1666
1667         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
1668         add a widget to a bin that already has a child.
1669
1670         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
1671
1672         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
1673         
1674         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
1675
1676         * gdk/gdk.h: remove gdkcc.h
1677
1678         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
1679
1680         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
1681         GdkPixbuf, since the previous implementation was GdkColorContext
1682         dependent.
1683
1684         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
1685         
1686 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
1687
1688         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
1689         a sane value!
1690
1691 2001-02-08  Havoc Pennington  <hp@redhat.com>
1692
1693         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
1694         lighten them.
1695
1696 2001-02-08  Havoc Pennington  <hp@redhat.com>
1697
1698         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
1699         validation idle
1700
1701         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
1702         cell renderer
1703
1704         * demos/pixbuf-demo.c (timeout): remove deprecated
1705         gtk_widget_draw
1706
1707         * demos/testpixbuf-save.c (main): remove deprecated
1708         gtk_drawing_area_size
1709
1710         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
1711         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
1712         at the start of the allocation.
1713         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
1714         unsetup or NULL model.
1715
1716         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
1717         even/odd/sorted cells in the tree view.
1718
1719         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1720         bugfixes
1721
1722         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
1723         backgrounds with draw_flat_box using different detail for even/odd
1724         rows.
1725
1726         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
1727         row, so we can draw the alternating colors thing
1728
1729         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
1730         property from a synonym property, notify for the synonym.
1731         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
1732         (gtk_text_tag_get_property): Always return the font, even if
1733         all its fields aren't set
1734
1735         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
1736         store the attr list; it leaves us with no way to change attributes
1737         in _render according to the render flags, and no way to implement
1738         get_property. Instead store all the specific text attributes. 
1739         Separate whether an attribute is enabled from its value. Sync all
1740         properties with GtkTextTag, make them all consistent, etc.
1741
1742         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
1743         renderers can highlight the sort row/column     
1744
1745         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
1746         accessor functions to get values; this has the side effect of
1747         showing up which accessor functions were missing. Added those.
1748
1749         * gtk/gtktreeviewcolumn.h: Replace set_justification with
1750         set_alignment, to be consistent with GtkLabel, GtkMisc
1751
1752         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
1753         arrow.
1754
1755         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
1756
1757         * gtk/gtktreesortable.h: updates in here
1758
1759 2001-02-07  Sven Neumann  <sven@convergence.de>
1760
1761         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
1762         pango dimensions after painting the background. We used to draw
1763         gigantic flat boxes here.
1764
1765 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
1766
1767         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
1768         error introduced with earlier commit) (pointed out by
1769         Ollie Lho)
1770
1771 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
1772
1773         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
1774         which are no longer necessary.
1775
1776 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
1777
1778         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
1779
1780 2001-02-04  Tor Lillqvist  <tml@iki.fi>
1781
1782         * gdk/gdk.def
1783         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
1784         Provide dummy implementations.
1785
1786 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
1787
1788         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
1789
1790         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
1791         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
1792         deprecated this function.
1793
1794         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
1795         argument.
1796
1797 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
1798
1799         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
1800
1801 2001-02-03  Havoc Pennington  <hp@pobox.com>
1802
1803         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
1804         Mikael Hermansson with patch from Mikael (if there was a toggle
1805         start one after the first character in the range, this function
1806         was broken). Bug #50380
1807
1808 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
1809
1810         * configure.in: Remove confusing comment about X11.
1811
1812 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
1813
1814         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
1815         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
1816         
1817 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
1818
1819         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
1820         it breaks things on BSD. If you want to compile GTK+ with
1821         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
1822         when configuring, since GTK+ simply can't be "pure ANSI" 
1823         in the header files it uses. (#8170, Greg Hudson)
1824
1825 2001-02-02  Havoc Pennington  <hp@redhat.com>
1826
1827         * gtk/gtkwindow.c: docs
1828
1829         * gtk/gtkwidget.c: docs
1830         (gtk_widget_set_colormap): add a reference to the colormap
1831         (gtk_widget_get_default_colormap): add a reference to the colormap
1832
1833         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
1834
1835         * gtk/gtktextiter.c: docs
1836
1837         * gtk/gtkmain.c (gtk_propagate_event): docs
1838
1839         * gtk/gtkpaned.c (gtk_paned_get_position): docs
1840         (gtk_paned_set_position): docs
1841
1842         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
1843         sort interface, no implementation yet.
1844
1845         * demos/testpixbuf.c (new_testrgb_window): replace
1846         gtk_drawing_area_size() with gtk_widget_set_usize()
1847
1848         * demos/testpixbuf-drawable.c (main): ditto
1849         
1850         * gtk/testgtk.c: remove use of GtkStatusbarMsg
1851
1852         * gtk/gtktextbuffer.c: docs
1853
1854         * gtk/gtkstock.c: docs
1855
1856         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
1857
1858         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
1859
1860         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
1861         
1862         * gtk/gtkimage.c: add some docs in here
1863         (gtk_image_size_request): change name of
1864         gtk_widget_render_stock_icon
1865         (gtk_image_get_icon_set): don't dup returned string
1866         (gtk_image_get_icon_set): don't dup returned string
1867
1868         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
1869         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
1870         and gtkiconfactory.h functions
1871
1872         * gtk/gtkiconfactory.c: add some docs in here
1873
1874         * gtk/gtkmain.c (gtk_get_default_language): document
1875         (gtk_get_current_event): document
1876         (gtk_get_current_event_state): document
1877         (gtk_get_event_widget): document
1878
1879         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
1880
1881         * gtk/gtkcontainer.c: Add some documentation
1882         (gtk_container_add): give a more explanatory warning on adding an
1883         already-parented widget, this is kind of a FAQ and also a common
1884         typo that's easier to debug with a nice warning 
1885
1886         * gtk/gtkcellrenderertoggle.c
1887         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
1888         adding this, it's useless
1889         (gtk_cell_renderer_toggle_set_active): remove
1890         (gtk_cell_renderer_toggle_get_radio): add
1891
1892         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
1893         the NULL cell renderer, that doesn't make any sense to me. 
1894
1895         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
1896         demo code should never use deprecated features.
1897
1898         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
1899         code should never use deprecated features.
1900
1901         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
1902         gtk_widget_queue_clear_area deprecated
1903
1904         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
1905         deprecated
1906
1907         * gtk/gtklabel.h: mark gtk_label_get() deprecated
1908
1909         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
1910         a GdkImage deprecated, replaced by new consistently-named
1911         functions       
1912
1913         * gtk/gtkmain.h: Mark gtk_exit() deprecated
1914
1915         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
1916
1917         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
1918         deprecated
1919
1920         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
1921         so it won't appear in docs and confuse people.
1922
1923         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
1924
1925         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
1926         macros deprecated. (can't mark the type itself deprecated, since
1927         GtkProgressBar is not deprecated and we need the type decl to use
1928         GtkProgressBar)
1929
1930         * gtk/gtkpixmap.h: Mark deprecated
1931
1932         * gtk/gtkoldeditable.h: Mark deprecated
1933
1934         * gtk/gtklist.h: Mark deprecated
1935
1936         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
1937         for anything anymore.
1938
1939         * gtk/gtkctree.h: Mark deprecated
1940
1941         * gtk/gtkclist.h: Mark deprecated
1942
1943         * gtk/gtkpreview.h: Mark deprecated
1944
1945         * gtk/gtkpacker.h: Mark deprecated
1946
1947         * gtk/gtktipsquery.h: Mark deprecated
1948
1949         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
1950
1951         * gtk/gtkvruler.h: Add comment that it will move out of GTK
1952
1953         * gtk/gtkhruler.h: Add comment that it will move out of GTK
1954
1955         * gtk/gtkruler.h: Add comment that it will move out of GTK
1956
1957         * gtk/gtkgamma.h: Add comment that it will move out of GTK
1958
1959         * gtk/gtkcurve.h: Add comment that it will move out of GTK
1960
1961 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
1962
1963         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
1964         gdk_colormap_sync private since it was never exported
1965         in a header file.
1966
1967         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
1968         colormap->colors[] for StaticGray, StaticColor colormaps.
1969
1970         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
1971         was being used as if it was image->bits_per_pixel.
1972
1973         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
1974         for the image in the GdkImage structure since it isn't
1975         reconstructable, and we need it to handle packed types
1976
1977         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
1978         the assumption that on Win32 image->bits_per_pixel == image->depth,
1979         always.
1980
1981         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
1982
1983         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
1984         warning message if no converter can be found. 
1985
1986 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
1987
1988         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
1989         chars to isupper() / tolower(). (#567)
1990
1991         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
1992         to clear up 64-bit warnings. (#567)
1993
1994 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
1995
1996         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
1997         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
1998
1999         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
2000         since some people set $(libdir) separately. (#1290, David Kaelbling)
2001
2002 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
2003
2004         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
2005         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
2006         MAXPATHLEN, but the code here depends on a fixed value.)
2007         (#4524)
2008
2009 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
2010
2011         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
2012         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
2013
2014 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
2015
2016         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
2017         viewable there is no way that moving the node will cause the 
2018         focus row to become not viewable, so omit check on the visibility
2019         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
2020
2021 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
2022
2023         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
2024         selection before inserting new text.
2025
2026 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
2027
2028         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
2029         Make the sensitivity of the reparented child track that of
2030         the original parent menu item. (#34218, David Hodson)
2031
2032         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
2033         the case where the current item is destroyed properly.
2034
2035         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
2036         some edge cases with child-less menuitems.
2037         
2038 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
2039
2040         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
2041         key pop down window. (#12074, Jon K Hellan)
2042
2043 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
2044
2045         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
2046         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
2047         The solution here isn't perfect - you get an extraneous
2048         emission of "toggle", which could conceivably confuse an app,
2049         but better than the current situation. LXR search seems to
2050         indicate that no apps in GNOME CVS connect to "toggle".
2051
2052 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
2053
2054         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
2055         gtk_public_h_sources to directly here to avoid warning when
2056         building srcdir != builddir. (#9656)
2057
2058 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
2059
2060         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
2061         handlers in gtkrange.c return the proper values (TRUE == handled)
2062         (#10316).
2063
2064         This is just the tip of the iceberg, but gtkrange.c is the
2065         most common place where the propagation is problematical,
2066         and also a place where it is almost certainly safe to change
2067         this in the stable branch.
2068
2069         (You don't want right click popups on a range control or anything...)
2070
2071 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
2072
2073         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
2074         area on focus out, even if a background pixmap isn't set.
2075         (#13941)
2076         
2077 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
2078
2079         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
2080         to deal with setting the shape properly when scrolling arrows are
2081         turned on, but not visible because there is sufficient space.
2082         (#13432)
2083
2084 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
2085
2086         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
2087         items with submenus, destroy the item along with the submenu.
2088         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
2089         properly.
2090
2091         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
2092         later.
2093
2094 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
2095
2096         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
2097         the focus widget sometimes wasn't drawn with the default if there
2098         was no default widget.
2099
2100         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
2101         unreference pixmaps. 
2102
2103         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
2104         for some extra safety.
2105
2106 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
2107
2108         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
2109         the text of a cell to the old pointer value better, by
2110         copying the new text before freeing the old text. Some code
2111         cleanup. (#8079, Karl Nelson)
2112
2113 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
2114
2115         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
2116         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
2117
2118 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
2119
2120         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
2121         item from a menu, check to see if it matches 
2122         menu->old_active_menu_item, and if so, unref and clear
2123         old_active_menu_item (Patch from Pavel Cisler)
2124
2125         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
2126         menu_shell->active_menu_item, if it is the child being
2127         removed. (Patch based on that of Gene Ragan, #50337)
2128
2129 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
2130
2131         * gdk/linux-fb/gdkselection-fb.c: 
2132         * gdk/linux-fb/gdkcolor-fb.c: 
2133         * gdk/linux-fb/gdkdrawable-fb2.c: 
2134         * gdk/linux-fb/gdkfont-fb.c: 
2135         * gdk/linux-fb/gdkim-fb.c: 
2136         * gdk/linux-fb/gdkinput.c: 
2137         * gdk/linux-fb/gdkkeyboard-fb.c: 
2138         * gdk/linux-fb/gdkmain-fb.c: 
2139         * gdk/linux-fb/gdkrender-fb.c: 
2140         A bunch of whitespace cleanup.
2141         
2142 2001-01-30  Havoc Pennington  <hp@pobox.com>
2143
2144         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
2145         #ifdef GTK_ENABLE_BROKEN.
2146
2147         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
2148         GTK_ENABLE_BROKEN just before including the broken headers.
2149         
2150         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
2151         deprecated types registered.
2152
2153         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
2154         we have to test the broken stuff.
2155
2156         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
2157         
2158 2001-01-30  Havoc Pennington  <hp@redhat.com>
2159
2160         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
2161         here where prev pointer was set to the wrong thing
2162
2163         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
2164         (gtk_tree_path_is_descendant): new function
2165
2166         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
2167         cached length
2168         (gtk_list_store_get_iter): don't modify iter if we can't get the
2169         path.
2170
2171         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
2172         
2173         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
2174         GtkTreeDragDest
2175
2176         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
2177         was causing segfault
2178
2179         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
2180         pointer to NULL
2181
2182         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
2183
2184         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
2185         on returning FALSE
2186         (gtk_list_store_iter_children): ditto
2187         (gtk_list_store_iter_nth_child): ditto
2188         (gtk_list_store_iter_nth_child): ditto
2189         (gtk_list_store_iter_parent): ditto
2190
2191         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
2192         on iter->user_data != NULL instead of silently accepting it.
2193         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
2194         we are returning TRUE.
2195         (gtk_tree_store_iter_children): ditto
2196         (gtk_tree_store_iter_nth_child): ditto
2197         (gtk_tree_store_iter_parent): ditto
2198         (gtk_tree_store_insert): remove handling of parent->user_data ==
2199         NULL, replace with parent == NULL       
2200
2201         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
2202         and a comment explaining things
2203
2204         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
2205         interface support to GtkTreeStore.
2206
2207         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
2208         FALSE if no prev, fix
2209
2210         * gtk/gtktreeview.c (set_source_row): use a row reference
2211         (set_dest_row): use a row reference
2212
2213 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
2214
2215         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
2216         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
2217         (gtk_tree_selection_select_iter): The same as above.
2218
2219 2001-01-26  Havoc Pennington  <hp@redhat.com>
2220
2221         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
2222         which holds a handle to a specific row (particular set of values
2223         in the model, i.e. pointer-identity row).
2224
2225         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
2226         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
2227         Still need to use it for the src/dest row saved on the drag context.
2228
2229 2001-01-26  Havoc Pennington  <hp@redhat.com>
2230
2231         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
2232
2233         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
2234         not offset by TREE_VIEW_HEADER_HEIGHT
2235         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
2236         TREE_VIEW_HEADER_HEIGHT
2237
2238         * configure.in (included_loaders): for me, --with-included-loaders
2239         generates the error "the specified loader yes does not exist",
2240         i.e. the arg defaults to "yes", so change test for value ""
2241         to test for value "yes", and include all loaders in that case.
2242
2243         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
2244
2245         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
2246         handle TREE_VIEW_VERTICAL_SEPARATOR
2247         (gtk_tree_view_bin_expose): fix to consider the row offset as
2248         pointing halfway into vertical separator.       
2249         (gtk_tree_view_draw_node_focus_rect): ditto
2250
2251         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
2252         --gtk-debug=updates, which causes gdk_window_set_debug_updates
2253         (TRUE) to be called.
2254
2255         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
2256         debug mode where the invalid region is colored in on invalidate,
2257         so you can see the flicker and know whether your redraw code is 
2258         doing a good job.
2259
2260         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
2261         tree window coordinates (clip rect is in tree window coords)
2262
2263         * gtk/Makefile.am: add gtktreednd.[hc]
2264
2265         * gtk/gtkliststore.c: implement gtktreednd interfaces.
2266
2267         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
2268         drag-and-drop data operations on a model (so we can set up tree
2269         drag-and-drop automatically)
2270
2271         * gtk/testgtk.c: Add a window to change sensitivity in the
2272         GtkLabel test; add a way to change the entry frame in GtkEntry
2273         test
2274
2275         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
2276         (gtk_entry_get_has_frame): new functions to remove the frame
2277         around an entry
2278         (gtk_entry_size_request): shrink requisition if no frame
2279         (gtk_entry_draw_focus): don't draw frame if no frame
2280
2281         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
2282         checks inside a cell renderer
2283         (gtk_default_draw_option): ditto for options
2284
2285         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
2286         children from the alignment, not the button
2287         (gtk_tree_view_column_init): ref/sink the column, to emulate
2288         GObject refcounting.
2289
2290         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
2291         
2292         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2293         Use theme functions to draw the toggles 
2294
2295         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
2296
2297         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
2298         GdkPangoAttrEmbossed to use in rendering insensitive text
2299
2300         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
2301
2302         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
2303         using new GDK features
2304         
2305 2001-01-24  Alexander Larsson  <alexl@redhat.com>
2306
2307         * gtk/gtkimage.c:
2308         Splitted gtk_image_clear into gtk_image_clear() and
2309         gtk_image_reset(). Call gtk_image_clear() in ::destroy
2310         to avoid leaks.
2311
2312         * gtk/gtklabel.c (set_markup):
2313         Don't leak text.
2314
2315         * gtk/gtktextlayout.c:
2316         Always free display->shaped_objects.
2317
2318         * gtk/testgtk.c (create_clist):
2319         Don't leak custom style.
2320
2321 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2322
2323         * gtk/gtkcolorsel.c (grab_color_at_mouse):
2324         Don't leak image. Simplify using gdk_colormap_query_color().
2325         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
2326
2327         * linux-fb/gdkcolor-fb.c:
2328         Implemented gdk_colormap_query_color.
2329
2330 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2331
2332         * linux-fb/gdkcursor-fb.c:
2333         Don't leak built-in cursors.
2334
2335         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
2336         Don't leak tmp_points.
2337
2338         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
2339         Don't modify desc. Don't leak font if the PangoFont
2340         isn't found.
2341         
2342         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
2343         Free dash_list.
2344
2345         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
2346         Don't leak string.
2347         
2348 2001-01-20  Havoc Pennington  <hp@pobox.com>
2349
2350         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
2351         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
2352         me, matches Pango
2353
2354 2001-01-22  Havoc Pennington  <hp@redhat.com>
2355
2356         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
2357
2358         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
2359
2360         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
2361         Remove, move back to gdk-pixbuf
2362
2363         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
2364         to all the word functions
2365
2366         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
2367         before doing anything on NULL layout or if we don't have the focus
2368
2369         * gtk/testtext.c (fill_example_buffer): "justification"
2370
2371         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
2372         to be called "justification" not "justify"
2373
2374         * demos/gtk-demo/textview.c (create_tags): "justification"
2375         
2376         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
2377
2378 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2379
2380         * gdk/gdkwindow.c (gdk_window_invalidate_region):
2381         Don't leak visible_region. Use visible_region instead of region.
2382         
2383         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2384         Don't do extra gdk_drawable_ref(). This is not X.
2385         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
2386         gdk_fb_focused_window is ref:ed.
2387         (gdk_fb_window_send_crossing_events): Watch out for destroyed
2388         windows.
2389
2390 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2391
2392         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
2393         Don't leak the PangoFontDescriptor.
2394
2395 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
2396
2397         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
2398         when not realized.
2399         (gtk_tree_view_scroll_to_cell): Make work when not realized.
2400         (gtk_tree_view_realize): add scroll_to support
2401         (gtk_tree_view_finalize): add a finalize method.  Populate.
2402         (gtk_tree_view_insert_column): ref and sink the column.
2403         (gtk_tree_view_append_column): ref and sink the column.
2404         (gtk_tree_view_queue_draw_node): New function to handle redrawing
2405         individual nodes.  Should make the code much more efficient, if
2406         actually used.
2407
2408 2001-01-19  Havoc Pennington  <hp@redhat.com>
2409
2410         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
2411         byte_offset variable was being used to mean both "offset into
2412         layout" and "offset into buffer line" which was no longer true
2413         with addition of preedit string; fix
2414
2415 2001-01-19  Havoc Pennington  <hp@redhat.com>
2416
2417         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
2418
2419         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
2420         function
2421
2422         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
2423         implement
2424
2425         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
2426         scroll_to_cell, matches TextView scroll functions better
2427         (gtk_tree_view_tree_to_widget_coords): new function
2428         (gtk_tree_view_widget_to_tree_coords): new function
2429         (gtk_tree_view_get_visible_rect): new function
2430         (gtk_tree_view_get_path_at_pos): accept negative coordinates
2431         (gtk_tree_view_draw_node_focus_rect): new function moved from
2432         draw_focus, also, use width of bin_window as width of the focus
2433         rect
2434         (gtk_tree_view_expand_row): fix bug where it didn't recognize
2435         already-expanded rows
2436         (gtk_tree_view_get_cell_rect): new function
2437         (gtk_tree_view_get_path_at_pos): return the click position
2438         relative to the passed-in cell
2439         (gtk_tree_view_set_expander_column): new function
2440
2441         * configure.in: remove gtk-config-2.0 chmod
2442
2443         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
2444         and properly handle drags with targets we don't understand
2445         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
2446         scrolling anyway
2447         (gtk_text_view_drag_drop): stop scrolling here though, and set the
2448         mark invisible
2449
2450         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
2451         function
2452         (gtk_drag_dest_get_target_list): new function
2453         (gtk_drag_dest_set_target_list): new function
2454         
2455         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
2456
2457         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
2458         related to drag-and-drop
2459
2460 2001-01-19  Alexander Larsson  <alexl@redhat.com>
2461
2462         * gdk/linux-fb/gdkprivate-fb.h:
2463         Define EMULATE_GDKFONT.
2464         Add extra pango_font stuff to GfkFontPrivate.
2465         
2466         * gdk/linux-fb/gdkdrawable-fb2.c:
2467         * gdk/linux-fb/gdkfont-fb.c:
2468         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
2469         emulation using PangoFont.
2470
2471 2001-01-17  Havoc Pennington  <hp@pobox.com>
2472
2473         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
2474         all the non-deprecated set_foo functions. Added missing object
2475         properties, and added g_object_notify() to setters. 
2476         Wrote docs.
2477         
2478 2001-01-18  Tor Lillqvist  <tml@iki.fi>
2479
2480         * gtk/gtkmain.c
2481         * gtk/gtkrc.c: (Win32) Use the new
2482         g_win32_get_package_installation_(sub)directory() functions.
2483
2484         * config.h.win32.in: New file.
2485         
2486         * config.h.win32: Removed.
2487
2488         * configure.in: Output config.h.win32.
2489
2490         * Makefile.am: Add it to EXTRA_DIST.
2491
2492         * gtk/gtk.def: Update.
2493
2494 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
2495
2496         * gtk/gtklabel.c (gtk_label_size_request): Set the
2497         attributes onto the PangoLayout even if they are newly
2498         created from label->pattern.
2499
2500 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
2501
2502         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
2503
2504         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
2505         structures in functions. Fixes bug where gtk_dataset_*
2506         was accidentally still being used in one place, causing
2507         every dest side event to be treated independently.
2508
2509         * gtk/gtkdnd.c: Remove last vestages of handling
2510         ::draw (fixes warning)
2511         
2512         * gtk/gtkentry.[ch]: Add drag and drop support.
2513
2514         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
2515         new function gtk_check_drag_threshhold() for checking
2516         to check if (dx,dy) has exceeded the threshhold for starting
2517         a drag and use it everywhere.
2518
2519 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
2520
2521         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
2522         add -I{includedir}/gtk-2.0.
2523
2524         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
2525         gdk/gdk-pixbuf.h: Doc fixups.
2526         
2527         * gtk/gtkobject.h: Remove trailing , from enum
2528
2529 2001-01-17 Alexander Larsson <alexl@redhat.com> 
2530
2531         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
2532         Doh! Mixed up x and y.
2533
2534         * gdk/linux-fb/gdkglobals-fb.c:
2535         Removed gdk_fb_pointer_grab_window_events,
2536         added _gdk_fb_pointer_grab_owner_events and
2537         _gdk_fb_keyboard_grab_owner_events.
2538
2539         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
2540         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
2541         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
2542         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
2543         Send crossing events after ungrab finished.
2544         (gdk_keyboard_grab): Set ..._owner_events
2545         (type_masks): Move out of function.
2546         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
2547         gdk_fb_keyboard_event_window): New functions, return the
2548         window an event should be targeted at. Handles grabs and
2549         event propagation. Can return NULL.
2550         (gdk_event_make): Remove event_mask checking. Now always
2551         returns an event.
2552                 
2553         * gdk/linux-fb/gdkkeyboard-fb.c:
2554         * gdk/linux-fb/gdkproperty-fb.c:
2555         * gdk/linux-fb/gdkselection-fb.c:
2556         Use new event_window/gdk_event_make() behaviour.
2557         
2558         * gdk/linux-fb/gdkmouse-fb.c:
2559         Use new event_window/gdk_event_make() behaviour.
2560         Only send motion events if in the same window.
2561         If grabbed, use cursor from window if sibling of grabbed
2562         window, and cursor from grabbed window otherwise.
2563
2564         * gdk/linux-fb/gdkprivate-fb.h:
2565         Update gdk_fb_window_send_crossing_events, gdk_event_make
2566         and grab varaible declarations. Add gdk_fb_*_event_window().
2567
2568         * gdk/linux-fb/gdkwindow-fb.c:
2569         Use new event_window/gdk_event_make() behaviour.
2570         Keep correct track of focus window.
2571         (gdk_window_set_events): Set all specific button motion masks
2572         if GDK_BUTTON_MOTION_MASK set.
2573
2574         * gtk/gtkdnd.c (gtk_drag_update):
2575         Free info->last_event if gdk_drag_motion returned FALSE.
2576
2577 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2578
2579         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
2580         Eliminate redraws when input-only windows are shown or
2581         hidden. Thanks to jpe@archaeopteryx.com.
2582
2583 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
2584
2585         * docs/faq/gtk-faq.sgml: FAQ update:
2586           - Update to bugzilla
2587           - Add GTK+ and security/SUID/SGID
2588           - Add DnD question
2589
2590 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
2591
2592         * gdk/linux-fb/gdkdnd-fb.c:
2593         Some cleanups.
2594         
2595 2001-01-15  Havoc Pennington  <hp@pobox.com>
2596
2597         * tests/testtreeview.c: add test stuff for CellRendererToggle
2598
2599         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
2600         accessor
2601
2602         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
2603         only toggle on button press (would do release like GtkButton, but
2604         we'd need implicit grab code for treeview cells)
2605
2606 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2607
2608         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
2609
2610         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
2611         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
2612
2613         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
2614         to g_{locale,filename}_{to,from}_utf8 to match current API.
2615
2616         * gtk/makefile.msc.in (gtk_OBJECTS)
2617         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
2618
2619         * gtk/gtk.def: Update.
2620
2621 2001-01-15  Tor Lillqvist  <tml@iki.fi>
2622
2623         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
2624         implementaion that more closely mimics the events that an X server
2625         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
2626         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
2627         with nested preview widgets, for instance, more responsive when
2628         you move the mouse quickly into them.
2629         (find_window_for_pointer_event): Make it actually compile.
2630         (gdk_event_translate): Set send_event to the value of
2631         InSendMessage (). This doesn't really mean the same as X11's
2632         send_event flag, but is close enough, says jpe@archaeopteryx.com
2633
2634 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2635
2636         * gdk/linux-fb/gdkdnd-fb.c:
2637         Implemented drag and drop.
2638         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
2639         when it tries to free and then copy the same event (info->last_event).
2640         I am not sure about why this happens, but will continue looking.
2641
2642 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2643
2644         * gdk/linux-fb/gdkwindow-fb.c:
2645         Use gdk_window_invalidate_rect instead of
2646         gdk_window_invalidate_rect_clear to minimise flashing.
2647         When hiding windows you need to clear the root window though.
2648
2649 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2650
2651         * gdk/linux-fb/gdkdrawable-fb2.c:
2652         For optization, add an full_shapes argument to gdk_fb_clip_region.
2653         If this is false, only the cliprects of the shapes are used.
2654
2655         * gdk/linux-fb/gdkprivate-fb.h:
2656         Export gdk_fb_window_peek_shape.
2657         Add full_shapes to gdk_fb_clip_region.
2658
2659         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2660         When moving a window, don't clear everything under the it, just the
2661         root window. Makes stuff faster and flash less.
2662         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
2663         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
2664         offset of the shape.
2665         
2666
2667 2001-01-12  Havoc Pennington  <hp@redhat.com>
2668
2669         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
2670         current invalid region, fixes redraw bug while scrolling the 
2671         text widget
2672
2673         * gtk/gtktextview.c, gtk/gtktextview.h:
2674         Rearrange the scrolling/validation/etc. code in a major way, 
2675         so it seems to make sense to me. Probably isn't genuinely that
2676         much better, but...
2677
2678         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
2679         notifies
2680
2681         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
2682
2683 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
2684
2685         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
2686         Hide mouse pointer while rotation. Show it afterwards.
2687
2688 2001-01-12  Alexander Larsson  <alexl@redhat.com>
2689
2690         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
2691         windows in consideration when generating clip region.
2692
2693         * gdk/linux-fb/gdkfb.h:
2694         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
2695
2696         * gdk/linux-fb/gdkprivate-fb.h:
2697         Add shape to GdkWindowFBDatat.
2698         exported gdk_fb_window_get_abs_shape().
2699         removed gdk_fb_draw_lines declaration.
2700
2701         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
2702         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
2703         send focus changes when there is a grabbed window.
2704         (gdk_window_get_pointer): Handle shaped windows.
2705         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
2706         (gdk_fb_window_peek_shape): Returns the shape for a window,
2707         handles GDK_FB_USE_CHILD_SHAPE.
2708         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
2709         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
2710         (gdk_window_shape_combine_mask): Implement.
2711
2712         * gtk/gtkwindow-decorate.c:
2713         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
2714         setting the shape of a window makes the window transparent.
2715
2716 2001-01-11  Havoc Pennington  <hp@redhat.com>
2717
2718         * gtk/gtktreemodelsimple.h: Oops, broke some macros
2719
2720 2001-01-10  Havoc Pennington  <hp@redhat.com>
2721
2722         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
2723         add this function, bug 40251
2724
2725         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
2726         of type macro   
2727
2728 2001-01-11  Alexander Larsson  <alexl@redhat.com>
2729
2730         * acconfig.h:
2731         Added ENABLE_SHADOW_FB
2732
2733         * configure.in:
2734         Added --disable-shadowfb
2735
2736         * gdk/linux-fb/gdkcursor-fb.c:
2737         Update shadowfb when updating cursor
2738
2739         * gdk/linux-fb/gdkdrawable-fb2.c:
2740         Added wrappers for shadowfb that calls  the normal drawable
2741         methods, but calls gdk_shadow_fb_update(bounding box) when
2742         GdkWindows are drawed to.
2743         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
2744         which also returns the bounding box.
2745
2746         * gdk/linux-fb/gdkfb.h:
2747         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
2748
2749         * gdk/linux-fb/gdkgeometry-fb.c:
2750         Update shadowfb when scrolling window.
2751
2752         * gdk/linux-fb/gdkglobals-fb.c:
2753         Add _gdk_fb_screen_angle.
2754         
2755         * gdk/linux-fb/gdkkeyboard-fb.c:
2756         Test code for screen rotation. Shift-F2 in the xlate driver
2757         rotates the screen.
2758
2759         * gdk/linux-fb/gdkmain-fb.c:
2760         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
2761
2762         * gdk/linux-fb/gdkmouse-fb.c:
2763         Use fb_width/height instead of modeinfo.xres/yres.
2764
2765         * gdk/linux-fb/gdkprivate-fb.h:
2766         Added fb_men, fb_width, fb_height & fb_stride. When using
2767         shadow fb these can differ from the framebuffer stuff.
2768         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
2769         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
2770         _gdk_fb_screen_angle. Removed CM, RP.
2771
2772         * gdk/linux-fb/gdkrender-fb.c:
2773         Added code for shadowfb handling and screen rotation using
2774         shadowfb.
2775
2776         * gdk/linux-fb/gdkwindow-fb.c:
2777         Use fb_mem, fb_stride, fb_width, fb_height.
2778         Added recompute_rowstride to reset the rowstride of all windows.
2779         Added gdk_fb_recompute_all() which recomputes rootwindow size,
2780         window abs positions and window rowstrides. Usefull when the
2781         rotation has changed.
2782
2783 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
2784
2785         * docs/faq/gtk-faq.sgml: update to make web site updating easier
2786
2787 2001-01-10  Havoc Pennington  <hp@redhat.com>
2788
2789         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
2790         where sibling == iter
2791         (gtk_tree_store_insert_after): handle sibling == iter
2792         (gtk_tree_store_prepend): remove stamp checks
2793         (gtk_tree_store_insert_before): ditto
2794         (gtk_tree_store_append): ditto
2795         (gtk_tree_store_get_path): ditto
2796         (gtk_tree_store_get_value): ditto
2797         (gtk_tree_store_iter_has_child): ditto
2798         (gtk_tree_store_iter_n_children): ditto
2799         (gtk_tree_store_iter_nth_child): ditto
2800         (gtk_tree_store_insert_after): ditto
2801         (gtk_tree_store_is_ancestor): ditto
2802         (gtk_tree_store_iter_depth): ditto
2803         (gtk_tree_store_insert_before): assert that sibling's parent is
2804         the same as the passed-in parent
2805         (gtk_tree_store_insert_after): assert that sibling's parent is
2806         the same as the passed-in parent
2807
2808         
2809         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
2810         function to get the first iterator in a model
2811         
2812         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
2813         conventionally the "root" in this sense is just NULL afaict.
2814
2815         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
2816         where sibling == iter
2817         (gtk_list_store_insert_after): handle case where sibling == iter
2818
2819         * tests/testtreeview.c (run_automated_tests): fairly lame basic
2820         automated tests for ListStore, TreeStore
2821
2822         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
2823         (gtk_list_store_insert): update tail pointer, and fix it to work
2824         (gtk_list_store_insert_before): update tail pointer, and fix it to work
2825         (gtk_list_store_append): use tail to be faster
2826         (gtk_list_store_prepend): fix it, update tail pointer
2827         (gtk_list_store_insert_after): fix it, update tail pointer
2828
2829         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
2830         the list
2831
2832 2001-01-09  Havoc Pennington  <hp@redhat.com>
2833
2834         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
2835         is NULL due to a pending resize
2836
2837         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
2838         column width to values less than 1
2839
2840         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
2841         width to be between min/max width, and still set the width 
2842         even if autosize is turned on, so the tree view can use this 
2843         function in order to autosize.
2844         (gtk_tree_view_column_init): set initial width to 1 not 0
2845
2846         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
2847         setter function to modify column width, so we get notification
2848         (gtk_tree_view_insert_iter_height): ditto
2849         (gtk_tree_view_calc_size): ditto
2850         (gtk_tree_view_check_dirty): ditto
2851
2852         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
2853         properties to change all the interesting attributes of the tree
2854         view column.
2855         (gtk_tree_view_column_set_header_clickable): rename set_clickable
2856         (gtk_tree_view_column_get_clickable): add
2857         (gtk_tree_view_column_set_cell_renderer): don't unset the current
2858         attributes; assume a cell renderer with equivalent object
2859         properties has been swapped in. Do g_object_notify().
2860         (gtk_tree_view_column_set_visible): g_object_notify
2861         (gtk_tree_view_column_get_sizing): rename from get_col_type
2862         (gtk_tree_view_column_set_sizing): g_object_notify
2863         (gtk_tree_view_column_set_width): add g_object_notify
2864         (gtk_tree_view_column_set_min_width): ditto
2865         (gtk_tree_view_column_set_max_width): ditto
2866         (gtk_tree_view_column_set_title): ditto
2867         (gtk_tree_view_column_set_clickable): ditto
2868         (gtk_tree_view_column_set_widget): ditto
2869         (gtk_tree_view_column_set_justification): ditto
2870
2871 2001-01-09  Havoc Pennington  <hp@redhat.com>
2872
2873         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
2874         there are no rows in the model
2875
2876         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
2877         NULL, then return the start of the list
2878
2879         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
2880         if we can't get any rows from an empty model 
2881
2882         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
2883         extraneous * after function pointer typedef usage
2884
2885         * Makefile.am: don't specify full path to cp and rm
2886
2887         * gtk/gtkcellrenderertextpixbuf.c
2888         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
2889         NULL before dereferencing, fixes a segfault that happened from
2890         time to time
2891
2892         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
2893         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
2894         and reindent the function
2895         (gtk_cell_renderer_pixbuf_get_size): indentation
2896
2897         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
2898         we quit it
2899         (gtk_dialog_add_buttons_valist): add g_return_if_fail
2900         (gtk_dialog_set_default_response): New function, to set default
2901         button
2902         (gtk_dialog_set_response_sensitive): New function, to set 
2903         sensitivity of buttons
2904
2905         * gtk/gtkcellrendererpixbuf.c
2906         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
2907         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
2908
2909         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
2910         handle any G_TYPE_OBJECT subclass, not just the base class, and 
2911         also boxed types.
2912         (_gtk_tree_data_list_value_to_node): ditto
2913
2914         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
2915         --gtk-debug=tree
2916
2917         * gtk/gtkmain.c: add GTK_DEBUG_TREE
2918
2919         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
2920
2921 2001-01-09  Tor Lillqvist  <tml@iki.fi>
2922
2923         * gdk/win32/gdkevents-win32.c: Implement better mouse
2924         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
2925         (find_window_for_pointer_event): New function.
2926         (gdk_event_translate): Use it when handling mouse events.
2927
2928 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
2929
2930         * configure.in:
2931         Added --with-included-loaders option
2932
2933         * gdk-pixbuf/Makefile.am:
2934         * gdk-pixbuf/gdk-pixbuf-io.c:
2935         Add support for including selected gdk-pixbuf loaders only.
2936
2937         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
2938         gtk_window_set_has_frame):
2939         Added inline documentation.
2940
2941         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
2942         * docs/reference/gdk/tmpl/windows.sgml:
2943         Added inline documentation.
2944
2945 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
2946
2947         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
2948         realizing buttons that have already been realized.
2949
2950 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
2951
2952         * tests/testtreeview.c (main): Show menu items before adding to
2953         option menu.
2954
2955         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
2956         around if we kill them.
2957
2958         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2959         Return if we pass in a NULL model.
2960
2961 2001-01-08  Havoc Pennington  <hp@redhat.com>
2962
2963         * tests/testtreeview.c: hack on this some
2964
2965         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
2966         gtk_tree_store_set_valist, v is for arrays, valist for varargs
2967         list
2968         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
2969
2970         * gtk/gtkliststore.h: Add varargs set() and get() convenience
2971         functions
2972
2973 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2974
2975         * gtk/gtkwindow-decorate.[hc]:
2976         * gtk/Makefile.am:
2977         New files. Contains an implementation of a minimal WM for
2978         linux-fb.
2979
2980         * gtk/gtkwindow.h:
2981         Add the possibility for GtkWindows to specify a frame. This
2982         is used for the window decoration code, but could concievably
2983         be used for X programs too (xmms style windows).
2984         GtkWindow->frame is the toplevel window if the window is framed.
2985         The signal frame_event gets all events that are targeted to
2986         GtkWindow->frame.
2987         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
2988         
2989         * gtk/gtkwindow.c:
2990         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
2991         Call out to gtkwindow-decorate.c for WM support in linx-fb.
2992
2993 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2994
2995         * docs/README.linux-fb:
2996         Correct filename ~/.pangoft2_aliases
2997
2998         * gdk/gdkwindow.h:
2999         Added new function gdk_window_get_decorations.
3000
3001         * gdk/linux-fb/gdkfb.h:
3002         Removed _gdk_window_get_decorations declaration.
3003         Renamed _gdk_window_set_child_handler to
3004         gdk_fb_window_set_child_handler.
3005
3006         * gdk/linux-fb/gdkwindow-fb.c:
3007         Renamed _gdk_window_set_child_handler to
3008         gdk_fb_window_set_child_handler.
3009
3010         * gdk/x11/gdkwindow-x11.c:
3011         New function gdk_window_get_mwm_hints().
3012         Implemented gdk_window_get_decorations.
3013
3014         * docs/reference/gdk/tmpl/windows.sgml:
3015         * docs/reference/gdk/gdk-sections.txt:
3016         Added gdk_window_get_decorations docs.
3017         
3018 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
3019
3020         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
3021         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
3022         gdk_fb_window_send_crossing_events):
3023         Possibly send focus events when the mouse moves from one
3024         window to another.
3025
3026 2001-01-07  Tor Lillqvist  <tml@iki.fi>
3027
3028         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
3029         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
3030         to match current API.
3031
3032         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
3033         environment variable is set, don't call g_error when on a
3034         palettized (PseudoColor) display. Some people want to use GTK+ 
3035         in 256-colour mode even though works only partially.
3036
3037         * gdk/gdk.def
3038         * gtk/gtk.def
3039         * gtk/makefile.mingw.in: Update.
3040
3041 2001-01-05  Havoc Pennington  <hp@redhat.com>
3042
3043         * tests/testtreeview.c: hack on this a bit
3044
3045         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
3046         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
3047
3048         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
3049         was spelled incorrectly
3050         (GTK_IS_TREE_MODEL_SIMPLE): ditto
3051
3052         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
3053         from gtk_tree_view_set_headers_active   
3054
3055         * gtk/gtktexttag.c:
3056         (gtk_text_tag_get_property): handle PROP_DIRECTION
3057         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
3058         properties, bug 40235
3059
3060         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
3061         forward_to_line_end
3062
3063 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
3064
3065         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
3066         modules/input/gtkimcontextxim.c: Adapt to new prototypes
3067         for unicode,locale,filename conversion functions.
3068
3069 2001-01-05  Havoc Pennington  <hp@redhat.com>
3070
3071         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
3072         broken if called on the first position in the buffer.
3073
3074         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
3075         forward_to_delimiters to be called only if we aren't already at
3076         the delimiters.
3077
3078 2001-01-05  Havoc Pennington  <hp@redhat.com>
3079
3080         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
3081
3082 2001-01-05  Alexander Larsson  <alexl@redhat.com>
3083
3084         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
3085         colormap in here. Sync from X port.
3086         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
3087         Sync from X port.
3088         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
3089         This happens now and then, and i don't think it is a bug.
3090         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
3091         != endpoint.
3092         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
3093         GDK_LINE_SOLID.
3094
3095         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
3096         some of the fields filled in at least.
3097
3098         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
3099         miLineArcD is no more, remove it from the function definition.
3100
3101 2001-01-04  Havoc Pennington  <hp@redhat.com>
3102
3103         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
3104         this
3105
3106         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
3107         user_data instead of tree_node
3108
3109         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
3110         TREE_VIEW_COLUMN_SIZE
3111
3112         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
3113         "size" field to "width" finishes bug 40061
3114
3115         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
3116         for bitfields, bug 40268
3117
3118 2001-01-04  Havoc Pennington  <hp@redhat.com>
3119
3120         Rename some stuff:
3121         
3122         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
3123
3124         s/GtkModelSimple/GtkTreeModelSimple/g;
3125         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
3126         s/gtk_model_simple/gtk_tree_model_simple/g;
3127         s/gtkmodelsimple/gtktreemodelsimple/g;
3128
3129         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
3130
3131         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
3132         s/column_set_col_type/column_set_sizing/g;
3133
3134         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
3135         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
3136
3137         s/GtkCellRendererType/GtkCellRendererState/g;
3138         
3139         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
3140         (gtk_cell_renderer_toggle_class_init): change "state" property to
3141         "active", to match GtkToggleButton
3142         (gtk_cell_renderer_toggle_get_active): new function, bug
3143         40269
3144         (gtk_cell_renderer_toggle_set_active): new function
3145         (gtk_cell_renderer_toggle_set_property): route changes to toggle
3146         state through gtk_cell_renderer_set_active
3147
3148 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
3149
3150         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
3151         temporarily until they work again.  Brought up to date with
3152         changes in the model.
3153         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
3154         model.
3155
3156 2001-01-04  Havoc Pennington  <hp@redhat.com>
3157
3158         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
3159         equal to the line length, then position iterator before paragraph 
3160         separators. Fixes crash reported by Mikael Hermansson when
3161         pressing left arrow from the start of a line.   
3162
3163         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
3164         about byte indexes off the end
3165         (iter_set_from_char_offset): add g_error about char offsets
3166         off the end
3167
3168 2001-01-03  Havoc Pennington  <hp@redhat.com>
3169
3170         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
3171
3172         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
3173         of private functions; remove inclusion of private headers.
3174
3175         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
3176         function, so we don't need private functions in gtktextdisplay.c
3177
3178         * gtk/gtktextiterprivate.h: underscore-ification
3179
3180         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
3181         to instead say "only useful to implement widgets"
3182
3183         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
3184         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
3185         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
3186
3187         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
3188         This function was completely broken
3189
3190         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
3191
3192         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
3193
3194         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
3195
3196         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
3197
3198         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
3199
3200         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
3201
3202         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
3203         gtk_paint_layout
3204
3205         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
3206         gtk_paint_layout
3207
3208         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
3209         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
3210         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
3211         which were not implemented.     
3212
3213         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
3214         insert_pixbuf signal. Rename delete_text to delete_range since it
3215         also deletes pixbufs and child anchors. This almost closes bug
3216         40245 (still need to deal with child anchors)
3217
3218         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
3219         insert_pixbuf, change signal names as appropriate, change types of
3220         signals taking marks/tags to have the specific type, not just
3221         G_TYPE_OBJECT
3222         
3223         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
3224         closes bug 40051
3225
3226         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
3227         unnecessary remove_contents() call
3228         (gtk_option_menu_class_init): add a "changed" signal, closes
3229         bug 40039
3230         (gtk_option_menu_update_contents): emit "changed" if the 
3231         active menu item changes
3232
3233         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
3234         cast to GtkObject, reported by Jonas Borgstrom
3235         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
3236         we can't do stuff with side effects in finalize. Instead, spew a
3237         warning if the loader isn't closed.
3238
3239         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
3240         colormap in here, non-X ports probably need to sync to this change
3241
3242         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
3243         assertion that colormap != NULL, you can set the colormap to NULL
3244         if you like.
3245         
3246         * Makefile.am: remove gtk-config-2.0
3247
3248         * configure.in: Use pkg-config to locate GLib. Remove
3249         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
3250         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
3251         Use pkg-config to locate Pango. Output correct Pango libs to
3252         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
3253
3254         * Makefile.am (pkgconfig_DATA): install only target-specific pc
3255         files
3256         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
3257         X11 pc files
3258
3259         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
3260         unref from here
3261
3262 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
3263
3264         * configure.in:
3265         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
3266
3267 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
3268
3269         * gtk/gtktextlayout.c
3270         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
3271         variable when moving back onto a single line.
3272
3273 2001-01-01  Havoc Pennington  <hp@redhat.com>
3274
3275         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3276
3277         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3278
3279         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
3280         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
3281
3282 2001-01-01  Havoc Pennington  <hp@redhat.com>
3283
3284         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
3285
3286         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
3287         GtkTextAttributes
3288
3289         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
3290         #40246
3291         (gtk_text_attributes_copy_values): rename from 
3292         gtk_text_attributes_copy
3293         (gtk_text_attributes_copy): a more standard GTK copy function, 
3294         which returns a new object
3295
3296 2001-01-01  Havoc Pennington  <hp@redhat.com>
3297
3298         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
3299         
3300         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
3301         don't fill in tree_view->priv->selection, kind of an unexpected
3302         side effect
3303
3304         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
3305         gtkintl.h
3306         
3307         * gtk/gtkcellrenderer.c: Remove definition of _ and include
3308         gtkintl.h
3309         (gtk_cell_renderer_get_property): remove calls to g_value_init
3310
3311         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
3312         gtkintl.h
3313
3314         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
3315         and include gtkintl.h
3316         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
3317         property names
3318
3319         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
3320         GtkTreeSelection
3321         (_gtk_tree_selection_new_from_with_view): rename, return
3322         GtkTreeSelection
3323         (_gtk_tree_selection_set_tree_view): rename with uscore
3324         (gtk_tree_selection_get_selected): fill in the "model" out param
3325         first, so it gets filled in even if we return at the top of the 
3326         function
3327         (gtk_tree_selection_real_select_all): add a comment and an else{}
3328         to clarify this a bit
3329         (gtk_tree_selection_real_unselect_all): add the same else{}
3330
3331         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
3332         set_tree_view to have underscore prefixes, move them to the
3333         private header, fix return type of new_with_tree_view
3334         (struct _GtkTreeSelection): mark struct
3335         fields private  
3336
3337         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
3338         GtkTreeModelFlags, not a guint
3339         (gtk_tree_path_prev): return gboolean not gint
3340         (gtk_tree_path_up): return gboolean not gint
3341
3342         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
3343         return GtkTreeModelFlags, not a guint
3344
3345         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
3346         that child model is non-null before unrefing it
3347         (g_value_int_compare_func): make this a qsort compare func, not 
3348         a boolean predicate
3349
3350         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
3351         (add -umn to the end), and mark it unimplemented
3352         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
3353         I don't see what it's for - doesn't the model always sort itself?
3354         (gtk_tree_model_sort_set_compare): this had the wrong signature
3355
3356         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
3357         Fix the docs to say that it destructively replaces existing
3358         attributes (previously said that it added attributes).
3359         (gtk_tree_view_column_set_visible): canonicalize bool before
3360         equality testing. Also, check for realization before
3361         hiding/showing the tree_column->window; if this window could exist
3362         before realization, then it's busted and needs fixing, we can't 
3363         create GDK resources pre-realization. Also, remove
3364         superfluous queue_resize(), since set_size() does that for us.
3365         (gtk_tree_view_column_set_col_type): check realization before 
3366         using tree_column->window
3367
3368         * gtk/gtktreedatalist.c: fix filename in copyright notice
3369
3370 2000-12-31  Havoc Pennington  <hp@pobox.com>
3371
3372         * gtk/gtktextview.c: Rearrange all the
3373         scroll-while-dragging-or-selecting code to be different, not
3374         necessarily better. ;-)
3375         (gtk_text_view_scroll_to_mark): Change this
3376         function to take within_margin as a fraction instead of a pixel
3377         value, and to take alignment arguments (indicating where to align 
3378         the mark inside the visible area)
3379         
3380         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
3381         to GtkObject
3382
3383         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
3384         behavior so that offsets past the end of the line are not 
3385         allowed, and an offset equal to the line length moves the iterator
3386         to the next line
3387         (gtk_text_iter_set_line_index): make parallel change
3388         (gtk_text_iter_get_bytes_in_line): add this function
3389         
3390         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
3391         of byte indexes off the end of the line; byte index at the end of
3392         the line now returns FALSE and doesn't fill in the requested
3393         values, byte index past the end of the line is an error.  Also,
3394         don't allow -1 offset anymore, since its meaning is unclear.
3395
3396         This change exposes some bug in visual cursor motion, where we
3397         end up with a huge invalid byte index; needs fixing. Symptom of 
3398         bug is a crash when you hit up arrow.
3399         
3400         (_gtk_text_line_char_locate): match the change to byte_locate
3401
3402         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
3403         from start of line properly. fixes bug reported by Mikael
3404         Hermansson where backspace would delete all text before the
3405         cursor.
3406
3407 2000-12-30  Tor Lillqvist  <tml@iki.fi>
3408
3409         * gdk/win32/gdkwindow-win32.c
3410         (gdk_window_impl_win32_get_visible_region): New function, as in
3411         the X11 backend.
3412         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
3413         instead of duplicating the same code here.
3414
3415         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
3416         GDK_COLORMAP macro.
3417
3418         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
3419         destroy function.
3420         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
3421         access that.
3422
3423         * gtk/gtk.def: Update.
3424
3425         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
3426
3427 2000-12-30  Havoc Pennington  <hp@pobox.com>
3428
3429         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
3430         colormap on input only windows, to avoid special cases all over
3431         the code for these windows.
3432
3433 2000-12-26  Tor Lillqvist  <tml@iki.fi>
3434
3435         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
3436         we are on a palettized display ("PseudoColor" in X11), as the code
3437         for that doesn't work anyway, and never has.
3438
3439 2000-12-22  Alexander Larsson  <alexl@redhat.com>
3440
3441         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
3442         Don't use isprint() for chars > 255.
3443
3444 2000-12-21  Havoc Pennington  <hp@redhat.com>
3445
3446         * tests/testtreeview.c: more work
3447
3448 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3449
3450         * docs/README.linux-fb:
3451         Update the docs to the new pangoft2 way.
3452
3453 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3454
3455         * configure.in:
3456         For linux-fb get the pangoft2 cflags and libs. This needs a recent
3457         pango version.
3458         Remove modules/linux-fb/Makefile.
3459
3460         * gdk/linux-fb/gdkdrawable-fb2.c:
3461         Render glyphs using freetype.
3462
3463         * gdk/linux-fb/gdkfb.h:
3464         Add new fb-specific functions needed for managing windows.
3465
3466         * gdk/linux-fb/gdkmain-fb.c:
3467         Remove gdk_font_init/fini() calls.
3468
3469         * gdk/linux-fb/gdkpango-fb.c:
3470         Remove old implementation. Use pangoft2 instead.
3471
3472         * gdk/linux-fb/gdkprivate-fb.h:
3473         Remove PangoFBFont and related stuff.
3474
3475         * gdk/linux-fb/gdkwindow-fb.c:
3476         Implement drawable->get_visible_region.
3477         Implement support for _gdk_window_set_child_handler () and
3478         _gdk_window_get_decorations().
3479
3480         * modules/Makefile.am:
3481         Remove linux-fb subdir.
3482
3483         * modules/linux-fb/*:
3484         Removed all.
3485         
3486 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
3487
3488         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
3489         calls, as they are no longer needed.
3490
3491         * gtk/gtktreemodelsort.c: Fix up the comparison code.
3492         
3493         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
3494         figure out how to emit a signal on an interface.
3495
3496 2000-12-20  Havoc Pennington  <hp@redhat.com>
3497
3498         * tests: new directory to contain tests, gtk/test* should move
3499         here sometime (with appropriate on-cvs-server hackery)
3500
3501         * tests/testtreeview.c, tests/Makefile.am: a test
3502         
3503         * configure.in (AC_OUTPUT): add tests/Makefile
3504
3505         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
3506         and "invisible_set" which were missing
3507
3508         * gtk/gtkrbtree.h: some cheesy indentation fix
3509         
3510 2000-12-20  Alexander Larsson  <alexl@redhat.com>
3511
3512         * gtk/gtkinvisible.c (gtk_invisible_realize):
3513         Attach the style to the window so that the style it is not
3514         leaked when unrealizing the window.
3515
3516 2000-12-18  Havoc Pennington  <hp@redhat.com>
3517
3518         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
3519         begin/end user action where appropriate
3520         (gtk_text_view_commit_handler): add begin/end user action
3521
3522         * gtk/gtktextbuffer.c: add begin/end user action signals, and
3523         bracket interactive operations with begin/end user action pair.
3524         
3525         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
3526         "interactive" arg from insert_text and delete_text signals.
3527         Add begin_user_action, end_user_action signals
3528         (gtk_text_buffer_begin_user_action): 
3529         (gtk_text_buffer_end_user_action): New functions to delimit 
3530         a user-visible action
3531
3532         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
3533         signals.
3534         
3535 2000-12-18  Havoc Pennington  <hp@redhat.com>
3536
3537         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
3538         was pretty non-working.
3539
3540         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
3541         by passing the length to g_utf8_validate().
3542
3543 2000-12-16  Havoc Pennington  <hp@pobox.com>
3544
3545         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
3546         Port to GObject, can go back in gdk-pixbuf after setting up 
3547         a gdk-pixbuf-marshal.h header over there.
3548
3549         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
3550         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
3551         args
3552         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
3553         set
3554         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
3555         here, do it when we create the buttons later
3556         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
3557         (gtk_tree_view_map): paranoia checks that column->button is shown 
3558         and unmapped
3559         (gtk_tree_view_size_request): only request visible children.
3560         Move header size calculation in here, for cleanliness, and 
3561         to maintain invariants for child widgets if we eventually 
3562         let users set different children inside the buttons
3563         (gtk_tree_view_map_buttons): factor out code to map buttons,
3564         since it was being called several times
3565         (gtk_tree_view_size_allocate_buttons): move_resize the drag
3566         windows instead of just moving them; their height may change 
3567         if we allow random widgets in there, or the theme changes.
3568         (gtk_tree_view_size_allocate): move button size allocation 
3569         above emitting the scroll signals, to ensure a sane state when we
3570         hit user code
3571         (gtk_tree_view_button_release): remove queue_resize after
3572         tree_view_set_size(), set_size() will handle any resize queuing
3573         that's needed
3574         (gtk_tree_view_focus_in): just queue a draw, don't fool with
3575         draw_focus goo
3576         (gtk_tree_view_focus): use gtk_get_current_event() and
3577         gdk_event_get_state()
3578         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
3579         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
3580         semicolon
3581         (gtk_tree_view_create_button): show the button here
3582         (gtk_tree_view_button_clicked): actually emit the clicked signal
3583         on the column
3584         (_gtk_tree_view_set_size): return right away if the size is
3585         unchanged, as a cheesy optimization
3586         (gtk_tree_view_setup_model): rename set_model_realized to 
3587         setup_model to match the flag that indicates whether we've 
3588         called it
3589         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
3590         exist, because set_scroll_adjustment does that and it shouldn't
3591         matter what order you call these in
3592         (gtk_tree_view_get_vadjustment): ditto
3593         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
3594         for paranoia
3595         (gtk_tree_view_set_headers_visible): call
3596         gtk_tree_view_map_buttons() instead of using cut-and-paste code
3597         (gtk_tree_view_append_column): clarify whether the return value
3598         is the count of columns before or after, and do the increment 
3599         separately from the return statement so you can tell from the code.
3600         (gtk_tree_view_remove_column): ditto
3601         (gtk_tree_view_insert_column): ditto
3602         (gtk_tree_view_get_column): remove g_return_if_fail for columns
3603         outside the existing range, the docs say that outside-range
3604         columns are allowed, so we handle them as documented. (Presumably
3605         this allows a nice loop with column != NULL as test.)
3606         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
3607         mean (left/right/center etc.).
3608         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
3609         (gtk_tree_view_expand_row): add docs
3610         (gtk_tree_view_collapse_row): add docs
3611
3612         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
3613         function to emit the clicked signal on a column
3614         
3615         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
3616         state of an event
3617         (gdk_event_get_time): don't treat GDK_SCROLL 
3618         as a button event, remove default case from switch so gcc 
3619         will whine if we don't explicitly handle all event types
3620
3621         * gtk/gtktreeselection.h: added some FIXME 
3622         
3623         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
3624         "columns" to "n_columns" and "column" to "columns" for clarity
3625
3626 2000-12-16  Havoc Pennington  <hp@pobox.com>
3627         
3628         * gtk/gtktextiter.c: General cleanup of the log attr iteration
3629         stuff. This should make e.g. the delete key work again in the
3630         text widget...
3631         (gtk_text_iter_forward_cursor_positions): handle negative count
3632         (gtk_text_iter_backward_cursor_positions): handle negative count
3633         (gtk_text_iter_forward_word_ends): handle negative count
3634         (gtk_text_iter_backward_word_starts): handle negative count
3635
3636         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
3637         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
3638         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
3639         GObject. No doubt will cause breakage.
3640
3641         * demos/gtk-demo/textview.c: remove hacks around
3642         non-GObject-ification of the text objects
3643
3644         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
3645         the text tag
3646         
3647 2000-12-14  Havoc Pennington  <hp@pobox.com>
3648
3649         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
3650         that we have Xrender
3651
3652 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
3653
3654         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
3655         Add two virtualized functions gdk_drawable_get_clip_region - to
3656         get the clip region when drawing.
3657         
3658         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
3659         use invalidate_region.
3660
3661         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
3662         region.
3663
3664         * acconfig.h configure.in: Check for Xft. For now, assume
3665         that if Xft is found, Pango was compiled with Xft support
3666         as well.
3667
3668         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
3669         gdk_colormap_query_color().
3670         
3671         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
3672         with Xft if appropriate.
3673
3674         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
3675         a pangoxft context if we have XFT and the environment
3676         variable GD_USE_XFT is set.
3677         
3678         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
3679         and also possibly an XftDraw structure.
3680
3681         * gtk/gtkfontsel.c: Handle the case where the font from the
3682         style doesn't match any of the fonts a bit better.
3683         
3684         * gtk/testgtk.c: Add tabs between directional segments for
3685         hebrew/arabic test. (Not really necessary, just a little
3686         prettier.)
3687
3688 2000-12-14  Havoc Pennington  <hp@redhat.com>
3689
3690         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
3691         reading a file
3692
3693 2000-12-14  Havoc Pennington  <hp@redhat.com>
3694
3695         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
3696         unused call to get_last_line()
3697
3698         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
3699         here until boxed is working (and maybe after that - we should
3700         really not gratuitously break old code)
3701
3702         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
3703         specific types for font_desc and tabs args, move them to
3704         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
3705         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
3706
3707         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
3708         use GTK_TYPE_POINTER for signal signatures as a hack-around
3709
3710         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
3711         PangoTabArray
3712
3713         * gtk/gtktextlayout.c (line_display_iter_to_index): 
3714         make static
3715         (line_display_index_to_iter): make static
3716
3717         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
3718         to marshal a string not a boxed
3719
3720         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
3721
3722         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
3723         since the UTF-8 isn't validated yet
3724
3725         * gtk/gtktextsegment.c (char_segment_check_func): don't require
3726         lines to end in '\n'
3727         
3728         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
3729         forward_to_delimiters, and grapheme boundaries
3730         (gtk_text_view_delete_from_cursor): properly handle non-newline
3731         delimiters, and grapheme boundaries
3732
3733         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
3734         to gtk_text_iter_forward_to_delimiters, and make it work properly
3735         if empty lines end with a character other than '\n'
3736
3737         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
3738         position
3739
3740 2000-12-15  Tor Lillqvist  <tml@iki.fi>
3741
3742         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
3743
3744         * gtk/gtk.def
3745         * gdk/gdk.def: Update.
3746
3747         * gdk/win32/gdkmain-win32.c
3748         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
3749         gdkmain-win32.c here.
3750
3751         * gdk/win32/makefile.mingw.in (all): No need to make
3752         gdk-win32res.o here, the makefile one step up will call us to make
3753         it.
3754
3755         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
3756         gdkkeys-win32.
3757
3758         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
3759
3760         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
3761         call to g_source_add().
3762
3763         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
3764         leak. Thanks to Andreas Kemnade.
3765
3766 2000-12-13  Havoc Pennington  <hp@pobox.com>
3767
3768         * gtk/gtktextbtree.h: Remove double _ in front of some functions
3769
3770         * gtk/gtktext*.[hc]: update accordingly
3771         
3772 2000-12-13  Havoc Pennington  <hp@pobox.com>
3773
3774         * gtk/gtktextbtree.h: Put _ in front of every function in this 
3775         header file
3776
3777         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
3778
3779 2000-12-13  Alex Larsson  <alexl@redhat.com>
3780
3781         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
3782         Add support for ps2 intellimouse.
3783
3784         * gdkkeyboard-fb.c:
3785         Move shift-F1 repaint handling to xlate handler only.
3786         
3787         * docs/README.linux-fb:
3788         Add imps2 to docs.
3789         Document the new refresh keys.
3790         
3791 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
3792
3793         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
3794
3795         * gtk/gtkbox.c: change property types from (u)long to (u)int for
3796         ::position and ::padding.
3797
3798         * gtk/gtkcontainer.c: make ::border_width an INT property.
3799
3800         * gtk/gtkpacker.c: make ::position an INT property.
3801
3802         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
3803         guard against NULL h/v scrollbars, since this is used at construction
3804         time.
3805
3806         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
3807         internal gtk_clist_constructor().
3808
3809         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
3810         gtk_ctree_constructor().
3811
3812         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
3813         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
3814
3815         * docs/reference/Makefile.am: fun stuff, disabled docs generation
3816         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
3817
3818         * gtk/gtkwidget.[hc]:
3819         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
3820         and gtk_widget_get().
3821         (gtk_widget_new): use g_object_new_valist().
3822         (gtk_widget_set): use g_object_set_valist().
3823
3824         * gtk/gtkobject.[hc]:
3825         removed gtk_object_arg_get_info(), gtk_object_getv(),
3826         gtk_object_query_args(), gtk_object_newv(),
3827         gtk_object_class_add_signals(),
3828         gtk_object_class_user_signal_new(),
3829         gtk_object_class_user_signal_newv(),
3830         gtk_object_arg_set(), gtk_object_arg_get(),
3831         gtk_object_args_collect(),
3832         gtk_object_default_construct(),
3833         gtk_object_constructed(),
3834         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
3835         removed nsignals, signals and n_args members from GtkObjectClass.
3836         (gtk_object_new): use g_object_new_valist().
3837         (gtk_object_set): use g_object_set_valist().
3838         (gtk_object_get): use g_object_get_valist().
3839         
3840         * gtk/gtkcompat.h: define gtk_object_default_construct().
3841         
3842         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
3843         g_object_new().
3844
3845         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
3846         fucntions, cleaned up method assignments (make sure your structures
3847         are setup properly before calling out). removed all GTK_CONSTRUCTED
3848         hacks ;)
3849
3850 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
3851
3852         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
3853         off-by-one error in checks. (Dave Lambert)
3854
3855 2000-12-12  Alexander Larsson  <alexl@redhat.com>
3856
3857         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
3858         Don't free gdk_fb_keyboard twice.
3859
3860 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
3861
3862         * gtk/testgtk.c:
3863         (create_tooltips): 
3864         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
3865         use GObject swapped_signal:: properties instead.
3866
3867         * gtk/gtkcellrenderertoggle.c: 
3868         * gtk/gtkcellrenderertextpixbuf.c: 
3869         * gtk/gtkcellrenderertext.c: 
3870         * gtk/gtkcellrendererpixbuf.c: 
3871         * gtk/gtkcellrenderer.c:
3872         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
3873         missing warnings for invalid property ids, install properties
3874         with g_object_class_install_property() now.
3875         
3876         * gtk/gtksignal.c:
3877         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
3878         
3879 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
3880         
3881         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
3882         to determine if a window is the focus widget within
3883         its toplevel.
3884
3885         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
3886         to be boolean.
3887
3888         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
3889         of the case where the container CAN_FOCUS to here instead
3890         of having it in each individual move-the-focus place.
3891
3892         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
3893         focusing to be geometric in a much more obvious sense. Arrowing
3894         around is still non-intuitive because it isn't perfect and
3895         because entries, etc, grab the arrow keys, but it at least
3896         usually will do what you expect now.
3897         
3898         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
3899         file.
3900
3901         * gtk/gtknotebook.c: Change tabs to be a single item in
3902         the focus chain. Make movement of focus on tabs with arrow
3903         keys wrap around.
3904         
3905         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
3906         CHECK_FIND_CHILD macro to give informative error messages
3907         instead of silent returns.
3908
3909         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
3910         flag since we handle GdkReturn on the tabs.
3911
3912         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
3913         windows rather than sending expose events directly.
3914
3915         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
3916         definition for GtkNotebookPage into .c file, since it is private.
3917
3918         * gtk/testgtk.c (create_notebook): Add option for 
3919         testing borderless notebook.
3920
3921         * gtk/testgtk.c (page_switch): Removed egregious poking
3922         around in GTK+ internals.
3923
3924         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
3925
3926         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
3927         properly through gtk_clist_focus. Make the title headers a
3928         single item in the tab-focus chain, and make left-right wrap
3929         around.
3930
3931         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
3932         focus method so that wrapping around works properly.
3933
3934         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
3935         that is handled for the widget now. 
3936
3937 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
3938
3939         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
3940         widgets as TOPLEVEL.
3941
3942         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
3943         TOPLEVEL widgets are containers.
3944
3945         * gtk/gtkinvisible.h: Remove useless include.
3946
3947 2000-12-11  Havoc Pennington  <hp@redhat.com>
3948
3949         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
3950         Handle chopping off \r\n and 0x2029 in addition to \n before
3951         passing to PangoLayout
3952
3953         * gtk/gtkimcontextsimple.c
3954         (gtk_im_context_simple_get_preedit_string): 
3955         return an empty string if no match is pending
3956
3957         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
3958         assertion that the returned preedit string was sane
3959
3960         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
3961         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
3962         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
3963
3964 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
3965
3966         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
3967         Fix up finalizer to chain to its parent.
3968
3969 2000-12-11  Alexander Larsson  <alexl@redhat.com>
3970
3971         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
3972         Clearified the difference between the keyboard types. Wrote a note
3973         about the magic sysrq key to get out of raw mode.
3974
3975 2000-12-09  James Henstridge  <james@daa.com.au>
3976
3977         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
3978         member to hold masks for detecting the start of a protocol packet.
3979         (mouse_devs): add packet start masks for ps2 and ms device types.
3980         Left the mask for fidmour blank, as I have no idea what it should
3981         be.
3982         (handle_mouse_io): skip bytes until we get to the start of a
3983         packet.  My Logitech mouse seems to be passing an extra NULL pad
3984         byte, and GPM does a similar thing here.
3985         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
3986         this is the ms mouse driver.
3987         (gdk_fb_mouse_ms_packet): fix up button handling, which was
3988         completely broken except for button1.  It was checking the wrong
3989         bit in the packet for the status of the right mouse button, and
3990         wrongly assuming right == button2 rather than 3.  I fixed that and
3991         also added support for middle button (button2).
3992
3993 2000-12-08  Havoc Pennington  <hp@redhat.com>
3994
3995         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
3996         that cause a segfault on text insertion
3997
3998         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
3999         warning
4000
4001         * gtk/gtktextiter.c (test_log_attrs): use
4002         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
4003
4004         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
4005         Get log attrs for a line, using a cache stored on the buffer
4006         
4007         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
4008         reported by Jeff Franks
4009
4010 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4011
4012         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
4013         /dev/ttyS0 -> /dev/mouse
4014
4015 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4016
4017         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
4018         Added dummy gdk_fontset_load.
4019
4020 2000-12-08  Alexander Larsson  <alexl@redhat.com>
4021
4022         * docs/README.linux-fb:
4023         * docs/Makefile.am:
4024         Initial GtkFB docs.
4025         
4026         * gdk/linux-fb/Makefile.am:
4027         Define GDK_DATA_PREFIX.
4028
4029         * gdk/linux-fb/gdkmain-fb.c:
4030         Fix typo.
4031         Change default display to /dev/fb0.
4032
4033         * gdk/linux-fb/gdkpango-fb.c:
4034         Add $(prefix)/share/fonts/ to font path.
4035         
4036 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4037
4038         * gdk/linux-fb/gdkkeyboard-fb.c:
4039         New file containing the abstracted keyboard driver. Most code
4040         taken from gdkinput-ps2.c
4041
4042         * gdk/linux-fb/gdkinput-ps2.c:
4043         Removed file.
4044         
4045         * gdk/linux-fb/Makefile.am:
4046         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
4047
4048         * gdk/linux-fb/gdkcolor-fb.c:
4049         display->fb was renamed to display->fb_fd.
4050
4051         * gdk/linux-fb/gdkcursor-fb.c:
4052         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4053
4054         * gdk/linux-fb/gdkinput.c:
4055         Moved gdk_input_init here from gdkinput-ps2.c
4056
4057         * gdk/linux-fb/gdkmain-fb.c:
4058         display->fb was renamed to display->fb_fd.
4059         Now the tty and the console is opened here instead
4060         of in the keyboard driver. Also check GDK_VT to see what
4061         tty to open.
4062         Move gdk_beep () here from gdkinput-ps2.c
4063         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4064
4065         * gdk/linux-fb/gdkmouse-fb.c:
4066         Add header.
4067         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4068         Return correct keyboard modifiers.
4069         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
4070
4071         * gdk/linux-fb/gdkprivate-fb.h:
4072         Add tty and vt info to display.
4073         Add orignal modeinfo storage to display
4074         Update global functions
4075
4076         * gdk/linux-fb/gdkwindow-fb.c:
4077         Added gdk_fb_window_find_focus().
4078         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4079
4080 2000-12-07  Havoc Pennington  <hp@pobox.com>
4081
4082         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
4083         function, noticed by Alex
4084
4085 2000-12-06  Elliot Lee  <sopwith@redhat.com>
4086
4087         * configure.in: Detect freetype properly
4088
4089         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
4090         above.
4091
4092 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4093
4094         * gdk/linux-fb/Makefile.am:
4095         Add gdkmouse-fb.c
4096         
4097         * gdk/linux-fb/gdkmouse-fb.c:
4098         New file. Abstracted the mouse drivers a bit.
4099
4100         * gdk/linux-fb/gdkcursor-fb.c:
4101         The cursor hide/show functions was moved here from gdkinput-ps2.c.
4102
4103         * gdk/linux-fb/gdkinput-ps2.c:
4104         Removed old mouse handling code. Moved cursor handling code
4105         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
4106         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
4107         gdk_mouse_get_info.
4108
4109         * gdk/linux-fb/gdkmain-fb.c:
4110         Pass NULL pointers for x,y in gdk_mouse_get_info call.
4111
4112         * gdk/linux-fb/gdkprivate-fb.h:
4113         Removed public gdk_fb_find_common_ancestor, added and renamed
4114         functions for the new mouse handling code.
4115
4116         * gdk/linux-fb/gdkwindow-fb.c:
4117         Moved gdk_fb_window_send_crossing_events here. added global
4118         variable gdk_fb_window_containing_pointer. made
4119         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
4120         renamed to gdk_mouse_get_info.
4121
4122 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4123
4124         * gdk/linux-fb/gdkevents-fb.c:
4125         Update to match latest gmain/gsource changes.
4126
4127         * gdk/linux-fb/gdkinput-ps2.c:
4128         Bogus gdk_keymap_get_entries_for_keycode implementation so that
4129         it links. Will be implemented later.
4130
4131 2000-12-03  Havoc Pennington  <hp@pobox.com>
4132
4133         * gdk/Makefile.am: add gdkkeys.[hc]
4134
4135         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
4136         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
4137
4138         * acconfig.h, configure.in: add checks and command line options
4139         for XKB
4140
4141         * gdk/x11/gdkkeys-x11.c: Implement the above functions
4142         
4143         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
4144         and group in the key event
4145
4146         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
4147         field with the low-level hardware key code, and a group
4148         field with the keyboard group
4149
4150         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
4151         and declare a couple globals used for keymap handling
4152         
4153         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
4154         hold down Shift-Control and type a hex number to get a Unicode 
4155         character corresponding to the hex number
4156         (gtk_im_context_simple_get_preedit_string): Fix cursor position
4157         (return bytes not chars)
4158
4159 2000-12-05  Elliot Lee  <sopwith@redhat.com>
4160
4161         * gdk/gdkcolor.h: Make GdkColor specify element sizes
4162         to avoid waste on 64-bit platforms.
4163
4164 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
4165
4166         * INSTALL: Fix link to PNG home, remove reference
4167         to fribidi.
4168
4169         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
4170         
4171         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
4172         tested.)
4173
4174         * gtk/gtkcheckmenuitem.c: Permanently turn on
4175         always_show_toggle.
4176
4177         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
4178         be NULL. (Vladimir Klebanov, #26545)
4179
4180         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
4181         some signed/unsigned comparison problems. (#6510,
4182         David Kaelbling)
4183
4184         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
4185         return type to boolean (Oskar Liljeblad, #18648)
4186
4187 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4188
4189         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
4190         Remove bogus colormap setting.
4191
4192 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4193
4194         * gdk/linux-fb/gdkcolor-fb.c:
4195         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
4196
4197         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
4198         Must set colormap.
4199         
4200 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
4201
4202         * docs/tutorial/gtk-tut.sgml: DND updates
4203
4204 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
4205
4206         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4207         Remove old debug g_warning().
4208         (gdk_fb_draw_drawable): The src argument can be either a wrapper
4209         or an implementation, just pass the implementation to draw_drawable_2.
4210         
4211         * gdk/linux-fb/gdkprivate-fb.h:
4212         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
4213
4214         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4215         clear and invalidate area when window is destroyed.
4216         (send_map_events): Remove old commented out code.
4217
4218 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4219
4220         * gdk/linux-fb/gdkpango-fb.c:
4221         Use italic instead of oblique in font aliases.
4222         
4223         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
4224         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
4225         other unsupported functions.
4226
4227 2000-12-04  Havoc Pennington  <hp@redhat.com>
4228
4229         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
4230
4231         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
4232
4233         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
4234
4235         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
4236         hack to avoid infinite loops (synthetic expose event) - 
4237         Owen has more appropriate fixes in a branch he'll check in later.
4238
4239         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
4240         separator, CR, and CRLF as line ends
4241
4242         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
4243         into lines using pango_find_paragraph_boundary(); other bits of
4244         the widget are still going to be broken if the boundary isn't '\n'
4245         though
4246
4247 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4248
4249         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
4250         multiply.
4251
4252         * gdk/linux-fb/gdkpango-fb.c:
4253         Copied some 26.6 scaling macros from pango to clean up the rounding.
4254         (pango_fb_font_get_glyph_info): Correct sign on x value.
4255
4256         * gdk/linux-fb/gdkprivate-fb.h:
4257         Removed unreferenced external functions.
4258
4259         * modules/linux-fb/Makefile.am: Use ` instead of '.
4260
4261         * modules/linux-fb/basic.c:
4262         Remove dead code. In particular the dummy lang engine which broke all
4263         pango layouts in GtkFB. Don't include tables-big.i anymore.
4264
4265         * modules/linux-fb/tables-big.i:
4266         Upgrade to latest version from pango. Left for reference, basic_ranges
4267         moved to basic.c.
4268         
4269 2000-12-04  Havoc Pennington  <hp@redhat.com>
4270
4271         Fix bugs Alex found:
4272         
4273         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
4274         to "draw"
4275
4276         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
4277
4278         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
4279
4280         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
4281         implementation in here, apparently the expose() implementation was
4282         dead code.
4283
4284 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4285
4286         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4287         Return positive descent.
4288
4289 2000-12-02  Havoc Pennington  <hp@pobox.com>
4290
4291         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
4292         method and signal
4293         
4294         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
4295         calls gdk_window_process_updates() to push the exposes through
4296         (gtk_widget_class_init): No more draw signal, no
4297         gtk_widget_real_draw()  
4298         
4299         * gtk/gtkbin.c (gtk_bin_draw): remove
4300
4301         * gtk/gtkbox.c (gtk_box_draw): remove
4302
4303         * gtk/gtkbutton.c (gtk_button_draw): remove
4304
4305         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
4306
4307         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
4308
4309         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
4310
4311         * gtk/gtkclist.c (gtk_clist_draw): remove
4312
4313         * gtk/gtkentry.c (gtk_entry_draw): remove
4314
4315         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
4316
4317         * gtk/gtkfixed.c (gtk_fixed_draw): remove
4318
4319         * gtk/gtkframe.c (gtk_frame_draw): remove
4320
4321         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
4322
4323         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
4324
4325         * gtk/gtklayout.c (gtk_layout_draw): remove
4326
4327         * gtk/gtklist.c (gtk_list_draw): remove
4328
4329         * gtk/gtklistitem.c (gtk_list_item_draw): remove
4330
4331         * gtk/gtkmenu.c (gtk_menu_draw): remove
4332
4333         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
4334
4335         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
4336
4337         * gtk/gtknotebook.c (gtk_notebook_draw): remove
4338
4339         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
4340
4341         * gtk/gtkpacker.c (gtk_packer_draw): remove
4342
4343         * gtk/gtkrange.c (gtk_range_draw): remove
4344
4345         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
4346
4347         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
4348
4349         * gtk/gtktable.c (gtk_table_draw): remove
4350
4351         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
4352
4353         * gtk/gtktext.c (gtk_text_draw): remove
4354
4355         * gtk/gtktextview.c (gtk_text_view_draw): remove
4356
4357         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
4358
4359         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
4360
4361         * gtk/gtktree.c (gtk_tree_draw): remove
4362
4363         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
4364
4365         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
4366
4367         * gtk/gtkviewport.c (gtk_viewport_draw): remove
4368
4369         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
4370
4371         * gtk/gtkvscale.c (gtk_vscale_draw): remove
4372
4373         * gtk/gtkwindow.c (gtk_window_draw): remove
4374
4375 2000-20-01  Anders Carlsson  <andersca@gnu.org>
4376
4377         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
4378         a GtkToggleButton is both insensitive and active, it was being
4379         drawn by the GtkButton draw handler which doesn't check the
4380         state. Now it's calling gtk_toggle_button_paint instead.
4381         
4382 2000-12-01  Havoc Pennington  <hp@redhat.com>
4383
4384         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
4385         dangling pointers to the appearance attributes from the 
4386         line display
4387
4388         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
4389         width/height to mean "full width/height of drawable"
4390
4391         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
4392         click to select word/line
4393         
4394         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
4395         when getting log attrs. Get a slice, so that pixmaps and stuff
4396         are properly handled.
4397
4398         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
4399         paste into the selection (replaces selection now, previously
4400         crashed or added to selection). Reveals longstanding btree bug -
4401         select multiple lines, middle-click on the selection, boom. This
4402         isn't related to my changes though.
4403
4404         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
4405         PangoLogAttrs changes
4406         (gtk_entry_move_backward_word): ditto
4407
4408         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
4409         functions return bool whether the iter moved onto a
4410         dereferenceable position.
4411  
4412         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
4413         functions for motion in terms of display lines.
4414
4415         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
4416         get the buffer a mark is inside
4417         
4418 2000-12-01  Alexander Larsson  <alexl@redhat.com>
4419
4420         * gdk/linux-fb/Makefile.am:
4421         * modules/linux-fb/Makefile.am:
4422         Freetype 2 final uses freetype-config
4423
4424         * gdk/linux-fb/gdkpango-fb.c:
4425         Upgrade to use Freetype 2 final.
4426         More flexible support for font aliases, this also fixes a bug with
4427         GtkFontSelector, as the aliases must be visible in the font/family list,
4428         or GtkFontSelector reads uninitialized memory.
4429
4430 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
4431
4432         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
4433         XGetIMValues to properly terminate variable argument list, and do
4434         NULL return check for ic_values and xim_styles.
4435
4436         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
4437         Restore preedit state after XmbResetIC().
4438         
4439         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
4440         XvaCreateNestedList() should take XvaNestedList, but not
4441         XvaNestedList*.
4442
4443         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
4444         preedit_draw_callback, preedit_caret_callback): Match
4445         "preedit-changed" signal name to "preedit_changed" to be
4446         consistent to the spec.
4447
4448         * gtk/gtkimcontextsimple.c (check_table):
4449         Match "preedit-changed" to "preedit_changed" to be consistent
4450         to the spec.
4451
4452 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
4453
4454         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
4455         gc->clip_region == NULL>
4456
4457 2000-11-30  Tor Lillqvist  <tml@iki.fi>
4458
4459         Changes by Hans Breuer:
4460         
4461         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
4462         Dont't use negative width and height as max_hints. This fixes
4463         Owen's recent testgtk changes for win32.
4464
4465         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
4466         gdk_win32_hdc_release): These are exported and may be called with
4467         other drawable types than our GdkDrawableImplWin32 (?).
4468
4469         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
4470         so always #define USE_BACKING_STORE.
4471
4472         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
4473         of printf for debugging output.
4474
4475         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
4476         
4477         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
4478
4479         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
4480         declaration.
4481
4482         * gtk/gtktexttypes.h: Ditto.
4483
4484         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
4485         (GDK_VoidSymbol) also if in case of arg check failure.
4486
4487         * gtk/gtkimcontextsimple.c
4488         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
4489         position to the pointer, but to the variable it points to.
4490
4491         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
4492
4493         * gtk/gtk.def: Updates.
4494
4495 2000-11-29  Elliot Lee  <sopwith@redhat.com>
4496
4497         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
4498         GTK_TYPE_TREE_MODEL.
4499
4500 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4501
4502         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
4503         Set the size of the font from the description.
4504         (gdk_text_width): Gross hack that calculates the width
4505         of text by text_length * size/2. This is necessary because
4506         GtkLabel does some ugly gtk_string_width call to calculate
4507         an good size.
4508         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
4509
4510 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
4511
4512         * docs/tutorial/gtk-tut.sgml: DND updates
4513
4514 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4515
4516         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
4517         If you pass width or height == 0 to gdk_window_clear_area they
4518         should be calculated from the window size.
4519
4520 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4521
4522         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
4523         a grab, but no grab-cursor, use the cursor from the grabbed
4524         window. (gdk_fb_window_send_crossing_events): Send normal
4525         enter/leave notifications if grab and owner_events == TRUE.
4526
4527 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4528
4529         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4530         Do implicit button grabs, even if the window doesn't
4531         want the event.
4532         (gdk_fb_window_send_crossing_events): If there is a
4533         grab, only the grabbed window gets normal enter/leave
4534         notifications. On ungrab go from grabbed window to current.
4535         Don't send any notification to b when propagating from c -> b.
4536         If setting a grab on window, don't set prev_window.
4537         (handle_mouse_input): Send enter/leave events to the window the
4538         mouse is over, not the grabbed one.
4539         
4540 2000-11-28  Elliot Lee  <sopwith@redhat.com>
4541
4542         * gdk/gdkregion-generic.c: Zap warning.
4543         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
4544         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
4545
4546 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
4547
4548         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
4549         The cursor should be hidden if it is part of either the
4550         source or destination region. Not only if it is in both.
4551         (gdk_window_set_transient_for): Silence warnings.
4552
4553 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4554
4555         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
4556         The default mode in X is Pie Arcs, therefore that is
4557         what Gtk+ uses.
4558
4559 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4560
4561         * gdk/linux-fb/gdkinput-ps2.c:
4562         Implement correct EnterNotify/LeaveNotify:
4563         (gdk_fb_window_send_crossing_events): New function that sends
4564         all GdkCrossingEvents from the last mouse-window to the specified
4565         destination.
4566         (gdk_fb_window_visibility_crossing): Removed function.
4567         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
4568         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
4569         instead of gdk_window_get_pointer() for better readability.
4570
4571         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
4572         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
4573
4574         * gdk/linux-fb/gdkprivate-fb.h:
4575         removed gdk_fb_window_visibility_crossing, added
4576         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
4577
4578         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
4579         New function that finds the least common ancestor of two windows.
4580         (gdk_window_show, gdk_window_hide):
4581         Use gdk_fb_window_send_crossing_events.
4582         (gdk_fb_window_move_resize): Send configure events to toplevel
4583         windows. Use gdk_fb_window_send_crossing_events.
4584
4585 2000-11-27  Havoc Pennington  <hp@redhat.com>
4586
4587         * gtk/gtkprivate.h (enum): Remove a trailing comma
4588
4589 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
4590
4591         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
4592         the "changed" callback of the adjustment.  We need to redraw the
4593         spin button's arrows when the adjustment's range changes.
4594         (adjustment_changed_cb): Draw the arrows.
4595         (gtk_spin_button_value_changed): Draw the arrows.
4596
4597 2000-11-23  Alexander Larsson  <alexl@redhat.com>
4598
4599         * gdk/linux-fb/gdkselection-fb.c:
4600         Initial selection implementation.
4601
4602         * gtk/gtkselection.c:
4603         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
4604         requestor in gtk_selection_request.
4605         
4606         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
4607         Added gdk_selection_property atom.
4608
4609         * gdk/linux-fb/gdkprivate-fb.h:
4610         Export _gdk_selection_window_destroyed.
4611         Removed mask_off_x/y from GdkCursorPrivateFB.
4612         Removed hbearing, added top, left to PangoFBGlyphInfo.
4613
4614         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4615         Call _gdk_selection_window_destroyed
4616         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
4617         the root window has been created.
4618         (static_dx_hack, static_dy_hack, compare_draw_rects,
4619         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
4620         in region. They are already sorted. Instead just traverse them in
4621         reverse if draw_direction < 0.
4622         
4623         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4624         Double-clicks must be sent after the normal button_press.
4625         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
4626         
4627         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
4628         Pass _gdk_fb_screen_gc instead of NULL.
4629
4630         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
4631         Initialize gdk_selection_property.
4632         (gdk_event_make): Remove unused code.
4633
4634         * gdk/linux-fb/gdkcursor-fb.c:
4635         Make the pixmap for the cursor the same size as the mask. Also remove
4636         the mask_off_x/y fields in GdkCursorPrivateFB and combine
4637         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
4638         Now the whole cursor is visible.
4639
4640         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4641         Fix bug where xdest+height instead of ydest+height was used
4642         to calculate if the source and dest overlapped. This fixes the
4643         redraw bug when the main window in testgtk was scrolled when
4644         partially covered by a tall window.
4645         Copy rectangles in region in order depending on draw_direction.
4646         Also moved the draw_direction flipping of start_y and end_y into
4647         the gc functions, as this might not be what all of them want.
4648         (gdk_fb_draw_lines): Support dashed lines.
4649         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
4650         so that the text is positioned correctly (was 1 pixel high).
4651
4652         gdk/linux-fb/gdkgc-fb.c:
4653         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
4654         all lines were drawn a pixel to short. Also checked the default of
4655         the rest of the values, and they're the same as X now.
4656
4657         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
4658         Clean up pixel positioning of the glyphs. Just use bgy->top and
4659         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
4660         to all divisions to get correct rounding behaviour.
4661
4662         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
4663         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
4664         Moved start_y/end_y flip into draw_drawable implementations.
4665         Flip also x rendering when draw_direction < 0.
4666         Remove unneccesary multiply with draw_direction.
4667
4668 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
4669
4670         * docs/tutorial/gtk-tut.sgml:
4671           - get rid of gtk_toggle_button_toggled FUD
4672           - start DND section - needs work - based on:
4673                 http://wolfpack.twu.net/docs/gtkdnd/
4674
4675 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4676
4677         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4678         Correct calculation of font metrics. Now GtkEntrys have sane
4679         size.
4680
4681 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4682
4683         * gdk/gdktypes.h:
4684         Add new type GdkSpan
4685         
4686         * docs/reference/gdk/gdk-sections.txt,
4687         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
4688         gdk/gdkregion.h:
4689         Implement and document gdk_region_spans_intersect_foreach.
4690
4691         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
4692         Add new file gdkrender-fb.c which contains all core
4693         rendering code.
4694         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
4695         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
4696         (optimized rectangle fillers).
4697
4698         * gdk/linux-fb/gdkdrawable-fb2.c:
4699         Move all rendering code to gdkrender-fb.c.
4700         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
4701         Use the new span intersection functions in gdk_fb_fill_spans.
4702         gdk_fb_draw_rectangle() clips filled rectangles and calls
4703         gc->fill_rectangle with the result.
4704         gdk_fb_fill_spans() gets extra argument "sorted".
4705
4706         * gdk/linux-fb/gdkevents-fb.c:
4707         Remove unused includes and defines.
4708         New function gdk_fb_get_time() to get correct time for events.
4709
4710         * gdk/linux-fb/gdkinput-ps2.c:
4711         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
4712         Make sure to set the time of all events.
4713
4714         * gdk/linux-fb/gdkmain-fb.c:
4715         Use gdk_fb_get_time ().
4716
4717         * gdk/linux-fb/gdkprivate-fb.h:
4718         New virtual GC calls: fill_span & fill_rectangle.
4719         Export gdk_fb_get_time().
4720         gdk_fb_fill_spans() gets extra argument "sorted".
4721
4722         * gdk/linux-fb/mi*.c:
4723         Use GdkSpan instead of GdkRectangle.
4724         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
4725         from XFree 4 source)
4726         
4727 2000-11-22    <jrb@redhat.com>
4728
4729         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
4730         reversing the order in an if statement will do.  Doing so managed
4731         to make the treemodelsort half work.  Other half will follow after
4732         I get the insert function fully fixed.
4733
4734 2000-11-21  Elliot Lee  <sopwith@redhat.com>
4735         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
4736         more than 2 bits. Besides, I need to implement an evil hack. :)
4737
4738 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
4739
4740         * docs/tutorial/gtk-tut.sgml: minor corrections
4741
4742 2000-11-20  Jonathan Blandford <jrb@redhat.com>
4743         * gtk/gtktreemodelsort.h: Add convertion functions to let you
4744           convert to and from relative path's and iters.
4745
4746         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
4747           testing sorting functions a bit better.  Currently broken -- will
4748           fix in morning.
4749
4750 2000-11-20  Havoc Pennington  <hp@redhat.com>
4751
4752         * gtk/gtkwidget.c: Documented a bunch of functions in here
4753         (gtk_widget_realize): Warn if you try to realize
4754         a widget with no parent that isn't a toplevel
4755         (gtk_widget_intersect): return a gboolean
4756
4757 2000-11-20  Havoc Pennington  <hp@redhat.com>
4758
4759         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
4760         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
4761         scrolling to be implemented in GDK to finish. Also, right now
4762         we just size_allocate all children on every layout change,
4763         which is pretty lame. Test commented out of testtext.c, 
4764         until it works better.
4765
4766 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
4767
4768         * gdk/linux-fb/gdkdrawable-fb2.c:
4769         Removed unused arguments from gdk_fb_drawable_get_pixel().
4770
4771         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
4772         Renamed fidur specific mouse packet data in MouseDevice to
4773         generic. Used it in ps2 mouse handling code to avoid blocking
4774         reads.
4775
4776 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
4777
4778         * demos/gtk-demo/main.c: Changed to have the list become
4779         non-italic when the demo window is destroyed through an external
4780         event (like a close button).  Doing so found three bugs in the
4781         widget.
4782
4783         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
4784
4785         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
4786         we actually set the cell.
4787
4788         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
4789
4790         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
4791         free a leaked path.  Thanks memprof.
4792
4793 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
4794
4795         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
4796         off-by-one error when destroying allocated segments
4797         on failure. (Elliot)
4798
4799 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
4800
4801         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
4802         memleaks found by Evan Martin.
4803
4804 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
4805
4806         * Released 1.3.2
4807         
4808         * NEWS: Updates for 1.3.2
4809
4810 2000-11-17  Tor Lillqvist  <tml@iki.fi>
4811
4812         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
4813         but in general for window system specific events.
4814
4815         * gtk/gtk.def
4816         * gtk/makefile.mingw.in
4817         * gtk/makefile.msc.in: Update.
4818         
4819         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
4820
4821 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
4822
4823         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
4824         distribute gtk.immodules.
4825
4826         * gtk/Makefile.am (install-data-local): Don't install the
4827         gtk.immodules file created for the uninstalled modules;
4828         instead run gtk-query-immodules after install
4829
4830 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
4831
4832         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
4833         -rpath to the right install location.
4834
4835         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
4836         -export-dynamic.
4837
4838         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
4839         properly.
4840
4841 2000-11-15  Havoc Pennington  <hp@pobox.com>
4842
4843         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
4844         patch from Mikael Hermansson to temporarily stop blinking while
4845         the user is using the keyboard to type or navigate. 
4846
4847         Also, when blinking, stay on for longer than we stay off. Also,
4848         return from start_cursor_blink if !cursor_visible, to save
4849         checking that flag all over the place before we call
4850         start_cursor_blink.
4851
4852 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
4853
4854         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
4855         only contain a "fontset" line, which is now ignored.
4856
4857         * gtk/gtkentry.c (gtk_entry_button_release): Make 
4858         double-click-to-select-word work.
4859         
4860 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
4861
4862         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
4863         Don't move back one char when we are actually at the end of the 
4864         paragraph.
4865
4866 2000-11-15  Robert Brady  <robert@suse.co.uk>
4867
4868         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
4869         'o' < 'p'.
4870         
4871         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
4872         bind_textdomain_codeset.
4873
4874         (gtk_init_check): Make the warning about translating default:LTR
4875         sterner.
4876         
4877 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
4878
4879         * **/Makefile.am : remove unecessary rules for win32-specific
4880         config-substituted targets. If you want these rules, use
4881         --enable-maintainer-mode (called automatically by autogen.sh).
4882         Stops a lot of unneccessary make-time warnings.
4883
4884         * gtk/gtktext{layout,display}.c: Factor in total width as
4885         well as screen when figuring alignment for word-wrap as well as
4886         no wrap; this is necessary to handle lines that cannot be wrapped
4887         at all.
4888
4889 2000-11-15  Havoc Pennington  <hp@redhat.com>
4890
4891         * gtk/testtext.c: Implement essential color cycling feature
4892
4893 2000-11-15  Havoc Pennington  <hp@redhat.com>
4894
4895         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
4896         when we invalidate the main window.
4897
4898         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
4899         GtkTextView will now invalidate the side windows for us when text
4900         changes.
4901
4902 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
4903
4904         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
4905         unconditionally, since we may need to update the horizontal
4906         scrollbars even if the height didn't change.
4907
4908         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
4909         the extra attrs, since some of them affect size.
4910
4911         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
4912         x_offset correctly.
4913
4914 2000-11-15  Havoc Pennington  <hp@redhat.com>
4915
4916         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
4917         don't move the first line out into the margin, instead move the
4918         whole paragraph in order to make space for the first line within 
4919         the margin
4920
4921 2000-11-15  Havoc Pennington  <hp@redhat.com>
4922
4923         * gtk/gtktextview.c (changed_handler): offset redraw rect by
4924         xoffset in addition to yoffset, so horizontal scrolling doesn't
4925         break redraws
4926
4927 2000-11-15  Havoc Pennington  <hp@redhat.com>
4928
4929         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
4930         from the cursor
4931         (render_layout_line): fix reversed test that caused weird
4932         underlines to get drawn
4933
4934 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4935
4936         * gdk/linux-fb/gdkprivate-fb.h:
4937         Fix debug macros.
4938         
4939 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4940
4941         * gdk/linux-fb/gdkprivate-fb.h:
4942         Added virtual functions set_pixel, get_color,
4943         fill_span and draw_drawable to the GC.
4944         Added global _gdk_fb_screen_gc to use instead of
4945         NULL when drawing to the screen.
4946         Added _gdk_fb_gc_calc_state() prototype.
4947
4948         * gdk/linux-fb/gdkgc-fb.c:
4949         Call _gdk_fb_gc_calc_state() on any gc state change.
4950
4951         * gdk/linux-fb/gdkglobals-fb.c:
4952         Add _gdk_fb_screen_gc
4953                 
4954         * gdk/linux-fb/gdkdrawable-fb2.c:
4955         _gdk_fb_gc_calc_state() calculates best functions
4956         for the GC state and depth.
4957         Moved bpp specialized code to separate functions.
4958         Added optimized 24 bpp AA draw_drawable.
4959
4960         * gdk/linux-fb/gdkevents-fb.c:
4961         Silence gcc warning.
4962
4963         * gdk/linux-fb/gdkimage-fb.c:
4964         Use _gdk_fb_screen_gc
4965
4966         * gdk/linux-fb/gdkwindow-fb.c:
4967         Init and use _gdk_fb_screen_gc
4968
4969         * gdk/linux-fb/mitypes.h:
4970         Remove unused types.
4971
4972 2000-11-14  Havoc Pennington  <hp@pobox.com>
4973
4974         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
4975         to pixels
4976
4977 2000-11-14  Havoc Pennington  <hp@pobox.com>
4978
4979         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
4980
4981         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
4982         unknown char, no real reason we were using a variable. 
4983         Remove gtk_text_unknown_char variable. Fix all the text widget
4984         files accordingly.
4985
4986         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
4987         since the Unicode spec seems to prefer that character for our
4988         purposes.
4989
4990 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
4991
4992         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
4993         value of g_getenv() isn't freeable, so g_strdup it.
4994
4995         * modules/input/inuktitut.c: Inuktitut input method.
4996
4997         * modules/input/Makefile.am: Build this.
4998         
4999 2000-11-14  Elliot Lee  <sopwith@redhat.com>
5000
5001         * gtk/Makefile.am: Install gtk.immodules, needed for operation
5002         of gtk programs.
5003
5004 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
5005
5006         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
5007         reversed > that was causing Home to go to end of previous line.
5008
5009         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
5010         modified-keypresses (leave for bindings.)
5011
5012         * modules/input/Makefile.am: Remove useless -export-dynamic
5013         from module LDFLAGS.
5014
5015 2000-11-14  Havoc Pennington  <hp@redhat.com>
5016
5017         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
5018         higher.
5019
5020         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
5021         account. Also, render rise, underline, background, etc. for
5022         pixbufs as well as text. Also, draw underlines one pixel higher.
5023
5024         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
5025         PangoAttribute for the rise, so it gets drawn properly. Also,
5026         add the GtkTextAppearance attribute for pixbuf/widget segments
5027         as well; we should go ahead and have rise, underline, background,
5028         stipple work for those
5029
5030         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
5031         Pango
5032
5033 2000-11-15  Tor Lillqvist  <tml@iki.fi>
5034
5035         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
5036
5037         * gtk/gtk.def: Update.
5038
5039         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
5040         included.
5041         (gtk_rc_get_im_module_file): Use run-time installation directory
5042         on Win32.
5043
5044         * gdk/win32/rc/gdk.rc: Remove.
5045         * gdk/win32/rc/gdk.rc.in: New file.
5046         * gdk/win32/rc/Makefile.am: New file
5047         * gdk/win32/Makefile.am: Corresponding changes.
5048
5049         * gtk/gtk.rc: Remove.
5050         * gtk/gtk-win32.rc.in: New file.
5051         * gtk/Makefile.am: Corresponding changes.
5052
5053         * configure.in: Corresponding changes.
5054
5055         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
5056         has a built gtkcompat.h. Developers using CVS code on Win32 can
5057         hand-edit it from gtkcompat.h.in.
5058
5059         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
5060         gtkcompat.h from gtkcompat.h.win32.
5061
5062 2000-11-14  Havoc Pennington  <hp@redhat.com>
5063
5064         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
5065         to default to GDK_ACTION_MOVE if the drag is within a single
5066         widget. Defaults to GDK_ACTION_COPY between widgets.
5067
5068 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
5069
5070         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
5071
5072         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
5073
5074         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
5075         srcdir != builddir
5076
5077         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
5078
5079         * configure.in (GTK_VERSION): Up to 1.3.2
5080
5081         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
5082         gtkimcontextxim.h
5083
5084         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
5085         missing doc comment.
5086
5087 2000-11-14  Alexander Larsson  <alexl@redhat.com>
5088
5089         * modules/linux-fb/basic.c:
5090         Use the glib iconv wrappers.
5091
5092 2000-11-13  Havoc Pennington  <hp@pobox.com>
5093
5094         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
5095         still more bugs.
5096
5097         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
5098         scroll the GdkWindows before realization.
5099
5100 2000-11-13  Havoc Pennington  <hp@redhat.com>
5101
5102         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
5103         where GC didn't always get updated properly
5104
5105         * demos/gtk-demo/textview.c (create_tags): Use subattributes
5106         of fonts instead of setting the entire font
5107
5108         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
5109         setting entire font
5110
5111         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
5112
5113         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
5114         a bunch of individually-settable font attributes. You can still 
5115         use the "font" and "font_desc" args, they just set all the font
5116         attributes at once.
5117
5118 2000-11-13 Elliot Lee <sopwith@redhat.com>
5119
5120         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
5121
5122 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
5123
5124         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
5125         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
5126
5127         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
5128         work better.
5129
5130 2000-11-13  Havoc Pennington  <hp@redhat.com>
5131
5132         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
5133         the module file.
5134
5135         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
5136         dest->language
5137
5138         * gtk/testtext.c: Test pixels above/below/inside paragraphs
5139         settings
5140
5141         * gtk/gtktextview.c: Implement object args and setters/getters for
5142         all the aspects of the GtkTextAttributes that are not set from
5143         GtkWidget attributes. This is spacing, justification, margins,
5144         etc.
5145
5146         (gtk_text_view_set_arg)
5147         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
5148         args
5149         (gtk_text_view_class_init): Add args for justify, left_margin,
5150         right_margin, indent, and tabs
5151         
5152
5153         * gtk/gtktextlayout.c (set_para_values): fix to display indent
5154         attribute properly
5155
5156         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
5157         replace with indent attribute
5158
5159         * gtk/gtktextlayout.c (set_para_values): multiply indent by
5160         PANGO_SCALE
5161
5162         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
5163         rearranging code to do that
5164         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
5165         i.e. don't subtract the top_margin first, just to keep
5166         all margin-futzing in one place.
5167
5168         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
5169
5170         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
5171         special case of last line, Pango now handles this itself.
5172         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
5173         Y coordinate
5174         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
5175         (find_display_line_above): wasn't moving the byte index as it
5176         iterated over lines, so always returned byte 0. Also, port to use
5177         PangoLayoutIter.
5178         (find_display_line_below): same problem as
5179         find_display_line_above. Also, port to use PangoLayoutIter.
5180
5181 2000-11-13  Alexander Larsson  <alexl@redhat.com>
5182
5183         * gdk/linux-fb/*.[ch]:
5184         Massive reindent to gtk+ standard. My hands hurt.
5185
5186         * gdk/linux-fb/gdkcolor-fb.c:
5187         Move GdkColorPrivateFB from inherited to windowing_data
5188
5189         * gdk/linux-fb/gdkcursor-fb.c:
5190         _gdk_cursor_new_from_pixmap made static
5191
5192         * gdk/linux-fb/gdkdnd-fb.c:
5193         GdkDragContextPrivate moved to windowing_data
5194
5195         * gdk/linux-fb/gdkdrawable-fb2.c:
5196         Removed endian.h, use glib endianness macros instead
5197         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
5198         and GDK_DRAWABLE_IMPL_FBDATA
5199
5200         * gdk/linux-fb/gdkfont-fb.c:
5201         Add empty gdk_font_load(). Needed for linking of Gtk+.
5202
5203         * gdk/linux-fb/gdkimage-fb.c:
5204         Removed endian.h, use glib endianness macros instead
5205         Moved GdkImagePrivateFB to windowing_data
5206         gdk_image_new_bitmap didn't always allocate enough
5207         memory.
5208
5209         * gdk/linux-fb/gdkinput-ps2.c:
5210         Added semi-working support for MS serial mice.
5211
5212         * gdk/linux-fb/gdkprivate-fb.h:
5213         s/GdkWindowPrivate/GdkWindowObject/
5214         Removed GdkWindowPrivate typedef
5215         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
5216         Removed GDK_DRAWABLE_P
5217         Move GdkColorPrivateFB from inherited to windowing_data
5218         Moved GdkImagePrivateFB to windowing_data
5219
5220         * gdk/linux-fb/gdkvisual-fb.c:
5221         Removed some unused debug code.
5222
5223         * gdk/linux-fb/gdkwindow-fb.c:
5224         Use stock cursors instead of including X headers.
5225         s/GdkWindowPrivate/GdkWindowObject/
5226
5227         * gdk/linux-fb/mitypes.h:
5228         Removed unused types.
5229
5230         * modules/linux-fb/basic.c:
5231         Use the pango fribidi wrappers.
5232
5233 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5234
5235         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
5236         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
5237         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
5238         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
5239         GEqualFunc where applicable.
5240         
5241         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
5242         pango_font_description_equal as changed in pango.
5243         
5244         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
5245
5246         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
5247
5248         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
5249
5250         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
5251
5252         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
5253
5254         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
5255
5256         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
5257         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
5258
5259         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
5260         gtk_rc_styles_compare -> gtk_rc_styles_equal.
5261
5262 2000-11-12  Havoc Pennington  <hp@pobox.com>
5263
5264         * demos/gtk-demo/Makefile.am (democodedir): change demo install
5265         dir to datadir/gtk+-2.0/demo
5266
5267         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
5268         sorts of text widget and Pango font bugs. Urgh.
5269
5270         * demos/gtk-demo/Makefile.am (demos): Add textview.c
5271
5272         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
5273         tree that you should double click to see the demo. Fix 
5274         types of variables to reflect changed return values from 
5275         GtkTreeStore and GtkTreeViewColumn constructors.
5276
5277         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
5278         newly-created buffer to prepare for GObject semantics
5279
5280         * gtk/testtext.c: don't leak the buffer with GObject semantics
5281
5282         * gtk/testtextbuffer.c: ditto
5283         
5284 2000-11-12  Havoc Pennington  <hp@pobox.com>
5285
5286         Rename this testgtk to gtk-demo to avoid confusion, and 
5287         install it so people can use it as a supplement to 
5288         the documentation.
5289         
5290         * demos/gtk-demo: Moved from demos/testgtk
5291
5292         * demos/testgtk: Removed
5293
5294         * configure.in: make Makefile in gtk-demo
5295         
5296         * demos/gtk-demo/Makefile.am: Install sample source to 
5297         datadir/gtk-demo (maybe there's a better place?), and 
5298         rename the binary to gtk-demo
5299         
5300         * demos/gtk-demo/main.c (load_file): Load installed sample
5301         source if source isn't found in pwd.
5302
5303 2000-11-09  Havoc Pennington  <hp@pobox.com>
5304
5305         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
5306         argument to set the char displayed when visibility == FALSE
5307         (gtk_entry_create_layout): If !entry->visible, replace 
5308         all chars with the "invisible char"
5309
5310         * gtk/testgtk.c: Test the invisible_char deal
5311         
5312 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
5313
5314         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
5315         can't get a native font in the right encoding.
5316
5317 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
5318
5319         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
5320         respectively.
5321
5322 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
5323
5324         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
5325         Fix warning when moving between paragraphs.
5326
5327         * gtk/gtkentry.[ch]: Change move => move_cursor, 
5328         delete => delete_from_cursor, insert => insert_at_cursor
5329
5330 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
5331
5332         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
5333
5334         * modules/input/imthai-broken.c: A Thai input method for use if
5335         Thai keys are really generating Latin1 keysyms.
5336
5337         * modules/input/Makefile.am: Build these.
5338
5339 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
5340
5341         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
5342         g_filename_{to,from}_utf8 now takes an extra parameter.
5343
5344         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
5345         strftime into UTF-8.
5346
5347         (column_from_x, gtk_calendar_paint_day_names): Support RTL
5348         calendars.
5349
5350         (gtk_calendar_paint_day_names): Draw day names in the right 
5351         place.
5352         
5353 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
5354
5355         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
5356         problem with using result of g_get_charset() backwards -
5357         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
5358
5359         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
5360         negative min_width/height and max_width/height to
5361         mean "requisition"; this allows setting a window
5362         to be user-resizable in only one direction easily.
5363
5364         * gtk/testgtk.c (create_main_window): Remove hard-coded
5365         usize - set a default size in the vertical direction.
5366
5367 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
5368
5369         * gtk/gtkrange.c: Add some missing casts. Support 
5370         2 and 3 button clicks on the arrows to mean 
5371         "move by pages" and "jump to end". (Like gtkspinbutton)
5372
5373 2000-11-12 Hans Breuer <Hans@Breuer.Org>
5374
5375         * gdk/win32/makefile.msc : reflect build module changes
5376
5377         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
5378         from GdkPixmap*, cast implementation member instead.
5379
5380         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
5381         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
5382         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
5383         more Gdi functions return value checking. 
5384         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
5385         GdkImagePrivateWin32 *.
5386
5387         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
5388         menus useable again. Add #pragma message to keep reminded on this issue.
5389         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
5390         windows. This allows to enable backing store on Win32!
5391
5392         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
5393         in drawable is of impl type. Correct specific type checks appropriate.
5394  
5395         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
5396         GDK_WINDOW_DESTROYED before allocating new resources.
5397
5398         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
5399
5400         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
5401         (gdk_window_foreign_new) initialize parent handle.
5402         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
5403
5404         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
5405         Let the GDI invalidate the window on MoveWindow call to fix scrolling
5406         problems (e.g. main buttons in testgtk). 
5407
5408 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
5409
5410         * gtk/gtkentry.c (gtk_entry_key_press): Call 
5411         gtk_widget_activate for GDK_Return.
5412
5413         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
5414         of preedit cursor position.
5415
5416 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
5417
5418         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
5419         static.
5420
5421 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
5422
5423         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
5424         out support for multiple locales; that simple doesn't
5425         work reliably with current Xlib
5426
5427         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
5428         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
5429         Add support for positioning the cursor within the preedit string.
5430
5431 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
5432
5433         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
5434         at XIM input method module.
5435
5436         * gtk/gtktextview.c: Check for bindings after passing
5437         events to im context filter.
5438
5439 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
5440
5441         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
5442         empty attribute lists properly.
5443
5444 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
5445
5446         * gtk/queryimmodules.c (main): Return non-zero exit
5447         status if errors were encountered querying any
5448         modules.
5449
5450         * modules/input/Makefile.am (moduledir): remove
5451         leftover bin program target.
5452
5453         * docs/make-todo: Fix typo in error message.
5454
5455 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
5456
5457         * configure.in: Add modules/input/Makefile
5458
5459 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
5460
5461         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
5462         don't include gtkthemes.h.
5463
5464         * gtk/testgtk.c gtk/testtext.c: Set environment variables
5465         to point
5466
5467         * gtk/Makefile.am: Add new .c and .h files, build 
5468         gtk-query-immodules and use it to create a gtk.immodules
5469         file for use of test programs.
5470
5471         * gtk/gtkpreview.c: remove extra blank line.
5472
5473 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
5474
5475         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
5476         Add the ability to add extra tables beyond the default
5477         one, and also the ability to have compose sequences 
5478         that are prefixes of other compose sequences. 
5479
5480         * gtk/gtkimcontextsimple.c: Export a preedit string which
5481         consists of possible candidates for keystrokes that have
5482         been entered but not yet committed.
5483
5484         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
5485         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
5486
5487         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
5488         Add a function to add input-method switching menu items
5489         to a menu.
5490
5491         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
5492         when switching input methods.
5493
5494         * gtk/gtkimcontextsimple.[ch]: Change the format of
5495         the compose table to allow compose tables of different
5496         lengths / sequence.
5497
5498 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
5499
5500         * gtk/gtkimmodule.[ch]: Support routines for loading
5501         GtkIMContext implementations dynamically at runtime.
5502
5503         * modules/input/imcyrillic-translit.c: A sample input
5504         method (based on GtkIMContextSimple with an extra table),
5505         which demonstrates preedit strings and the module
5506         system for input modules
5507
5508         * gtk/queryimmodules.c: Program to query the available
5509         input modules and write the results into a file.
5510          
5511         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
5512         extra config options "im_module_file" (cache file for
5513         input method modules), and "im_module_path" - path
5514         to look for modules when generating cache file.
5515
5516         This doesn't scale.
5517
5518 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
5519
5520         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
5521         generic code from gtkthemes into a new abstraction
5522         GtkModule which has the logic for implementing
5523         a loadable module which implements a number of 
5524         GObject types.
5525
5526 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
5527
5528         * gtk/gtkeditable.[ch]: Convert GtkEditable from
5529         a class into an interface  
5530         
5531         * gtk/gtkoldeditable.[ch]: Move the old editable
5532         implementation into here, so legacy widgets can
5533         still rely on the implemenation. GtkOldEditable
5534         exports GtkEditable. Make selection handling
5535         code use new text conversion functions (and
5536         handle UTF-8 as a side-effect). Use GtkClipboard
5537         for CLIPBOARD.
5538
5539         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
5540         Adopt to match above changes.
5541
5542         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
5543         avoid GtkOldEditable implementation. Restructure
5544         to reduce number of places that modify state directly.
5545         Move to GtkBindingSet. Display the preedit string.
5546         Queue recomputation of PangoLayout and scroll position
5547         to improve effiency of doing complex changes naively.
5548         Add a menu with cut/copy/paste and input method selection.
5549
5550 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
5551
5552         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
5553         to set preedit string and attributes; display preedit string by
5554         inserting string and attributes at cursor when creating the
5555         GtkTextLineDisplay.
5556
5557         * gtk/gtktextlayout.c: Move all conversions between byte
5558         positions in PangoLayout and GtkTextIter into new functions
5559         line_display_iter_to_index/index_to_iter that properly
5560         handle the preedit string.
5561
5562         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
5563         it to return const char * (eventually will end up
5564         as GCONST char *, most likely.)
5565
5566         * gtk/gtktextview.[ch]: Handle the preedit string, call
5567         gtk_im_context_reset() as necessary, add a menu to switch
5568         input methods.
5569         
5570         * gtk/gtktextlayout.[ch]: Remove useless
5571         gtk_text_layout_get_log_attrs() function.
5572
5573 2000-11-11  Tor Lillqvist  <tml@iki.fi>
5574
5575         * gdk/gdk.def
5576         * gtk/gtk.def: Update.
5577
5578         * gdk/win32/*.c: Add last argument to g_type_register_static()
5579         calls.
5580
5581         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
5582
5583         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
5584         generated by older wheel mouse drivers. Get the correct y
5585         coordinate from WM_MOUSEWHEEL messages.
5586
5587         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
5588         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
5589         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
5590         Debugging functions.
5591
5592         * gdk/win32/gdkprivate-win32.h: Declare them.
5593
5594         * gdk/win32/gdkinput-win32.h: Add declaration for
5595         gdk_input_window_destroy().
5596
5597         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
5598
5599 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
5600
5601         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
5602         function to help handle keeping things in sync.
5603
5604 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
5605
5606         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
5607         BOXED marshallers.
5608
5609         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
5610         (gtk_list_store_class_init): use the new BOXED marshallers.
5611
5612         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
5613         new_with_values to new_with_types.
5614         (gtk_tree_store_get_column_type): add this.
5615         (gtk_tree_store_class_init): use the new BOXED marshallers.
5616
5617         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
5618         mirror some POINTER marshallers.
5619
5620 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
5621
5622         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
5623         allow more interesting iterators.  Also, made the lifecycle of
5624         iterators more explicit.
5625
5626         * gtk/gtktreemodelsort.[ch]: New model for sorting.
5627
5628         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
5629         types.
5630
5631 2000-11-09  Alexander Larsson  <alexl@redhat.com>
5632
5633         * demos/testgtk/menus.c:
5634         Changes to make the new testgtk compile after
5635         gtk_menu_append was removed.
5636
5637         * gdk/linux-fb/gdkdrawable-fb2.c
5638         (gdk_fb_get_depth, gdk_fb_get_visual,
5639         gdk_drawable_impl_fb_class_init): Implement
5640         these drawable functions. Now GtkImages work again.
5641
5642         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
5643
5644         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
5645         
5646         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
5647         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
5648         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
5649         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
5650
5651 2000-11-08  Havoc Pennington  <hp@pobox.com>
5652
5653         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
5654         visible_set args, don't know where these had gone, I thought they
5655         used to be there
5656
5657         * gtk/testtext.c: Add a menu item to apply invisibility tag;
5658         now we can test the feature and see that it's totally broken.
5659
5660 2000-11-08  Havoc Pennington  <hp@pobox.com>
5661
5662         Make DND copy pixbufs and tags when source and target share a 
5663         tag table.
5664         
5665         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
5666         in-process GTK_TEXT_BUFFER_CONTENTS target
5667         (gtk_text_view_drag_data_received): Paste from
5668         GTK_TEXT_BUFFER_CONTENTS if we receive it.
5669
5670 2000-11-08  Alexander Larsson  <alexl@redhat.com>
5671
5672         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
5673         API changes.
5674
5675         * gtk/gtkmenu.c: Add support for scrolling menus.
5676         Remove gtk_menu_append/prepend/insert, these have been moved to
5677         gtkcompat.h as #defines.
5678
5679         * gtk/gtkcompat.h.in:
5680         Add compatibility #defines for gtk_menu_append/prepend/insert
5681
5682         * gtk/gtkmenu.h: Add data needed for scrolling menus.
5683         GtkMenuPositionFunc gets an extra argument push_in.
5684         gtk_menu_append/prepend/insert removed.
5685         
5686         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
5687         positioning behaviour to fit to scrolling menus.
5688
5689         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
5690         into menuitem->submeny. That is wrong, and broke torn
5691         off submenus of torn off menus, since they were unrealized
5692         when the first menu was unrealized.
5693
5694         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
5695         gtk_menu_shell_select_item() since these need to be overridden in
5696         GtkMenu.
5697
5698         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
5699         positioning behaviour to fit to scrolling menus.
5700         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
5701         the current item so that it is prelighted when the menu pops up.
5702         This is a workaround to the fact that the menu doesn't get the
5703         initial enter event (due to grabs).
5704
5705         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
5706         s/gtk_menu_append/gtk_menu_shell_append/
5707
5708         * gtk/gtknotebook.c:
5709         s/gtk_menu_insert/gtk_menu_shell_insert/
5710
5711         * gtk/testgtk.c (create_menu, create_menus):
5712         Create the first menu with 50 items so that menu scrolling
5713         can be tested.
5714         
5715         
5716         Patch from Jonathan Blandford  <jrb@redhat.com>
5717
5718         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
5719         system to handle size requests.  First, we ask what the size of
5720         the toggle is.  Then, when allocating the size, we allocate the
5721         toggle_size first.  This way we can have multiple menu-item
5722         classes w/o needing a seperate class for each.
5723
5724         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
5725         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
5726
5727         * gtk/gtkcheckmenuitem.c
5728         (gtk_check_menu_item_toggle_size_request): New function to handle
5729         the toggle size-request.
5730
5731 2000-11-07  Havoc Pennington  <hp@redhat.com>
5732
5733         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
5734         Half-ass somewhat fix this function, so that scrolling to the
5735         insertion point works. Pango hacking is in the future to really
5736         fix it.
5737
5738         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
5739         length of data, no longer used.
5740
5741         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
5742         method contents in here, get rid of destroy method
5743         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
5744         that were backward. Remove debug spew.
5745         (cut_or_copy): Make the clipboard work with insert_range to
5746         preserve tags and pixbufs, not just the primary selection.
5747
5748 2000-11-07  Havoc Pennington  <hp@redhat.com>
5749
5750         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
5751         to gtk_text_mark_get_visible
5752
5753         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
5754         bug that was generating an invalid iterator
5755
5756         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
5757         ensure_char_offsets() in front of code placing the iter in an
5758         invalid state.
5759
5760         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
5761         make override_location arg const
5762         (paste): Replace the selection if we paste into the 
5763         current selection
5764
5765         * gtk/gtkselection.h: Remove "GtkSelectioData"
5766         (struct _GtkSelectionData): move the definition here.
5767
5768         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
5769         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
5770
5771         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
5772
5773         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
5774         (gtk_text_buffer_insert_range_interactive): implement
5775         (gtk_text_buffer_get_tags): Remove, replaced by
5776         gtk_text_iter_get_tags()
5777
5778         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
5779         limit parameter, to avoid infinite linear scan.
5780         (gtk_text_iter_backward_search): Add search limit
5781         (gtk_text_iter_forward_find_char): Add search limit
5782         (gtk_text_iter_backward_find_char): Add search limit
5783
5784 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
5785
5786         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5787         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
5788         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
5789         gdk/linux-fb/gdkwindow-fb.c:
5790         use g_object_new() instead of g_type_create_instance() which
5791         is a private function for fundamental type implementations.
5792
5793         * gdk/linux-fb/gdkinput-ps2.c:
5794         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
5795         instead just store the current modifier state. Add a (somewhat broken)
5796         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
5797         Rename exported function gdk_input_ps2_get_mouseinfo to
5798         gdk_input_get_mouseinfo.
5799
5800         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
5801         gdk/linux-fb/gdkwindow-fb.c:
5802         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
5803         
5804
5805 2000-11-02  Havoc Pennington  <hp@redhat.com>
5806
5807         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
5808         use stock buttons. Should be 100% source compatible, appropriate
5809         filesel fields now point to dialog->vbox and dialog->action_area.
5810         On the bizarre side, dialog->action_area and filesel->action_area
5811         are not the same widget.
5812         (gtk_file_selection_init): Put some padding around the selection
5813         entry, so it isn't touching the GtkDialog separator.    
5814
5815         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
5816         use stock buttons, etc. Should also be source compatible.
5817         Set the dialog default title in _init not _new().
5818         
5819         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
5820         Use stock buttons; don't put a button box inside the existing
5821         dialog button box. Don't bother with push/pop colormap anymore.
5822
5823         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
5824         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
5825         for message dialog, and necessary for the font selection and color
5826         selection with help and apply buttons.
5827         
5828         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
5829         to the created button widget. Set GTK_CAN_DEFAULT on the button.
5830         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
5831         between buttons, put less padding around the action area.
5832         (gtk_dialog_run): Exit on unmap rather than on destroy. 
5833         This will also exit the loop if the widget is hidden.
5834         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
5835         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
5836         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
5837         special-case delete event.
5838
5839         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
5840         formatting
5841         
5842 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
5843
5844         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
5845         button to temporarily disable position recording in the
5846         "saved position" test.
5847
5848 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
5849
5850         * gtk/gtkthemes.c: added compat code that temporarily implements
5851         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
5852         going to be revamped by owen's upcoming GtkModule patches, but
5853         untill then people want gtk to build, right? ;)
5854
5855 2000-11-04  Havoc Pennington  <hp@pobox.com>
5856
5857         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
5858         list
5859
5860         * docs/Changes-2.0.txt: Add note about
5861         gtk_container_get_toplevels()
5862
5863         * gtk/gtktextview.h: formatting
5864         
5865         * gtk/gtktextview.c: don't start descriptions with "Returns",
5866         confuses gtk-doc
5867
5868 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
5869
5870         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
5871         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
5872
5873 2000-11-03  Havoc Pennington  <hp@redhat.com>
5874
5875         * gtk/gtktexttagtable.c: Docs
5876         (gtk_text_tag_table_size): return a signed int
5877
5878         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
5879         (gtk_text_tag_event): make the event_object a GObject
5880
5881         * gtk/gtktextview.c: Write API docs for all functions.
5882
5883         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
5884         for gtk_text_view_get_window_type() called on one of the private
5885         windows.
5886
5887         * gtk/gtktextview.c: Instead of accessing text_view->buffer
5888         directly, call get_buffer() which demand-creates a default
5889         buffer. So gtk_text_view_new() can be used to create a view with a
5890         default buffer in it, if you just want an empty text box users can
5891         put data in. Useful for GUI builders also.
5892
5893 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
5894
5895         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
5896         the charset encodign portion MUST be in lowercase.
5897         * gtk/gtkrc.az: added file for Azeri language
5898
5899 2000-11-03  Havoc Pennington  <hp@redhat.com>
5900
5901         Get widgets working on the btree/buffer side. Display of them 
5902         still doesn't work.
5903         
5904         * gtk/gtktextview.c: start implementing child widget stuff
5905
5906         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
5907
5908         * gtk/gtktextlayout.c: handle embedded widgets
5909
5910         * gtk/gtktextdisplay.c: handle embedded widgets
5911
5912         * gtk/gtktextchild.c: Implement all the child anchor goo
5913
5914         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
5915         function
5916
5917         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
5918         (insert_pixbuf_or_widget_segment): abstract out common portions of 
5919         creating a child anchor or a pixbuf segment.
5920         (gtk_text_btree_create_child_anchor): new function
5921         (gtk_text_btree_unregister_child_anchor): new function
5922
5923         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
5924         allocate_child signal on GtkTextLayout
5925
5926         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
5927         values
5928         (gtk_text_iter_get_child_anchor): new function
5929
5930         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
5931         default handler for the changed signal, which calls
5932         gtk_text_buffer_set_modified(), instead of just always emitting
5933         changed then calling set_modified() manually. I guess this is
5934         maybe more flexible. It seems logical.
5935
5936 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
5937
5938         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
5939         now.
5940
5941         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
5942
5943 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
5944
5945         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
5946         been marked static.
5947
5948 2000-11-02  Havoc Pennington  <hp@redhat.com>
5949
5950         * gtk/testgtk.c (create_labels): had a test backward
5951
5952         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
5953         fields, so the dest GC ends up with the correct clip origin, 
5954         etc. Fixes a bug where colored labels didn't redraw 
5955         properly.
5956
5957 2000-11-02  Alexander Larsson  <alexl@redhat.com>
5958
5959         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5960         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
5961         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
5962         Add last argument to t_type_register_static call.
5963         
5964         * gdk/linux-fb/gdkdrawable-fb2.c:
5965         Add last argument to t_type_register_static call.
5966         export the get_image drawable virtual function.
5967
5968         * gdk/linux-fb/gdkimage-fb.c:
5969         Add last argument to t_type_register_static call.
5970         rename gtk_image_get to _gdk_fb_get_image and
5971         export it for use by gdkdrawable-fb2.
5972
5973         * gdk/linux-fb/gdkprivate-fb.h:
5974         export _gdk_fb_get_image.
5975
5976         * gdk/linux-fb/gdkselection-fb.c:
5977         Add new api call stubs.
5978
5979         * gtk/Makefile.am:
5980         Missing ( in linux-fb part.
5981
5982         * modules/linux-fb/Makefile.am:
5983         Must link with gdk_pixbuf or get unresolved symbol.
5984
5985 2000-11-01  Havoc Pennington  <hp@pobox.com>
5986
5987         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
5988         GTK_TYPE_TEXT_ITER and BOXED marshallers
5989
5990         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
5991
5992         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
5993         
5994         * gtk/gtk-boxed.defs: add GtkTextIter
5995
5996         * gtk/gtkmarshal.list: Add marshallers for text widget that 
5997         properly use OBJECT and BOXED
5998
5999 2000-11-01  Havoc Pennington  <hp@redhat.com>
6000
6001         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
6002
6003         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
6004         before returning it. 
6005         
6006 2000-11-01  Havoc Pennington  <hp@redhat.com>
6007
6008         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6009         Clip the rectangle to be rendered to the drawable, since
6010         get_from_drawable() requires a region within the drawable
6011
6012 2000-11-01  Havoc Pennington  <hp@redhat.com>
6013
6014         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
6015         from coordinates.
6016
6017 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
6018
6019         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
6020         it isn't NULL.
6021
6022 2000-11-01  Havoc Pennington  <hp@pobox.com>
6023
6024         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
6025         on a label
6026         (gtk_label_finalize): unref the attr list if any.
6027
6028         * gtk/testgtk.c (create_get_image): close test on second click
6029         (make_message_dialog): close dialog if it exists
6030
6031         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
6032
6033         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
6034         gdk-pixbuf
6035
6036         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
6037         from Pango markup format
6038         (gtk_label_set_markup_with_accel): ditto but with accelerator
6039         parsing
6040
6041         * gtk/gtkimage.c (gtk_image_expose): reformatting.
6042
6043         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
6044         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
6045         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
6046         call gdk_window_get_origin().
6047
6048         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6049         implement GDK_PIXBUF_ALPHA_FULL
6050         
6051 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
6052
6053         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
6054         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
6055         g_signal_handlers_disconnect_matched to block/unblock and disconnect
6056         multiple handlers respectively, instead of only treating the
6057         first handler found (bug reported by owen).
6058
6059 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
6060
6061         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
6062
6063         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
6064
6065         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
6066         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
6067         gtk/gtktreeviewcolumn.h: Fixed inline docs.
6068
6069         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
6070         widget.  Needs writing someday.
6071
6072         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
6073         the docs.
6074
6075 2000-10-30  Havoc Pennington  <hp@redhat.com>
6076
6077         * gtk/gtktextview.h, gtk/gtktextview.c:
6078         Rename delete_at_cursor delete_from_cursor, and 
6079         move to move_cursor.
6080
6081 2000-10-30  Havoc Pennington  <hp@redhat.com>
6082
6083         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
6084         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
6085         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
6086         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
6087         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
6088         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
6089         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
6090         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
6091         gtktexttypes.h, gtktextview.c, gtktextview.h:
6092
6093         Massive reindentation and reformatting. Arg alignment and comments
6094         still need fixing in various places.
6095
6096 2000-10-30  Havoc Pennington  <hp@redhat.com>
6097
6098         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
6099         to be named insert_at_cursor and delete_at_cursor so C++ can
6100         handle them.
6101
6102 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6103
6104         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
6105         to get a double directory separator in case the home directory
6106         ends with one. This would cause trouble especially on Windows,
6107         where the path will be confused with the syntax for an an UNC
6108         (network share) path \\server\share\path.
6109         (gtk_rc_add_initial_default_files): Ditto.
6110
6111 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
6112
6113         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
6114
6115         * gtk/gtktextview.c: Use correct marshallers.
6116
6117 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
6118
6119         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
6120         use new iter stuff, and added all the appropriate signals et al.
6121
6122         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
6123         code is internal to gtk only.
6124
6125 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6126
6127         * gtk/gtk.def
6128         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
6129         glib-genmarshal etc.
6130
6131 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
6132
6133         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
6134         parallel builds.
6135
6136 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
6137
6138         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
6139
6140 2000-10-27  Robert Brady  <robert@suse.co.uk>
6141
6142         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
6143         en_GB (British), ia (Interlingua).
6144
6145 2000-10-26  Havoc Pennington  <hp@redhat.com>
6146
6147         * gtk/gtktextiter.c (my_strrstr): fix constness warning
6148
6149         Fixed output of:
6150         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
6151         
6152         * gtk/gtktextsegment.c (char_segment_new): rename
6153         (_char_segment_new_from_two_strings): rename
6154         (_toggle_segment_new): rename
6155         
6156         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
6157         (make_clipboard_widget): make it static
6158         (text_get_func): static
6159         (text_clear_func): static
6160
6161         * gtk/gtkcolorsel.c (adjustment_changed): make this function
6162         static
6163         (hex_changed): make it static
6164         (hsv_changed): make it static
6165         (opacity_entry_changed): make it static
6166
6167         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
6168         (toggle_segment_check_func): rename with _gtk
6169
6170         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
6171         (_widget_segment_new): rename
6172         (_widget_segment_add): rename
6173         (_widget_segment_remove): rename
6174         (_widget_segment_ref): rename
6175         (_widget_segment_unref): rename
6176
6177         * gtk/gtktextmark.c (_mark_segment_new): Rename
6178         _gtk_mark_segment_new   
6179
6180 2000-10-26  Havoc Pennington  <hp@redhat.com>
6181
6182         * gtk/gtkmarshal.list: add new marshallers used by the text widget
6183         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6184         types
6185
6186         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
6187         marshaller types
6188
6189         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
6190         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
6191         license on these files.
6192
6193         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
6194         work.
6195
6196         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
6197         runtime random number different for each tree, instead of 
6198         a constant I made up.
6199
6200 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
6201
6202         * gtk/Makefile.am: buncha cleanups, kludged build sources
6203         dependencies with a Makefile: oldest-source-stamp dependancy
6204         for the moment. automake is really fighting us here, with
6205         intentionally not allowing user-defined rules or dependancies
6206         prior to it's -include $(DEP_FILES) statement. sucks rocks!
6207
6208         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
6209         to public headers. tehy have a comment stating that they are
6210         "semi-public" aren't included by gtk.h and if enums popup there,
6211         they can be /*< skip >*/-ed.
6212
6213         * gtk/gtktextlayout.h: 
6214         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
6215         added LGPL... <SIGH>
6216
6217 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
6218
6219         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
6220         GtkTreeIter.  Added iterators everywhere.
6221
6222         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
6223
6224         * gtk/gtktreeviewselection.c: Changed to use the iterators.
6225
6226         * gtk/gtktreestore.c: Changed to use the iterators.
6227
6228         * gtk/gtkliststore.c: Commented out the code.  Will convert to
6229         iterators tomorrow.
6230
6231         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
6232         iterators tomorrow.
6233
6234         * gtk/treestoretest.c: Changed to use iterators.
6235
6236         * demos/testgtk/main.c: Moved to use the new iterator system.
6237
6238 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
6239
6240         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
6241         localization misbehaviour.
6242
6243         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
6244         a useless type without copy/free.
6245
6246         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
6247         of GTK_TYPE_CTREE_NODE.
6248
6249 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
6250
6251         * gtk/gtksignal.c:
6252         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
6253         applicable.
6254
6255         * gtk/gtk-boxed.defs (GtkSelectionData): specify
6256         gtk_selection_data_copy and gtk_selection_data_free
6257         do GtkSelectionData work as params in signals.
6258
6259 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
6260
6261         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
6262         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
6263         couldn't they at least give it a non-standard name?
6264         
6265         * gtk/gtktextlayout.c: arg! yet another implementation of
6266         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
6267
6268         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
6269         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
6270         home. now i know this _is_ a conspiracy.
6271
6272         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
6273         ::state-changed.
6274
6275         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
6276         (gtk_accel_group_create_add): marshaller signature fixups.
6277
6278         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
6279         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
6280
6281         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
6282         anymore.
6283
6284 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
6285
6286         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
6287         due to the signal system changes, it wouldn't build currently. to
6288         be fixed soon.
6289
6290         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
6291
6292         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
6293         so it needs gtk_marshal_VOID__ENUM() instead of
6294         gtk_marshal_NONE__UINT().
6295
6296         * gdk/gdk*.c: adapted type registration functions.
6297
6298         * gtk/gtkbindings.c:
6299         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
6300         gone.
6301
6302         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
6303
6304         * gtk/gtkobject.c:
6305         (gtk_object_destroy):
6306         (gtk_object_shutdown): fixed recursion guards. basically we have to
6307         catch the case where any of GObject.shutdown() or gtk_object_destroy()
6308         is called during ::destroy, and avoid recursion there.
6309
6310         * gtk/gtktypeutils.c:
6311         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
6312         boxed_copy/boxed_free. this needs a more general solution based on a
6313         publically installed code-generator utility.
6314
6315         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
6316         glib's gobject has support for that now.
6317         define GtkSignalMarshaller in terms of GSignalCMarshaller.
6318
6319 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
6320
6321         * gtk/gtksignal.[hc]:
6322         * gtk/gtkmarshal.[hc]:
6323         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
6324         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
6325         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
6326         care of that.
6327
6328         * *.c: marshaller name fixups.
6329
6330         * gtk/gtkmarshal.list: added a comment briefing the format.
6331
6332 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
6333
6334         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
6335         compatibility macros here now. more specifically, most of
6336         the API is preserved (yes, _most_, nonwithstanding the
6337         following exceptions listed, the API is stil lHUGE ;)
6338         things that got removed completely:
6339         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
6340         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
6341         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
6342         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
6343         gtk_signal_remove_emission_hook().
6344         non-functional functions variants:
6345         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
6346         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
6347         not supported anymore.
6348         (gtk_signal_compat_matched): new internal function to aid
6349         implementation of the compatibility macros, it  provides
6350         functionality to block/unblock/disconnect handlers based
6351         on func/data.
6352
6353         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
6354
6355         * *.c: adaptions to new type registration API signatures.
6356
6357 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
6358
6359         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
6360
6361 2000-10-25  Robert Brady  <robert@suse.co.uk>
6362
6363         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
6364         gdk_property_delete): If window == NULL, assume the root window.
6365         (restoring the behaviour that was in 1.2).
6366         
6367         * gtk/testtext.c (save_buffer): Allow creation of new files when
6368         saving.
6369
6370         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
6371         calls to read().
6372
6373 2000-10-25  Tor Lillqvist  <tml@iki.fi>
6374
6375         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
6376
6377         * gdk/win32/gdkdrawable-win32.c
6378         * gdk/win32/gdkimage-win32.c
6379         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
6380         X11 backend.
6381
6382         * gdk/win32/gdkcc-win32.c
6383         * gdk/win32/gdkcolor-win32.c
6384         * gdk/win32/gdkfont-win32.c
6385         * gdk/win32/gdkinput-win32.c
6386         * gdk/win32/gdkmain-win32.c
6387         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
6388
6389 2000-10-24  Havoc Pennington  <hp@redhat.com>
6390
6391         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
6392         it a static function
6393
6394         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
6395         redraw text when a tag is applied to it.
6396
6397         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
6398         (gtk_text_tag_affects_nonsize_appearance): private functions to
6399         see if a tag requires various kinds of redraw/layout to be queued
6400         up.
6401
6402         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
6403
6404         * gtk/testtext.c (fill_example_buffer): Put the cursor 
6405         at the start of the buffer, so search works by default
6406
6407         * gtk/gtktextiter.c (lines_match): init match_start always
6408
6409         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
6410         function, get iter at a line + a byte index
6411
6412         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
6413         to set byte position within a line
6414         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
6415
6416 2000-10-23  Havoc Pennington  <hp@redhat.com>
6417
6418         * gtk/testtext.c: Re-enable the "find" dialog
6419
6420         * gtk/testgtk.c: Add test for gdk_drawable_get_image
6421         
6422         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
6423         the arguments to gdk_draw_drawable were in the wrong order
6424         (gdk_window_paint_init_bg): This function was ignoring the
6425         init_region, instead of clipping to it, so the entire backing
6426         pixmap was cleared on every begin_paint()
6427         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
6428         was in here again, the loop kept using the same GtkWindowPaint
6429         over and over.
6430         (gdk_window_begin_paint_region): Fix a bug where we had two
6431         x_offset instead of x_offset and y_offset
6432
6433         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
6434         before we get the image.
6435         (gdk_draw_drawable): get the composite before we draw the drawable.
6436         (gdk_drawable_real_get_composite_drawable): default
6437         get_composite_drawable implementation that returns the drawable 
6438         itself
6439
6440         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
6441         get_composite_drawable virtual function
6442
6443         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
6444         list-walking bug
6445
6446         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
6447         make this work if the source drawable is a GdkDrawableImplX11
6448         instead of a public drawable type. This is really broken; the
6449         problem is that GdkDrawable needs a virtual method get_xid(), but
6450         of course that doesn't work in practice. Enter RTTI.
6451
6452         Also, improve mismatched depth message.
6453
6454         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
6455         GdkPixmap
6456
6457         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
6458         install _gdk_x11_get_image as our implementation of get_image
6459         
6460         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
6461         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
6462
6463         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
6464         gdk_drawable_get_image
6465
6466         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
6467
6468         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
6469         get_image
6470
6471         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
6472         trailing semicolon after for loop
6473
6474 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
6475
6476         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
6477         where font_desc for widget's context lagged widget's font_desc by
6478         one step.
6479
6480 2000-10-22  Tor Lillqvist  <tml@iki.fi>
6481
6482         * gdk/win32/gdkgc-win32.c
6483         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
6484
6485         * gtk/makefile.mingw.in
6486         * gtk/gtk.def: Updates.
6487
6488         * gtk/testgtk.c: sleep() is called _sleep in MS's C
6489         library.
6490
6491         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
6492
6493         * gtk/makefile.msc: Remove
6494
6495         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
6496
6497         * gtk/Makefile.am: Add it.
6498
6499         * configure.in: Generate it.
6500
6501         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
6502         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
6503         something even if not implemented, to satisfy picky MSVC.
6504
6505         Patches by Hans Breuer:
6506         
6507         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
6508         SetBkMode() and SetTextAlign() before calling
6509         pango_win32_render().
6510
6511         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
6512         Set hcliprgn to NULL after destroying it.
6513         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
6514
6515         * gdk/win32/gdkgeometry-win32.c
6516         (_gdk_windowing_window_queue_antiexpose): More effective
6517         implementation.
6518
6519         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
6520         depth as default, not the visual's.
6521
6522         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
6523         against empty title.
6524
6525         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
6526         IMAGE_PRIVATE_DATA.
6527
6528         * gdk/win32/gdkimage-win32.c: Use it.
6529
6530 2000-10-22  Robert Brady  <robert@suse.co.uk>
6531
6532         * configure.in: Check for bind_textdomain_codeset
6533
6534         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
6535         present, make use of it.
6536
6537         Add a translatable string "default:LTR" which, if translated
6538         to "default:RTL", will cause the default direction to be
6539         Right-to-Left.
6540
6541         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
6542         direction if marked as flippable.
6543
6544         * gtk/gtkhscale.c: Mark widget as flippable.
6545         
6546 2000-10-04  Havoc Pennington  <hp@redhat.com>
6547
6548         * gtk/testgtk.c (create_buttons): create some stock buttons
6549         with the default accel group
6550         (create_image): test some new GtkImage features
6551         (make_message_dialog): test GtkMessageDialog
6552         (create_modal_window): fix someone's bizzarro indentation
6553
6554         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
6555         GTK_WIN_POS_CENTER_ON_PARENT. 
6556         Add "destroy with parent" setting, which means the window goes
6557         away with its transient parent.
6558         (gtk_window_get_default_accel_group): get the default accel group
6559         for the window.
6560         (gtk_window_set_destroy_with_parent): set/unset destroy with
6561         parent flag
6562         (gtk_window_read_rcfiles): invalidate icon set caches
6563         after reloading rcfiles 
6564
6565         * gtk/gtkenums.h (GtkWindowPosition): add
6566         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
6567         on its parent window when the dialog is mapped for the first time.
6568
6569         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
6570         a simple message dialog class
6571         
6572         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
6573         handler to emit response signal, and maybe later it would
6574         honor a hide_on_delete flag - though that isn't there yet.
6575         Set border width on the vbox to 2, so we get some padding.      
6576         Use a button box for the action area.
6577         (gtk_dialog_key_press): synthesize a delete event if Esc
6578         is pressed and the GtkWidget key press handler didn't 
6579         handle the escape key.
6580         (gtk_dialog_new_with_buttons): new function creates a dialog
6581         with some default buttons in it.
6582         (gtk_dialog_add_action_widget): add an activatable widget
6583         as a button in the dialog - you can also add a non-activatable
6584         widget by accessing the action area directly.
6585         (gtk_dialog_add_button): add a simple button - stock ID or 
6586         label - to the action area
6587         (gtk_dialog_response): emit response signal
6588         (gtk_dialog_run): block waiting for the dialog, return 
6589         the response. Override normal delete_event behavior, so that 
6590         delete_event does nothing inside gtk_dialog_run().
6591
6592         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
6593         emitted when an action widget is clicked or the dialog gets
6594         delete_event
6595
6596         * gtk/gtk.h: add gtkmessagedialog.h
6597
6598         * gtk/Makefile.am: add gtkmessagedialog.[hc]
6599
6600 2000-10-18  Havoc Pennington  <hp@redhat.com>
6601
6602         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
6603         where any number of empty lines would get skipped
6604
6605         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
6606         edge.
6607
6608         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
6609         warning about invalid iterators (explain more thoroughly)
6610         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
6611
6612         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
6613         big
6614
6615         * demos/*.c: Add error handling
6616
6617         * gtk/gtktextbuffer.c: don't modify const iterators
6618
6619         * gtk/gdk-pixbuf-loader.c: Add full error handling here
6620
6621         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
6622         on file load
6623
6624         * gtk/gtkiconfactory.c: Update to reflect addition of error
6625         handling to gdk-pixbuf loaders
6626
6627 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
6628
6629         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
6630         move to new modularized testgtk.
6631
6632 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
6633
6634         * gtk/gtktreeview.c: Draw the arrows correctly.
6635
6636         * gtk/gtktreemodel.c: Added user docs.
6637
6638         * gtk/gtk.h: remove gtktreedatalist.h.
6639
6640         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
6641         parent when generating my type.
6642
6643         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
6644         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
6645
6646 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6647
6648         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
6649         GtkTreeModel from object to interface.
6650
6651 2000-10-16  Havoc Pennington  <hp@redhat.com>
6652
6653         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
6654         compilation
6655
6656 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6657
6658         * gtk/gtktreeselection.c: Add API documentation to all public
6659         functions.
6660
6661         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
6662         functions.
6663
6664 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
6665
6666         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
6667         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
6668         docs to all public functions.
6669
6670         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
6671         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
6672         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
6673         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
6674         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
6675         issue.
6676
6677 2000-10-14  Robert Brady  <robert@suse.co.uk>
6678
6679         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
6680
6681 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
6682
6683         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
6684         values other then G_TYPE_STRING.
6685         * gtk/gtktreeselection.c: Minor commenting updates.
6686         * gtk/gtktreeview.c: Format updates.
6687
6688 2000-10-09  Tor Lillqvist  <tml@iki.fi>
6689
6690         * README.win32: Update.
6691
6692         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
6693         lines that had been deleted by mistake (?).
6694
6695         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
6696         also the case fg==white and bg==black (but still not randomly
6697         coloured cursors). Thanks to Wolfgang Sourdeau.
6698
6699         * gdk/win32/*.c: Silence gcc -Wall.
6700
6701         * gtk/gtk.def: Add missing entry points.
6702
6703         Fixes by Hans Breuer:
6704
6705         * gdk/makefile.msc
6706         * gdk/win32/makefile.msc: Update.
6707
6708         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
6709         some MSVC thing, presumably), cause breakpoint on failures. Add
6710         GDK_NOR case. Call g_log_set_always_fatal.
6711
6712         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
6713         should be pased by reference.
6714         
6715         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
6716         
6717         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
6718
6719         * gdk/win32/gdkevents-win32.c
6720         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
6721
6722         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
6723         implementation object.
6724
6725         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
6726         not just windows.
6727         
6728         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
6729         Use the wrapper object.
6730         
6731 2000-10-06  Havoc Pennington  <hp@redhat.com>
6732
6733         * Makefile.am (SRC_SUBDIRS): contrib subdir
6734
6735         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
6736         so it can be used in Xlib version
6737
6738         * demos/testpixbuf.c (update_timeout): error checking from 1.0
6739         tree
6740
6741         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
6742         change from 1.0 tree that returns first frame of animation
6743         if the loaded file is an animation.
6744
6745         * contrib: add new directory to hold stuff that comes with GTK+
6746         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
6747         
6748         * configure.in: add contrib/*
6749
6750 2000-10-05  Havoc Pennington  <hp@redhat.com>
6751
6752         * demos/testpixbuf-save.c: add pixbuf save test
6753
6754         * demos/Makefile.am: add testpixbuf-save.c
6755
6756 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
6757
6758         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
6759         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
6760         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
6761         * gtk/gtktreeselection.[ch]: Replaced
6762         "node_selected"/"node_unselected" signal with "selection_changed"
6763         signal.
6764
6765 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6766
6767         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
6768         tree widget.
6769
6770 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6771
6772         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
6773         drawing.
6774
6775 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
6776
6777         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
6778         Move list pointer forwards before removing item from
6779         list. (Crash reported by Salmaso Raffaele)
6780
6781         * gdk/gdkwindow.h: Remove spurious trailing ,
6782
6783         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
6784         dependencies on uninstalled libraries, sorry folks.
6785
6786 2000-10-04  Havoc Pennington  <hp@redhat.com>
6787
6788         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
6789         gtk/gtkiconfactory.c: Fix copyrights    
6790
6791         * demos/testpixbuf.c: add inline pixbuf test
6792         
6793 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
6794
6795         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
6796         Add gdk_window_iconify.
6797
6798         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
6799         (gdk_window_set_geometry_hints): Add win_gravity
6800         to geometry structure.
6801
6802         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
6803         Implement _NET_WM_PING.
6804
6805         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
6806         Set _NET_WM_PID on the client leader.
6807
6808         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
6809         Handle UTF-8 better.
6810
6811         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
6812         UTF-8 better, set _NET_WM_NAME as well. Only set
6813         icon name if it hasn't previously been explicitely 
6814         set.
6815
6816 2000-10-03  Havoc Pennington  <hp@redhat.com>
6817
6818         * gtk/testtextbuffer.c: clean up trailing whitespace,
6819         add extensive tests for tag toggle iteration.
6820         
6821         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
6822         distance
6823
6824         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
6825         optimize case where the tag root is on level 1
6826         (gtk_text_line_previous_could_contain_tag): attempt to implement
6827         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
6828         functionality
6829
6830         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
6831         Implement this, though not very efficiently.
6832
6833         * gtk/gtktextiterprivate.h: reformat
6834
6835         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
6836         iterator
6837
6838         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
6839         this to properly revalidate the iterators.
6840
6841         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
6842         properly at the end of the line (and therefore on empty lines)
6843
6844         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
6845         maybe we should return a value...
6846
6847 2000-10-03  Tor Lillqvist  <tml@iki.fi>
6848
6849         * config.h.win32: Guard definition of alloca(). glib.h now handles
6850         that.
6851
6852         * gdk/gdk.def
6853         * gtk/gtk.def: Add new entry points.
6854
6855         Changes just to make GTK+ build without errors on Win32. No hope
6856         of it working in its current state, though...:
6857         
6858         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
6859         some functions from the X11 backend, just to make GTK+ build.
6860
6861         * gdk/makefile.mingw.in
6862         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
6863         number. Add new object files.
6864
6865         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
6866         GetMessageTime to get timestamp (where on X11 uses
6867         gdk_x11_get_server_time()).
6868
6869 2000-10-02  Havoc Pennington  <hp@pobox.com>
6870
6871         * gtk/gtktextview.c: text_window_* weren't static and should have
6872         been.
6873         Start work on child widgets; not yet complete, syncing to 
6874         office computer.
6875
6876         * gtk/gtktextchild.h: change this to contain a public interface,
6877         starting work on child interfaces.
6878         * gtk/gtktextchildprivate.h: move private interfaces here
6879
6880         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
6881
6882         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
6883         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
6884         gtk/gtktextmark.c: copyright notices
6885
6886         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
6887         internal functions      
6888
6889         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
6890         internal function
6891
6892         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
6893         Reformatting    
6894
6895 2000-09-30  Havoc Pennington  <hp@pobox.com>
6896
6897         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
6898         NULL start/end pointers
6899
6900         * gtk/gtktextbuffer.c: Write some docs
6901         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
6902         NULL, so you can just check whether there's a selection.        
6903
6904         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
6905         cleanup_line or segments_changed ourselves, it gets done 
6906         in unlink_segment
6907
6908         * gtk/gtktextmark.h:
6909         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
6910         
6911         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
6912
6913         * gtk/gtktextmark.c: delete some more old Tk cruft
6914
6915         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
6916         mark before removing it, so we can emit MARK_DELETED with a valid
6917         pointer.
6918         (gtk_text_buffer_mark_set): hold ref across signal emission
6919
6920         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
6921         whining about attempts to delete special marks
6922
6923         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
6924         underscore, since it's internal.
6925
6926         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
6927         now implemented in terms of iterators in gtktextiter.h
6928
6929         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
6930         New function, destructively sets contents of buffer. Also 
6931         a convenient way to clear the buffer by setting text to ""
6932
6933         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
6934         multiline string literal
6935
6936         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
6937         text changes.
6938
6939         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
6940         is not dereferenceable
6941         (gtk_text_iter_forward_lines): fix return value
6942
6943 2000-09-29  Havoc Pennington  <hp@redhat.com>
6944
6945         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
6946
6947         * gtk/gtktextview.c: Implement drag thresholding; change functions 
6948         that set border window size to have nicer name
6949         (gtk_text_view_mark_set_handler):  Fix this to have the 
6950         right signature.
6951
6952         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
6953
6954         * gtk/testtext.c: Update with API changes, put line numbers on 
6955         both sides.
6956         
6957         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
6958         with this
6959
6960         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
6961         pixbuf; delete a big block of #if 0 Tk code
6962
6963         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
6964         insert_pixmap with insert_pixbuf
6965
6966 2000-09-29  Martin Baulig  <baulig@suse.de>
6967
6968         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
6969         confusion with the GdkPixbuf of the GNOME 1.x platform.
6970
6971 2000-09-29  Havoc Pennington  <hp@pobox.com>
6972
6973         * gtk/gtktextview.c: Implement the side windows.
6974
6975         * gtk/testtext.c: Implement simple line numbering in the 
6976         left side window; seems to make scrolling sloooow. Oops.
6977         Also, cursor blink is for some reason causing redraws
6978         of the line numbers. Should investigate...
6979
6980 2000-09-28  Havoc Pennington  <hp@redhat.com>
6981
6982         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
6983         scrolling child windows, and draw focus rectangle properly.
6984         
6985         (gtk_text_view_buffer_to_window_coords):
6986         Coordinate transformation to deal with all these freaking windows
6987         and offsets
6988         (gtk_text_view_window_to_buffer_coords): transform the other way
6989
6990         * gtk/testtext.c (create_buffer): Update to match Pango API change
6991
6992         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
6993         anonymous tags
6994         (foreach_unref): don't emit remove signal from finalize, just
6995         set tag's parent to NULL
6996
6997 2000-09-26  Havoc Pennington  <hp@redhat.com>
6998
6999         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
7000         Fix some warnings       
7001
7002 2000-09-26  Havoc Pennington  <hp@redhat.com>
7003
7004         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
7005         headers into the private header list
7006
7007         * Makefile.am (pkgconfig_DATA): install pkg-config files
7008
7009         * configure.in: add pkg-config files
7010
7011         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
7012
7013         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
7014         outstanding icon caches on theme change.
7015
7016         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
7017         important types:
7018
7019         (GtkIconSource): Specification for creating a pixbuf 
7020         appropriate for a direction/state/size triplet from 
7021         a source pixbuf or filename
7022
7023         (GtkIconSet): List of GtkIconSource objects that are used to
7024         create the "same" icon (e.g. an OK button icon), and cache for
7025         rendered icons
7026
7027         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
7028         up the icon set for a given stock ID.  GTK maintains a stack of
7029         GtkIconFactory to search, and applications or libraries can add
7030         additional icon factories on top of the stack
7031         
7032         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
7033         the set of GtkIconSource specified for a given stock ID into 
7034         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
7035         RcStyle, under the specified stock ID.
7036
7037         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
7038         render_icon used to derive a GdkPixbuf from a GtkIconSource.
7039         This allows people to theme how prelight, insensitive, etc. are
7040         done.
7041
7042         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
7043         icon factories for a style, and return the resulting 
7044         icon set if any.
7045
7046         (gtk_style_render_icon): Render an icon using the render_icon 
7047         method in the GtkStyleClass.
7048
7049         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
7050         Use the style for a given widget to look up a stock ID, get the
7051         icon set, and render an icon using the render_icon method 
7052         of the style
7053
7054         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
7055         (contains information about a stock item), the built-in stock item
7056         IDs, and functions to add/lookup stock items.
7057
7058         * gtk/stock-icons/*: Stock icons that come with GTK
7059
7060         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
7061         a button based on a GtkStockItem
7062         (gtk_button_new_accel): Takes a uline string and accel group, and
7063         installs the accelerator.
7064
7065         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
7066         image-display widget.
7067
7068 2000-09-25  Havoc Pennington  <hp@redhat.com>
7069
7070         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
7071
7072         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
7073         Fix a bug when removing node data, we didn't properly 
7074         re-splice the linked list after removing the data.
7075
7076         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
7077         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
7078
7079         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
7080
7081         * gtk/gtktextlayout.c (set_para_values): Set tab array 
7082         for the layout from the GtkTextTag.
7083
7084         * gtk/gtktexttypes.h: delete tab and search cruft, 
7085         remove g_convert() in favor of GLib version
7086
7087         * gtk/gtktexttypes.c: remove tab implementation from here,
7088         move to Pango
7089
7090         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
7091         tab stuff using new PangoTabArray from Pango
7092
7093         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
7094         unused border_width stuff
7095
7096 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
7097
7098         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
7099         glib) and now useless utf_to_latin1() latin1_to_utf()
7100
7101         * gtk/gtktextview.[ch]: Change ::move_insert and
7102         ::delete_text action signals to ::move and ::delete;
7103         create the signals with the right enumeration type,
7104         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
7105         C-v bindings, change Home, End to move to beginning/end
7106         of line, Add C-Home C-End to move to beginning/end
7107         of buffer. Change ::cut_text to ::cut_clipboard, etc;
7108         combine ::scroll_text into ::move; use new GtkSelectionData
7109         functions to simplify DND text handling.
7110         
7111         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
7112         deletion enumerations here, rename enumeration values to 
7113         be consistently plural.
7114
7115         * gtk/gtktextbuffer.c: Use new clipboard interfaces
7116         for cut/copy/paste and primary selection.
7117
7118         * gtk/gtktextbuffer.[ch]: Remove excess time and
7119         'interactive' arguments from cut/copy/paste;
7120         rename cut to cut_clipboard, etc; remove
7121         gtk_text_buffer_get_clipboard_contents().
7122
7123         * gtk/gtktextlayout.[ch]: Add 
7124         gtk_text_layout_move_iter_to_line_end() to move the iter to 
7125         line ends.
7126
7127         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
7128         Functions to set or get a UTF-8 string on the selection
7129         data.
7130
7131         * gtk/gtkclipboard.[ch]: New, simplified selection handling
7132         interfaces.
7133
7134         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
7135         created widgets - one of these is useless if we don't.
7136
7137         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
7138         a public function clear all targets registered for the
7139         widget.
7140
7141         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
7142         Never call gtk_widget_realize() - that was just asking
7143         for bizarre side-effects.
7144
7145         * gtk/gtkselection.c (gtk_selection_owner_set): Call
7146         gdk_selection_owner_set even if the widget is the
7147         same so that we reliably update the timestamp on
7148         the server.
7149
7150         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
7151         gdk_x11_get_server_time() function.
7152         
7153         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
7154         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
7155         Add some tricky filtering on serial numbers for
7156         selection clear events to fix up long-standard
7157         race condition FIXME's in gtkselection.c.
7158
7159         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
7160         routines to convert from utf8 to compound text or
7161         STRING and from a text property to UTF-8.
7162
7163         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
7164         a convenience function gdk_get_current_event_time().
7165
7166         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
7167         and free selection_data->data properly
7168
7169 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
7170
7171         * gtk/gtkthemes.c: Remove some unecessary includes.
7172
7173 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
7174
7175         * gtk/gtktextdisplay.c
7176         * gtk/gtktextlayout.c
7177         * gtk/gtktexttag.c
7178         * gtk/gtktexttag.h
7179         * gtk/testtext.c: Change the overstrike property to strikethrough,
7180         to closer match pango.
7181
7182 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
7183
7184         * gtk/gtktextview.c: Fix up visibility so that focus,
7185         cursor_visible and blink interact properly.  Reenable cursor blink
7186         which had been roughly disabled. Make blink and focus
7187         properly per-view.
7188
7189         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
7190         Add a flag for whether to display insertion cursor and
7191         a function to set the flag.
7192
7193         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
7194         get_line_y() to get_line_yrange(), to be a bit more generally
7195         useful.
7196
7197 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
7198
7199         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
7200           do stop_navigating_submenu, to clear last timeout properly.
7201           Also in gtk_menu_motion_notify move ignore_enter above
7202           the conditional to make it always happen as suggested by Owen
7203
7204 2000-09-07  Tor Lillqvist  <tml@iki.fi>
7205
7206         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
7207
7208         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
7209         w32api headers.
7210
7211         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
7212         declarations.
7213
7214         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
7215         (gdk_win32_get_colormap): A line had been deleted by mistake.
7216
7217         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
7218         (gdk_event_translate): Handle more virtual keycodes to be able to
7219         generate GDK events for Control-comma, Control-period, etc.
7220
7221         * gtk/gtk.def: Add some missing entry points.
7222
7223 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
7224
7225         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
7226         Doc comment fixing. (Mostly non-matching parameter names.)
7227
7228         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
7229         comments a little to avoid looking like a doc comment.
7230
7231         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
7232         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
7233         conversions be changed to GError?)
7234
7235         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
7236         Move private #defines into .c file.
7237
7238         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
7239         order of argument addition, remove duplicates.
7240
7241         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
7242         parent class is FrameClass, not BinClass.
7243
7244         * gtk/gtk.h: Add gtkinvisible, which was missing.
7245         (It's occasionalyl useful for client apps, if seldom.)
7246
7247         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
7248         #define.
7249
7250 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
7251
7252         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
7253         coordinates when creating window, instead of GDK-space
7254         coordinates. (Avoid BadValue on too large windows.)
7255
7256 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7257
7258         * configure.in (use_mmx_asm): Remove conftest* after use along the
7259         lines of AC_TRY_COMPILE.        
7260         
7261         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
7262         of g_dirname, which is deprecated.
7263         (gtk_rc_parse_any): Removed calls to
7264         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
7265
7266         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
7267         Removed calls to g_hash_table_{freeze,thaw}, as they are
7268         deprecated now.
7269
7270         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
7271         instead of g_basename.
7272         
7273 2000-09-04 Elliot Lee <sopwith@redhat.com>
7274         
7275         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
7276         ANSI warning.
7277
7278 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
7279
7280         * gtk/gtkwidget.h:  Add some documenting comments about 
7281           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
7282           just as owen said on irc.
7283
7284         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
7285           set HAS_DEFAULT.  Only set it if there isn't another window
7286           holding it (a focus window which RECEIVES_DEFAULT) and only unset
7287           it if the widget is not the focused window with RECEIVES_DEFAULT.
7288           This fixes weird double default bugs in dialogs which has things
7289           call gtk_window_set_default at times.
7290
7291 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
7292
7293         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
7294         Nils Barth and David Santiago to improve submenu
7295         navigation. The patch does this by creating a triangular
7296         region from the point where the pointer leaves the
7297         menu to the submenu.  While the pointer is in
7298         that region and a timeout has not expired, events 
7299         that would cause the active submenu to change are
7300         ignored.
7301
7302 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
7303
7304         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
7305         moving a toplevel window immediately after sizing it would
7306         result in it being sized back to the old size since 
7307         impl->width, impl->height aren't updated until we hear
7308         back from the server. There is still a (longstanding) bug
7309         here that gdk_window_get_size() will give the wrong size
7310         until we do hear back.
7311
7312 2000-08-31  Havoc Pennington  <hp@redhat.com>
7313
7314         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
7315         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
7316         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
7317         Rename GtkTextStyleValues to GtkTextAttributes
7318
7319 2000-08-31  Havoc Pennington  <hp@pobox.com>
7320
7321         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
7322         for rapid testing whether an iterator is the end iterator
7323         (gtk_text_btree_new): init end line cache
7324         (gtk_text_line_is_last): use fast cached line to 
7325         see if we're the last line.
7326         (get_last_line): use cached line here too, should 
7327         speed up some random unrelated code.
7328         
7329 2000-08-30  Havoc Pennington  <hp@pobox.com>
7330
7331         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
7332         signals.
7333
7334         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
7335         delete_text signals. This allows the signals to be used for
7336         implementing undo.
7337
7338         * gtk/gtktextbuffer.c: Change signal handler signatures; 
7339         provide "interactive" argument when emitting insert_text or
7340         delete_text signal.
7341         
7342 2000-08-30  Havoc Pennington  <hp@pobox.com>
7343
7344         * gtk/gtktextbuffer.c: Docs
7345
7346 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
7347
7348         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
7349         from switch statements, since Tor removed the enumeration
7350         value.
7351         
7352         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7353         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
7354
7355 2000-08-29 Elliot Lee <sopwith@redhat.com>
7356         * */*.h: Use G_GNUC_CONST.
7357
7358 2000-08-27  Havoc Pennington  <hp@pobox.com>
7359
7360         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
7361         minor indentation fixes, inserted some FIXME about stuff I
7362         realized was broken while documenting it.
7363         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
7364         GTK convention  
7365
7366 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
7367
7368         * gtk/testgtk.c (create_styles): Fix double free of
7369         font desc.
7370
7371 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7372
7373         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
7374         
7375         * gtk/testgtk.c (create_styles): Add a test for modifying
7376         the style through gtk_widget_modify_*.
7377
7378         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
7379         a function to get the current modifier style.
7380
7381         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
7382         of the passed in GtkRcStyle instead of ref'ing it.
7383
7384         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
7385
7386 2000-08-20  Tor Lillqvist  <tml@iki.fi>
7387
7388         * gdk/gdkimage.h
7389         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
7390         shared memory image+pixmap GdkImage type, or
7391         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
7392         I am dropping that.
7393
7394         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
7395         actually call gtk_init_abi_check(), passing also
7396         sizeof(GtkWindow). Ditto for gtk_init_check(). 
7397
7398         * gtk/gtk.def
7399         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
7400         New functions, used to check that the GTK+-using code has been
7401         compiled using the correct compiler and switches. In particular,
7402         with gcc one has to use the -fnative-struct switch as GTK+ is
7403         compiled with that.
7404
7405 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
7406
7407         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
7408         ->prev fields when merging lists. (Found simultaneously
7409         by Pawel Salek and Jakub Jelinek)
7410
7411 2000-08-12  Tor Lillqvist  <tml@iki.fi>
7412
7413         * gdk/gdk.def
7414         * gtk/gtk.def: Add missing entries.
7415
7416         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
7417         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
7418
7419         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
7420         function. Dummy implementation at this point.
7421
7422         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
7423         rules. Undefine GTK_COMPILATION when compiling the test programs.
7424         
7425         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
7426
7427 2000-08-11  Tor Lillqvist  <tml@iki.fi>
7428
7429         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
7430         to convert back and forth from UTF-8 and the "system" (or "current
7431         locale") charset when necessary. Indentation/spacing cleanup.
7432
7433 2000-08-10  Havoc Pennington  <hp@redhat.com>
7434
7435         * Makefile.am (snapshot): Change the format of the snapshot
7436         version to match glib
7437
7438         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
7439         from EXTRA_DIST since it doesn't seem to exist
7440
7441 2000-08-10  Tor Lillqvist  <tml@iki.fi>
7442
7443         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
7444         version of the directory name (not the UTF-8 one) when building
7445         the path name to stat().
7446
7447 2000-08-03  Elliot Lee  <sopwith@redhat.com>
7448
7449         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
7450         PANGO_ATTR_SHAPE set.
7451
7452 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
7453
7454         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
7455         Peter Osterlund to simplify the code while keeping the
7456         functionality the same.
7457
7458 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
7459
7460         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
7461         is_viewable() test further inside the function, since removing the 
7462         window from the redraw list without clearing ->update_area
7463         was also very broken.
7464
7465 2000-08-02  Tor Lillqvist  <tml@iki.fi>
7466
7467         * configure.in: Check for <unistd.h>.
7468
7469 2000-08-01  Martin Baulig  <baulig@suse.de>
7470
7471         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
7472         to display the message that this is a development version of GTK+.
7473
7474 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
7475
7476         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
7477         was depending on widget->allocation instead of the width of text_area,
7478         which was incorrect for subclasses like GtkSpinButton.
7479
7480         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
7481         with width == 1 tests that should be width == -1.
7482
7483 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
7484
7485         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
7486         (broken, Elliot, every single window blank on X) custom code with call
7487         to gdk_window_is_viewable() which a) prevents code duplicate and
7488         b) works. 
7489
7490 2000-07-31  Elliot Lee  <sopwith@redhat.com>
7491
7492         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
7493         to get the GDK_PARENT_ROOT() macro to work.
7494         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
7495         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
7496         of, windows that aren't shown.
7497         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
7498         pointer grab stuff.
7499
7500 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
7501
7502         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
7503           s/gtk_main_iteration/g_main_iteration/
7504
7505           Did this already in change:
7506                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
7507           don't know how it got reverted.
7508
7509 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
7510
7511         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
7512         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
7513
7514         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
7515         not gdk_pixbuf.
7516
7517 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
7518
7519         * configure.in,po/{sp,sr}.po: Added Serbian files
7520
7521 2000-07-30  Tor Lillqvist  <tml@iki.fi>
7522
7523         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
7524
7525         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
7526         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
7527         GIOChannel implementation.
7528
7529         * gdk/win32/gdkinput.c
7530         * gdk/win32/gdkpango-win32.c: Update license name here, too.
7531
7532         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
7533         definition to match prototype.
7534
7535         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
7536
7537 2000-07-27  Elliot Lee  <sopwith@redhat.com>
7538
7539         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
7540         function, to allow handling image formats that cannot be detected
7541         by looking at content alone.
7542
7543 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
7544
7545         * docs/tutorial/*.gif *.jpg *.eps
7546           Update these to the same look-n-feel.
7547           Why does including images in DocBook suck so badly?
7548
7549 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
7550
7551         * gtk/gtktable.c: applied patch from Phil Thompson
7552         <phil@river-bank.demon.co.uk> that enables space settings for
7553         the last row/columns as well.
7554
7555 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
7556
7557         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
7558         updates the license headers to the GNU Lesser General Public License,
7559         as well as updating the copyright year to 2000.
7560
7561 2000-07-26  Robert Brady  <rwb197@zepler.org>
7562
7563         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
7564           and po/Makefile, was installing and looking for them under gtk20
7565           and gtk2 respectively.
7566
7567 2000-07-25  Havoc Pennington  <hp@redhat.com>
7568
7569         * gtk/testtext.c: Comment out some stuff that depends on the rest
7570         of my patches.
7571
7572 2000-07-25  Havoc Pennington  <hp@redhat.com>
7573
7574         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
7575         buffer
7576
7577 2000-07-25  Havoc Pennington  <hp@redhat.com>
7578
7579         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
7580         widget changes.
7581
7582         * gtk/gtktextview.h: To be consistent with usage of "line"
7583         throughout the API to mean "newline-terminated thingy", change
7584         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
7585         to MOVEMENT_LINE.
7586
7587         (GtkTextView): Add flags for default editability, and whether to
7588         show the cursor. Add functions to get/set that. Add 
7589
7590         (gtk_text_view_get_iter_location): new function
7591
7592         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
7593         gtktextlayout.h
7594         (g_convert): Add g_convert temporarily, will go in glib in a bit
7595         
7596         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
7597         GtkTextTagTableForeach instead of brokenly using GHFunc.
7598         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
7599
7600         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
7601         moved to public header.
7602
7603         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
7604         "invisible", since "elide" was a bad name.
7605         (gtk_text_tag_get_priority): Added
7606
7607         (GtkTextStyleValues): put this in public header, along with
7608         functions to use it.
7609
7610         * gtk/gtktextmarkprivate.h: Include more headers, since we no
7611         longer include gtktextbtree.h.
7612
7613         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
7614         gtk_text_mark_deleted
7615
7616         * gtk/gtktextlayout.h: Don't include the "really private" headers,
7617         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
7618         to make this possible. Now we only need to install
7619         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
7620         (However the Makefile.am isn't changed yet because of the
7621         logistics of merging gtk-hp-patches piecemeal)
7622
7623         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
7624         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
7625         gtk_text_iter_get_line is now used in the public API for a
7626         different purpose.
7627
7628         * gtk/gtktextiter.h: Clean up function names to be more
7629         consistent. Always call char offset "offset" and byte index
7630         "index". A "line" is always a line number. 
7631
7632         (gtk_text_iter_is_last): new function, more efficient than 
7633         the existing way to check
7634         (gtk_text_iter_is_first): new function, also more efficient
7635
7636         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
7637
7638         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
7639         gtk_text_iter_forward_char, etc.
7640
7641         (gtk_text_iter_forward_to_tag_toggle): Renamed from
7642         forward_find_tag_toggle, since this isn't a linear search
7643
7644         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
7645
7646         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
7647         New functions, search for a buffer substring.
7648
7649         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
7650         interactive and default editable (since we need to store that info
7651         until we receive the selection data).
7652
7653         Remove all the _at_char and at_line etc. versions of functions;
7654         only have iterator versions.
7655
7656         Add _interactive() versions of functions, that consider the
7657         editability of text. (FIXME add interactive flag to the 
7658         insert/delete signals per Darin's suggestion)
7659
7660         (gtk_text_buffer_get_tag_table): new function, demand-creates the
7661         tag table if necessary
7662
7663         Remove declaration of gtk_text_buffer_get_iter_from_string
7664
7665         (_gtk_text_buffer_get_btree): private/internal function, added.
7666         
7667
7668         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
7669         (gtk_text_line_is_last): new function
7670
7671 2000-07-25  Havoc Pennington  <hp@redhat.com>
7672
7673         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
7674         using GtkProgressBar. See Changes-2.0.txt for details.
7675
7676         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
7677         "pulse_step" which are the equivalent of
7678         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
7679         Implement new API.
7680         
7681         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
7682         (use_text_format) to mark whether text set on the progress bar is
7683         a format string. Deprecate entire GtkProgress interface.
7684
7685         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
7686         (gtk_progress_build_string): make this a no-op if use_text_format
7687         is FALSE
7688
7689         * docs/Changes-2.0.txt: Describe progress bar changes.
7690
7691 2000-07-25  Tor Lillqvist  <tml@iki.fi>
7692
7693         * Makefile.am: Include the build directory.
7694
7695         * configure.in: Generate build/Makefile, build/win32/Makefile,
7696         gdk/, gdk/win32/, and gtk/makefile.mingw.
7697
7698         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
7699         Add GETTEXT_PACKAGE.
7700         
7701         * gdk/gdk.def
7702         * gtk/gtk.def: Updates.
7703
7704         * gdk/gdkfont.h
7705         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
7706         need them any longer.
7707
7708         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
7709
7710         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
7711         PANGOWIN32_LIBS and gdk_pixbuf.
7712
7713         * gdk/win32: Compiles, but no doubt doesn't work at all.
7714
7715         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
7716
7717         * gdk/win32/gdkinput.c: New file, temporarily.
7718         
7719         * gdk/win32/gdkinput-win32.h: New file
7720
7721         * gdk/win32/gdkinputprivate.h: Remove.
7722
7723         * gdk/win32/gdkpango-win32.c: New file.
7724
7725         * gtk/makefile.mingw.in: New file
7726
7727         * gtk/makefile.cygwin: Removed
7728         
7729         * gtk/Makefile.am: Update accordingly.
7730
7731         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
7732         made externally visible.
7733
7734         * gtk/gtkmain.c: Use it.
7735         
7736         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
7737         is enough.
7738
7739         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
7740
7741 2000-07-24 Elliot Lee <sopwith@redhat.com>
7742         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
7743         individual backends already.
7744         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
7745         again. Yes, there really is a good reason for this, if you are using the gdkregion
7746         internals, and if you're not, why do you care?
7747         * gdk/gdkwindow.c: Fix inverted condition
7748         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
7749         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
7750         * gtk/gtkrange.c: Redraw trough when moving.
7751         * gtk/gtktypeutils.c: Fix warning by adding const cast.
7752         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
7753
7754 2000-07-23  Tor Lillqvist  <tml@iki.fi>
7755
7756         * configure.in: Check for mkstemp and sigsetjmp. Output
7757         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
7758
7759         More work on GDK for Win32. Still in an intermediate state.
7760
7761         * gdk/makefile.cygwin
7762         * gdk/win32/makefile.cygwin: Removed.
7763         
7764         * gdk/makefile.mingw.in
7765         * gdk/win32/makefile.mingw.in: New files.
7766
7767         * gdk/Makefile.am
7768         * gdk/win32/Makefile.am: Generate and distribute them.
7769
7770         * gdk/win32/gdkwindow-win32.h
7771         * gdk/win32/gdkdrawable-win32.h
7772         * gdk/win32/gdkpixmap-win32.h: New files.
7773
7774         * gdk/win32/gdkcolor-win32.c
7775         * gdk/win32/gdkcursor-win32.c
7776         * gdk/win32/gdkdrawable-win32.c
7777         * gdk/win32/gdkgc-win32.c
7778         * gdk/win32/gdkimage-win32.c
7779         * gdk/win32/gdkprivate-win32.h
7780         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
7781         Rename fields and variables called xcursor, xid, etc (these names
7782         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
7783
7784 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
7785
7786         * gtk/gtkentry.[ch]: Fix some problems with vertical
7787         alignment.
7788
7789         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
7790         char/byte confusion.
7791
7792 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
7793
7794         * gtk/gtktextview.c (changed_handler): Fix bug where
7795         redraw wasn't being done properly when height of
7796         dirty region changed.
7797
7798         * demos/Makefile.am: Remove various references to
7799         -lgmodule
7800
7801 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
7802
7803         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
7804         PangoAttrShape to reserve space for pixmaps, add 
7805         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
7806         in the display functions.
7807         
7808         * gtk/testgtk.c (create_layout): Set some more exotic
7809         scrolled window options
7810
7811         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
7812         Add function to set the shadow type of a window, to allow
7813         putting a shadow around widgets such as GtkLayout or GnomeCanvas
7814         which don't draw their own frame.
7815
7816 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
7817
7818         * docs/tutorial/package-db-tutorial.sh: New file for
7819           packaging DocBook format tutorial
7820
7821 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
7822
7823         * docs/tutorial/gtk-tut.sgml: Minor updates
7824
7825         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
7826
7827 2000-07-19  Tor Lillqvist  <tml@iki.fi>
7828
7829         * gtk/gtksignal.c: Fix C++ comment.
7830
7831         * gtk/gtkimmulticontext.c
7832         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
7833         don't return value from void functions.
7834
7835         * gtk/gtk.def: Add gtk_rc_style_unref.
7836
7837 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7838
7839         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
7840         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
7841         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
7842         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
7843         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
7844         gtk/gtktypeutils.h: Include files outside of the extern "C"
7845         block. Makes some C++ compiler happy. Reported by Denis Vakatov
7846         <vakatov@peony.nlm.nih.gov>.
7847
7848 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
7849
7850         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
7851           Completes first pass. Hurrah!
7852
7853 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
7854
7855         * docs/tutorial/gtk-tut.sgml: More clean ups.
7856
7857 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
7858
7859         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
7860         paint the background of the text area which was accidentally
7861         removed at some point.
7862
7863         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
7864           
7865          - Move most of the functionality from the theme vtable
7866            into GtkRcStyleClass and GtkStyleClass. The moved
7867            vtable functions were changed a bit in the move to
7868            work better in their new home.
7869
7870          - Get rid of the engine and engine_data fields from
7871            GtkRcStyle and GtkStyle; instead the theme
7872            engine derives theme-specific subclasses of GtkRcStyle
7873            and GtkStyle
7874
7875          - Add extra dlsym() found entry point to themes,
7876            theme_create_rc_style().
7877
7878         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
7879         in gtk_style_real_copy.
7880
7881         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
7882         to register a type associated with an engine. (The engine
7883         won't be unloaded as there is an instance of the type.)
7884
7885
7886 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
7887
7888         * docs/tutorial/gtk-tut.sgml: Clean ups.
7889
7890 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
7891
7892         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
7893           of cleaning up to do.
7894
7895 2000-07-15  Tor Lillqvist  <tml@iki.fi>
7896
7897         * gdk/testgdk.c: New file, quick hack to test backends for
7898         pixel-by-pixel correctness of the most simple graphic operations.
7899
7900 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
7901
7902         * Really release 1.3.1
7903         
7904         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
7905         include structure.
7906
7907 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
7908
7909         * Released 1.3.1
7910
7911 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
7912
7913         * gtk/gtktextlayout.c: use FALSE for size_only most
7914         of the time when calling gtk_text_layout_get_line_display()
7915         to avoid causing double reshapes when a redraw follows
7916         immediately after.
7917
7918 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
7919
7920         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
7921         appropriate region and gdk_window_process_updates() so trough
7922         updating doesn't lag behind the window being scrolled.
7923
7924         * gdk/gdkgc.c: Make parent_class pointer static.
7925          
7926 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
7927
7928         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
7929         include <string.h>.
7930          
7931         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
7932         cut-and-paste error in computing memory offset for 4 channels.
7933
7934 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
7935
7936         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
7937         gtk_rc_append_default_pixmap_path(), since it wasn't
7938         adding an interesting path and we don't have a meaningful
7939         default for this value.
7940
7941 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
7942
7943         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
7944         gtk-config to gtk-config-2.0 move gtk_.m4 to
7945         gtk-2.0.m4
7946
7947         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7948         gdk/Makefile.am demos/Makefile.am: Change 
7949         library names to libgtk-1.3.la, etc, so that we
7950         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
7951
7952         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7953         gdk/Makefile.am gdk/x11/Makfile.am
7954         Move include files into /usr/include/gtk-2.0, 
7955         /usr/lib/gtk-2.0/include/
7956          
7957         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
7958         gtk/gtkintl.h: Change package for gettext from 
7959         gtk+ to gtk20. Put hack in autogen.sh to modify
7960         po/Makefile.in.in after gettextize to make this
7961         possible.
7962
7963         * gtk+.spec: Some updates, not tested.
7964
7965         * gdk-pixbuf/Makefile.am: Move loaders into
7966         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
7967
7968         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
7969         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
7970         to THEMENAME/gtk-2.0/. Move engine directory  to
7971         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
7972         
7973 2000-07-12  Tor Lillqvist  <tml@iki.fi>
7974
7975         Win32 changes, still doesn't build though.
7976
7977         * gdk/makefile.cygwin
7978         * gdk/win32/makefile.cygwin
7979         * gtk/makefile.cygwin: Updates.
7980
7981         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
7982         default values for fg and bg pixel as X11 does (0 and 1), not
7983         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
7984         Use 0 for pen width by default (treated as 1 anyway later, but for
7985         apps that might check the value in the GdkGC).
7986         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
7987         interface to gdk_gc_predraw and _postdraw.
7988
7989         * gdk/win32/gdkwin32.h
7990         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
7991
7992         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
7993         extraneous semicolon.
7994
7995         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
7996
7997         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
7998         not the Win32 bitspixel value.
7999
8000         * gdk/win32/gdkcc-win32.c:
8001         * gdk/win32/gdkcolor-win32.c 
8002         * gdk/win32/gdkprivate-win32.h
8003         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
8004         GDK object structure.
8005
8006 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
8007
8008         * docs/tutorial/gtk_tut_12.es.sgml (name): 
8009         * docs/tutorial/gtk_tut_it.sgml (name): 
8010         * docs/tutorial/gtk_tut_fr.sgml (name): 
8011         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
8012         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
8013
8014 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
8015
8016         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
8017           small changes.
8018
8019 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
8020
8021         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
8022         a bug here, never been here and never fixed anything ;(
8023         (don't segfault if tree->root_tree is NULL, which happens prior
8024         to widget realization, but puke instead).
8025
8026 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
8027
8028         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
8029         add the necessary tokens.
8030
8031         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
8032         (gtk_rc_style_to_style): copy thicknesses.
8033         (gtk_rc_init_style): apply thicknesses.
8034         (gtk_rc_parse_style): parse xthickness and ythickness.
8035
8036         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
8037
8038         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
8039         (gdk_window_new): 
8040         (_gdk_windowing_window_init): 
8041         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
8042         (gdk_pixmap_create_from_data): 
8043         (gdk_bitmap_create_from_data): 
8044         (gdk_pixmap_new): 
8045         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8046         (gdk_image_new): 
8047         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
8048         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
8049         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
8050         (gdk_colormap_get_system): 
8051         (gdk_colormap_new): 
8052         * gdk/gdkwindow.c (gdk_window_init): 
8053         * gtk/gtkstyle.c (gtk_style_new):
8054         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
8055         * gdk/gdkpixmap.c (gdk_pixmap_init): 
8056         * gtk/gtkrc.c (gtk_rc_style_new):
8057         use g_object_new() instead of g_type_create_instance() which
8058         is a private function for fundamental type implementations.
8059
8060 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
8061
8062         * configure.in: Add check for db2html
8063
8064 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
8065
8066         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
8067         hack to set glib_debug_objects based on gtk_debug_flags.
8068
8069 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
8070
8071         * INSTALL.in: Update the Prerequisites section.
8072
8073         * Makefile.am demos/Makefile.am docs/Makefile.am
8074         docs/tutorial/Makefile.am gdk/x11/Makefile.am
8075         gdk/linux-fb/Makefile.am: Dist fixes
8076
8077 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
8078
8079         * NEWS: 10,000 foot view of 1.3.1 changes.
8080
8081 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
8082
8083         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
8084         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
8085         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
8086         gdk/x11/gdkmain-x11.c: 
8087
8088         Patch from George Lebl to add a GdkGrabStatus enumeration to use
8089         as a return value of gdk_*_grab(). Previously, we just
8090         returned the X11 values directly.
8091
8092 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
8093
8094         * gdk/x11/Makefile.am: Patch from George Lebl to 
8095         install all the headers in the right place.
8096
8097 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
8098
8099         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
8100           initial conversion to DocBook.
8101
8102 2000-07-04  Tor Lillqvist  <tml@iki.fi>
8103
8104         * README.win32: Improve a bit.
8105
8106         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
8107         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
8108         Alt+0nnn on the numpad (used to enter characters by numeric code
8109         from current DOS or ANSI codepage) working correctly, as in other
8110         Windows apps.
8111
8112         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
8113         same argument validity tests as in X11 version.
8114         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
8115
8116         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
8117         definitions in case missing from headers.
8118
8119         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
8120         destroy the window-specific cursor.
8121         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
8122         calling GetModuleHandle(NULL).
8123         (gdk_window_set_cursor): Reworked to always copy the passed cursor
8124         with CopyCursor before setting it as the window-specific
8125         cursor. It is OK for the caller to destroy the GdkCursor (and thus
8126         also its Windows cursor) after calling this function. Destroy any
8127         previous window-specific cursor.
8128
8129 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
8130
8131         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
8132         font charset is iso8859-1, not iso-8859-1.
8133
8134 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
8135
8136         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
8137         Use g_get_charset() instead of g_get_codeset().
8138
8139         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
8140         Comment out some strdup'ing functions to keep timj
8141         happy until we finish fighting this out.
8142
8143 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
8144
8145         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
8146         <= width or height.
8147
8148         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
8149         from 1.2 for parent/child states.
8150
8151         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
8152         of typos.
8153
8154         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
8155         event structures, replace with a generic axes field. Replace 
8156         deviceid/sourec with GdkDevice *device.
8157
8158         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
8159         to extract particular axis use value from event. (Also
8160         can be used for normal X/Y.)
8161
8162         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
8163         allow for arbitrary number of axes, namespace everything
8164         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
8165         everywhere.
8166
8167         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
8168         Get rid of the gdk_input_vtable setup if favor of simply
8169         defining the functions in gdkinput-none/gxi/xfree.c in
8170         a similar fashion to the way that the port structure is 
8171         done.
8172
8173         * gtk/gtkdnd.c: Fix fields of synthesized button press event
8174         for new event structures. 
8175
8176         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
8177         new device interfaces.
8178
8179 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
8180
8181         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
8182         set the initial text.
8183
8184         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
8185         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
8186         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
8187         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
8188
8189         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8190         pango_layout_set_font_description to simplify.
8191
8192 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
8193
8194         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8195         pango_layout_set_font_description to simplify.
8196
8197 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
8198
8199         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
8200         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
8201         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
8202
8203         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
8204         PANGO_PIXELS() macro.
8205
8206 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
8207
8208         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
8209         that returns a PangoContext owned by the widget and updated to
8210         match future changes in the widget. Also, make 
8211         gtk_widget_create_pango_layout() use this context. If we ever
8212         add a ::changed signal to PangoContext, this will make things
8213         much more convenient. 
8214
8215         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
8216         in the appropriate places instead of destroying the layouts and
8217         creating new ones.
8218
8219         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
8220         in a few strategic places.
8221
8222 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
8223
8224         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
8225         gtk_widget_size_request() on reparented child, if one. Otherwise,
8226         queue_resize() on the child never results in it getting size-requested
8227         at all.
8228
8229         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
8230         in option menus, so that (with luck) people won't copy it into
8231         their apps in the future.
8232
8233         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
8234         to gtk_option_menu_calc_size. This isn't perfect, but should fix
8235         a lot of problems with changing the size of the menu's menu
8236         items after adding it to the option menu.
8237
8238         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
8239
8240         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
8241         the text direction for a widget changes.
8242
8243         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
8244         ::direction_changed to get rid of various hacks.
8245
8246 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
8247
8248         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
8249         name.
8250
8251 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
8252
8253         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
8254         flag to the structure. Do not call XFreePixmap on pixmaps created
8255         by gdk_pixmap_foreign_new().
8256
8257 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
8258
8259         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
8260         value using GdkRGB functionality given GdkColormap and GdkColor.
8261         (name not final, waiting for inspiration.)
8262         
8263         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
8264         set the foreground/background of a GC using the GC's colormap
8265         and GdkRGB. (name not final, waiting for inspiration.)
8266
8267         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
8268         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
8269
8270         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
8271         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
8272         purely a function of the corresponding colormap. Make
8273         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
8274
8275         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
8276         gdk_pixbuf_*create_from_xpm_* in terms of
8277         gdk_pixbuf_new_from_xpm_data(), move into platform independent
8278         code.
8279
8280         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
8281         advantage of the new draw_rgb_32_image_dithalign.
8282
8283         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
8284
8285         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
8286         on each created GC.
8287
8288         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
8289
8290         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
8291         which we initialize from the drawable when the GC is created,
8292         if the drawable has a colormap.
8293
8294         * gdk/x11/gdkgc-x11.c: include string.h for memset.
8295
8296         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
8297
8298         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
8299
8300 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
8301
8302         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
8303         actually returning expose events, make sure to set
8304         the count field properly.
8305
8306         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
8307         accidentally reintroced bug which always cleared
8308         the graphics_exposures value. 
8309
8310 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
8311
8312         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
8313
8314 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
8315
8316         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
8317
8318 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
8319
8320         * docs/faq/gtk-faq.sgml: Start of Section 6.
8321
8322 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
8323
8324         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
8325         
8326         (Fixes problem with drawing childless frames. Pointed out
8327         by and a first patch from Anders)
8328         
8329         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
8330         compute a child_allocation, even if we don't have a child.
8331
8332         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
8333         Always chain to the parent's impl, even if we don't have a child.
8334
8335 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8336
8337         * gdk/gdkrgb.c: If possible, create only a single shm segment and
8338         use multiple parts of it instead of creating a bunch of separate
8339         segments, since the maximum number of segments per system is not
8340         large. (This might be worth backporting to GTK+-1.2.x if we make a
8341         new release )
8342
8343         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
8344         structure in preparation for per-colormap GdkRGB.
8345
8346         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
8347         to False when we get EINVAL from shmget so that the caller of
8348         gdk_image_new can retry with a smaller segment size.
8349
8350 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
8351
8352         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
8353
8354 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
8355
8356         * configure.in: make the current version number 1.3.1 (binary age 0,
8357         interface age 0).
8358         
8359         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
8360         gtkcompat.h is all we want.
8361
8362         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
8363         GLib primitive types. fixed g_type_register_fundamental() argument
8364         ordering.
8365
8366         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
8367         compiles.
8368
8369         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
8370         object code cleanup, comment trigraph fixes, etc...
8371
8372 2000-06-23  Havoc Pennington  <hp@redhat.com>
8373
8374         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
8375         instead of making up a bogus name for first_para_mark
8376
8377         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
8378         0 as a context ID
8379
8380 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
8381
8382         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
8383
8384 2000-06-21  Havoc Pennington  <hp@pobox.com>
8385
8386         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
8387         we didn't check window->bg_pixmap != GDK_NO_BG.
8388
8389         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
8390         gdk-pixbuf
8391
8392 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
8393
8394         * docs/faq/gtk-faq.sgm: Move file to here.
8395           TODO: Update Makfile.am 
8396
8397 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
8398
8399         * docs/gtk-faq.sgm: Add Section 2
8400
8401 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
8402
8403         * docs/gtk-faq.sgm: New file. Start of DocBook
8404           version of the FAQ.
8405
8406 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
8407
8408         * configure.in (GDK_PIXBUF_MAJOR): Define version
8409         numbers for GDK_PIXBUF_*, as they get substituted
8410         into a header file. Need to consider versioning
8411         for gdk-pixbuf more carefully later.
8412
8413 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
8414
8415         Work with srcdir != builddir.   
8416         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
8417         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
8418         * demos/testpixbuf.c: Likewise.
8419         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
8420         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
8421         <gdk/x11/gdkx.h>.
8422         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
8423         "gdk-pixbuf.h".
8424         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
8425
8426 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
8427
8428         * TODO.xml: Change 1.4 version numbers to 2.0.
8429
8430 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
8431
8432         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
8433         fixups to GTK+ standard.
8434
8435 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
8436
8437         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
8438         gdk-pixbuf.
8439
8440         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
8441         fixups for GObject.
8442
8443         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
8444         gdk-pixbuf with GDK dependencies moved into GDK.
8445         
8446         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
8447         move gdk-pixbuf-loader here until GObject has signals.
8448
8449         * demos/: New directory of demos. Move demos from
8450         gdk-pixbuf here.
8451
8452         * demos/pixbuf-init.c: Small bit of code to check for
8453         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
8454         set GDK_PIXBUF_MODULEDIR appropriately.
8455
8456         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
8457         define which no longer makes sense.
8458
8459 2000-06-21  Havoc Pennington  <hp@redhat.com>
8460
8461         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
8462         gtk_get_default_language
8463
8464         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
8465         new function to get the default language
8466
8467         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
8468         s/gtk_text_view_style_values/gtk_text_style_values/
8469
8470         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
8471         Add a "language" field to tags.
8472
8473         (gtk_text_tag_set_arg): Fix bug in setting
8474         "bg_full_height_set" tag.
8475
8476 2000-06-21  Havoc Pennington  <hp@redhat.com>
8477
8478         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
8479         in the interfaces
8480
8481         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
8482         stuff instead when possible.
8483
8484         * gtk/gtktexttypes.h: Delete some unused constants
8485
8486         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
8487         testtextbuffer.c: use glib instead of custom unicode routines
8488
8489 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
8490
8491         * docs/es/: Removed mistakenly added generated sgml
8492
8493         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
8494         Remove outdated info files.
8495
8496         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
8497         Moved tutorial files into subdir
8498
8499         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
8500         subdir.
8501
8502         * docs/man/gtk_button.pod: Remove. (contents will be
8503         integrated into gtk-reference button page.)
8504
8505         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
8506         docs/faq/Makefile.am: Adjust for new organization
8507
8508 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
8509
8510         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
8511         not $(MKINSTALLDIRS)
8512
8513 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
8514
8515         * gtk/testgtk.c (create_text): Finish the job Elliot started
8516         of removing font setting test for text widget. (Since text widget
8517         and GdkFont are not deprecated, and cause portability problems.)
8518
8519 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
8520
8521         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
8522         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
8523         Remove use of libunicode in favor of new GLib functions.
8524
8525         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
8526         nano-x, framebuffer. The X11 include is just a hack until we get
8527         the necessary functions in gdkcolor.h, so there is no reason to
8528         add other includes of platforms.
8529
8530         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
8531         window bigger than the screen change.
8532
8533         * gtk/testgtk.c: Revert some random changes from Elliot
8534         that had no particular point and were causing testgtkrc
8535         not to function correctly.
8536         
8537         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
8538         because GdkSegment and GdkRegionBox have the same fields,
8539         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
8540         results in clearer code.
8541
8542         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
8543         gdk_input_translate_coordinates): Fix missed GdkObjectification
8544
8545 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8546
8547         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
8548         * gtk/gtk{plug,socket}.h: Missed commits from previous.
8549
8550 2000-06-20  Havoc Pennington  <hp@redhat.com>
8551
8552         * modules/linux-fb/Makefile.am: Make this compile
8553         without framebuffer enabled
8554
8555         * gdk/linux-fb/Makefile.am: Add conditional to not build
8556         framebuffer unless specified in configure
8557
8558         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
8559         the size of the target instead of source if -1 was passed for
8560         width/height
8561
8562         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
8563         width/height confusion.
8564
8565 2000-06-19  Havoc Pennington  <hp@redhat.com>
8566
8567         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
8568         GDK_DRAWABLE_XID. In the future, we probably want to make it
8569         faster with G_DISABLE_CHECKS turned on.
8570
8571 2000-06-14  Havoc Pennington  <hp@redhat.com>
8572
8573         * gdk/Makefile.am: add gdkpixmap.c
8574
8575         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
8576         s/gdk_image_init/_gdk_windowing_image_init
8577
8578         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
8579         ref/unref
8580
8581         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
8582
8583         * gdk/gdkcompat.h: remove GdkWindowType compat, since
8584         GdkWindowType is now non-deprecated; 
8585         change gdk_window_get_type() compat to be
8586         gdk_window_get_window_type().
8587
8588         * gdk/gdkdnd.h: make GdkDragContext a GObject.
8589
8590         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
8591         virtual GObject. Make all functions call into the vtable.
8592         Move gdk_image_put() guts in here. Remove GdkDrawableType
8593         and gdk_drawable_get_type(), these are now GdkWindow-specific.
8594         draw_image, get_depth, get_size, set_colormap, get_colormap,
8595         get_visual added to the vtable.
8596         
8597         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
8598         GObject. Virtualize everything. 
8599         (gdk_gc_new_with_values): remove check for destroyed window,
8600         because now GdkWindow::create_gc will check this.
8601         (gdk_gc_set_values): New function to set GC values, this 
8602         was already implemented but wasn't in the header
8603
8604         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
8605
8606         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
8607         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
8608         remove _gdk_window_class; add _gdk_window_impl_get_type() and
8609         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
8610         _gdk_windowing_window_init, rename gdk_image_init to
8611         _gdk_windowing_image_init.
8612         
8613         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
8614         (gdk_draw_layout): Remove check for destroyed window, 
8615         because all the drawable methods already check it.
8616         
8617         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
8618         Add gdkpixmap.c which contains implementation of GdkDrawable
8619         virtual table (by chaining to a platform-specific implementation
8620         object).
8621         
8622         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
8623         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
8624         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
8625         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
8626         GdkColormapPrivate. 
8627
8628         * gdk/gdktypes.h: #include <glib-object.h>
8629
8630         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
8631         Move most functionality to platform-specific implementation
8632         object. GdkWindow itself now handles the backing store, then
8633         chains to the platform-specific implementation.
8634         (gdk_window_get_window_type): return GdkWindowType of the window.
8635         (gdk_window_peek_children): New routine, returns the children of 
8636         a GdkWindow
8637         (gdk_window_get_children): Was in X11-specific code and did 
8638         XQueryTree. Changed to simply return a copy of window->children; 
8639         so it can go in cross-platform code.
8640         
8641         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
8642
8643         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
8644         GdkColormap; just changed to use the new private data instead
8645         of casting to GdkColormapPrivate.
8646
8647         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
8648         gdk_cursor_new().
8649
8650         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
8651         (private data member in the GObject). 
8652         (xdnd_manager_source_filter): Function had broken 
8653         error handling, fix it (use gdk_error_trap_push).
8654
8655         * gdk/x11/gdkdrawable-x11.c: This file now implements
8656         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
8657         base class is purely for the convenience of the X port,
8658         and not part of the interface to cross-platform GDK.
8659
8660         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
8661         
8662         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
8663         specific to X, and returned by the create_gc virtual method
8664         of GdkDrawableImplX11. 
8665         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
8666         rather than gchar, this was also changed in the GdkGC vtable.
8667         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
8668         mask is 0, return immediately, instead of checking every flag.
8669         This is faster, and keeps us from segfaulting if values is NULL
8670         and the mask contains some nonzero flags.
8671
8672         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
8673         GdkWindow.
8674
8675         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
8676         GdkWindowPrivate is gone.
8677
8678         * gdk/x11/gdkim-x11.c: rename things that got renamed.
8679
8680         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
8681         remove the image_put stuff that got transferred to GdkDrawable.
8682         
8683         * gdk/x11/gdkinput.c: renamings
8684
8685         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
8686
8687         * gdk/x11/gdkpixmap-x11.c: GObject conversion
8688
8689         * gdk/x11/gdkprivate-x11.h: indentation fixes
8690
8691         * gdk/x11/gdkproperty-x11.c: renamings
8692
8693         * gdk/x11/gdkselection-x11.c: renamings
8694
8695         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
8696         implements the platform-specific "impl" object.
8697         Moved gdk_window_get_children to gdk/gdkwindow.c
8698
8699         * gdk/x11/gdkx.h: Remove all the private structs and private datas
8700         that no longer exist. Add declaration of GdkGCX11 object here.
8701         Fix all the macros to still work. 
8702
8703         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
8704         GdkDragContext from the boxed types since they are now GObjects.
8705
8706         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
8707         moved xthickness/ythickness into the instance. GtkStyleClass
8708         functions are now in the standard vtable for GtkStyle, so you have
8709         to create a GObject subclass to write a theme engine.
8710         (gtk_style_copy): fixed a leaked PangoFontDescription
8711         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
8712         can be the standard GObject function.
8713         
8714         * Throughout GTK:
8715         s/style->klass->[xy]thickness/style->[xy]thickness
8716         s/pango_layout_unref/g_object_unref/
8717
8718         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
8719         
8720         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
8721         accessing GDK internals.
8722
8723         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
8724         accessing GDK internals.
8725
8726 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8727
8728         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
8729
8730         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
8731         problem by calculating event position relative to the trough
8732         rather than the slider.
8733         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
8734
8735         * gdk/gdkgc.h: Add GDK_NOR.
8736
8737         * configure.in, Makefile.am: Add modules top level dir
8738         * configure.in: Only use pangox library if building x11 target.
8739         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
8740
8741 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8742
8743         * gtk/gtkcolorsel.c: Change private class member to be named
8744         private_data throughout the file.
8745
8746         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
8747         private_data to avoid clashing with keyword.
8748
8749 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8750
8751         * gdk/gdkdnd.h: Add comment to remove warning.
8752
8753 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
8754
8755         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
8756         Byelorussian language; changed the Makefile and file names 
8757         to reflect that.
8758
8759 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
8760
8761         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
8762         rather than gdk_window_hide; this makes things work
8763         correctly if the window is programmatically hidden while
8764         iconified.
8765
8766 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
8767
8768         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
8769         cut and paste typo where wrong pixmap was being
8770         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
8771
8772 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
8773
8774         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
8775         Add helper function to compute format / bytes 
8776         relationship. Use in a couple places to fix up
8777         errors which assume 8 * format.
8778
8779         * gtk/gtkselection.c (gtk_selection_request): Use 32
8780         rather than 8 * sizeof (GdkAtom), to work correctly
8781         on Alpha.
8782
8783 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
8784
8785         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
8786         libgtk.la
8787         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
8788         versions
8789
8790         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
8791         checking macros return NULL since the function has a return value.
8792
8793 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
8794
8795         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
8796         GTK+ from building at all.
8797
8798         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
8799
8800 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
8801
8802         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
8803         gtk/Makefile.am: make it possible to configure gtk for different
8804         targets on the same platform. The library name is now 
8805         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
8806         flag. Only the x11 target compiles right now.
8807         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
8808         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
8809         * gdk/nanox/gdk*generic*: delete generic region code.
8810         * gdk/linux-fb/gdk*generic*: delete generic region code.
8811         * README.nanox: update information.
8812         
8813 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
8814
8815         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
8816         prepend not append. (Pointed out by Brett Hall.)
8817
8818 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
8819
8820         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
8821
8822 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
8823
8824         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
8825         need this later, and this makes sure that the atexit for
8826         glib gets called after that for GDK, so atexits are
8827         properly ordered for object leak checking.
8828
8829         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
8830
8831         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
8832         pango_x_shutdown_display()
8833
8834         * gtk/simple.c (main): Close window on destroy.
8835
8836 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
8837
8838         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
8839         to treat initial creation different from setting with 
8840         regards to the graphics-exposures parameter, so add a parameter
8841         indicating whether this is initial or not.
8842
8843 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
8844
8845         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
8846         to sort of work by adding an extra return_exposes arg
8847         to gdk_event_translate() - it might be better to simply
8848         deprecate the function altogether and force people to rewrite
8849         without it. gdk_window_scroll() handles most of it, and where
8850         gdk_window_scroll() doesn't work, simply redrawing more does.
8851
8852         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
8853         assertion.
8854
8855         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
8856
8857         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
8858         bunch of pretty much useless /* Print debugging info */ comments 
8859         which had drifted away from the code they were commenting.
8860
8861 2000-06-02  Havoc Pennington  <hp@pobox.com>
8862
8863         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
8864         is in working order.
8865         
8866         * gtk/testtext.c: Change to reflect anonymous mark API
8867
8868         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
8869
8870         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
8871         field, which was unused.
8872
8873         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
8874         saves some typing.
8875
8876         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
8877
8878         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
8879         flag on the insertion point and selection bound
8880
8881         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
8882         make mark-manipulation functions take a GtkTextMark* instead of a
8883         mark name.
8884         
8885         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
8886         GtkTextMarkBody; will be used to detect attempts to delete
8887         the permanent marks (insert and selection bound)
8888
8889         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
8890
8891 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
8892
8893         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
8894         flag to on.
8895
8896         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
8897         Honor DOUBLE_BUFFRED_FLAG
8898
8899         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
8900         function to set the DOUBLE_BUFFERED flag.
8901
8902         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
8903         or not exposes done on the widget should be double-buffered.
8904
8905         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
8906         to be what would be expected. (Fixes problem with a
8907         g_return_if_fail() validating a TextDirection enumeration)
8908
8909 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
8910
8911         * gtk/gtkwidget.c: Remove all references to 
8912         offscreen flag which was no longer used.
8913
8914         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
8915
8916         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
8917         for non-null label_widget->parent.
8918
8919         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
8920         which no longer was used.
8921
8922         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
8923
8924         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
8925         for null arguments.
8926
8927         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
8928         check for destroyed windows.
8929
8930 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
8931
8932         * gtk/gtkimmulticontext.c: Add a finalize method and unref
8933         the slave context there.
8934
8935         * gtk/gtkinvisible.[ch]: Make reference counting behavior
8936         identical to GtkWindow.
8937
8938 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
8939
8940         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
8941         pangox to here, so we can write them independent of rendering
8942         system, using GDK primitives.
8943
8944         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
8945         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
8946         since we have a rendering-system independent implementation in
8947         terms of draw_glyphs().
8948         
8949         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
8950         function to render a single line.
8951
8952         * gdk/x11/gdkpango.c: Move the guts of this file mostly
8953         into ../gdkpango.c, which simplifies things, since we
8954         don't have to deal with raw X gc's.
8955
8956 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
8957
8958         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
8959         get the logical attributes for a given GtkTextLine.
8960
8961 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
8962
8963         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
8964         g_locale_get_codeset() to g_get_codeset() change.
8965
8966 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
8967
8968         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
8969         descriptions.
8970
8971         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
8972         the entry.
8973
8974         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
8975         redoing (vastly simplifying) for Pango. Still needs quite
8976         a bit of work. (Size selection is currently poor. List of 
8977         predefined sizes is not a good idea, since all of these
8978         sizes won't necessarily be distinct.)
8979
8980 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
8981
8982         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
8983         CODESET results for LANG=C.
8984
8985 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
8986
8987         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
8988         which takes a stringized pango font description;
8989         ignore the older 'font' and 'fontset' declarations.
8990
8991         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
8992         field with a GdkFont derived via gdk_font_from_description(),
8993         for compatibility. (Should we just remove it entirely?
8994         Probably too much compatibility breakage, but people
8995         should be migrating to the new Pango stuff as quickly
8996         as possible.)
8997
8998 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
8999
9000         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
9001
9002 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
9003
9004         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
9005         redoing; there are some bugs in size allocation right
9006         now, the semi-existant distinction between header / day
9007         fonts was removed, but, with Pango, could actually
9008         be made functional in a nice way.
9009         
9010         * gtk/testcalender: Move calender from examples into this
9011         directory as a test program. (We really need to restrcture
9012         testgtk into a whole directory full of tests for every
9013         widget or functionality group, separated into multiple .c
9014         files.)
9015
9016 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
9017
9018         * gtk/testgtk.c (file_exists): Fix stupid typo that
9019         was keeping RC file from being loaded.
9020
9021         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
9022         RC file font code.
9023
9024 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
9025
9026         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
9027         Add function to load a GdkFont from a PangoFontDescription.
9028
9029 2000-05-29  Tor Lillqvist  <tml@iki.fi>
9030
9031         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
9032         variable should be of type GdkEventPrivate.
9033
9034 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
9035
9036         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
9037         to have any widget for the label, use a GtkLabel widget
9038         to display the text. (Based partially on a patch from
9039         Anders Carlson.)
9040
9041         (Quite a bit of code reorganization - strip 90% of the
9042         guts out of gtkaspectframe and add a single virtual
9043         func to GtkFrameClass - compute_child_allocation.)
9044
9045 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
9046
9047         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
9048         (Removed clist->row_center_offset field because caching
9049         it wasn't saving time or code, added private function
9050         _gtk_clist_create_cell_layout()).
9051
9052 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
9053
9054         * gtk/gtkaccellabel.c: Pangoized.
9055
9056         * gtk/[hv]ruler.c: Pangoized
9057
9058 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
9059
9060         * gtk/gtkfilesel.c (gtk_file_selection_init):
9061         Use gtk_clist_set_column_auto_resize() to remove need
9062         need for manual column width computations.
9063
9064 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
9065
9066         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
9067         ensuring Pango correctness, and considerably simplifying the
9068         code.
9069         
9070         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
9071
9072         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
9073         getting of numbers of lines.
9074
9075         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
9076         to the actual requested width of the lable, not to the wrap
9077         width we set.
9078
9079         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
9080
9081         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
9082           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
9083
9084         * gtk/gtktextview.c: Fix structure inheritance.
9085
9086         * gtk/gtkprogressbar.c: Pangoize.
9087
9088 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
9089
9090         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
9091         in a function.
9092
9093         * gtk/gtktextlayout.c (find_display_line_above): Fixed
9094         bug with computing line tops.
9095
9096         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
9097
9098 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9099
9100         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
9101         and y_offset coordinates to do what we need now. (The offset between
9102         buffer and layout coordinates has been reintroduced, but is a 
9103         bit different than before.)
9104
9105         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
9106         handle the adjustments ourselves, and scroll as necessary using
9107         the new gdk_window_scroll().
9108         
9109         The advantage of this is that when we are incrementally revalidating,
9110         we are essentially rearranging things around the visible portion
9111         of the screen. With the old setup, the visible portion of the
9112         screen was moved around in the layout, so scrolling and redrawing
9113         to track that caused jumping of the display. Since we now
9114         control the scrolling ourselves, we can suppress this and
9115         only redraw when things actually change.
9116
9117 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
9118
9119         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
9120         the region not just redisplay it after-all, since we store the
9121         cursors in the LineDisplay. (Ugly interactions here between
9122         GtkLayout and GtkTextBTree here.)
9123         
9124         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
9125
9126 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9127
9128         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
9129         Added function to scroll contents of a window while keeping the
9130         window constant. Works by XCopyArea or guffaw-scrolling depending
9131         on the details of how the window is set up. (guffaw-scrolling
9132         still needs to be filled in.)
9133
9134 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
9135
9136         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
9137         move the debugging that was tied to a global variable
9138         to that.
9139
9140         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
9141
9142         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
9143         validated flag, in line data instead of setting height/width to
9144         -1. This allows us to perform operations with partially invalid
9145         buffer (using the old size for invalid lines) and thus to do
9146         incremental vaidation. Keep height/width aggregates up to date
9147         when deleting text and rebalancing the tree.
9148
9149         * gtk/gtktextbtree.[ch]: Add functions validate a line
9150         (gtk_text_btree_validate_line), and to validate up
9151         to a number of pixels (gtk_text_btree_validate).
9152
9153         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
9154         that indicates that something is changed and a revalidation
9155         pass is needed. Change ::need_repaint to ::changed, and
9156         make it take old and new yranges instead of a rectangle.
9157
9158         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
9159         the line_data_destroy() function from 
9160         gtk_text_btree_add_view() to a virtual function in 
9161         GtkTextLayout
9162
9163         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
9164         since we are handling partial repaints in a different fashion
9165         now.
9166
9167         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
9168         of the selection instead of queueing a repaint on the
9169         entire widget.
9170
9171         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
9172         get_selection_bounds() down to btree, make the function
9173         in buffer a wrapper around the btree function.
9174
9175         * gtk/gtktextlayout.[ch]: Add functions to check if the
9176         layout is valid and to recompute either a range of pixels
9177         aroudn a line or a certain total number of pixels.
9178
9179         * gtk/gtktextlayout.[ch]: Cache a single line display;
9180         now that we only redraw the needed portions, the hit rate
9181         for this cache is quite high.
9182         
9183         * gtk/gtktextview.[ch]: Keep track of the first paragraph
9184         on the screen so that when re-laying-out the buffer, we can
9185         keep the same place. This requires connecting to ::value_changed
9186         on the adjustments
9187
9188         * gtk/gtktextview.[ch]: Add idle functions to revalidate
9189         the buffer after we receive an ::invalidated signal.
9190         
9191 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
9192
9193         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
9194         to max of allocation and layout size, not just to the
9195         layout size.
9196
9197         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
9198         Invalidate window so it gets redrawn properly.
9199
9200         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
9201         to mean the entire window.
9202
9203         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
9204         into public header.
9205
9206 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
9207
9208         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
9209         to get the name of a mark.
9210
9211         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
9212         to find the paragraph from a y position.
9213
9214 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
9215
9216         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
9217         nodes have width/height >= 0, not > 0.
9218
9219 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
9220
9221         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
9222         Add a size_only flag, so when we only need the size, we don't create
9223         useless appearance attributes.
9224
9225         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
9226         duplicate setting of font description.
9227
9228         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
9229
9230 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9231
9232         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9233         EXTRA_DIST. It does not work well when the file that
9234         everything depends on is not in the tarball.
9235
9236 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9237
9238         * gtk/testgtk.c: Some hacks and fixes so that it basically
9239         works when not sitting in the GTK+ build tree.
9240
9241 2000-05-03  Havoc Pennington  <hp@redhat.com>
9242
9243         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9244         Properly determine the ordering of the tag root and the current
9245         line within the tree. Previous algorithm only worked if the tag
9246         root's immediate parent was the common root of both the current
9247         line and the tag root.
9248
9249 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
9250
9251         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
9252         alignment.
9253
9254         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
9255         the widget text directional dynamically.
9256
9257         * gtk/gtktextview.[ch]: Added functions to get and set default
9258         wrap mode.
9259
9260 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
9261
9262         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
9263         in cursor location computation.
9264
9265 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
9266
9267         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
9268         vadjusment values properly when layout gets smaller.
9269
9270         * gtk/gtktextview.c (need_repaint_handler): Areas being
9271         passed in are far completely inaccurate, and sometimes
9272         too small, so, for now, just queue a redraw on the
9273         whole visible region.
9274
9275 2000-04-25  Havoc Pennington  <hp@redhat.com>
9276
9277         * gtk/gtktextbtree.c (summary_destroy): new function to 
9278         destroy tag summary nodes
9279         (gtk_text_line_next_could_contain_tag): this function was 
9280         totally broken if the line passed in wasn't below the tag
9281         root. Fix it.
9282         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
9283         "wildcard" case, we have to do a linear scan. Blah.
9284         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
9285         we have to do the linear scan
9286         (tag_removed_cb): When a tag is removed from the tag table, 
9287         remove the GtkTextTagInfo node from the btree.
9288         (gtk_text_btree_spew): Implement the spew function, for 
9289         our debugging pleasure.
9290
9291 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
9292
9293         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
9294         a problem with referring to the wrong buffer.
9295
9296         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
9297
9298         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
9299         font description to gtk_style_new() - otherwise things
9300         don't work without a .gtkrc file.
9301
9302         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
9303         tags table if we create it ourself, too.
9304
9305         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
9306         it was conflicting with XKB modifiers.
9307
9308         * gtk/gtktextview.[ch]: Add simple support for 
9309         GtkIMContext.
9310
9311 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
9312
9313         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
9314         with deletion from last commit.
9315
9316 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
9317
9318         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
9319         in the context from the current locale.
9320         
9321         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
9322         context, not hardcoded value.
9323
9324         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
9325         not logical.
9326
9327 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9328
9329         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
9330         attributes - that doesn't handle partial-glyph selection
9331         properly. Instead use new pango_layout_line_get_x_ranges()
9332         functionality to draw the selection.
9333
9334         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
9335         now properly handles out-of-range coordinates.
9336
9337         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
9338
9339         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
9340         public.
9341
9342         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
9343         for paragraphs opposite to the base direction of the widget.
9344
9345         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
9346
9347         * gtk/gtktextlayout.c: Don't split segments on marks, since that
9348         causes Arabic words to reshape as you cursor through.
9349
9350         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
9351         cursor position when moving vertically with the arrow keys and
9352         scrolling with page-up/page-down. (Arrow keys save only the X,
9353         scrolling saves both X and Y.)
9354
9355         This means you can line-up / line-down or page-up / page-down
9356         without losing your place, and also that moving vertically
9357         with the cursor keys keeps the same X position, not the same
9358         character count:
9359
9360         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
9361         arrow keys move by display lines, not paragraphs.
9362
9363 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9364
9365         * gtk/gtklayout.c: Make sure that the bin window is at least
9366         as big as the allocation. (Should we also make sure that the
9367         bin window is big enough to completely cover widget->window?)
9368
9369         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
9370         function to get the onscreen rectangle.
9371
9372         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
9373         for offsets in window coordinates.
9374
9375 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
9376
9377         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
9378         confusion.
9379
9380         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
9381         from the widget direction.
9382
9383         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
9384         Add a "direction" attribute.
9385
9386         * gtk/gtktextview.c: global s/tkxt/text_view/.
9387
9388         * gtk/testtext.c: Added long block of text in Arabic, to test out
9389         the direction attributes. (Some problems with the shaping system
9390         for arabic become obvious - like the fact the cursor splits words
9391         into unjoined pieces.)
9392
9393 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
9394
9395         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
9396
9397         * gtk/gtktextlayout.c: Fix up alignment.
9398
9399         * gtk/testtext.c: Add some tests for centering, wrapping.
9400
9401 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
9402
9403         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9404         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
9405         If we wrote GTK+-specific layout-render function this could just replace
9406         the draw_layout() operation in the vtable.
9407
9408         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
9409         pango_layout_get_cursor_pos() and use that function.
9410
9411         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
9412         is a non-static symbol.
9413
9414         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
9415         with gtk_text_btree_find_line_by_y()
9416
9417         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
9418         renderer that handles GtkTextAppearance attributes.
9419
9420         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
9421
9422           - Move the values in the style that don't affect geometry into a
9423             GtkTextAppearance structure.
9424           - Change underline to take a PangoUnderline and "font" a string
9425             representation of a font description
9426           - Add a "font_desc" attribute which takes a FontDescription structure.
9427
9428         * gtk/gtktextlayout.[ch]:
9429
9430           - Get rid of the display-line list per each line. Instead, we
9431             generate, on demand, a GtkTextLineDisplay structure which]
9432             contains a PangoLayout * and other necesary information
9433             (offsets, cursor locations) for displaying a paragraph.
9434           - Get rid of the code to wrap lines, create display chunks,
9435             etc. Instead, we just go through a paragraph and convert
9436             it into the necessary inputs to a PangoLayout.
9437           - Implement a new attribute type, GtkTextAttrAppearance. This
9438             holds a GtkTextAppearance, and is used to pass colors, 
9439             stipple, etc, through from the layout to the display without
9440             having to use lots and lots of individual attributes.
9441           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
9442             in terms of PangoLayout functions.
9443         
9444         * gtk/gtktextview.c: 
9445          
9446           - Handle passing the necessary PangoContext to the layout
9447           - Some fixups in painting to deal with the automatic backing store
9448             and offsetting of GTK+-1.4
9449           - Add a style_set handler so that the default style reacts
9450             properly to theme changes.
9451         
9452         * gtk/gtktext?*.[ch]: Random code-style fixes.
9453
9454         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
9455
9456 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
9457
9458         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
9459         in original form preparatory to Pango-ization and gdkimcontext-ization.
9460
9461 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
9462
9463         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
9464         so that we can derive from gtkimcontext in language bindings properly.
9465
9466 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
9467
9468         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
9469         Add a compose table including (almost) all the compose combinations
9470         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
9471         data in the XIM implementation.
9472
9473         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
9474         Moved functions to convert keyvalues from and to unicode here from
9475         the win32 port and made them public.
9476
9477 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9478
9479         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
9480
9481 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
9482
9483         * gtk/gtkimcontext.[ch]: Base class for new input context system
9484
9485         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
9486         the real input context implementation to be loaded from modules
9487         and switched on the fly.
9488
9489         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
9490         context that just does direct keysymbol => unicode translation.
9491
9492         * gtk/gtkentry.[ch]: Start switching editing over to using
9493         GtkInputContext. (No handling of preedit yet.)
9494
9495 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
9496
9497         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
9498         many substitutions. (klass should not be subsituted.)
9499
9500 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
9501
9502         * configure.in: Add checks for Pango
9503
9504         * configure.in docs/Makefile.am: Add test for sgml2html
9505         and allow 'make dist' without building html, but print out
9506         warnings in that case. (For making snapshots)
9507
9508         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
9509         Add Pango libraries and C flags
9510
9511         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9512         Add function (gdk_draw_layout) to draw a pango layout.
9513
9514         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
9515         for getting Pango contexts for GDK.
9516
9517         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
9518
9519         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
9520         editing.
9521
9522         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
9523         keysym => unicode translations. More languages can be added
9524         here, but real input-method support is needed.
9525
9526         * docs/Changes-1.4.txt: Added note about entry behavior.
9527         
9528         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
9529         to set the reading direction for a widget and the global direction.
9530         Add test which allows toggling the global direction. Two private
9531         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
9532
9533         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
9534           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
9535
9536         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
9537
9538         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
9539         underlining now handled by Pango.
9540
9541         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
9542         to RCStyle and Style. (Having both this and the old font name and GdkFont 
9543         is temporary.)
9544
9545         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
9546         convenience functions for creating contexts and layouts for widgets.
9547
9548         * gtk/testgtk.c: Enhance label tests with multilingual labels.
9549
9550 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
9551
9552         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
9553         titles to be active, even if they aren't visible.
9554         (gtk_clist_column_titles_passive):  Ditto.
9555
9556 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
9557
9558         * gtkmenu.c:
9559         * gtkmenu.h:
9560         * gtktypeutils.h: Spelling/grammar fixes in comments.
9561
9562 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
9563
9564         * gdk/nanox/*.h: add missing header files.
9565
9566 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
9567
9568         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
9569         send_event to TRUE.
9570         (gtk_drawing_area_size): queue a resize.
9571
9572 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
9573
9574         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
9575         the handlers, also invalidate them. bug nailed down by Karl Nelson
9576         <kenelson@ece.ucdavis.edu>.
9577
9578 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
9579
9580         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
9581         "(nil)" foundries, patch from Grigorios Magklis.
9582
9583         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
9584         on non-available fonts, based on a patch by Grigorios Magklis
9585         <maglis@cs.rochester.edu>.
9586
9587 2000-05-18  Elliot Lee  <sopwith@redhat.com>
9588
9589         * gdk/x11/gdkregion-generic.c: If a region does not have any
9590         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
9591         instead of GDK_OVERLAP_RECTANGLE_IN.
9592
9593 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
9594
9595         * gtk/gtklayout.c (gtk_layout_map): Remove references to
9596         OFFSCREEN, as it is no longer necessary.
9597
9598 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
9599
9600         * gtk/gtkcolorsel.c: Patch from David Santiago
9601         <mrcooger@cyberverse.com> to change things so that the 
9602         indicator of the active palette entry is done independently,
9603         not via the focus, since it should always be visible.
9604
9605 2000-05-17  Tor Lillqvist  <tml@iki.fi>
9606
9607         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
9608         refcount leaks as in the X11 backend.
9609
9610         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
9611         cosmetics.
9612
9613         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
9614         backend. Add _gdk_windowing_window_destroy().
9615
9616         * gtk/gtkcolorsel.c: Include correct backend-specific header.
9617         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
9618         either, but these probably do exist on nanox?)
9619         
9620         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
9621         which isn't necessarily defined by <math.h>.
9622
9623         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
9624         ancestry past GtkObject.
9625
9626         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
9627         from DLL on Win32.
9628
9629         * gtk/gtk.def: Update corresponding to recent changes.
9630
9631         * gtk/makefile.{cygwin,msc}: Updates.
9632
9633 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
9634
9635         * docs/Changes-1.4.txt: A bit of editing.
9636
9637         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
9638         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
9639         to clear the update area for the window, and clear it
9640         when hiding a window.
9641
9642         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
9643         if window destroyed.
9644
9645         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
9646
9647         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
9648         gdk_window_destroy() to the generic code, since there was a lot of 
9649         window-system-independent logic it in. Add a function:
9650         
9651          _gdk_window_destroy() 
9652
9653         to the internal API to destroy a window without unreferencing it.
9654         Add a function:
9655
9656          _gdk_windowing_window_destroy()
9657
9658         That does the windowing-system-dependent part of destroying 
9659         the window.
9660
9661 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
9662
9663         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
9664
9665 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
9666
9667         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
9668         Make gtk_widget_shape_combine_mask() keep a reference count on
9669         the pixmap since it keeps it around.
9670
9671 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
9672
9673         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
9674         leak.
9675
9676         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
9677         leak with event filters.
9678
9679 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
9680
9681         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
9682         signal handlers with the right data arguments. (Fixes
9683         some warnings when a widget was repeatedly set as a drag
9684         destination.)
9685
9686         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
9687         window so we can avoid avoid setting the DND properties on the
9688         toplevel window repeatedly.
9689
9690 2000-05-13  Tor Lillqvist  <tml@iki.fi>
9691
9692         * gdk/win32/gdkwin32.h: Define more message types missing from
9693         mingw headers.
9694
9695         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
9696         call gdk_window_destroy_notify(). It was never called. This
9697         probably meant that the GdkWindow was never freed. Thanks Owen for
9698         noticing (!).
9699
9700         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
9701         window as destroyed before calling DestroyWindow(). DestroyWindow()
9702         causes a call to the window procedure (gdk_WindowProc), which
9703         calls gdk_event_translate(), which calls
9704         gdk_window_destroy_notify(), which gets confused unless the window
9705         is set as destroyed.
9706
9707         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
9708         this function to indicate it's win32 only. Put inside #ifdef
9709         G_ENABLE_DEBUG.
9710
9711         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
9712         debugging function. (gdk_event_translate:) Add a default branch
9713         that uses the above function to print debug messages with all
9714         Windows messages symbolically.
9715
9716         * gdk/win32/gdkprivate-win32.h: Declare it, and
9717         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
9718
9719 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
9720
9721         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
9722         public header file.
9723
9724 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
9725
9726         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
9727
9728         * gtk/gtktext.c: made the adjustments no-construct args, simply
9729         provide default adjustments.
9730         (gtk_text_destroy): release adjustments.
9731
9732         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
9733         adjustment argument non-construct.
9734
9735         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
9736         instead of in finalize.
9737         (gtk_progress_get_text_from_value): 
9738         (gtk_progress_get_current_text): 
9739         (gtk_progress_set_value): 
9740         (gtk_progress_get_percentage_from_value): 
9741         (gtk_progress_get_current_percentage): 
9742         (gtk_progress_set_percentage): 
9743         (gtk_progress_configure): ensure an adjustment is present.
9744
9745 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
9746
9747         * gtk/gtkcolorsel.[hc]:
9748         * gtk/gtkcolorseldialog.[hc]:
9749         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
9750         their parent implementation, use bit fields for boolean values, don't
9751         create unused widgets, usage of glib types, braces go on their own
9752         lines, function argument alignment, #include directives etc. etc. etc..
9753
9754         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
9755
9756 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
9757
9758         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
9759
9760         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
9761         of NULL.
9762
9763         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
9764         to freed data.
9765         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
9766
9767         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
9768         to NULL when the toplevel is getting destroyed.
9769         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
9770         (gtk_menu_destroy): 
9771         (gtk_menu_init): store the information of whether we have to
9772         readd the initial child ref_count during destruction in a new
9773         GtkMenu field needs_destruction_ref_count.
9774
9775         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
9776         here, those reading: learn from my mistake! ;)
9777         in order for set_?adjustment to support a default adjustemnt if
9778         invoked with an adjustment pointer of NULL, the code read (pseudo):
9779         if (v->adjustment) unref (v->adjustment);
9780         if (!adjustment) adjustment = adjustment_new ();
9781         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
9782         now imagine the first unref to actually free the old adjustment and
9783         adjustment_new() creating a new adjustment from the very same memory
9784         portion. here, the latter comparision will unintendedly fail, and
9785         all hell breaks loose.
9786         (gtk_viewport_set_hadjustment):
9787         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
9788         after unreferencing it.
9789
9790         * gtk/gtkcontainer.[hc]: removed toplevel registration
9791         functions: gtk_container_register_toplevel(),
9792         gtk_container_unregister_toplevel() and
9793         gtk_container_get_toplevels() which had wrong semantics
9794         anyways: it didn't reference and copy the list.
9795
9796         * gtk/gtkwindow.c: we take over the container toplevel registration
9797         bussiness now. windows are registered across multiple destructions,
9798         untill they are finalized. the initial implicit reference count
9799         users are holding on windows is removed with the first destruction
9800         though.
9801         (gtk_window_init): ref & sink and set has_user_ref_count, got
9802         rid of gtk_container_register_toplevel() call. add window to
9803         toplevel_list.
9804         (gtk_window_destroy): unref the window if has_user_ref_count
9805         is still set, got rid of call to
9806         gtk_container_unregister_toplevel().
9807         (gtk_window_finalize): remove window from toplevel list.
9808         (gtk_window_list_toplevels): new function to return a newly
9809         created list with referenced toplevels.
9810         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
9811
9812         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
9813         adjustment a non-construct arg.
9814         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
9815         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
9816         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
9817
9818         * gtk/gtkrange.c: added some realized checks.
9819         (gtk_range_destroy): get rid of the h/v adjustments in the
9820         destroy handler instead of finalize. remove timer.
9821         (gtk_range_get_adjustment): demand create adjustment.
9822
9823         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
9824         we simply create them on demand now and get rid of them in
9825         the destroy handler.
9826         (gtk_viewport_destroy): get rid of the h/v adjustments in the
9827         destroy handler instead of finalize.
9828         (gtk_viewport_get_hadjustment): 
9829         (gtk_viewport_get_vadjustment): 
9830         (gtk_viewport_size_allocate): demand create h/v adjustment
9831         if required.
9832
9833         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
9834         gtk_widget_real_destroy () functionality.
9835         (gtk_widget_real_destroy): reinitialize with a new style, instead
9836         of setting widget->style to NULL.
9837
9838 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
9839
9840         * gtk/gtkcalendar.c:
9841         * gtk/gtkbutton.c: ported _get_type() implementation over to
9842         GType, either to preserve memchunks allocation facilities,
9843         or because Gtk+ 1.0 GtkTypeInfo was still being used.
9844
9845         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
9846         over. prepare for ::destroy to be emitted multiple times.
9847         removed reference tracer magic. chain into GObjectClass.shutdown()
9848         to emit ::destroy signal.
9849
9850         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
9851         fundamental.
9852
9853         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
9854         cludge.
9855
9856         * gtk/gtksocket.c:
9857         * gtk/gtkplug.c:
9858         * gtk/gtklayout.c:
9859         * gtk/gtklabel.c:
9860         * gtk/gtkargcollector.c:
9861         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
9862         not being a fundamental anymore, and to work with the new
9863         type system (nuked fundamental type varargs clutter).
9864
9865         * gtk/*.c: install finalize handlers in the GObjectClass
9866         part of the class structure.
9867         changed direct GTK_OBJECT()->klass accesses to
9868         GTK_*_GET_CLASS().
9869         changed direct object_class->type accesses to GTK_CLASS_TYPE().
9870
9871         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
9872         GType. made most of the GTK_*() type macros and Gtk* typedefs
9873         simple wrappers around macros and types provided by GType.
9874         most notably, a significant portion of the old API vanished:
9875         GTK_TYPE_MAKE(),
9876         GTK_TYPE_SEQNO(),
9877         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
9878         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
9879         GTK_TYPE_ARGS,
9880         GTK_TYPE_CALLBACK,
9881         GTK_TYPE_C_CALLBACK,
9882         GTK_TYPE_FOREIGN,
9883         GtkTypeQuery,
9884         gtk_type_query(),
9885         gtk_type_set_varargs_type(),
9886         gtk_type_get_varargs_type(),
9887         gtk_type_check_object_cast(),
9888         gtk_type_check_class_cast(),
9889         gtk_type_describe_tree(),
9890         gtk_type_describe_heritage(),
9891         gtk_type_free(),
9892         gtk_type_children_types(),
9893         gtk_type_set_chunk_alloc(),
9894         gtk_type_register_enum(),
9895         gtk_type_register_flags(),
9896         gtk_type_parent_class().
9897         replacements, where available are described in ../docs/Changes-1.4.txt.
9898         implemented compatibility functions for the remaining API.
9899
9900         * configure.in: depend on glib 1.3.1, use gobject module.
9901
9902 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
9903
9904         * TODO.xml: Various updates to current status.
9905
9906 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
9907
9908         * gtk.m4: Print out version when test succeeds.
9909
9910 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
9911
9912         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
9913         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
9914         
9915         (Original triangle color selector from Simon Budig
9916         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
9917         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
9918         Santiago <mrcooger@cyberverse.com>)
9919
9920         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
9921         out into a separate widget.
9922
9923         * gtk/testgtk.c: Add some checkbuttons for toggling palette
9924         and opacity controls.
9925
9926 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
9927
9928         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
9929         snuck in prematurely.
9930
9931 2000-05-07  Tor Lillqvist  <tml@iki.fi>
9932
9933         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
9934         had deleted a ! operator by mistake, which caused
9935         GDK_SELECTION_CLEAR events never to be generated, which caused
9936         only the first copy to the clipboard from an gtkeditable to
9937         actually cause a copy to the Windows clipboard.
9938
9939 2000-05-06  Tor Lillqvist  <tml@iki.fi>
9940
9941         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
9942         compilation, too. Current mingw gcc distributions include the
9943         necessary headers. Also the necessary IIDs are now in mingw
9944         headers/libraries, and own definitions unnecessary.
9945
9946         More hacking on OLE2 DND, still doesn't work though, and thus
9947         ifdeffed out.
9948
9949         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
9950         here, too.
9951
9952 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
9953
9954         * gdk/nanox/*: nano-X port work in progress.
9955         * gdk/simple.c: simple test for Gdk.
9956         * README.nanox: notes about the port: read this first!
9957         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
9958         with nano-X.
9959
9960 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
9961
9962         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
9963         gdk_window_clear() into common code, implement in terms of
9964         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
9965         not redirected to the backing rectangle.
9966
9967 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9968
9969         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9970         EXTRA_DIST. It does not work well when the file that
9971         everything depends on is not in the tarball.
9972
9973 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
9974
9975         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
9976         with recursion where process_updates() is called from
9977         an expose handler. (GtkTextView is highly broken in
9978         doing this, but it should work, so it is a nice test
9979         case.)
9980
9981 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9982
9983         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
9984         handle the case where updates are queued during processing of
9985         updates.
9986
9987 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9988
9989         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
9990         window is on gdk_display - use that instead of segfaulting.
9991
9992 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
9993
9994         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
9995         broken and require an empty arg, give it to them.
9996
9997 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
9998
9999         * gtk/gtklabel.h: indentation fixes.
10000
10001 2000-05-02  Tor Lillqvist  <tml@iki.fi>
10002
10003         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
10004         draw too narrow or too low arcs, they seem to fail, at least with
10005         some display drivers.
10006
10007         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
10008
10009         Large changes to the Win32 backend, partially made necessary by
10010         the changes to the backend-independent internal
10011         structures. Attempts to implement similar backing store stuff as
10012         on X11. The current (CVS) version of the Win32 backend is *not* as
10013         stable as it was before the no-flicker branch was merged. A
10014         zipfile with that version is available from
10015         http://www.gimp.org/win32/. That should be use by "production"
10016         code until this CVS version is usable. (But note, the Win32
10017         backend has never been claimed to be "production quality".)
10018
10019         * README.win32: Add the above comment about versions.
10020
10021         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
10022
10023         * gdk/gdk.def: Update.
10024
10025         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
10026         presumably be replaced by some more better mechanism as 1.4 gets
10027         closer to release shape.
10028
10029         * gdk/makefile.{cygwin,msc}: Update.
10030
10031         * gdk/win32/*.c: Correct inclusions of the backend-specific and
10032         internal headers. Change code according to changes in these. Use
10033         gdk_drawable_*, not gdk_window_* where necessary.
10034
10035         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
10036         our old DND.
10037
10038         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
10039         to interpret single characters as UTF-8. Thanks to Hans Breuer.
10040         Use correct function name in warning messages.
10041
10042         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
10043         GSourceFuncs gdk_event_prepare and gdk_event_check.
10044         (gdk_event_get_graphics_expose): Do implement, use
10045         PeekMessage. Thanks to Hans Breuer.
10046         (event_mask_string): Debugging function to print an GdkEventMask.
10047         (gdk_pointer_grab): Use it.
10048
10049         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
10050         (old) book I used claimed was Hangul actually is CJK Unified
10051         Ideographs Extension A. Also, Hangul Syllables were missing.
10052         Improve logging.
10053
10054         * gdk/win32/gdkgc-win32.c: Largish changes.
10055
10056         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
10057         g_win32_getlocale() from GLib, and not setlocale() to get current
10058         locale name.
10059
10060         * gdk/win32/gdkprivate-win32.h
10061         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
10062         gdkwin32.h, similarily as in the X11 backend.
10063
10064         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
10065         assignment was used instead of equals in if test. Thanks to Hans
10066         Breuer.
10067
10068         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
10069         the X11 version.
10070
10071         * gdk/win32/makefile.{cygwin,msc}
10072         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
10073         path to the Win32 headers that works also with the mingw compiler.
10074
10075         * gtk/gtkstyle.c: Include <string.h>.
10076
10077 2000-04-26  Havoc Pennington  <hp@redhat.com>
10078
10079         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
10080         replacing the broken gtk_label_get ()
10081
10082 2000-04-15  Havoc Pennington  <hp@pobox.com>
10083
10084         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
10085         this keeps scanner scripts from getting confused.
10086
10087         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
10088         data, rather than void
10089
10090 2000-04-15  Tor Lillqvist  <tml@iki.fi>
10091
10092         * gtk/gtkclist.c (gtk_clist_motion)
10093         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
10094         with is_hint FALSE, get x and y from the event. They used to be
10095         used uninitialised. The Win32 backend never sends motion events
10096         marked as hints. This for instance fixes the annoying file and
10097         font selector behaviour in the Win32 version.
10098
10099 2000-04-14  Tor Lillqvist  <tml@iki.fi>
10100
10101         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
10102         gtk_private_n_signals variables, they are used by some software,
10103         sigh.
10104
10105         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
10106         installation directory from the Registry, where the installer
10107         should have put it.
10108
10109 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
10110
10111         * gdk/x11/Makefile.am: Fix problem with installation directory for
10112         gdkx.h
10113
10114         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
10115         <mrcooger@cyberverse.com> so that when selecting menus with the
10116         mouse, the first item will not be selected, but when selecting
10117         with an accelerator, or navigating left-right on a menubar with
10118         the menus popped up, the first item will be selected.
10119
10120 2000-04-05  Dan Damian  <dand@dnttm.ro>
10121
10122         * configure.in: Added "ro" to ALL_LINGUAS.
10123
10124 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
10125
10126         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
10127         indentation.
10128
10129         * Makefile.am (EXTRA_DIST): Fix typo.
10130
10131         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
10132         to catch gdkconfig.h
10133
10134         * gtk/gtkitemfactory.c: Added FIXME.
10135
10136 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
10137
10138         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
10139         s/return_if_fail/return_val_if_fail/g and add a return value.
10140
10141 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10142
10143         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
10144         merge slipup.
10145
10146         * gdk/gdkinput.h: Fix missing line from merge.
10147
10148 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
10149
10150         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
10151         instead of gdkprivate.h.
10152
10153 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
10154
10155         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
10156         parent class to correctly be GtkDialogClass.
10157
10158 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
10159
10160         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
10161         toplevel windows and their immediate children by their parents,
10162         since the size of toplevel windows is out of our immediate
10163         control and we don't get any real benefit from trying to track
10164         this size for clipping.
10165
10166         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
10167         for input_only windows.
10168
10169         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
10170         to fix some hacks and make sure that we don't try to set the
10171         background of input only windows.
10172
10173 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
10174
10175         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
10176         the _really_ internal stuff, and leave gdkprivate.h for the fake private
10177         stuff that we've traditionally exposed.
10178
10179         * gdk/**.c: Use gdkinternals.h where appropriate.
10180
10181         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
10182         not include gdkprivate-x11.h, move all stuff of conceivable public
10183         interest into gdkx.h; keep all really private stuff in
10184         uninstalled header gdkprivate-x11.h.
10185
10186         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
10187         image->image_put on windows through a new function _gdk_window_draw_image()
10188         to allow us to do backing store for images. (Sort of ugly)
10189
10190         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
10191         contexts locally so that we can offset them properly when drawing 
10192         onto backing pixmaps.
10193
10194         * gdk/gdkinput.h: Reindented
10195
10196         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
10197         pixmap or color for the window, so we can properly initialize
10198         our double-buffer pixmaps, and also so that we temporarily set
10199         a background of None while scrolling.
10200
10201         * gdk/gdkregion.h: Revise region boolean operators to have an
10202         interface that is actually convenient - switch from creating new
10203         regions on every op, to "methods" that modify existing regions
10204         (A = A OP B). 3 argument forms which allow dest == src, would also
10205         be possible, but the current interfaces seem to map nicely
10206         onto what needs to be done. (There is quite a lot of region
10207         code in GDK now.)
10208
10209         * gdk/gdkregion.h: Add constructor from rectangle and a copy
10210         operator.
10211
10212         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
10213         gdkpoly-generic.h: Copy region code from Xlib, switch it over
10214         to 32 bit coordinates, modify it to be mostly GTK+ style
10215         and to have interfaces that match gdkregion.h.
10216
10217         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
10218         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
10219         create a backing pixmap and redirect all drawing to
10220         that backing pixmap until a matching gdk_window_end_paint().
10221
10222         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
10223         Create a special drawable class for GtkWindow's that 
10224         redirects the drawing to the backing pixmap as necessary
10225         and then calls the real operations in _gdk_windowing_window_class.
10226
10227         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
10228         Store invalid region for each window. Generate expose events for invalid
10229         region in an idle. This replaces both the expose compression
10230         and the redrawing queuing in GTK+. It is both more efficient and
10231         simpler than either one individually and far more so then the
10232         combination.
10233
10234         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
10235         Emulate 32 bit coordinates for windows with 16 bit coordinates
10236         by offsetting drawing, guffaw scrolling techniques and
10237         mapping/unmapping child windows as necessary.
10238
10239         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
10240         where, when invalid regions are processed, the region is stored,
10241         and if expose events come in that are detectably duplicate
10242         the processed exposes (by comparison of event serial numbers),
10243         the stored region is subtracted out of those exposes.
10244
10245         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
10246         regions newly exposed when scrolling or resizing windows.
10247         This, combined with forcing processesing of queued invalidated
10248         regions, gives nice flicker-free scrolling.
10249
10250         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
10251         invalidated regions after every scroll.
10252
10253         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
10254         emulation in GDK. Its, for all practical purposes just a
10255         GtkViewport/GtkFixed hybrid now.
10256
10257         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
10258         (16-bit) structures as necessary instead of just casting.
10259
10260         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
10261         in terms of the structures from gdkregion-generic.c, using appropriate
10262         offsets from GDK to X11 coordinates. Cache clip mask and
10263         origin and ts origin locally and only flush to the server
10264         when drawing, to avoid constantly setting and resetting these
10265         values when offsetting GC's for scrolling and backing pixmaps.
10266
10267         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
10268
10269         * gtk/gtkcontainer.c: Call process_all_updates at end
10270         of resizing to reduce flicker. (Avoids having redraw
10271         lag arbitrarily behind resize under some circumstances)
10272
10273         * gtk/gtkentry.c: Remove old backing store code, and simply take
10274         advantage of the new backing store capabilities of GDK.
10275
10276         * gtk/gtkmain.c: Simple implementation of widget backing
10277         store - simply push a paint while handling each expose.
10278         (Should really be configurable widget for widget.)
10279         
10280         * gtk/gtkwidget.c: Remove all the old complicated redraw
10281         code, and simply invalidate the GDK windows from
10282         gdk_window_queue_clear(), etc. (Sigh, so much carefully
10283         debugged complexity ... gone to the winds.)
10284
10285         Remove all the code for suppressing expose events while
10286         resizes are pending; this isn't needed since the invalid
10287         areas won't be processed until after the resizes are
10288         processed, since they are in a lower priority idle.
10289
10290 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
10291
10292         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
10293         and height of dest rectangle for non-intersecting rectangles.
10294
10295 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
10296
10297         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
10298         for GdkRectangle.
10299
10300 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
10301
10302         * gdk/gdk{events,image,private,types,window}.h
10303          gdk/x11/gdkinputprivate.h: Change all coordinates
10304          from int16 to int. Also, Change width and height from
10305          unsigned to signed to avoid all the stupid C 
10306          signedness bugs.
10307
10308 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
10309
10310         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
10311         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
10312         Add some more detailed checking.
10313
10314         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
10315         New function to retrieve the depth of a drawable.
10316
10317         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
10318         field, reorder fields to save memory. 
10319
10320 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
10321
10322         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
10323         of the background image instead of scaling the background down to
10324         a line.
10325
10326         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
10327         which temporarily set slider to wrong size.
10328
10329         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
10330         queue_clear().
10331
10332 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
10333
10334 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
10335
10336         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
10337
10338 2000-03-17  Tor Lillqvist  <tml@iki.fi>
10339
10340         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
10341         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
10342
10343         * gdk/win32/gdkfont-win32.c
10344         * gdk/win32/gdkproperty-win32.c
10345         * gdk/win32/gdkselection-win32.c
10346         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
10347         now declared such.
10348
10349 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
10350
10351         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
10352
10353 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
10354
10355         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
10356         is called without trapping X errors.
10357
10358 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
10359
10360         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
10361         way into the fontset lists.
10362
10363 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
10364
10365         * gtk/gtkthemes.h: add extern "C" scope.
10366
10367 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
10368
10369         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
10370         to make appends to the list constant. (gtk-guy-990901-0.patch)
10371
10372 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
10373
10374         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
10375         for the typename hash table.
10376
10377 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
10378
10379         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
10380         to make sure we never divide by zero. 
10381         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
10382
10383 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
10384
10385         * gtk/gtkfontsel.c: Apply patch from
10386         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
10387         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
10388
10389         Also, some cleanups in atom handling.
10390
10391 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
10392
10393         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10394         not GtkWidget.
10395
10396 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
10397
10398         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
10399         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
10400         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
10401         more guint wrap-around bugs before going to bed.
10402
10403 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
10404
10405         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
10406         guint wrap arounds in allocation.width.
10407
10408         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
10409         process untill we fit the allocation given.
10410
10411 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
10412
10413         * gtk/gtkwidget.c:
10414         (gtk_widget_unrealize): guard widget access with ref/unref
10415         around signal emission.
10416         (gtk_widget_hide): same here, but also check its destroyed
10417         state before queueing a resize.
10418
10419 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
10420
10421         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
10422         of gtk_default_insensitive_bg as insensitive base color.
10423
10424         * gtk/gtktext.c (gtk_text_style_set): set the background color according
10425         to the widget's state.
10426         (gtk_text_realize): same here.
10427         (gtk_text_state_changed): same here.
10428         (draw_bg_rect): compare background color against base[] from
10429         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
10430
10431 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
10432
10433         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
10434         grabs are active, unless a delete event is send to the toplevel
10435         of the currently grab holding widget.
10436
10437 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
10438
10439         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
10440         debugging g_print's.
10441
10442 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
10443
10444         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
10445         ever make the scrolled-window requisition ever depend on the 
10446         visibility state of the scrollbars for the AUTOMATIC policy. 
10447         This breaks the GTK+ requisition model, and causes loops.
10448
10449 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
10450
10451         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
10452         the default font to avoid problems with XFree86-4.0 where the
10453         default charset is iso10646-1, not iso8859-1.
10454
10455 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
10456
10457         * acinclude.m4
10458         * config.guess
10459         * config.sub
10460         * ltconfig
10461         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
10462
10463         * gtk/Makefile.am: minor cosmetic consistency tweak
10464
10465 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
10466
10467         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
10468         the activate_time to 0, so that we handle a quick
10469         press/release press/release properly and don't suppress
10470         the second release. (Red Hat bug #7545)
10471
10472 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
10473
10474         * gtk/gtkctree.c (row_delete):
10475         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
10476         bugs with destruction notifier, *always* update internal
10477         structures *before* calling user code.
10478
10479 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
10480
10481         A few more fixes for bug #5487, #2051, #2677.
10482         * gtk/gtkclist.c : 
10483         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
10484         not GDK_BUTTON_PRESS.
10485         (resync_selection): resync only if selection_mode is
10486         GTK_SELECTION_EXTENDED
10487         * gtk/gtkctree.c (resync_selection): same here
10488
10489 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
10490
10491         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
10492         gdk_drag_get_selection() and gtk_menu_detach().
10493
10494         [ From Jeroen Ruigrok/Asmodai ]
10495
10496 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
10497
10498         * gtk/gtknotebook.c (gtk_notebook_size_request): 
10499         page->tab_label can be NULL.
10500
10501 2000-01-25  Havoc Pennington  <hp@pobox.com>
10502         
10503         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
10504         arg is boolean
10505
10506         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
10507
10508         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
10509
10510         * gdk/gdkproperty.c (gdk_property_get): return boolean
10511
10512         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
10513
10514         * gdk/gdkim.c (gdk_im_ready): return boolean
10515
10516         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
10517
10518         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
10519         glib clash, should fix glib)
10520
10521         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
10522         (gdk_get_show_events): return gboolean, and canonicalize 
10523         to TRUE/FALSE
10524
10525         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
10526         colormap is private
10527         (gdk_colors_alloc): gboolean whether to be contiguous
10528         (gdk_color_equal): return gboolean since we are a predicate
10529         and not a qsort() (this looks semi-wrong due to glib breakage,
10530         IMO glib should be fixed)
10531         
10532         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
10533         (gdk_get_use_xshm): return gboolean
10534         (gdk_pointer_is_grabbed): return gboolean
10535
10536         * gdk/gdk.h: Change prototypes to match all the above changes,
10537         and re-run egtk-format-protos as required.
10538
10539 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
10540
10541         * gtk/gtkctree.c (resync_selection): 
10542         * gtk/gtkclist.c (resync_selection):
10543
10544         Return immediately if clist->drag_pos < 0. This is a workaround
10545         for the corrupt state that the clist gets into when a
10546         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
10547
10548         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
10549         
10550         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
10551         variable from recent commit.
10552
10553 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
10554
10555         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
10556
10557 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
10558
10559         * gtk/Makefile.am: prefix all autogenerated source that get build in
10560         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
10561         in builddir. since we subsequently cd into srcdir for autogeneration,
10562         the paths have to be stripped from the target file names, thusly we
10563         use $(@F) as target names now.
10564         put a comment about configure.in's --disable-rebuilds option,
10565         which can be used for non-writable source directories, for development
10566         setups though, srcdir has to be *writable*.
10567
10568 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
10569
10570         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
10571           Finish the job of allowing event to be NULL.
10572           (Fixes bug #4283, reported by Chris Blizzard)
10573
10574         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
10575           things so that the cursor appears on screen, properly
10576           take into account INNER_BORDER.
10577           (Fixes bug #4754, reported by Antonio Campos)
10578
10579 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
10580
10581         * gtk/gtknotebook.c (gtk_notebook_map): Don't
10582           show the tab_label unless it itself is visible.
10583
10584           gtk/gtknotebook.c (gtk_notebook_size_request):
10585           Do a better job of making sure that the visibility
10586           of the tab label corresponds to whether it should
10587           be mapped or not.
10588
10589 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
10590
10591         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
10592           Use the requisition, not the allocation, since the
10593           allocation has not necessarily been computed yet.
10594           (Pointed out by Eugene Osintsev)
10595
10596 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
10597
10598         * gtk/gtkstyle.c (gtk_style_new): Dont' set
10599           style/base[GTK_STATE_INSENSITIVE] both to
10600           gtk_default_insensitive_bg!
10601           (Bug #2187, reported by Jonathan Blandford)
10602
10603         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
10604           Add Alt_L, Alt_R to list of invalid accelerators.
10605           (Bug #3736, reported by Vlad Harchev)
10606
10607 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
10608
10609         * gtk/gtkfilesel.c (open_ref_dir): Fix several
10610         bugs which occured after an attempt to open 
10611         invalid home directory left cmpl_state->reference_dir == NULL.
10612
10613          - completion on files in home directory didn't work
10614          - completion on an empty string caused  segfault
10615
10616          (Bug #3678, reported by Steve Ratcliffe)
10617
10618         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
10619         cut and paste error that was causing scales to
10620         be incorrectly positioned.
10621         (Bug #2956,
10622          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
10623
10624 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
10625
10626         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
10627         when checking for dcgettext, if we've found we needed
10628         it for dgettext.
10629 +
10630 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
10631
10632         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10633         queue_clear on NO_WINDOW widgets during a reparent,
10634         since at that point the window and widget heirarchies
10635         are out of sync. This stops crashing in some cases
10636         (the scrolled window reparent test, for instance), and
10637         _probably_ won't cause drawing errors.
10638
10639         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
10640         test do what it was supposed to do and be robust against
10641         window closings, etc. (Bug #2443)
10642
10643 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
10644
10645         * gtk/gtkentry.c: Fix return values on mouse events.
10646         (Bug #2686, Sky <seb_sky@yahoo.com>)
10647
10648         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
10649         (pointed out by George Lebl)
10650
10651         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
10652         (From Ettore Perazzoli  <ettore@helixcode.com>)
10653  
10654 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
10655
10656         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
10657         clicks between rows or outside calender area correctly.
10658         (Patch from Damon Chaplin)
10659
10660         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
10661         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
10662           Call destroy function when overwriting existing data. 
10663           (Pointed out by Damon Chaplin)
10664
10665 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
10666
10667         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
10668           which was causing problems on various systems with Xmu.
10669           This hasn't been needed for a very long time.
10670           (Fixes #1185 3167)
10671
10672 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
10673
10674         * gdk/gdki18n.h: Include <ctype.h> when defining
10675           gdk_isw* in terms of is* as a fallback.
10676           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
10677
10678 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
10679
10680         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
10681           realize the widget when it is size allocated!
10682           (old, old bug)
10683
10684         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
10685           Removed unused call to gdk_window_get_size() that
10686           showed up when the above was fixed.
10687
10688 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
10689
10690         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
10691           fix up widget->window when the widget is a
10692           NO_WINDOW container widget.
10693
10694 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
10695
10696         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
10697           to account for the fact that feof() does _not_ 
10698           return TRUE on errors, and thus avoid infinite loops
10699           when trying to use gdk_pixmap_create_from_xpm()
10700           on unreadable values.
10701
10702 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
10703
10704         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
10705
10706 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
10707
10708         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
10709           gdk_gc_set_dashes to take gint8 instead of gchar to
10710           make it clearer that it is _not_ a NULL terminated string.
10711
10712         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
10713           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
10714           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
10715           arguments.
10716
10717 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
10718
10719         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
10720         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
10721         background size relative to our allocation, guard against small
10722         allocations, we may have not yet been size allocated.
10723
10724 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
10725
10726         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
10727         not just version == 3. We implement all 3 + most of 4 - 
10728         (we don't support matching text/plain;charset=iso-8859-1
10729         to a dest that expects text/plain). We'll still advertise
10730         3 to be safe, but any client implementing version >= 3
10731         must interoperate with 3.
10732         
10733 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10734
10735         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
10736         background and gc members, add a warning in gtk_tooltips_set_color()
10737         indicating that this function is deprecated.
10738
10739 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
10740
10741         * docs/gtkfaq.sgml: FAQ Update:
10742           - Minor cleanups (Emmanuel, me)
10743           - New questions:
10744                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
10745                 How can I retrieve the text from a GtkMenuItem? (timj)
10746                 How do I validate/limit/filter the input to a GtkEntry? (me)
10747                 Memory does not seem to be released when I free the list
10748                         nodes I've allocated (timj)
10749
10750 2000-03-07  Tor Lillqvist  <tml@iki.fi>
10751
10752         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
10753         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
10754         for which it is no use to call GetLastError onWin9x.
10755         (gdk_other_api_failed) New function, for general error
10756         reporting without calling GetLastError.
10757         (gdk_win32_api_failed) OTOH, this function always calls
10758         GetLastError. (gdk_win32_last_error_string) Remove this function,
10759         GLib has the equivalent now.
10760
10761         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
10762         call them with function name, file name and line number in the
10763         arguments.
10764
10765         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
10766         functions.
10767         
10768         * gtk/gtk.def: Add some missing entry points.
10769
10770         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10771         gtk_paned_set_gutter_size, which don't exist any longer, as void.
10772         
10773         Fixes by Hans Breuer:
10774
10775         * gdk/makefile.msc: Update for debugging.
10776
10777         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
10778         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
10779         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
10780         in the dash_list.
10781
10782         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
10783         the x11 backend.
10784
10785         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
10786
10787         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
10788
10789 2000-03-04  Tor Lillqvist  <tml@iki.fi>
10790
10791         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
10792         just pixel value of background colour.
10793
10794         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
10795         containing code snippet previously duplicated in a couple of
10796         places.
10797         
10798         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
10799         gdk_colormap_color.
10800
10801         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
10802         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
10803         events for autorepeated Shift, Control and Alt keys. Use
10804         gdk_colormap_color.
10805
10806         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
10807         pointer is inside the window the cursor of which we are setting,
10808         call SetCursor immediately.
10809
10810         * gdk/win32/makefile.cygwin
10811         * gtk/makefile.cygwin: If we don't have the build number stamp
10812         file, use zero.
10813
10814         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10815         gtk_paned_set_gutter_size as empty.
10816
10817         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
10818         
10819 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
10820
10821         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
10822           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
10823           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
10824           docs/gtk_tut.sgml docs/gtk.texi TODO:
10825
10826           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
10827
10828 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
10829
10830         * gtk/gtkcalendar.c: Implement num_marked_dates,
10831           and don't emit mutiple day_selected signals on
10832           month_prev.
10833
10834 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
10835
10836         * docs/make-todo (lineno): let title and logo be configurable so
10837         that GNOME can use this script too.
10838
10839         * TODO.xml: added logourl and a title
10840
10841 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
10842
10843         * TODO.xml: Added some UI items, and an explanatory
10844         comment at the top of the file.
10845
10846 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
10847
10848         * TODO.xml: some updates, added abunch of new entries.
10849         a note for those fiddeling with this file, when done
10850         with it, invoke:
10851         $ ./docs/make-todo TODO.xml >/dev/null
10852         and correct output errors before comitting changes.
10853
10854 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
10855
10856         * TODO.xml: Added XML-structured TODO file.
10857         * docs/make-todo: python script to turn TODO.xml into
10858           pretty XML output. 
10859
10860 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
10861
10862         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
10863         the function to let it draw the seven dots, instead of the old,
10864         much maligned, method.
10865         (draw_dot): New function to draw a dot.
10866
10867         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
10868         to draw the handle inside the border width as opposed to outside.
10869         Use paint function instead of gdk_draw_point.
10870
10871         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
10872         to draw the handle inside the border width as opposed to outside.
10873         Use paint function instead of gdk_draw_point.
10874
10875         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
10876         Change indenting to be more GTK like.
10877
10878 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
10879
10880         * docs/gtk_tut.sgml: New section on GtkCalendar
10881         * examples/calendar: Update example code
10882
10883 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
10884
10885         * docs/gtkfaq.sgml: FAQ Update
10886
10887 2000-02-19  Anders Carlsson  <andersca@gnu.org>
10888
10889         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
10890         to prevent the scroll event to be propagated upwards.
10891
10892 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10893
10894         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
10895         OwnerGrabButtonMask from button entries for
10896         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
10897
10898         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
10899         to the event mask (which will result in button/press release
10900         being added to the event mask on Unix) so scrolling works
10901         for layouts in scroll windows.
10902
10903         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
10904
10905         Patch from Anders Carlsson  <andersca@gnu.org> to add
10906         a scroll event.
10907
10908         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
10909         scrolling to the "Test Scrolling" part of testgtk.
10910  
10911         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
10912  
10913         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
10914         it against GDK_SCROLL.
10915  
10916         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
10917         way of mouse wheel scrolling.
10918  
10919         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
10920  
10921         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
10922  
10923         * gtk/gtkmain.c: Removed previous mouse wheel hack.
10924  
10925         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
10926         gdk_event_mask_table.
10927  
10928         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
10929         GdkEventScroll handler.
10930  
10931         * gdk/gdkevents.h: Added GdkEventScroll structure.
10932  
10933 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
10934
10935         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
10936         and Anders Carlsson to change the Paned widgets so that they
10937         can be dragged from anywhere along the length. Also change
10938         the way that this is drawn to make this apparent.
10939
10940         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
10941         from George Lebl to check that option_menu->menu is present
10942         before getting history.
10943
10944 2000-02-14  Tor Lillqvist  <tml@iki.fi>
10945
10946         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
10947         before the assertion for non-NULL segment list.
10948
10949         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
10950         Seems that pattern brushes *must* be 8x8 pixels! At least on my
10951         machine, but it might be display driver dependent. Sigh, so make
10952         sure the stipple is that size. Does Windows suck or what?
10953
10954         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
10955         places.
10956
10957 2000-02-13  Havoc Pennington  <hp@pobox.com>
10958
10959         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
10960         refcount to 1
10961         (gdk_cursor_new): init refcount to 1
10962
10963         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
10964
10965 2000-02-13  Tor Lillqvist  <tml@iki.fi>
10966
10967         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
10968         so that we don't have to do unnecessary settings to the HDC.
10969
10970         * gdk/win32/gdkdrawable-win32.c
10971         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
10972         gdk_gc_predraw.
10973
10974         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
10975         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
10976         GDI paths, call WidenPath to get the outline of the stroken path,
10977         and then fill the outline (with the brush that was built from the
10978         stipple).
10979
10980         * gdk/win32/gdkgc-win32.c: Factor out common code from
10981         _gdk_win32_gc_new and gdk_win32_gc_set_values into
10982         gdk_win32_gc_values_to_win32values. Use correct colour for
10983         SetBkColor() (Until now the code actually used a random colour in
10984         the call to SetBkColor()... but that didn't show up as not many
10985         GDI APIs use the background colour. Pattern (opaque stippled)
10986         brushes do.)
10987
10988         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
10989         gdk_win32_api_failed): New functions for error logging.
10990
10991         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
10992         WIN32_API_FAILED to call them, passing function or file name and
10993         line number.
10994
10995         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
10996
10997         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
10998         GdkColor for foreground and background in GdkGCWin32Data.
10999
11000         * gdk/makefile.cygwin: Link in the resource object separately.
11001
11002         * gdk/win32/rc/gdk.rc
11003         * gtk/gtk.rc (New file)
11004         * gdk/win32/makefile.cygwin
11005         * gtk/makefile.cygwin: Update build number in DLLs automatically,
11006         as in GLib.
11007
11008 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
11009
11010         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
11011         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
11012         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
11013         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
11014         parameters given and cursor->ref_count. coding style fixups.
11015
11016         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11017         not GtkWidget.
11018         
11019         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
11020         fix up widget macros and add _GET_CLASS() variant.
11021         
11022         * gtk/*.c: some GtkType fixups.
11023
11024 2000-02-09  Tor Lillqvist  <tml@iki.fi>
11025
11026         * gdk/win32/gdkproperty-win32.c
11027         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
11028         were reversed.
11029
11030 2000-02-04  Tor Lillqvist  <tml@iki.fi>
11031
11032         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
11033         g_filename_to_utf8 to convert the font names Windows gives us from
11034         whatever is the default codepage to UTF-8.
11035         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
11036         in the other direction.
11037
11038         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
11039         error in debugging output.
11040
11041 2000-02-02  Tor Lillqvist  <tml@iki.fi>
11042
11043         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
11044         and height parameters to gdk_window_clear_area(). Not minus one.
11045
11046 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
11047
11048         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
11049         checks if the widget passed to gtk_drag_get_data() was not the
11050         dest widget.
11051
11052 2000-02-01  Tor Lillqvist  <tml@iki.fi>
11053
11054         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
11055         g_filename_from_utf8 functions (which were added a moment ago to
11056         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
11057         size buffers.
11058
11059         gtk_file_selection_get_filename returns the filename in the C
11060         runtime encoding. It calls g_filename_from_utf8, but copies the
11061         returned string to a static buffer, which is returned. I think
11062         this is better than returning the result from g_filename_from_utf8
11063         directly, which would mean all apps that use it would have to free
11064         the return value. Or should this function care about this issue at
11065         all? Maybe a new function with clearly defined semantics.
11066
11067         * gtk/gtkfilesel.h: Add comment about
11068         gtk_file_selection_get_filename returning the filename in the C
11069         runtime's encoding.
11070
11071         * README.win32
11072         * gdk/gdk.def
11073         * gdk/makefile.{cygwin,msc}
11074         * gtk/gtk.def: Updates.
11075
11076         * gdk/gdkcursor-win32.c: Initialise refcount.
11077
11078 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
11079
11080         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
11081
11082 2000-01-30  Havoc Pennington  <hp@pobox.com>
11083
11084         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
11085         destroy
11086
11087         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
11088
11089         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
11090         implemented in platform-specific code
11091
11092         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
11093
11094         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
11095         underscore in front
11096
11097         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
11098         put an underscore in front
11099
11100         * gdk/gdkcursor.c: new file, implements
11101         gdk_cursor_ref/gdk_cursor_unref
11102
11103         * gdk/gdkcursor.h: Refcount GdkCursor
11104
11105         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
11106
11107 2000-01-29  Tor Lillqvist  <tml@iki.fi>
11108
11109         * gdk/gdkwindow.h
11110         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
11111
11112 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
11113
11114         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
11115         structures to properly inherit from GtkWidget not GtkBin.
11116
11117 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
11118
11119         * gtk+.spec.in: Added lib/gtk+/include/* to %files
11120         (bug #5178 - Peter Wainright)
11121         
11122         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
11123         so that it will be installed.
11124         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
11125
11126 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
11127
11128         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
11129         for the GtkStyleClass vtable const.
11130
11131         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
11132         take a const string argument like GtkTranslateFunc. This will
11133         require changes in use code.
11134
11135 2000-01-19  Tor Lillqvist  <tml@iki.fi>
11136
11137         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
11138         semantics (to mimic the X11 backend, which just calls XClearArea)
11139         is to check for zero width (and height), and in that case use the
11140         window's width minus x (height minus y). This fixes for instance
11141         some redraw problems with gtkclist, which were easily noticeable
11142         in the gtk file selection widget.
11143
11144         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
11145         windows.
11146
11147 2000-01-13  Tor Lillqvist  <tml@iki.fi>
11148
11149         * configure.in
11150         * gdk/Makefile.am
11151         * gdk/x11/Makefile.am
11152         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
11153         (bug #5177).
11154         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
11155         out later.
11156
11157 2000-01-09  Tor Lillqvist  <tml@iki.fi>
11158
11159         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
11160         WM_MOVE for iconified or invisible windows. This fixes various
11161         problems when minimising windows. Thanks to Bernd Herd.
11162
11163 2000-01-05  Tor Lillqvist  <tml@iki.fi>
11164
11165         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
11166         backend's draw_lines method, not draw_points.
11167
11168 2000-01-02  Tor Lillqvist  <tml@iki.fi>
11169
11170         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
11171         before Owen's reorganisation: Don't have queued_events and
11172         queued_tail statics in this file, but use gdk_queued_events and
11173         gdk_queued_tail. This makes exposure event compression work again.
11174
11175         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
11176         seem to be needed?
11177
11178 1999-12-30  Tor Lillqvist  <tml@iki.fi>
11179
11180         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
11181         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
11182         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
11183         doesn't do anything.
11184
11185         * gdk/gdk.def: Add gdk_xid_table_insert.
11186
11187         * gdk/win32/gdkprivate-win32.h
11188         * gdk/win32/gdkevents-win32.c
11189         * gdk/win32/gdkinput-win32.c
11190         
11191         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
11192         extension_events field in the GdkWindowWin32Data struct. Use only
11193         the extension_events field in GdkWindowPrivate. Previously one was
11194         set, and the other one tested, which broke tablet
11195         functionality. Thanks to Keishi Suenaga for pointing this out.
11196
11197 1999-12-18  Tor Lillqvist  <tml@iki.fi>
11198
11199         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
11200         When handling a single character (text length == 1), don't handle
11201         it as if it was UTF-8.
11202
11203 1999-12-11  Tor Lillqvist  <tml@iki.fi>
11204
11205         * Makefile.am: Distribute README.win32.
11206         
11207         * gdk/Makefile.am
11208         * gdk/win32/Makefile.am: Distribute Win32 files.
11209
11210         * gdk/makefile.msc: New file.
11211
11212         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
11213         after label).
11214
11215         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
11216         gdk_error_code as GDKVAR, as they are referred outside GDK.
11217
11218         * gdk/win32/makefile.msc: Update.
11219
11220         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
11221         tweaks. Check only if at least one of those Unicode subrange bits
11222         we care for is set. If no code page bits are set, guess (wildly)
11223         based on the charset.
11224
11225         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
11226
11227         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
11228         non-NULL.
11229
11230         * gtk/gtkdnd.c
11231         * gtk/gtklayout.c
11232         * gtk/gtkplug.c
11233         * gtk/gtkselection.c
11234         * gtk/gtksocket.c
11235         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
11236         appropriate. There must be a cleaner way to handle this?
11237
11238         * gtk/gtkrc.c: Must include windows.h on Win32.
11239
11240         * gtk/testgtk.c: No need to include gdkx.h.
11241
11242         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
11243
11244 1999-12-07  Tor Lillqvist  <tml@iki.fi>
11245
11246         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
11247         the rbearing is set to the same as the width, but this should be
11248         fixed.
11249
11250 1999-12-06  Tor Lillqvist  <tml@iki.fi>
11251
11252         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
11253         function. If Windows doesn't tell us what Unicode subranges a font
11254         covers, guesstimate based on the codepages it covers. This will
11255         hopefully help those Windows versions or fonts that don't give us
11256         any useful Unicode subrange information with GetTextCharsetInfo.
11257         Call this function in gdk_font_load_internal.
11258
11259         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
11260         minor changes.
11261
11262 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
11263
11264         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
11265         New function, long needed.
11266
11267 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
11268
11269         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
11270         only_if_exists argument of gdk_atom_intern to
11271         bool.
11272
11273 1999-11-25  Tor Lillqvist  <tml@iki.fi>
11274
11275         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
11276         Fix two copy&paste errors.
11277
11278         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
11279         win32 has changed.
11280
11281         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
11282         GdkWin32SingleFont struct.
11283
11284         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
11285         subranges of loaded fonts. Clear font signature first, in case
11286         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
11287         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
11288
11289         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
11290         Unoffset clip region.
11291
11292 1999-11-23  Tor Lillqvist  <tml@iki.fi>
11293
11294         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
11295         event->any.window before calling filter functions.
11296
11297 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
11298
11299         * gtk/gtkgamma.h: Adapt cast macros to standard.
11300
11301 [ Merges from 1.2 ]
11302
11303 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
11304
11305         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
11306         If translation does not include a '/', use entire
11307         translation instead of crashing.
11308
11309 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
11310
11311         * docs/gtk_tut.sgml:
11312         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
11313
11314 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
11315
11316         * gtk/gtkselection.c (gtk_target_list_remove): Use
11317         g_list_remove_link, not g_list_remove.
11318
11319         [ From Geert Bevin <gbevin@thunderstorms.org> ]
11320         
11321 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
11322
11323         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
11324         statement upon unselection (how the heck did that slip in?).
11325
11326 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
11327
11328         * gtk/gtktext.c (gtk_text_freeze): 
11329         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
11330         in frozen state (and aparently crashes). patch provided by Anders
11331         Melchiorsen <and@kampsax.dtu.dk>.
11332
11333 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
11334
11335         * fix insensitive default/focus widget activation,
11336         reported by Matt Goodall <mgg@isotek.co.uk>.
11337
11338         * gtk/gtkwindow.c (gtk_window_key_press_event): 
11339         (gtk_window_activate_default):
11340         (gtk_window_activate_focus):
11341         return handled=FALSE for actiavtion of insensitive default
11342         widgets. return handled=TRUE for activation of insensitive
11343         focus widgets. don't activate in either case.
11344
11345 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
11346
11347         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
11348         and $glib_cflags to match library order and in the
11349         theory that an old version of GLib is more likely to
11350         be in the include directory for X then vice-versa.
11351         (Bug #2776)
11352
11353 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11354
11355         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
11356         to determine the locale for fontsets, not LC_MESSAGES;
11357         the user may want English messages with a handling
11358         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
11359         will still be broken) (Bug #2891)
11360
11361 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11362
11363         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
11364
11365 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11366
11367         * gtk/gtkrc.ko: Changed the Korean default fontset.
11368
11369 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
11370
11371         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
11372         where when scrolling to the left or top double exposes
11373         were done, causing major slowdowns.
11374
11375 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
11376
11377         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
11378         names to lowercase and alphanumeric, before looking
11379         them up.
11380
11381         * gtk/Makefile.am: Install codeset variant gtkrc files
11382         with normalized names.
11383
11384 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
11385
11386         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
11387         popup menus when the menu is already visible, but its parent
11388         is still hidden, (happens after tornoff window got hidden).
11389
11390 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
11391
11392         * gtk/Makefile.am (install-data-local): Fix
11393         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
11394         deleted, causing error messages on install.
11395
11396 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
11397
11398         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
11399         the handle as well, since we now sometimes ignore
11400         exposes on the handle while resizing.
11401
11402 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
11403
11404         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
11405         extra g_free introduced in one of the last one or two 
11406         commits.
11407
11408 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
11409
11410         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
11411         consistent, put each style that a gtkrc.* file creates
11412         in a unique namespace, remove old files before installing.
11413
11414 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
11415
11416         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
11417         gtk_rc_init is called multiple times. (Yes, people who
11418         do that have bugs in their code.)
11419
11420 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
11421
11422         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
11423         Remove it since it's generated by the Makefile anyway
11424
11425 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
11426
11427         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
11428         device->info.axes for core pointer.
11429
11430 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
11431
11432         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
11433         idle_id, to deal with obsolete, broken C libraries.
11434
11435 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
11436
11437         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
11438         allocation->x/y twice!
11439
11440         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
11441         consistent with gtk_vscale_pos_trough().
11442
11443 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
11444
11445         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
11446         be queueing a resize on a toplevel container between
11447         the time we show it and when we map it. So, we need
11448         to test GTK_WIDGET_VISIBLE() for toplevels, and only
11449         use GTK_WIDGET_DRAWABLE() for child windows.
11450
11451 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
11452
11453         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
11454         (fixes bug #2144)
11455
11456 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
11457
11458         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
11459         container DRAWABLE (instead of VISIBLE), so we don't queue
11460         resizes on non-toplevel containers.
11461
11462 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
11463
11464         * gtk/gtkselection.[ch]: Make the data argument
11465         const guchar *.
11466
11467 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
11468
11469         * gtk/gtkwindow.c: Try to behave sensibly if 
11470         the focus widget is the window itself. (Should
11471         we allow this at all?)
11472
11473 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11474
11475         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
11476         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
11477         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
11478         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
11479         in prototypes and implementations consistent (Tomas Ogren).
11480
11481         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
11482         before the widget is unparented (reported by damon).
11483
11484         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
11485         since we provide unsigned data anyways.
11486
11487 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
11488
11489         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
11490         the call to gtk_tooltips_layout_text() until later.
11491
11492         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
11493         Call gtk_widget_ensure_style() before using the style.
11494
11495 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
11496
11497         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
11498         for old widgets that don't propagate draws to all
11499         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
11500
11501 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
11502
11503         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
11504         for a redraw but just the widget that requested the resize.
11505
11506 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
11507
11508         * gtk/gtkcontainer.c: added new widget level method
11509         gtk_container_set_reallocate_redraws() and a GtkContainer flag
11510         reallocate_redraws : 1 to reflect the setting, exported this through
11511         the argument system as a boolean ::reallocate_redraws.
11512
11513         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
11514         on the widget because the allocation changes, do so as well for
11515         widget->parent if the parent has reallocate_redraws set to TRUE.
11516         with that containers requesting reallocation redraws get automatically
11517         redrawn if their children changed allocation (this unfortunately
11518         affects also other children that didn't change allocation, but we
11519         cannot work around that before 1.3).
11520
11521 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11522
11523         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
11524         _and_ height are >0 (not _or_).
11525
11526         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
11527         instead of gtk_container_queue_resize(), which is a core gtk internal
11528         function (must have been on crack when i queued that).
11529
11530         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
11531         we can check more reliably if we want to discard expose events.
11532         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
11533         flag.
11534         
11535         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
11536         we simply trust these events. for deciding whether to discard exposes,
11537         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
11538         
11539 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
11540
11541         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11542         queues of areas that are completely off screen.
11543
11544         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
11545         logic for handleboxes.
11546
11547         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
11548         check on width/height.
11549
11550 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
11551
11552         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
11553         we are fine with using $@ the way we do (if we actually encounter
11554         brokeness with $@ in VPATH builds because of additional path prefixes,
11555         we need to use $(@F) actually).
11556
11557 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
11558
11559         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
11560         short lived bugs, that would allow language bindings to do surgeries
11561         to our guts.
11562
11563 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
11564
11565         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
11566         where comparison was being done against an uninitialized
11567         value causing intermittant results depending on
11568         compiler flags. Also make it clearer that we aren't
11569         ever initializing the child as 0x0 (though this will
11570         be caught in gtk_widget_size_allocate())
11571
11572 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
11573
11574         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
11575         gtk_window_unset_transient_for() call after we do checks
11576         involving the old transient parent.
11577         [ From Lance Capser <lmc@cyberhighway.net> ]
11578
11579 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
11580
11581         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
11582         an empty file.
11583
11584 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
11585
11586         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
11587         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
11588
11589 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
11590
11591         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
11592         `$@' is valid only in the build dir, not after we've done 
11593         `cd $srcdir'.  Also use `test -f' instead of less portable
11594         `test -e'.
11595
11596 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
11597
11598         * gtk/gtktext.c (correct_cache_insert): Rewrite
11599          for simplicity, and hopefully correctness.
11600          (Fixes bug #1322, which was a segfault when
11601           on some insertions with the properties around
11602           the insertion set up just wrong.)
11603
11604         * gtk/gtktext.c (gtk_text_adjustment): When we receive
11605          a "changed" signal, clamp the new value to the adjustment
11606          bounds to avoid segfaulting if someone tries to change
11607          the adjustment to a bogus value. (Bug #1795)
11608
11609 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11610
11611         * gtk/gtkmain.c: Ignore unexpected destroy notifies
11612         for children, for toplevel windows handle them
11613         like delete_event.
11614
11615         * gtk/gtkplug.c: Add an unrealize handler so that
11616         we unref plug->socket_window when we are done
11617         with it.
11618
11619 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
11620
11621         * gtk/gtktext.c (clear_area): Fix stupid signedness
11622          problem that was causing background to sometimes
11623          be misaligned.
11624
11625 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
11626
11627         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
11628         
11629         * gtk/gtkmenu.c (gtk_menu_position): Make
11630          sure we never position menus with negative x, y,
11631          since gtk_widget_set_uposition() can't handle that.
11632
11633         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
11634          Modify the positioning code a bit so that we always
11635          put the top-left corner onscreen. (This is for
11636          UI reasons, gtk_menu_position() now takes care of
11637          gtk_widet_set_uposition() brokeness.)
11638
11639 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
11640
11641         * gtk/Makefile.am: fixed up things for -jx, x > 1.
11642
11643 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
11644
11645         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
11646           RC style that is passed in. The lack of the ref
11647           before was a bug. If people worked around this
11648           bug, this will introduce a slight memory leak
11649           in their code. The code should typically look like:
11650
11651             rc_style = gtk_rc_style_new ();
11652             [...]
11653             gtk_widget_modify_style (widget, rc_style);
11654             gtk_rc_style_unref (rc_style);
11655
11656         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
11657           the style if it was already set.
11658
11659         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
11660           style if it was set before.
11661
11662 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11663
11664         * gtk/testgtk.c (main): Add a check to see if we
11665           are being run from the correct directory and
11666           to quit nicely if we are not.
11667
11668         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
11669           static.
11670
11671 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
11672
11673         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
11674
11675         * gtk/gtkwindow.c:
11676         queue resizes unconditionally (gtk_widget_queue_resize will figure
11677         what to do if the window is not realized).
11678         (gtk_window_move_resize): only recenter the window
11679         for GTK_WIN_POS_CENTER_ALWAYS.
11680         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
11681         the same way as GTK_WIN_POS_CENTER.
11682
11683 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
11684
11685         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
11686         with (!(info->last_flags & GDK_HINT_POS)) instead of
11687         (!info->last_flags & GDK_HINT_POS).
11688
11689         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
11690         new_height unconditionally, because we use these values even if
11691         !default_size_changed && !hints_changed.
11692         comented the (default_size_changed || hints_changed) case with
11693         respect to resize rejects from the window manager.
11694
11695         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
11696         in the zvt condition hack, since this includes the window hints, set
11697         the hints after the handling_resize case.
11698
11699         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
11700         window is initially shown with to the geometry.
11701
11702 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
11703
11704         * gtk/gtkwindow.c (gtk_window_move_resize):
11705         s/size_changed/default_size_changed/g so i know what's
11706         really going on (frying brain on smaller flame now).
11707
11708 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
11709
11710         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
11711         we have size_changed upon handling_resize. this is a gross
11712         workaround for the broken zvt widget and should be removed in
11713         1.3 again (search for FIXME).
11714         Owen provided an accurate comment for this:
11715
11716         /* We could be here for two reasons
11717          *  1) We coincidentally got a resize while handling
11718          *     another resize.
11719          *  2) Our computation of size_changed was completely
11720          *     screwed up, probably because one of our children
11721          *     is broken. It's probably a zvt widget.
11722          *
11723          * For 1), we could just go ahead and ask for the
11724          * new size right now, but doing that for 2)
11725          * might well be fighting the user (and can even
11726          * trigger a loop). Since we really don't want to
11727          * do that, we requeue a resize in hopes that
11728          * by the time it gets handled, the child has seen
11729          * the light and is willing to go along with the
11730          * new size. (this happens for the zvt widget, since
11731          * the size_allocate() above will have stored the
11732          * requisition corresponding to the new size in the
11733          * zvt widget)
11734          *
11735          * This doesn't buy us anything for 1), but it shouldn't
11736          * hurt us too badly, since it is what would have
11737          * happened if we had gotten the configure event before
11738          * the new size had been set.
11739          */
11740
11741 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
11742
11743         * gtk/gtkrc.c: deal properly with the fact that RC
11744           style lists may include rc styles more than once.
11745
11746         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
11747           unused static function.
11748
11749         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
11750           stack of directories of RC files currently being
11751           parsed and implicitely add them to pixmap path.
11752           
11753           This fixes a bug where the directory would get
11754           appended then overwritten by pixmap_path declarations.
11755
11756           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
11757
11758         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
11759           theme's exit function. (Patch from Peter Wainwright,
11760           bug #1454)
11761
11762         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
11763           Add a destroy() handler to take care of removing
11764           group for menu item. (Fixes bug #1197)
11765
11766         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
11767           in warning message.
11768
11769 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
11770
11771         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
11772         roundtrip to figure window's width and height, since we know that
11773         anyways from widget->allocation.
11774
11775 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
11776
11777         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
11778           the hints after we request the new size.
11779
11780 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
11781
11782         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
11783           GTK_WIDGET_REALIZED() assertion - we can compute the
11784           hints before we are realized.
11785
11786         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
11787           hint changing so that we have a value of hints_changed
11788           when we decide whether to constrain the window size.
11789
11790         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
11791
11792         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
11793         change back to G_MAXINT.
11794
11795 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
11796
11797         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
11798         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
11799         contain uncluttered values.
11800         (gtk_window_compute_hints): simply assert that window is realized
11801         and that geometry_info is valid, since we rely on this anyways.
11802         (gtk_window_constrain_size): major cleanups to the code.
11803         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
11804         for the base size, instead of the minimums. use 32767 as max width
11805         and height (like in gtkwindow.c) instead of G_MAXINT.
11806
11807 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
11808
11809         * cleaned up the GtkContainer.need_resize flag handling mess, we
11810         only need to force resize requests when we were prematurely
11811         realized, or our widget tree was modified when we were temporarily
11812         hidden. handling these cases directly upon showing the window (i.e.
11813         while the GdkWindow is still unmapped) avoids the need to wait for
11814         a configure event response and therefore makes the GUI more snappier
11815         and avoids blank windows during the roundtrip.
11816
11817         * gtk/gtkwidget.c:
11818         (gtk_widget_hide): 
11819         (gtk_widget_show): don't queue resizes on toplevels, they know how
11820         to deal with matters.
11821
11822         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
11823         flag directly for not visible resize containers and spare us unecessary
11824         signal emissions.
11825
11826         * gtk/gtkwindow.c:
11827         (gtk_window_realize): if we need to enforce premature size allocation,
11828         queue a container resize so we are correctly resized later on.
11829         (gtk_window_init):
11830         (gtk_window_size_request):
11831         don't freak around with the ->need_resize flag,
11832         gtk_container_queue_resize() will care about that.
11833         (gtk_window_show):
11834         handle initial resizing issues here, we can handle matters better in
11835         this place, especially since we know that our GdkWindow is still
11836         unmapped.
11837         (gtk_window_move_resize):
11838         don't care about ->need_resize at all.
11839         handle size changes properly that occoured while we waited for a
11840         configure event.
11841
11842 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
11843
11844         * gtk/gtkwidget.c (gtk_widget_set_uposition):
11845         * gtk/gtkwindow.[hc] (gtk_window_reposition):
11846         Move the hint setting code from gtk_widget_set_uposition
11847         to here; set the hints so that we respect any previously
11848         set geometry hints.
11849
11850         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
11851         change the window hints here or move the window here,
11852         let that happen in gtk_window_move_resize().
11853
11854 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
11855
11856         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
11857         to already queued resizes (and therefore redraws) on a widget, check
11858         its anchestry as well.
11859
11860         * gtk/gtkcontainer.c:
11861         (gtk_container_queue_resize): clear resize widgets for resize
11862         containers before aborting prematurely. this is especially important
11863         for toplevels which may need imemdiate processing or their resize
11864         handler to be queued.
11865         (gtk_container_dequeue_resize_handler): added new internal function for
11866         gtkwindow.c.
11867
11868         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
11869         configure event, take possible changes in window position into account
11870         as well.
11871         if we request a new window size, queue up a resize handler that will
11872         last until the configure event response arrives.
11873         combined the ->need_resize case (initial show) with the general size
11874         (hints) changed case and added even more comments.
11875         if !auto_shrink, only revert to the old allocation if the new size
11876         is smaller than the current allocation.
11877
11878 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
11879
11880         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
11881                            gtk_window_set_geometry_hints
11882                            gtk_window_set_default_size):
11883         When hints are set, queue a resize so that the hints will
11884         be eventually reset on the toplevel.
11885
11886         * gtk/gtkwindow.c (gtk_window_show): Use
11887         gtk_window_compute_default_size(). Clear the need_resize flag
11888         on the initail map so that we don't unnecessarily trigger the
11889         resize code.
11890
11891         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
11892         into separate functions. Compare the hints we are setting
11893         with what we set last time so that we can accurately
11894         tell when we need to reset the hints.
11895
11896         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
11897         function to figure out the size from requisition
11898         and default_size.
11899
11900         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
11901         from fvwm to constrain a size to the geometry hints.
11902
11903         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
11904         to compare two sets of geometry hints.
11905
11906         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
11907         from gtk_window_set_hints(), just compute the hints,
11908         don't set them.
11909
11910         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
11911         code from gtk_window_move_resize() to separate function,
11912         rationalize a bit.
11913
11914 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
11915
11916         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
11917         structure into a new private structure.
11918
11919         * gtkrc.c: Split GtkRcStyle into public/private.
11920         In the private part, add a list of pointers to the
11921         RcStyle lists this RcStyle participates in.
11922
11923         * gtkrc.c: When a RcStyle is free, remove all
11924         lists referencing it from the 
11925         realized_style_ht hash, and free those lists.
11926         
11927         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
11928         gtk_rc_init(), since that adds the default styles
11929         to the list of parsed RC files again.
11930
11931         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
11932         
11933 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
11934
11935         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
11936         checks that ensure that a widget's allocation is at least 1 in width
11937         and height. (GNOME note: this doesn't affect old panel code anymore,
11938         because GtkSocket will request width and height of at least 1 since
11939         Fri Jul 23).
11940
11941         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
11942         allocated yet (happens if the user realizes the window prematurely),
11943         size request and allocate it.
11944         (gtk_window_size_allocate): guard against guint underflows.
11945
11946 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
11947
11948         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
11949         in gtk_built_sources, so gtk.defs gets built prior to all other
11950         sources.
11951
11952 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11953
11954         * gtk/Makefile.am:
11955         invoke indent on gtkmarshal.*. 
11956         rewrote source generation rules, use COPYING as oldest source tag for
11957         a piggyback rule to generate all sources from (don't touch it ;).
11958         major cleanups, strip spaces on build rules for GNU Make.
11959
11960         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
11961         source and target files from commandline arguments. don't invoke indent.
11962
11963 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11964
11965         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11966         notebook after switch to avoid drawing problems.
11967         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11968         
11969         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11970         show them instead. 
11971         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11972
11973 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11974
11975         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11976         notebook after switch to avoid drawing problems.
11977         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11978         
11979         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11980         show them instead. 
11981         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11982
11983 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
11984
11985         * gtk/gtkwindow.c:
11986         we use window->need_resize from configure_event now, to indicate that
11987         the gtkwindow should keep its allocation (e.g. because the user resized
11988         the window through window manager handles). resize_count is now reliably
11989         used to figure whether we got the allocation we requested from the
11990         window manager.
11991         configure events get queued as resizes now, the real stuff (size
11992         computation and allocation) now only goes on in gtk_window_move_resize().
11993         GtkWindow's requisition now contains its *real* requisition (like all
11994         other widgets), *not* taking usize into account.
11995         geometry_info->last_{width|height} is now updated from set_hints() only
11996         so it always contains the last hints we set for the window manager.
11997         made some event handlers return TRUE instead of FALSE.
11998         the overall code should be much more straight forward now, and the
11999         significant code portions are accompanied by comments now.
12000         (gtk_window_set_hints):
12001         removed requisition argument and made it
12002         fetch the requisition through gtk_widget_get_child_requisition.
12003         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
12004         does that now.
12005         (gtk_window_show):
12006         ensure that the widget is realized before calling 
12007         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
12008         ensure that we got properly size requested and allocated before
12009         realization.
12010         (gtk_window_configure_event):
12011         ignore plain window moves, or reallocate the widget tree through the
12012         resize queue otherwise.
12013         (gtk_window_move_resize):
12014         mostly rewrote this function to figure window manager hints more
12015         reliably, coalesce window moves and resizes to reduce configure events
12016         and do actuall size allocations.
12017
12018 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12019
12020         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
12021         that have a resize pending, because a redraw is already queued for them.
12022
12023         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
12024         hack to clear resize_widgets.
12025
12026         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
12027         for resize containers prior to size allocation. (this is also a bit
12028         ugly, but avoids side effects for stopped emissions and is thus more
12029         reliable).
12030         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
12031
12032         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
12033         function from gtk_tooltips_expose, as we connect to ::expose_event
12034         *and* ::draw now.
12035
12036 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12037
12038         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
12039         checks.
12040         (gtk_target_list_unref): Likewise.
12041
12042         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
12043
12044 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
12045
12046         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
12047         guard against division by zero. (Fixes bug #1339)
12048
12049 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
12050
12051         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
12052         Prevent the trivial leak of information of allowing
12053         word motion when the entry is not visible.
12054
12055 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
12056
12057         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
12058         modality to error dialog as well as confirmation dialogs.
12059         (Bug #1803, reported by Rosanna Wing Sze Yuen)
12060
12061 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12062
12063         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
12064         tree->view_lines.
12065         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
12066
12067         * gtk/Makefile.am (install-data-local): Solaris apparently
12068         has various troubles with ln -f; use rm first instead.
12069         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
12070
12071 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
12072
12073         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
12074         use `cp' followed by `rm' (the `rm' was already there).
12075
12076 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12077         
12078         * configure.in: Fix autoconf warnings about cross compilation by
12079         trying to provide sane defaults for AC_TRY_RUN.
12080         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
12081         put them into $(srcdir) when generated. Also add a dependency of
12082         gtksignal.h on gtkmarshal.h for -j builds. 
12083         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
12084
12085 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
12086
12087         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
12088         GDK_THREADS_{LEAVE,ENTER} pair.
12089         (From Paul Fisher <pnfisher@redhat.com>)
12090
12091 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
12092
12093         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
12094         width and height are always >0 (owen).
12095
12096 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
12097
12098         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
12099         change that assured that a widget's allocated with and height are
12100         always >1, since this breaks *buggy* panel code. unfortunately this
12101         back-breaks the gimp's color selector.
12102
12103         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
12104         allocation is always >0 in width and height, before sending the
12105         configure event; this is a *gross* hack to get the gimp back to work.
12106         
12107         * marked both cases with TODO-1.3
12108
12109 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
12110
12111         * gtk/gtktext.c: Don't display wrap indicators when
12112         text is not editable and word wrap is on.
12113
12114 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
12115
12116         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
12117         option menus here as they are not derived from menu shell, assure that
12118         the option menu has a menu we can add items to.
12119
12120 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
12121
12122         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
12123         width/height to (gint) before calculations and check against < 0 to
12124         avoid guint wraparounds.
12125
12126 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
12127
12128         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
12129         width and height is never zero. sanity check both dimensions against
12130         32767 and issue a warning if the allocation is greater than that.
12131
12132 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
12133
12134         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
12135         to g_main_pending() as well.
12136
12137 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
12138
12139         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
12140         call to g_main_iteration() - since that will regrab
12141         GTK+ lock to process events.
12142
12143 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
12144
12145         * gtk/gtkwindow.c
12146         - Regularize with the rest of GTK+ by making widget->requisition
12147           not reflect the set_usize()
12148         - Always recompute geometry hints, then check if they
12149           changed before sending them to the X server. The
12150           previous checks for changes would fail in a number
12151           of circumstances. 
12152
12153 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
12154
12155         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
12156
12157 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
12158
12159         * gtk/gtkdnd.c:
12160         - Code cleanups
12161         - Instantaneously update on modifier key presses
12162         - Allow cancellation of the drag with Escape.
12163
12164 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
12165
12166         * gtk/testgtk.c (create_handle_box): Set the policy
12167         to auto_shrink - otherwise the appearance is rather
12168         strange when flipping between horizontal and vertical.
12169
12170 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
12171
12172         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
12173         (gtk_window_set_default_size): don't change a value if it's < 0.
12174         queue a resize.
12175
12176 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
12177
12178         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
12179
12180 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
12181
12182         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
12183         add an extra "/" when concating "/" + filename.
12184         (From Matt Grossman <mattg@oz.net>)
12185
12186 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
12187
12188         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
12189         for fg_gc if we set it for drawing pixmap.
12190
12191 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
12192
12193         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
12194         
12195         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
12196         already set, call old engine's destroy function and
12197         unref the old engine.
12198
12199 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
12200
12201         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
12202
12203 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
12204
12205         * gtk/gtkaccelgroup.h: mark certain functions as internal.
12206
12207 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
12208
12209         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
12210         expand behaviour changed.
12211
12212         * gtk/gtklabel.c (gtk_label_set_pattern):
12213         (gtk_label_set_justify):
12214         (gtk_label_set_line_wrap):
12215         don't bother invoking queue_clear, the reallocation does
12216         that for us, always free_words so the upcoming resize will
12217         relayout the label's contents.
12218
12219 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
12220
12221         * applied argument implementation patches from Elena Devdariani
12222         <elena@cogent.ca>.
12223
12224         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
12225         ::space_style, ::relief
12226         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
12227         * gtk/gtkpreview.c: ::expand
12228         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
12229         * gtk/gtknotebook.c: ::homogeneous
12230         * gtk/gtklabel.c: ::wrap
12231         * gtk/gtklist.c: ::selection_mode
12232         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
12233         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
12234         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
12235         * gtk/gtkclist.c: ::sort_type
12236         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
12237         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
12238
12239 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
12240
12241         * gtk/gtkstyle.c: Removed ill-thought-out part of last
12242         comment.
12243
12244 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
12245
12246         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
12247         counting right when we have to attach a new style
12248         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
12249
12250         * gtk/gtkstyle.c: Documented the refcounting
12251         peculularities of gtk_style_attach.
12252
12253 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12254
12255         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
12256         window types.
12257
12258         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
12259         of GTK_TOPLEVEL for creating the window.
12260
12261 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12262
12263         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
12264         the last argument (reported by Per Winkvist).
12265         
12266 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
12267
12268         Fixes for invisible XOR lines (Frank Loemker
12269         <floemker@TechFak.Uni-Bielefeld.DE>)
12270         
12271         * gtk/gtkclist.c (gtk_clist_realize): Always use
12272         a non-zero pixel for GDK_XOR.
12273
12274         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
12275         Use GDK_INVERT instead of GDK_XOR.
12276
12277 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
12278
12279         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
12280         signals if h/voffsets differ from adjustment values.
12281         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
12282
12283 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
12284
12285         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
12286         ::selection-done emissions up to the topmost menu shell.
12287
12288 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
12289
12290         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
12291         the user data on the window before destroying it.
12292
12293         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
12294         unrealize handler to take care of destroying 
12295         notebook->panel properly. 
12296         (Bug #1198 - Morten Welinder <terra@diku.dk>)
12297
12298         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
12299         of g_new and g_realloc to stop memory leak. (Actually,
12300         we could just use g_realloc(), but I'm not 100% sure
12301         that is portable).
12302         (Bug #1196 - Morten Welinder <terra@diku.dk>)
12303
12304 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12305
12306         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
12307
12308         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12309         for fontsets.
12310
12311         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
12312         with bin/button confusion.
12313
12314 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
12315
12316         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
12317         and show how preselection of radio items is done.
12318
12319 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
12320
12321         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
12322         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
12323         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
12324         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
12325         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
12326         * gtk/gtktable.c (gtk_table_attach): 
12327         * gtk/gtklist.c (gtk_list_insert_items): 
12328         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
12329         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
12330         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
12331         * gtk/gtkbin.c (gtk_bin_add): 
12332         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
12333         * gtk/gtkfixed.c (gtk_fixed_put): 
12334         * gtk/gtklayout.c (gtk_layout_put):
12335         general fixups to container_add logic. always realize child if
12336         child->parent is realized, only map the child and queue a resize
12337         if child and child->parent are both visible.
12338
12339 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
12340
12341         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
12342         instead of gtk_container_foreach to walk and unrealize children, so
12343         composite children get also unrealized.
12344         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
12345         (gtk_widget_map): assert that the widget is visible (basic constrain).
12346         (gtk_widget_real_map): assert that the widget is realized (basic
12347         constrain).
12348
12349 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
12350
12351         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
12352
12353 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
12354
12355         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
12356         file for iso-8859-2 locales.
12357
12358         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
12359
12360 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
12361
12362         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
12363          (Pointed out by andy@rz.uni-karlsruhe.de and others).
12364          Remove some suspicious and useless lines. 
12365
12366 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
12367
12368         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
12369         width,height = 0, 0 to mean - here to edge of window,
12370         instead of -1, -1, since the former is all we support.
12371
12372 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
12373
12374         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
12375         when removing from quit_functions list.
12376
12377 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
12378
12379         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
12380
12381 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
12382
12383         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
12384          When redrawing characters on non-visible entry, use appropriate
12385          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
12386
12387 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
12388
12389         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
12390         from drag coordinates.
12391         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
12392         use drag_dest_cell.
12393
12394         * gtk/gtktree (drag_dest_cell)
12395         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
12396         (Bug #1129)
12397
12398 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
12399
12400         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
12401         translate_* fields.
12402         (gtk_item_factory_finalize): invoke translate_notify independant from
12403         translate_data.
12404         (gtk_item_factory_set_translate_func): likewise.
12405         (gtk_item_factory_destroy): only remove ifactory pointer from those
12406         widgets that belong to us (stupid me).
12407
12408 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
12409
12410         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
12411         rc_style list when lookup succeeeds.
12412
12413 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
12414
12415         * gtk/gtkctree.c (resync_selection): 
12416         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
12417         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
12418         bug.
12419
12420 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
12421
12422         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
12423         Add some missing GDK_THREADS_ENTER()/LEAVE around
12424         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
12425
12426 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
12427
12428         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
12429         rather than emit_by_name.
12430
12431         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
12432         on the widget across multiple signal emissions.
12433         (gtk_editable_delete_text): same here.
12434         (gtk_editable_class_init): set widget_class->activate_signal after
12435         editable_signals[ACTIVATE] has been created.
12436
12437 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
12438
12439         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
12440         position here prematurely -- we might not have the
12441         right ->min_position and ->max_position yet.
12442
12443 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12444
12445         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
12446         Add error traps so if the other end of the connection
12447         dies, we survive.
12448
12449         * gtk/gtkselection.c (gtk_selection_notify): Clean
12450         up properly when selection property retrieval fails.
12451         
12452         * gtk/gtkselection.c (gtk_selection_request): Correctly
12453         reject SelectionRequest notifies where the handler
12454         returns no data.
12455
12456 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12457
12458         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
12459         when we've previously highlighted.
12460
12461         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
12462         emit two "drag_leave" signals for Motif drops.
12463
12464         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
12465         back the correct status messages when dropping from
12466         Motif onto a proxy window that is rejecting the
12467         drop.
12468
12469 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
12470
12471         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
12472         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
12473         to compare two argument values. added gtk_arg_to_valueloc() to set a
12474         variable from an arg through its location (pointer).
12475
12476         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
12477         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
12478         as gfloat*, uchars are collected as guchar*, ints are collected as
12479         gint*, etc...
12480
12481 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
12482
12483         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
12484         Include <string.h> instead of <strings.h>.
12485
12486         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
12487         (actually, a lot more duplicate includes occur if
12488          you trace through the sequence of #include's)
12489         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
12490         
12491 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12492
12493         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12494         gtk-a-higuti-990322-[0-3]
12495
12496         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12497         that was causing -DX_LOCALE not to work.
12498
12499         * gtk/gtkrc.c (gtk_rc_init):
12500         X_LOCALE will never have LC_MESSAGES defined
12501
12502 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
12503
12504         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
12505         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
12506
12507         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
12508         left/right as well (gtk-michael-980726-0.patch.gz).
12509
12510         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
12511         for pointer values, use gchar instead of char. fixed uline allocation
12512         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
12513         chunks instead of G_ALLOC_ONLY.
12514         (gtk_label_size_request): always alter requisition as passed and leave
12515         widget->requisition alone.
12516         (gtk_label_set_text): allow NULL strings.
12517         (gtk_label_new): likewise.
12518
12519 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
12520
12521         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
12522
12523 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
12524
12525         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
12526         *and* mapped (i.e. drawable).
12527         (gtk_bin_expose): only send exposes to drawable children.
12528
12529         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
12530         (gtk_box_expose): only send exposes to drawable children.
12531
12532         * gtk/gtkhscale.c (gtk_hscale_draw): 
12533         * gtk/gtkvscale.c (gtk_vscale_draw):
12534         hm, this is an ugly one. we first compute the size of our trough area
12535         here (window relative) and then check intersection with the draw_area
12536         which is parent relative because we're a NO_WINDOW widget, so we need
12537         to offset the trough area by allocation.x and allocation.y before the
12538         check. (this must not be done for the background area though, since
12539         that's already computed parent relative).
12540
12541 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
12542
12543         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
12544         unrealize title buttons.
12545
12546 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
12547
12548         * gtk/gtkclist.c (gtk_clist_column_title_passive)
12549         (gtk_clist_column_title_active): 
12550         only connect/disconnect to GtkWidgetClass::event to block mouse events.
12551
12552         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
12553         zero initialize event, removed superfluous gdk_window_get_pointer call
12554
12555         * gtk/gtklist.c (gtk_list_vertical_timeout)
12556         (gtk_list_horizontal_timeout): removed superfluous
12557         gdk_window_get_pointer call
12558
12559 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12560
12561         * plugging problems reported by "Bruce Mitchener, Jr."
12562         <bruce@puremagic.com> due to a purify session.
12563
12564         * gtk/gtkstyle.c:
12565         (gtk_style_ref): 
12566         (gtk_style_unref): assert ref_count to be > 0.
12567
12568         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
12569         the requisition.
12570         (gtk_clist_set_shift): likewise.
12571
12572         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
12573         adjustments.
12574
12575         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
12576         event before sending it and set send_event to TRUE (which needs to
12577         be done for *all* synthesized events).
12578         (gtk_list_vertical_timeout): likewise.
12579
12580         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
12581         leaks.
12582
12583         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
12584         to TRUE when synthesizing events.
12585
12586 [ *** end of merges from 1.2 *** ]      
12587         
12588 1999-11-21  Tor Lillqvist  <tml@iki.fi>
12589
12590         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
12591         (or copied from gdkconfig.h.win32 on Win32, sigh).
12592
12593         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
12594
12595         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
12596
12597         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
12598
12599         * gdk/gdkconfig.h.win32: New file.
12600
12601         * gdk/win32/makefile.cygwin: Build just a static archive here.
12602
12603         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
12604         for the DLL from the static archive built above.
12605
12606         * gdk/gdk.def: Moved here from the win32 subdirectory.
12607
12608         * gdk/win32/*: Adapt for the changed private struct organisation.
12609
12610         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
12611
12612 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
12613
12614         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
12615         for wheel mice (buttons 4 and 5).
12616
12617 1999-11-18  Tor Lillqvist  <tml@iki.fi>
12618
12619         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
12620         drawables use just the pixel field in the foreground and
12621         background GdkColor of the GdkGC.
12622
12623         gdk_gc_set_{fore,back}ground() are called in the GIMP with
12624         GdkColors containing uninitialized (red,green,blue) fields, and
12625         just the pixel field filled in, and furthermore in the
12626         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
12627         It thus turns out that we really don't need to have the full
12628         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
12629         it later to have just the pixel values.
12630
12631 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
12632
12633         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
12634
12635 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
12636
12637         * docs/gtkfaq.sgml: threads example from Erik Mouw.
12638         New question on GtkLabel background colors.
12639
12640         * docs/gtk_tut.sgml:
12641           - Correct the example code callback
12642             function definitions.
12643           - Update the gtkdial example code, from Frans van Schaik.
12644           - Update setselection.c to current API.
12645
12646         * examples/Makefile examples/*/*.c: Update to code
12647         listed in tutorial.
12648
12649 1999-11-10  Tor Lillqvist  <tml@iki.fi>
12650
12651         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
12652         subrange table (from the "Developing International Software for
12653         WIndows 95 and Windows NT" book) was missing the Hangul syllable
12654         block... Get the loaded font's charset correctly.
12655
12656         (Note that this, and the other *-win32.c files, still really are
12657         the old ones, the win32 subdirectory is not ready for compilation
12658         yet after the reorg.)
12659
12660 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
12661
12662         * gtk/gtkclist.c: Fix off-by-one bug in parameter
12663         check.
12664
12665 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
12666
12667         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
12668         on results of XQueryDeviceState().
12669
12670 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
12671
12672         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
12673         we need to accesss only ->children. We need an accessor
12674         for the children.
12675
12676         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
12677         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
12678         to get rid of gdkx.h include.
12679         
12680         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
12681         and random references to 'None'.
12682
12683         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
12684         Get rid of unused #include <gdk/gdkx.h>
12685
12686         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
12687         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
12688         gdkconfig.h.
12689
12690 1999-11-08  Tor Lillqvist  <tml@iki.fi>
12691
12692         * gdk/win32/gdkdraw.c
12693         * gdk/win32/gdkfont.c
12694         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
12695         following yesterday's changes. (Unrelated to Owen's reorg.)
12696
12697 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
12698
12699         * gdk/x11/gdkinput-gxi.c: Add missing include,
12700           fix GdkWindowPrivate => GdkDrawablePrivate.
12701
12702         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
12703
12704         * gdk/x11/Makefile.am (xinput_sources): Add missing
12705         backslash to fix building with --with-xinput=none
12706
12707 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
12708
12709         Move all X specific code into the x11/ directory.
12710         Aside from shuffling things around, did the following:
12711
12712        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
12713          gdk_arg_context_* - a simple argument parsing system
12714          in the style of popt.
12715
12716        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
12717          gdk/x11/gdkprivate-x11.h:
12718          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
12719          add ->klass and ->klass_data fields. The klass_data
12720          field points to an auxilliary structure that is
12721          windowing system dependent.
12722
12723        * gdk/gdkfont.c: Make most of the measurement functions
12724          simply wrappers around gdk_text_extents().
12725
12726        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
12727          _gdk_font_strlen() function that hides the weird
12728          behavior in gtk+-1.[02] where a string is interpreted
12729          differently for 8-bit and 16-bit fonts.
12730
12731        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
12732          to store common code for synthesizing double/triple
12733          press events.
12734         
12735        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
12736          Make all the function that modify an existing GC
12737          simply wrappers around gdk_gc_set_values().
12738          
12739        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
12740          for throwing out later.
12741
12742        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
12743          GdkImagePrivate and GdkColormapPrivate to have a
12744          windowing system dependent part (GdkFontPrivateX etc.)
12745          that "derives" from the system-independent part.
12746
12747        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
12748          Got rid of the included-source-files for XInput in
12749          favor of automake conditionals. (Which didn't exist
12750          when XInput support was originally added.)
12751
12752        * gdk/gdkrgb.c: Remove the visual id from the debugging
12753          statements since that is X11 specific; print out
12754          type/depth info instead.
12755          
12756
12757 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
12758
12759         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
12760         loading duplicates of hashed fonts.
12761
12762         * gdk/gdk.c (gdk_keysym_convert_case): rename
12763         gdk_XConvertCase to gdk_keysym_convert_case, allow
12764         results to be NULL in the GTK+ style.
12765
12766         * gdk/gdkcompat.h: Started compatibility header
12767         for renames.
12768
12769 1999-11-07  Tor Lillqvist  <tml@iki.fi>
12770
12771         * gdk/win32/gdkprivate.h: New font private structures, related to
12772         fontsets.
12773
12774         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
12775         gdk_font_list_free(). On X11, will just be wrappers to
12776         XListFonts() and XFreeFontNames(). On Win32, the code previously
12777         in gtkfontsel.c is now here.
12778
12779         New function gdk_font_xlfd_create(). On X11 will get the FONT
12780         property of the font (for GDK_FONT_FONTs), or call
12781         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
12782         builds a XLFD style name from the font information in the LOGFONT
12783         struct(s).
12784
12785         New function gdk_font_xlfd_free(), which correspondingly frees the
12786         string returned by gdk_font_xlfd_create().
12787
12788         Implement fontsets on Win32. Add a function that iterates over a
12789         wide char string and calls a callback function for each substring
12790         of wide chars from the same Unicode subrange (and thus probably
12791         available in the same real font).
12792
12793         Improve the XLFD emulation a bit.
12794
12795         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
12796
12797         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
12798         Beta3, WM_IME_CHAR messages don't seem to contain the composed
12799         multi-byte char as with the Active IMM on Win9x. Oh well, handle
12800         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
12801         ImmGetCompositionStringW() to get the composed Unicode chars.
12802
12803         * gdk/win32/gdkgc.c
12804         * gdk/win32/gdkdraw.c: Changes needed because of the font private
12805         struct changes.
12806
12807         * gdk/win32/gdk.def: Add the new functions.
12808
12809 1999-11-04  Tor Lillqvist  <tml@iki.fi>
12810
12811         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
12812         get the Platform SDK to get <dimm.h>.
12813
12814         * gdk/win32/gdkevents.c: More event handling fixes and
12815         simplification. Never generate motion events with is_hint true. We
12816         used to do that on bogus grounds earlier. Windows sends
12817         WM_MOUSEMOVE messages on button events even if the mouse hasn't
12818         moved, ignore these.
12819
12820         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
12821
12822         * gdk/win32/gdkglobals.c
12823         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
12824         the TrackMouseEvent function, and use it.
12825
12826         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
12827         char before calling WideCharToMultiByte in order to get a string
12828         for the window title.
12829
12830         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
12831
12832         * gdk/win32/gdk.def: Remove obsolete functions.
12833
12834         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
12835         /nodefaultlib and /defaultlib switches.
12836
12837         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
12838
12839 1999-10-31  Tor Lillqvist  <tml@iki.fi>
12840
12841         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
12842         EuroSign).
12843
12844         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
12845         same type as GdkWChar, especially on Win32.
12846
12847         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
12848
12849         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
12850         before passing to Windows GDI for drawing etc. Convert to the
12851         system default codepage before passing to Windows as window
12852         titles.
12853
12854         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
12855         support changing input locale on the fly.
12856
12857         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
12858         on-the-fly changes. Convert incoming characters from the current
12859         codepage to Unicode (and then to a UTF-8 multi-byte string) based
12860         on the current input language. Use keysym<->Unicode mapping tables
12861         and functions borrowed from xterm sources.
12862
12863         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
12864         editions of Win9x, use the ActiveX-based Active IMM (Input Method
12865         Manager) if available. IMEs and the Active IMM are available under
12866         the disguise of Chinese, Korean and Japanese support for IE and
12867         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
12868         support is present in all editions (as long as you install it).
12869
12870         Call DispatchMessage from gdk_events_queue() (and thus
12871         gdk_WindowProc()), instead of duplicating the code in
12872         gdk_WindowProc().
12873
12874         Reworked the grab handling and propagation code, factored out
12875         duplicated code snippets into separate functions. Other cleanups,
12876         too.
12877
12878         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
12879         the <dimm.h> header describing the Active IMM.
12880
12881         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
12882         just do the same as for "single" fonts.
12883
12884         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
12885         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
12886         the new keysyms from gdkkeysyms.h.
12887
12888         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
12889         fontset, so that gtkentry uses wide characters.
12890
12891         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
12892         GTk+'s system directory "gtk+", not "gtk".
12893
12894 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
12895
12896         * docs/gtkfaq.sgml: FAQ update
12897
12898 1999-10-21  Tor Lillqvist  <tml@iki.fi>
12899
12900         * gdk/win32/gdkprivate.h: Add more font private data.
12901
12902         * gdk/win32/gdkfont.c
12903         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
12904         fonts and strings. Now works much better. You still have to
12905         have a correct font selected, though. No fontset emulation yet.
12906
12907 1999-10-19  Tor Lillqvist  <tml@iki.fi>
12908
12909         * gtk/maketypes.awk: Use G_OS_WIN32.
12910
12911         * gtk/gtk.def: Add some missing entry points. Also some non-public
12912         ones, but PyGTK porter claims to need them.
12913
12914         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
12915         built-in type generation.
12916
12917 1999-10-14  Tor Lillqvist  <tml@iki.fi>
12918
12919         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
12920         GDK_FONT_FONT fonts (which is all we have for now, we don't
12921         emulate fontsets). The X11 version uses plain XDrawString in that
12922         case, too. The string passed to gdk_draw_text_wc seems to be in
12923         fact (at least, when used by gtkentry and gtktext) either in a
12924         single-byte charset, or a DBCS. Not Unicode.
12925
12926         This fixes the problem in gtkfontsel, where even if you had
12927         selected a font with a non-Latin1 charset (windows-greek, for
12928         instance), the preview still used Latin-1 glyphs.
12929
12930         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
12931         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
12932         (gdk_font_load): Recognize the demibold etc weights, even if we
12933         don't have the corresponding constants in the headers.
12934         (gdk_font_hash_insert): Use same hash mechanism as in the X11
12935         version. Should save font resources a bit, when we don't have
12936         multiple HFONTs for the same font.
12937
12938         * gdk/win32/gdkprivate.h: Add the names field as in the X11
12939         version.
12940
12941 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
12942
12943         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
12944         X values
12945
12946 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
12947
12948         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
12949         layout support (as mentioned on
12950         http://www.jcinteractive.com/gnome-ui/software/widgets/)
12951
12952 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
12953
12954         * gtk/fnmatch.c
12955         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
12956
12957 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
12958
12959         * configure.in (ALL_LINGUAS): Added Galician (gl)
12960
12961 1999-10-05  Tor Lillqvist  <tml@iki.fi>
12962
12963         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
12964
12965         * gdk/win32/gdkcompat.c: New file, actually provide an
12966         implementation for the deprecated functions. (Just temporarily.)
12967
12968         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
12969
12970         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
12971
12972         * gdk/win32/gdk.def gtk/gtk.def: Updates.
12973
12974 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
12975
12976         * configure.in: Added "uk" to ALL_LINGUAS.
12977         
12978 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
12979
12980         * configure.in: correct checking for BeOS check
12981
12982         * gdk/gdktypes.h
12983         * gtk/fnmatch.c
12984         * gtk/gtkfilesel.c
12985         * gtk/gtkitemfactory.c
12986         * gtk/gtkmain.[ch]
12987         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
12988
12989 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12990
12991         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
12992         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
12993         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
12994         by Bulgarian). 
12995
12996 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
12997
12998         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
12999         Fix a reference to window_private->destroyed.   
13000
13001         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
13002         (ugly) setting of an internal GdkWindow member to use
13003         a _slightly_ cleaner macro.
13004
13005         * gdk/gdkprivate.h: Split GdkWindowPrivate into
13006         GdkDrawablePrivate and GdkWindowPrivate.
13007         Add extra macros for accessing GDK_DRAWABLE_ components.
13008
13009         * *.[ch]: Massive adjustments for the above, use the
13010         new macros in a lot of places.
13011
13012 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
13013
13014         * gdk/gdktypes.h: Make GdkDrawable the base type,
13015         not GdkWindow.
13016
13017 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
13018
13019         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
13020
13021 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
13022
13023         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
13024
13025 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
13026
13027         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
13028         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
13029
13030         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
13031
13032         * docs/gtk-config.1: Now autogenerated.
13033         * docs/Changes-1.4.txt: started
13034         
13035 1999-10-03  Tor Lillqvist  <tml@iki.fi>
13036
13037         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
13038         to #ifdef also here.
13039
13040         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
13041         Owen did to the X11 backend.
13042
13043         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
13044         ScrollWindowEx when blitting inside a window, it can't be correct
13045         in the general case.
13046
13047         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
13048         WM_GETMINMAXINFO is easier.
13049
13050         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
13051         depth equal to the bitspixel value, not the visual's depth.
13052
13053         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
13054         to 24 even if the bitspixel value is 32.
13055
13056         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
13057         need to check for depth==32 when bpp==32, depth will always be 24.
13058
13059 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
13060
13061         * docs/Changes-1.4.txt: Started
13062         
13063         * gtk/Makefile.am (gdk_headers): Include all the new headers.
13064
13065         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
13066         
13067         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
13068         into C file.
13069         
13070         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
13071         header to gdkinputprivate.h.
13072
13073         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
13074         unused since before 1.2.
13075
13076 1999-09-30  Tor Lillqvist  <tml@iki.fi>
13077
13078         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
13079         expand possible hex escapes in the font family (put there by
13080         logfont_to_xlfd if the font name isn't a legal XLFD font family,
13081         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
13082         On Win32, add hex escapes here, too.
13083
13084 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
13085
13086         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
13087         to #ifdef GDK_WINDOWING_X11.
13088
13089 [ Merges from gtk-1-2 ]
13090
13091 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
13092
13093         * configure.in: fixed "GNU Make" check to pass with new make version
13094         3.77.95.
13095
13096 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
13097
13098         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
13099         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
13100         AM_PATH_GTK() macros don't get confused by the -pre1.
13101
13102 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13103
13104         * configure.in (REBUILD): Change check for perl5
13105           to check explicitely for v >= 5.002. (5.001
13106           does not work with our scripts.)
13107
13108 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
13109
13110         * configure.in: evaluate $PERL for the perl version check. added
13111         --disable-rebuilds to give the user an option to completely disable
13112         any source autogeneration rules.
13113
13114 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
13115
13116         * configure.in: evaluate $ac_make when checking for GNU Make.
13117
13118 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13119
13120         * docs/Makefile.am: added generation.txt.
13121
13122         * Makefile.am: require automake 1.4, build README from README.in and
13123         INSTALL from INSTALL.in in dist-hook.
13124         
13125         * README.in:
13126         * INSTALL.in: new files to autogenerate README and INSTALL from.
13127
13128         * configure.in: figure whether we have GNU Make
13129
13130         * docs/generation.txt: minor additions/corrections.
13131
13132 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13133
13134         * docs/gtkfaq.sgml: FAQ Update
13135
13136 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13137         
13138         * configure.in: Fix autoconf warnings about cross compilation by
13139         trying to provide sane defaults for AC_TRY_RUN.
13140
13141 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
13142
13143         * ltconfig
13144         * ltmain.sh: upgrade to libtool 1.3.3
13145
13146 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
13147
13148         * INSTALL: Indicate that the --with-glib= configure
13149         time flag is unsupported.
13150
13151 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
13152
13153         * docs/generation.txt: Added a file that gives
13154         documenation about the autogeneration process for
13155         various autogenerated files.
13156         
13157 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13158
13159         * configure.in (LIBS): Look for libgmodule in the
13160         right location.
13161
13162 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
13163
13164         * docs/gtk_tut.sgml: Removed references to
13165         code examples in my directory on gtk.org as
13166         they should all be in the tutorial now.
13167
13168         * docs/gtk_tut.sgml: Added sources for dial-test
13169         and scribble-xinput programs that were previously
13170         missing.
13171
13172 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
13173
13174         * TODO: Added entry about menu keyboard navigation, removed
13175         some finished items.
13176
13177 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
13178
13179         * acinclude.m4: Standardize on func_dgettext
13180         not func_gettext, so that the checks for dgettext
13181         actually are paid attention to.
13182
13183 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
13184
13185         * configure.in (LIBS): Add $INTLLIBS into $LIBS
13186         directly, rather than repeating the checks for
13187         gettext.
13188
13189         * INSTALL: Added information about gettext and
13190         NLS support.
13191
13192         * acinclude.m4 (LIBM): Check for dgettext, not
13193         just gettext. This should hopefully fix things wrt
13194         systems with old versions of GNU gettext installed.
13195
13196 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13197
13198         * configure.in (LIBS): Look for libgmodule in the
13199         right location.
13200
13201 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13202
13203         * autogen.sh: add --enable-maintainer-mode
13204
13205         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
13206
13207 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
13208
13209         * docs/gtk-config.1.in:
13210           docs/Makefile.am:
13211           configure.in: gtk-config is now generated.
13212
13213         * docs/gtk-config.1: Removed, now generated.
13214
13215 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
13216
13217         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
13218         handle CreateNotify itself, still put out a debuging message for
13219         --gdk-debug=events. made the ReparentNotify debugging message more
13220         verbose.
13221         wrap xcoords translation for ConfigureEvents into an error trap,
13222         a destroy event may already be pending, and in that case, the
13223         actuall coordinate values are not at all critical.
13224
13225 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
13226
13227         * gdk/gdkcc.c: Stop leaking the color_hash all over
13228         the place. Simplify and improve the logic.
13229
13230 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13231
13232         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
13233         for prototypes and function implementations consistent (reported
13234         by Tomas Ogren).
13235
13236 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
13237
13238         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
13239         send_event set in debugging output.
13240         (gdk_compress_exposures): default initialize the event so we don't
13241         operate on bogus values (namely send_event).
13242
13243 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13244
13245         * gdk/gdkwindow.c: When we receive an unexpected
13246         destroy notify on one of our windows, don't just
13247         warn about it, also mark our windows as destroyed.
13248
13249 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
13250
13251         * gdk/gdkfont.c (gdk_font_hash_insert): Add
13252           name => font and name => fontset hashes. The 
13253           name => fontset hash is a _big_ win since we
13254           weren't previously caching fontsets at all and loading
13255           fontsets is expensive. The name => font hash
13256           is less of a win, but it does save us from doing
13257           repeated XQueryFont calls on the same font.
13258
13259         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
13260           list so we can remove font/fontset from hash.
13261
13262 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13263
13264         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
13265           and slightly confusing test. [ XInternAtom (,,TRUE)
13266           will never return None ].
13267
13268 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
13269
13270         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
13271           gdk/gdkwindow.c (gdk_window_set_hints):
13272
13273         Don't omit setting the properties if flags == 0 -
13274         there may be an existing set of properties there
13275         already. (Very old bug. Would it be better to
13276         delete the property instead?)
13277
13278         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
13279           spelling error in comment.
13280
13281 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
13282
13283         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
13284           to avoid stomping over gdk_error_warnings.
13285
13286         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
13287           as (bits_per_pixel + 7) / 8. This gives the same
13288           result as before for multiples of 8, but actually
13289           a "reasonable" value for 1bit or 4bit displays.
13290
13291 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13292
13293         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
13294         GNU Make.
13295
13296 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13297
13298         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
13299         discarding configure events.
13300
13301 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13302
13303         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
13304         refcount is greater than zero.
13305
13306         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
13307
13308         * gdk/gdkfont.c (gdk_font_unref): Likewise.
13309
13310         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
13311
13312         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
13313
13314 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13315
13316         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
13317         that format 32 => sizeof(item) == 4. It really is
13318         sizeof(long).
13319
13320 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
13321
13322         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
13323         core dump at all on X IO errors, only core dump
13324         if --enable-debug for X errors.
13325
13326 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
13327
13328         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
13329         unknown window:" message. disabled ConfigureNotify discarding code,
13330         because it led to events being processed out of order.
13331
13332 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
13333
13334         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
13335
13336         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
13337         we export this function, supress error warnings and don't reset the
13338         error code in the first half of this function.
13339
13340         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
13341         code (instead of just -1) so gdk_error_trap_pop() reveals something
13342         actually informative about the error that happened.
13343
13344         * gdk/*.c:
13345         don't rely on gdk_error_code being -1 if an error occoured, but just
13346         gdk_error_code != 0.
13347
13348 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
13349
13350         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
13351         pointer *before* invoking the filter function, so we at least don't
13352         crash if a filter is removed that is currently executed. window filters
13353         *really* need to be made truely reentrant at some point.
13354
13355 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
13356
13357         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
13358         PropertyNotify debug messages.
13359
13360 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
13361         
13362         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
13363         
13364         * gdk/gdkim.c: Fix cut-and-paste errors for 
13365         x/y and PreeditAttributes/StatusAttributes.
13366
13367 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13368
13369         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
13370         G_MAXINT to 2^16 to alleviate overflow problems in
13371         various window managers.
13372
13373 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13374
13375         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13376         for fontsets.
13377
13378 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
13379
13380         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
13381         Initialize size_hints.x and size_hints.y because kwm
13382         brokenly pays attention to them.
13383         (Bug #1181 -  Lars Heete <hel@admin.de>)
13384
13385 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
13386
13387         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
13388         return value of gdk_list_visuals(). 
13389         (Bug #1193 - Morten Welinder <terra@diku.dk>)
13390
13391 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
13392
13393         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
13394         XSetIMValues to (void *) when comparing to NULL, to workaround
13395         the problem of some compilers barfing since older X headers don't
13396         have the prototype for it.
13397
13398 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
13399
13400         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
13401         for pseudocolor where colormap->colors was double
13402         allocated.
13403
13404         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
13405         color value in the hash table with the pixel filled
13406         in so when we do later hash table lookups, the color
13407         value is correct.
13408         
13409 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
13410
13411         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
13412         making the call
13413
13414 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
13415
13416         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
13417         pointed out by Morten Welinder <terra@diku.dk>.
13418
13419 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13420
13421         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13422           default filter from the list
13423
13424 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13425
13426         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13427           default filter from the list
13428
13429 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
13430
13431         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
13432
13433         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
13434         g_strdup_printf instead of calcing the length separately
13435
13436 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
13437
13438         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
13439         that we don't do in many other places. (Fixing duplicate 
13440         #include of config.h)
13441
13442         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
13443         Otherwise, #ifndef XINPUT_NONE check in the latter
13444         doesn't work. (Bug #546)
13445
13446 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
13447
13448         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
13449         "None" case insensitive.
13450
13451 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13452
13453         * gdk/gdkselection.c: 
13454         Add error traps so if the other end of the connection
13455         dies, we survive.
13456
13457 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13458
13459         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
13460         dest_xid field into two fields - one for the window
13461         to send in messages, one to indicate the last looked
13462         up window for caching purposes. This is needed, so
13463         that Leave messages get the correct window.
13464
13465 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
13466
13467         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
13468         Fix warning created by people mucking around
13469         with the gsource API.
13470
13471         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
13472         Change mapping between GIOCondition and GdkInputCondition
13473         to match the way the Linux kernel does it. This should
13474         fix problems where closed pipes were no longer signalling
13475         GDK_INPUT_READ on systems with a native poll().
13476
13477 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
13478
13479         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
13480         explicitly for the string "None" - it is in the XPM
13481         spec and some servers treat unknown colors in odd ways
13482         (like asking the user!)
13483
13484 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13485
13486         * gdk/gdkevents.c: made "->" into a "." of previous change so
13487         it compiles
13488
13489 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
13490
13491         * gdk/gdkevents.c (gdk_compress_exposures): Set the
13492         window field of the event structure before calling
13493         user filters.
13494
13495 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13496
13497         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
13498         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
13499
13500 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
13501
13502         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
13503         intermediate text property - prevents major memory
13504         leak when gdk_use_mb.
13505         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
13506
13507 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13508
13509         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13510         gtk-a-higuti-990322-[0-3]
13511
13512         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
13513         sizeof(wchar_t) != sizeof (GdkWChar)
13514
13515         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13516         that was causing -DX_LOCALE not to work.
13517
13518         * gtk/gtkrc.c (gtk_rc_init):
13519         X_LOCALE will never have LC_MESSAGES defined
13520
13521         * gdk/gdk.c (gdk_init_check):
13522         Remove --xim-preedit and --xim-status from argv properly.
13523
13524         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
13525         that the client window is present on the X server
13526         before we pass it to the input method.
13527
13528 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13529
13530         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
13531         if --display is specified on the command line, than
13532         the drag window will not be created on that display.
13533         
13534 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
13535
13536         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
13537         lookups with only_if_exists == TRUE were inserting
13538         bogus values into the atom cache.
13539
13540 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13541
13542         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
13543         then reset it to NULL.
13544
13545         * gdk/gdkcolor.c:
13546         (gdk_colors_free): 
13547         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
13548         key for g_hash_table_remove() in both functions, this prevents us
13549         from accessing possibly uninitialized portions of a GdkColor structure
13550         where we are only interested in its pixel value.
13551
13552 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13553
13554         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13555         font hash table, if we have a GdkFontPrivate entry for this font
13556         already, simply increment its reference count, provided by Olaf Dietsche
13557         <olaf.dietsche+list.gtk@netcologne.de>.
13558
13559 1999-09-21  Tor Lillqvist  <tml@iki.fi>
13560
13561         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
13562         just to be sure.
13563
13564         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
13565         unused variables, leftovers from the X11 version.
13566
13567         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
13568
13569         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
13570         downcase fields on X11.
13571
13572 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13573         
13574         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
13575         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
13576
13577 1999-09-17  Tor Lillqvist  <tml@iki.fi>
13578
13579         * gdk/win32/gdk.def: Add gdk_threads_mutex.
13580
13581         * gtk/makefile.msc: Correct path to libintl.
13582
13583         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
13584         use of gint vs. int, and gint vs. gboolean in headers and
13585         definitions. Use GtkType for the *_get_type functions. Note that
13586         these changes preserve binary compatibility.
13587
13588         * gdk/gdk.c
13589         * gdk/win32/gdk.c
13590         * gdk/gdk.h: Fix inconsistencies: gint vs int.
13591
13592         * gtk/gtkmain.c
13593         * gtk/gtkclist.c
13594         * gtk/gtkmenufactory.c
13595         * gtk/gtknotebook.c
13596         * gtk/gtkwidget.c: Fix inconsistencies, also gint
13597         vs. gboolean.
13598
13599         * gtk/gtkcolorsel.[ch]
13600         * gtk/gtkcombo.[ch]
13601         * gtk/gtkdrawingarea.[ch]
13602         * gtk/gtkgamma.[ch]
13603         * gtk/gtkhandlebox.[ch]
13604         * gtk/gtkhpaned.[ch]
13605         * gtk/gtkhruler.[ch]
13606         * gtk/gtkplug.[ch]
13607         * gtk/gtkpreview.[ch]
13608         * gtk/gtkruler.[ch]
13609         * gtk/gtksocket.[ch]
13610         * gtk/gtkstatusbar.[ch]
13611         * gtk/gtktoolbar.[ch]
13612         * gtk/gtkvbbox.[ch]
13613         * gtk/gtkvpaned.[ch]
13614         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
13615         functions.
13616
13617         * gtk/gtkgamma.h: Fix bug, missing () in call of
13618         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
13619
13620 1999-09-14  Tor Lillqvist  <tml@iki.fi>
13621
13622         * gdk/gdkcolor.c (gdk_colormap_new)
13623         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
13624         colormap->colors was allocated twice.
13625
13626         * gdk/win32/gdk.c: Remove some unused stuff.
13627
13628         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
13629         colormap.
13630
13631         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
13632         * gtk/gtklabel.h (gtk_label_get_type)
13633         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
13634         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
13635         in a couple of places, not guint.
13636
13637 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13638
13639         * configure.in,po/et.po: added Estonian language file
13640
13641 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13642
13643         * configure.in,po/da.po: added Danish file
13644
13645 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
13646
13647         * docs/gtkfaq.sgml: Minor FAQ Update
13648
13649 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
13650
13651         * docs/gtkfaq.sgml: FAQ update
13652
13653 1999-08-27  Tor Lillqvist  <tml@iki.fi>
13654
13655         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
13656         way to get window contents continually refreshed while resizing. I
13657         didn't like the effects myself, so it's not on by default.
13658
13659         * gdk/win32/gdkprivate.h: New flag variable
13660         gdk_event_func_from_window_proc, FALSE by default.
13661
13662         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
13663         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
13664         are passed --gdk-event-func-from-window-proc.
13665
13666         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
13667         and we have am event_func, call it instead of enqueing the event.
13668
13669 1999-08-23  Tor Lillqvist  <tml@iki.fi>
13670
13671         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
13672         Kelley: Set expose_count in GdkEventExposes correctly.
13673
13674         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
13675         MULTIPLE_WINDOW_CLASSES).
13676
13677         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
13678         for bug in NT, apparently NT *does* draw the end pixel, too, in
13679         LineTo with a one-pixel pen, so we don't have to do it ourselves.
13680
13681 1999-08-21  Tor Lillqvist  <tml@iki.fi>
13682
13683         Improvements by Hans Breuer: 
13684
13685         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
13686
13687         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
13688         CS_?REDRAW flags as they cause lots of (late) redraws when "show
13689         window contents while dragging" is turned on. Allocate at least
13690         one unique class for every GdkWindowType. If support for single
13691         window-specific icons is ever needed (eg. Dialog specific), every
13692         such window should get its own class.
13693
13694 1999-08-19  Tor Lillqvist  <tml@iki.fi>
13695
13696         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
13697         error that caused crashes.
13698
13699 1999-08-17  Tor Lillqvist  <tml@iki.fi>
13700
13701         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
13702         window, use ScrollWindowEx, and call UpdateWindow. This prevents
13703         bugs when for instance part of the window was outside the
13704         display. Thanks to Philippe Colantoni for finding and fixing this.
13705
13706 1999-08-16  Tor Lillqvist  <tml@iki.fi>
13707
13708         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
13709         endpoint calculations which were totally wrong. (A little RTFMing
13710         helps a lot ;-)
13711
13712         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
13713         from a separate directory, not from gettext, because of licensing
13714         issues (we want to use the LGPL version).
13715
13716         * README.win32: Mention the intl from glibc vs from gettext issue.
13717
13718 1999-08-13  Tor Lillqvist  <tml@iki.fi>
13719
13720         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
13721         in the key event handling: Now AltGr chars work again. Also,
13722         now Alt-digits are passed up as well as Control-digits.
13723         Pass keypad plus and minus as normal plus and minus.
13724
13725 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13726
13727         * docs/gtkfaq.sgml: FAQ Update
13728
13729 1999-07-25  Tor Lillqvist  <tml@iki.fi>
13730
13731         * README.win32
13732         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
13733         the Wintab SDK.
13734
13735         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
13736         OK, but getting closer. Guard against bogus tilt data from Wacom
13737         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
13738         enable easier building without Wintab.
13739
13740         * gdk/win32/gdkinput.h
13741         * gdk/win32/gdkevents.c 
13742         * gdk/win32/gdkwindow.c: Minor changes related related to above.
13743         
13744         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
13745         code. As we have just one visual on Win32, no sense to have it in a
13746         table, and no need for the hash table.
13747
13748         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
13749         better on white background.
13750
13751 1999-07-21  Tor Lillqvist  <tml@iki.fi>
13752
13753         * README.win32: Update gcc build instructions. Mention gettext is
13754         GPL.
13755
13756         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
13757         supported cursor size with GetSystemMetrics.
13758
13759         * gdk/win32/gdkfont.c
13760         * gtk/gtkfontsel.c: Guard against some font weight and charset
13761         symbols being undefined (in mingw32 headers).
13762
13763         * gdk/win32/makefile.cygwin
13764         * gtk/makefile.cygwin
13765         * gtk/gtkthemes.c: No longer need to have differently named
13766         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
13767
13768 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
13769
13770         * docs/gtkfaq.sgml: Long awaited FAQ update.
13771
13772 1999-07-15  Tor Lillqvist  <tml@iki.fi>
13773
13774         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
13775         it. Obscure bit manipulation needed.
13776
13777         * gdk/win32/gdkevents.c: Logging.
13778         
13779         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
13780         style (file name include compiler name) for theme engines.
13781
13782 1999-07-13  Tor Lillqvist  <tml@iki.fi>
13783
13784         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
13785
13786         * gdk/win32/gdkevents.c: Fix long-standing bug in key
13787         events. The key.string wasn't zero-terminated, still we strdup'ed
13788         it in gdk_event_copy(). Synthesize crossing events for button
13789         events before possible propagation.
13790
13791         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
13792
13793         * gdk/win32/makefile.cygwin
13794         * gtk/makefile.cygwin: Use new DLL naming style for the
13795         GCC-compiled ones.
13796
13797         * gdk/win32/makefile.msc
13798         * gtk/makefile.msc: Cosmetics mostly.
13799
13800         * gtk/gtk.def: Add missing entry points.
13801
13802         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
13803
13804 1999-07-09  Tor Lillqvist  <tml@iki.fi>
13805
13806         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
13807         or height is zero. Don't print a warning if Pie or Arc fails, they
13808         always fail (?) for very narrow ellipses.
13809
13810         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
13811         the part or the destination window corresponding to source area
13812         outside of the source drawable's boundary.
13813
13814         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
13815         anything if less than two points.
13816
13817         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
13818         return NULL. Gtk cut-and-paste inside a single program works
13819         better this way. (It always gets the clipboard contents from
13820         Windows, not from its own copy, which is cleared anyway. I can't
13821         say I fully understand what happens... Emulating the X selection
13822         and property stuff is a bit of a mess.)
13823
13824         * gdk/win32/gdkevents.c
13825         * gdk/win32/gdkproperty.c: A bit more verbose logging.
13826
13827         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
13828         that never got deleted). Revamp gdk_region_shrink.
13829
13830         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
13831         after use.
13832
13833         * gtk/gtk.def: Add some missing entry points.
13834
13835         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
13836         component.
13837
13838 1999-07-04  Tor Lillqvist  <tml@iki.fi>
13839
13840         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
13841         Control-digits specially.
13842
13843 1999-07-03  Tor Lillqvist  <tml@iki.fi>
13844
13845         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
13846
13847 1999-06-28  Tor Lillqvist  <tml@iki.fi>
13848
13849         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
13850         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
13851         finding this.)
13852
13853 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
13854
13855         * gtk+.spec.in: Corrected some typos in files section.
13856         
13857 1999-06-15  Tor Lillqvist  <tml@iki.fi>
13858
13859         * README.win32: Mention using GNU gettext.
13860         * config.h.win32: Enable NLS stuff.
13861         * gtk/makefile.msc: Use GNU gettext.
13862         * gdk/win32/gdkdnd.c: Minor header reorg.
13863         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
13864         cosmetics.
13865         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
13866         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
13867
13868 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
13869
13870         * acinclude.m4
13871         * config.guess
13872         * config.status
13873         * ltconfig
13874         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
13875
13876 1999-05-30  Tor Lillqvist  <tml@iki.fi>
13877
13878         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
13879         SafeAdjustWindowRectEx. Don't override all calls to
13880         AdjustWindowRectEx by it, but use it only in two places: When
13881         creating a new top-level window and when moving a top-level
13882         window.
13883
13884         Use screen coordinate rectangle, not client rectangle, in
13885         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
13886         when we try to place a window so that the decoration (mainly,
13887         title bar) isn't visible.
13888
13889         These changes fix the bug that showed up for instance as the
13890         GIMP's saved top-level windows moving right and down (by an amount
13891         equal to the window decoration) for each session. This bug showed
13892         up also in testgtk's "Saved Position".
13893
13894         gdk_window_resize also redone a bit.
13895
13896 1999-05-25  Tor Lillqvist  <tml@iki.fi>
13897
13898         * gtk/testgtkrc: Add (commented out) Windows-style theme
13899         include line.
13900
13901         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
13902
13903 1999-05-18  Tor Lillqvist  <tml@iki.fi>
13904
13905         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
13906         gdkx.h to a gdk subdirectory, so that applications can include
13907         these with <gdk/*.h> without trouble.
13908
13909         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
13910         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
13911         have their bitmap destroyed.
13912
13913         * gdk/win32/gdk.def: Add gdk_root_parent.
13914
13915 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
13916
13917         * configure.in
13918           gtk-config.in
13919           ltconfig
13920           ltmain.sh     
13921           gtk/Makefile.am: changes to compile nicely (with xlib) 
13922           on BeOS
13923
13924 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
13925
13926         * acinclude.m4
13927         * config.guess
13928         * config.sub
13929         * ltconfig
13930         * ltmain.sh: upgrade to libtool 1.3
13931
13932 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
13933
13934         * gtk/gtkclist.c:
13935         * gtk/gtkctree.c: merges from gtk-1-2
13936
13937 1999-04-25  Tor Lillqvist  <tml@iki.fi>
13938
13939         Support added for building using a GNU toolchain on Win32,
13940         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
13941
13942         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
13943         * config.h.win32: Changes for gcc.
13944         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
13945         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
13946         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
13947         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
13948         Protect shl stuff unavaiilable with mingw32 headers.
13949         * gdk/win32/gdkevents.c: Fix typo.
13950         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
13951         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
13952         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
13953         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
13954         the mingw32 headers.
13955         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
13956         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
13957         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
13958         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
13959         Test for NATIVE_WIN32, not _MSC_VER.
13960         * gtk/gtkmain.c: No use warning about developer version on Win32,
13961         there aren't any non-developer versions anyhow.
13962         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
13963         * gtk/makefile.msc: Use pthread from another directory. Minor other
13964         changes. 
13965
13966 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13967
13968         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13969           default filter from the list
13970
13971 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
13972
13973         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
13974          when gtk_widget_grab_default() is called for a widget that
13975          is not within a GtkWindow.
13976
13977 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
13978
13979         * docs/gtk_tut.sgml, examples/clist.c: use a
13980           scrolled window in the clist example. Minor
13981           tutorial fixes.
13982
13983 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
13984
13985         * docs/gtk_tut.sgml: Style check from David King
13986           <dking@youvegotmail.net>
13987
13988 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
13989
13990         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
13991         compile with unknown value of GDK_WINDOWING
13992
13993 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
13994
13995         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
13996         after the rule is fired.
13997         (install-exec-local): Install gdkconfig.h only if the contents are
13998         different from the currently installed gdkconfig.h.
13999
14000 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
14001
14002         * gdk/Makefile.am (configexecincludedir): Rename from 
14003         configincludedir so that gdkconfig.h will be installed 
14004         as part of `make install-exec'. 
14005
14006 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
14007
14008         * acinclude.m4
14009         * config.guess
14010         * config.sub
14011         * ltconfig
14012         * ltmain.sh: upgrade to libtool 1.2f
14013
14014         * autogen.sh: libtool is not required to autogen gtk+
14015
14016         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
14017         needed)
14018
14019 1999-03-18  Tor Lillqvist  <tml@iki.fi>
14020
14021         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
14022         declaring gdk variables exported/imported from the DLL. New image
14023         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
14024         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
14025         GDK_DRAG_PROTO_OLE2.
14026
14027         * gdk/gdk.h: Merge in Win32 version: Two new functions,
14028         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
14029         declared only for the Win32 version, but could be in the X11
14030         version as well. (Needed for a Xlib-less gdk_imlib.)
14031         gdk_color_hash should have only one parameter. Declare
14032         gdk_threads_mutex with GDKVAR.
14033         
14034         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
14035         just one parameter.
14036
14037         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
14038         per pixel, not bits.
14039
14040         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
14041         Fetch bpp (which means bits-per-pixel here) from another place on
14042         Win32. Accept also depth==32 (which we might get on Win32) with
14043         bpp==32.
14044
14045         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
14046         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
14047         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
14048         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
14049         in the backend-dependent directory, not in the common gdk
14050         directory.
14051
14052         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
14053         headers.
14054
14055 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
14056
14057         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
14058         want to use the Gtk+ devel version (which is true, and yes - even i am
14059         currently working with the 1.2.x branch). so everyone reading this, you
14060         probably want to issue
14061         cvs checkout -r glib-1-2 glib
14062         and
14063         cvs checkout -r gtk-1-2 gtk+
14064         as your next two comands.
14065
14066 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
14067
14068         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
14069         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
14070
14071         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
14072         file. strongly deprecated the GTK_HAVE_* macros, we provide
14073         GTK_CHECK_VERSION() for people that need to check for certain
14074         Gtk+ versions.
14075
14076         * gtk/gtkcompat.h: removed this from CVS.
14077         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
14078         idea right from the start, it just didn't seem like that back then.
14079
14080 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
14081
14082         * merges from gtk-1-2:
14083
14084 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
14085
14086         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
14087         item factory class has been created.
14088         (gtk_item_factory_parse_rc): likewise.
14089
14090         * gtk/gtkmenu.c:
14091         keep proper references for old_active_menu_item.
14092         (gtk_menu_reparent): unset the usize of the new parent,
14093         so the menu can sanely be size requested and we don't get nasty screen
14094         artefacts upon next reparentation.
14095         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
14096         enter notify. only synthesize enter notifies if the pointer really is
14097         inside the event window.
14098         (gtk_menu_popdown): use gtk_menu_shell_deselect().
14099         (gtk_menu_popup): move the background setting stuff into
14100         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
14101
14102         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
14103         gtk_menu_shell_select_item() to select the new item.
14104         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
14105         do the right thing for deselection as well.
14106
14107 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
14108
14109         * gtk/gtkwidget.[hc]:
14110         (gtk_widget_accelerators_locked): return whether a widget's accelerators
14111         are locked.
14112
14113         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
14114         existing accelerators if the widget's accelerators are locked.
14115
14116 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
14117
14118         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
14119
14120         * gtk/gtkmenu.c: truely forward key press and key release events to
14121         the menu widget from the toplevel or tearoff window. we can't simply
14122         connect to that, we need to stop further processing of the events as
14123         well.
14124
14125 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
14126
14127         * gtk/gtkmenu.c:
14128         (gtk_menu_key_press): pass event->keyval, event->state to
14129         gtk_accelerator_valid, instead of event->keyval twice.
14130         refuse to install single letter accelerators for menus that use
14131         single letter shortcuts.
14132
14133         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
14134         gtk_menu_ensure_uline_accel_group().
14135
14136         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
14137         which will always return an uline accel group, made
14138         gtk_menu_get_uline_accel_group() return NULL if the group isn't
14139         yet created.
14140
14141 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
14142
14143         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
14144
14145         * gtk/gtkclist.c (gtk_clist_column_title_passive):
14146         Leave button sensitive, trap  button_press, button_release,
14147         motion_notify, enter_notify and leave_notify events instead.
14148         (gtk_clist_column_title_active): disconnect event handler.
14149         (gtk_clist_drag_data_get): fixed memory leak. Reported by
14150         Guillaume Laurent <glaurent@worldnet.fr>
14151
14152 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
14153
14154         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
14155         width/height mixups.
14156
14157         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
14158         if needed.
14159
14160 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
14161
14162         * gtk/testgtk.c (create_item_factory): unref the item factory after
14163         window's destruction.
14164
14165         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
14166         count on the menu shell around the menu item's activation, since the
14167         signal emission may cause menu shell destruction.
14168
14169         * gtk/gtkitemfactory.c:
14170         the previous code leaked one accel group per menu. we use
14171         gtk_menu_get_uline_accel_group() now to fix that, and with that
14172         also create the underline accelerator group of the menus only if
14173         required (i.e. an underline accelerator has been specified).
14174         (gtk_item_factory_construct):
14175         (gtk_item_factory_create_item): removed code that would create an
14176         extra accel group for the menu (and leak references).
14177         (gtk_item_factory_create_item): adapted the underline accelerator
14178         installation code to properly feature gtk_menu_get_uline_accel_group().
14179
14180         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
14181         menu->accel_group, this may return NULL if the accelerator group
14182         hasn't been set yet.
14183         added gtk_menu_get_uline_accel_group() to retrive the underline
14184         accelerator group of the menu, this will be created on demand
14185         and proper care is taken about its reference count.
14186
14187         * gtk/gtkitemfactory.h:
14188         * gtk/gtkitemfactory.c:
14189         dumped the approach of keeping a widgets by action list on the
14190         factory since the factory<->widget destroy negotiation didn't work
14191         and would be hard to get going at all. instead we keep a list of
14192         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
14193         persistant throughout a program's life time).
14194         also, i removed the static const gchar *key_* variables, and made
14195         them inline strings (they weren't actually used anyways).
14196         (gtk_item_factory_add_item): update ifactory->items.
14197         (gtk_item_factory_destroy): destroy ifactory->items (and remove
14198         the item factory pointer from the remaining ifactory widgets).
14199         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
14200         list to find the widget.
14201         (gtk_item_factory_get_item): new function that works around
14202         gtk_item_factory_get_widget() limitations, this function will only
14203         return menu items, even for <Branch> entries.
14204
14205 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14206
14207         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14208         font hash table, if we have a GdkFontPrivate entry for this font
14209         already, simply increment its reference count, provided by Olaf Dietsche
14210         <olaf.dietsche+list.gtk@netcologne.de>.
14211
14212         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14213         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14214
14215 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
14216
14217         * gtk/gtkcontainer.c:
14218         (gtk_container_add_with_args):
14219         (gtk_container_addv):
14220         (gtk_container_add): before adding a child to a conatiner, make sure
14221         it is (default) constructed, this is neccessary because under certain
14222         circumstances the child will get relized and mapped immediatedly, in
14223         which case it has to be constructed already.
14224
14225 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
14226
14227         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
14228         values > 1 as TRUE also.
14229
14230 1999-03-16  Tor Lillqvist  <tml@iki.fi>
14231
14232         * README.win32: New file.
14233                 
14234         * configure.in: Check for lstat.
14235
14236         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
14237         completeness.
14238
14239         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
14240
14241         * gtk/gtk.def: Removed CRs.
14242
14243         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
14244         ..\gdk\win32).
14245
14246         * gdk/win32/makefile.msc: Correct upwards relative paths.
14247         
14248 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
14249
14250         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
14251           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
14252           it was connecting a void function to expose_event and the int
14253           returning function to the draw signal
14254
14255 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
14256
14257         * configure.in:
14258         Use correct path to libgmodule.la when ref'ing uninstalled copy
14259         of glib.  (Already in stable branch, Bug #417)
14260
14261 1999-03-15  Tor Lillqvist  <tml@iki.fi>
14262
14263         Win32 merge and general portability stuff:
14264                 
14265         * acconfig.h,configure.in: Check for <sys/time.h>.
14266
14267         * gdk/win32: New directory (actually, been there for a while).
14268         
14269         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
14270         NATIVE_WIN32, and use these. Always case fold on Win32. No
14271         backslashed escapes on native Win32.
14272
14273         * gtk/{gtk.def,makefile.msc}: New files.
14274
14275         * gtk/Makefile.am: Add above new files.
14276         
14277         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
14278         instead of <strings.h>.
14279
14280         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
14281         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
14282         <unistd.h> appropriately.
14283
14284         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
14285         Use ABS() (from <glib.h>) instead of abs().
14286         
14287         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
14288         of gtk (and thus glib) headers, so that WIN32 will be
14289         defined. With MS C, include <direct.h> for mkdir prototype.
14290
14291         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
14292         some casts, needed by MS C.
14293
14294         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
14295         implemented).
14296
14297         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
14298         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
14299         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
14300
14301         * gtk/gtkmain.h: Mark variables for export/import on Win32.
14302                 
14303         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
14304         the event is not a hint, or its window is not the slider. Needed
14305         on Win32, at least.
14306
14307         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
14308         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
14309         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
14310         a subdirectory of the Windows directory as gtk system
14311         configuration directory.
14312
14313         * gtk/gtkselection.c: No chunks on Win32.
14314
14315         * gtk/gtksocket.c: Not implemented on Win32.
14316
14317         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
14318
14319         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
14320
14321         * gtk/maketypes.awk: Declare variables with a macro that expands to
14322         necessary export/import magic in the case of Win32.
14323                 
14324         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
14325
14326 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
14327
14328         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
14329         since those were meant only for gdki18n.h.  
14330         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
14331         for widechar tests.
14332         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
14333
14334 1999-03-13  Tor Lillqvist  <tml@iki.fi>
14335
14336         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
14337         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
14338
14339         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
14340         installed) to CFLAGS.
14341
14342         * gdk/Makefile.am: Add rules for gdkconfig.h.
14343
14344         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
14345         APIs.
14346
14347         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
14348         gdkx.h anyway when compiling for X11.
14349         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
14350         general): Merge in Win32 version.
14351         
14352         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
14353         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
14354         expansion (if we don't have HAVE_PWD_H), allow for drive
14355         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
14356         included code from Craig Setera's port to Win32 (the one that uses
14357         X11, and the cygwin dll), even if it probably will be abandoned.
14358
14359         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
14360         the user entered one herself.  This way one can complete *.h and
14361         don't get matches on any .help files, for instance.
14362         
14363 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14364
14365         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14366         font hash table, if we have a GdkFontPrivate entry for this font
14367         already, simply increment its reference count, provided by Olaf Dietsche
14368         <olaf.dietsche+list.gtk@netcologne.de>.
14369
14370         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14371         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14372
14373 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14374
14375         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
14376         the number of calls to gdk_draw_point() (and thus to X) by
14377         clipping the points by hand.
14378
14379         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
14380         the clip parameter.
14381         (gtk_handle_box_paint): Only paint the handle if the expose area
14382         intersects it.
14383
14384 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14385
14386         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
14387
14388 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
14389
14390         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
14391         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
14392
14393 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14394
14395         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
14396          textmode (O_TEXT) for OS/2 version.
14397
14398 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
14399
14400         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
14401         GtkSpinButton, "input" and "output", to make the output more flexible.
14402         The user has to provide a mapping between adjustment->value and the
14403         output string (and vice versa, if the spin button is editable). 
14404         See testgtk for examples.
14405
14406 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
14407
14408         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
14409         new one.
14410         
14411         * configure.in: set gtk+ version to 1.3.0.