]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-6
some cleanups, fixed mnemonic_widget handling, added PROP_MNEMONIC_WIDGET.
[~andy/gtk] / ChangeLog.pre-2-6
1 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
2
3         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
4         added PROP_MNEMONIC_WIDGET.
5
6         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
7         (gtk_window_remove_mnemonic): 
8         (gtk_window_add_mnemonic): fixed assertions.
9         (gtk_window_activate_mnemonic): constrain modifier checks to those
10         permitted by gtk_accelerator_get_default_mod_mask().
11         got rid of gtk_window_get_default_accel_group().
12
13         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
14         activatable widgets either by focussing or a warning.
15         added a signal accumulator to ::activate_mnemonic which stops the
16         emission once a handler returned TRUE.
17
18 2001-03-22  Havoc Pennington  <hp@pobox.com>
19
20         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
21         the stock item label
22
23         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
24
25         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
26
27         * demos/gtk-demo/*.c: Add mnemonics all over the place
28
29         * gtk/gtklabel.h: mark parse_uline deprecated
30
31 2001-03-21  Alexander Larsson  <alexl@redhat.com>
32
33         * gtk/gtkitemfactory.[ch]:
34         Add support for stock and normal imagemenuitems.
35         
36         * gtk/testgtk.c:
37         Add some tests for mnemonics, stock toolbars, stock
38         and image menuitems in itemfactory and gdk_window_scroll.
39
40 2001-03-21  Alexander Larsson  <alexl@redhat.com>
41
42         * gtk/gtkbutton.[ch]:
43         * gtk/gtkdialog.c:
44         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
45         removed accel_group argument. Renamed gtk_button_new_accel() to
46         gtk_button_new_with_mnemonic() and removed accel_group argument.
47
48         * gtk/gtkcheckbutton.[ch]:
49         New function gtk_check_button_new_with_mnemonic().
50
51         * gtk/gtkentry.c:
52         Override activate_mnemonic and just grab focus.
53
54         * gtk/gtkitemfactory.c:
55         Don't add menu uline accel group, instead use mnemonics support.
56
57         * gtk/gtklabel.[ch]:
58         New support for mnemonics.
59
60         * gtk/gtkmarshal.list:
61         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
62
63         * gtk/gtkmenu.[c]:
64         * gtkmenushell.c:
65         Use mnemonics instead of accel groups for uline
66         support in menu items.
67         Removed gtk_menu_get_uline_accel_group() and
68         gtk_menu_ensure_uline_accel_group().
69
70         * gtk/gtkmenuitem.c:
71         Override activate_mnemonic to handle switching between
72         menu items if there are collisions.
73         
74         * gtk/gtknotebook.c:
75         Connect to activate_mnemonic on the tab_label, so that
76         activating it switches to that notebook page.
77
78         * gtk/gtkwidget.[ch]:
79         Add activate_mnemonic signal. New function
80         gtk_widget_activate_mnemonic() to emit it.
81         Default implementation does activate/grab_focus.
82
83         * gtk/gtkwindow.[ch]:
84         Add support for mnemonics in windows.
85         New functions:
86         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
87         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
88
89         * gtk/testgtk.c:
90         Update to function name changes.
91         
92 2001-03-21  Alexander Larsson  <alexl@redhat.com>
93
94         * gtk/gtkimagemenuitem.[c]:
95         Add gtk_image_menu_item_new_from_stock()
96
97 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@webwynk.net>
98
99         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
100         Fix buglet in meeting.
101
102 2001-03-19  Havoc Pennington  <hp@redhat.com>
103
104         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
105         add a bunch of accessor functions. This is because we have
106         reasonable expectations of extending what fields it contains in
107         the future.
108
109         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
110         changes
111
112         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
113         GtkIconSource   
114
115 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
116
117         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
118         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
119
120         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
121           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
122           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
123           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
124         Change float to double everywhere with the exception of 0<->1.0 alignment
125         and GtkCurve.
126
127 2001-03-19  Tor Lillqvist  <tml@iki.fi>
128
129         * gdk/win32/gdkdrawable-win32.c
130         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
131         output.
132
133         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
134         gdkwin32.h.
135
136 2001-03-18  Tor Lillqvist  <tml@iki.fi>
137
138         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
139         print_event_state, print_event): Use preprocessor macro to make
140         code more compact. Print also GDK_WINDOW_STATE events.
141         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
142         
143         * gtk/gtk.def
144         * gtk/makefile.mingw.in: Update.
145
146         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
147         to catch also Cygwin.
148
149 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
150
151         * gtk/gtkspinbutton.[hc]: added rc-style argument
152         GtkSpinButton::shadow_type.
153         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
154         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
155         rc-style settings.
156
157         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
158
159         * gtk/gtkwidget.c: quark cleanups.
160
161         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
162         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
163         to create_rc_style() (we don't do cloning in standard OO sense).
164         added per rc style properties.
165         
166         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
167         property values and for caching those. some cleanups.
168         
169         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
170         
171         * gtk/gtksettings.[hc]: new file for global rc-file properties
172         (at least currently, should get extended to support X properties
173         and other communication mechanisms).
174         
175         * gtk/gtkwidget.[hc]: added style property support:
176         (gtk_widget_class_install_style_property_parser): install style
177         property pspec with parser function for rc-file values other
178         than LONG, DOUBLE or STRING.
179         (gtk_widget_class_install_style_property): same as above without
180         parser (parsers are going to be needed quite infrequently).
181         (gtk_widget_style_get_property): retrive style property value.
182         (gtk_widget_style_get_valist): same as above with varargs support,
183         has NOCOPY semantics.
184         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
185
186 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
187
188         * demos/gtk-demo/main.c (row_activated_cb): modified to use
189         "row_activated" signal.
190
191         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
192         stupidity.  Lets actually pass in the row with this signal...
193
194 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
195
196         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
197
198         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
199
200         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
201         everything into the ::destroy function, and freed a lot more.
202
203 2001-03-16  Havoc Pennington  <hp@redhat.com>
204
205         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
206         instead of gint16, to avoid overflow issues, since sizes > 16-bit
207         are now allowed.
208
209 2001-03-16  Havoc Pennington  <hp@redhat.com>
210
211         * Applied patch from Nils Barth (bug # 51041) to 
212         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
213         in various places.
214
215 2001-03-15  Havoc Pennington  <hp@redhat.com>
216         
217         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
218         for properties to set on the tag.
219
220         * gtk/testtext.c: fixups to reflect create_tag change
221         
222         * gtk/gtktexttag.c (gtk_text_tag_set_property):
223         background/foreground stipple are objects, not boxed.
224
225         * demos/gtk-demo/textview.c: intellihancing
226
227 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
228
229         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
230         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
231
232 2001-03-16  Alexander Larsson  <alexl@redhat.com>
233
234         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
235         Fix sign error with queued region translations.
236
237 2001-03-15  HideToshi Tajima  <tajima@happy>
238
239         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
240         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
241         * gtk/gtkentry.c (update_im_cursor_location): 
242         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
243         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
244         set_cursor_pos to set_cursor_location in GtkInputContext class
245
246 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
247
248         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
249         the location of the cell relative to its area.
250         * gtk/gtkcell*: modified for above change
251         * gtk/gtktreeview.c: modified for above change.
252
253 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
254
255         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
256          (gtk_tree_view_finalize): actually unref the model.  Thanks to
257         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
258
259 2001-03-14  Havoc Pennington  <hp@redhat.com>
260
261         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
262         
263         * gtk/gtk.h: remove gtkdata.h
264
265         * gtk/Makefile.am: remove gtkdata
266         
267         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
268         not "disconnect" on the adjustments.
269         
270         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
271         GtkData
272
273         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
274         not GtkData
275
276         * configure.in: handle case where X render exists, but Pango lacks
277         Xft support.
278
279 2001-03-15 Alexander Larsson  <alexl@redhat.com>
280
281         * gtk/gtktoolbar.[ch]:
282         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
283         to add stock items to toolbars.
284
285         * gtk/Makefile.am:
286         Remove ../gdk/gdkim.h from gdk_headers.
287
288 2001-03-15  Sven Neumann  <sven@gimp.org>
289
290         * gdk/gdkim.h: removed
291         
292         * gdk/gdkprivate.h
293         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
294
295 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
296
297         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
298         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
299         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
300         set_cursor_pos() virtual method
301
302         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
303         (gtk_im_context_xim_set_cursor_pos): add implementation for
304         set_cursor_pos() method
305
306         * gtk/gtkentry.c (recompute_idle_func): set current cursor
307         position to input methods
308
309 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
310
311         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
312         code a lot.
313
314         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
315         g_mem_chunk.
316         (_gtk_tree_data_list_alloc): use g_mem_chunk.
317         (_gtk_tree_data_list_node_to_value): Fix to switch on
318         G_TYPE_FUNDAMENTAL.
319         (_gtk_tree_data_list_value_to_node): Fix to switch on
320         G_TYPE_FUNDAMENTAL.
321         (_gtk_tree_data_list_node_copy): Fix to switch on
322         G_TYPE_FUNDAMENTAL.
323
324 2001-03-12  Havoc Pennington  <hp@redhat.com>
325
326         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
327         to convert to new property API. Also, change default_width and
328         default_height get_property to return 0 as the flag value for
329         "unset"; -1 is not a valid value for these fields.
330
331 2001-03-12  Havoc Pennington  <hp@redhat.com>
332
333         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
334         enum with registration for icon sizes, instead of strings.
335
336         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
337         gtkwidget.c: Fix to reflect GtkIconSize
338         
339 2001-03-12  Alexander Larsson  <alexl@redhat.com>
340
341         Make GtkFB compile and link.
342         
343         * gdk/linux-fb/gdkdrawable-fb2.c:
344         window->mapped to GDK_WINDOW_IS_MAPPED(). 
345         
346         * gdk/linux-fb/gdkwindow-fb.c:
347         window->mapped to GDK_WINDOW_IS_MAPPED(). 
348         Added gdk_window_shape_combine_region.
349         Added assorted placeholders for unimplemented new GdkWindow API calls.
350
351 2001-03-12  Alexander Larsson  <alexl@redhat.com>
352
353         * gtk/gtkfilesel.c:
354         Add more test when converting filenames from/to utf-8.
355         Don't allow entering text in the filename entry which isn't allowed in
356         a filename. Just beep instead.
357
358 2001-03-12  Alexander Larsson  <alexl@redhat.com>
359
360         * gtk/gtkclist.c:
361         Scroll using gdk_window_scroll(). Don't wait for exposes.
362         Move the column headers in an order that makes them flash less.
363
364 2001-03-10  Hans Breuer  <hans@breuer.org>
365
366         * gdk/gdk.def : updated
367
368         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
369         to offseting the clip_mask at the right place
370
371         * gdk/win32/gdkwindow-win32.c : don't create background brushes
372         for all the gdkClasses, especially not for the input_only case.
373         Otherwise flickering wont be avoidable, because we don't get
374         WM_ERASEBKGND message for these windows.
375
376         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
377         and fixed massive redraw problems apparently triggered by Alexanders 
378         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
379         but it seems to work quite well :-)
380
381         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
382         prototype
383
384 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
385
386         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
387         (gtk_list_store_set_cell): Fix a stupid typo.
388
389 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
390
391         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
392         select_all not work if you're in SINGLE mode (it doesn't make that
393         much sense, anyway.)
394
395         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
396         handle types more sanely.
397         (_gtk_tree_data_list_value_to_node): handle types more sanely.
398         (_gtk_tree_data_list_node_copy): handle types more sanely.
399
400         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
401         GValue better. Converts the type as well.
402
403         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
404         GValue better. Converts the type as well.
405
406 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
407
408         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
409         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
410         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
411         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
412
413         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
414         gdk_im/gdk_ic.
415
416 2001-03-09  Hans Breuer  <hans@breuer.org>
417
418         * gdk/gdk.def : updated
419
420         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
421         for their palette
422
423         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
424         removing
425
426         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
427         removing and implemented Havoc's GdkWindow state functions; 
428         stick/unstick only as no-op, cause I don't know how to emulate 
429         on win32 ...
430
431         * gtk/gtk.def : updated
432
433         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
434
435         * gtk/gtktypeutils.c : #include <string.h>
436
437         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
438
439 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
440
441         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
442         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
443         not a boxed.
444
445 2001-03-09  Alexander Larsson  <alexl@redhat.com>
446
447         * docs/Changes-2.0.txt:
448         Document expose event->region change and that gtk_widget_event
449         doesn't allow passing expose events.
450
451         * gdk/gdkevents.h:
452         Add region to expose event.
453         
454         * gdk/gdkevents.c:
455         Handle event->region in gdk_event_copy() and gdk_event_free().
456
457         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
458         Generate expose_event->region when creating expose events.
459
460         * gdk/x11/gdkevents-x11.c:
461         Generate expose events with regions when translating X events.
462
463         * gtk/gtkcontainer.[ch]:
464         Default expose handler that propagates expose events to NO_WINDOW
465         children. New function gtk_container_propagate_expose()
466
467         * gtk/gtkwidget.[ch]:
468         Moved gtk_widget_event implementation to gtk_widget_event_internal.
469         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
470         expose events. New function gtk_widget_send_expose() to send expose
471         events. New function gtk_widget_region_intersect() to calculate
472         window/region intersections.
473         
474         * gtk/gtkmain.c (gtk_main_do_event):
475         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
476         Use gtk_widget_send_expose() to send expose events.
477         
478         * gtk/gtkbin.c:
479         * gtk/gtkbox.c:
480         * gtk/gtkfixed.c:
481         * gtk/gtkimagemenuitem.c:
482         * gtk/gtklist.c:
483         * gtk/gtkpacker.c:
484         * gtk/gtktable.c:
485         * gtk/gtktree.c:
486         Remove expose handler, using the default container implementation
487         instead.
488         
489         * gtk/gtkbutton.c:
490         * gtk/gtkcheckbutton.c:
491         * gtk/gtkeventbox.c:
492         * gtk/gtkfixed.c:
493         * gtk/gtkhandlebox.c:
494         * gtk/gtklayout.c:
495         * gtk/gtklistitem.c:
496         * gtk/gtkmenu.c:
497         * gtk/gtkmenubar.c:
498         * gtk/gtkmenuitem.c:
499         * gtk/gtknotebook.c:
500         * gtk/gtkoptionmenu.c:
501         * gtk/gtkpaned.c:
502         * gtk/gtkscrolledwindow.c:
503         * gtk/gtktogglebutton.c:
504         * gtk/gtktoolbar.c:
505         * gtk/gtktreeitem.c:
506         * gtk/gtkviewport.c:
507         Chain expose handler to parent class handler. Use
508         gtk_container_propagate_expose() to propagate exposes.
509
510         * gtk/gtkclist.c (check_exposures):
511         * gtk/gtktext.c (process_exposes):
512         Use gtk_widget_send_expose instead of gtk_widget_event.
513
514 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
515
516         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
517
518 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
519
520         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
521         unref the nodes.   Fixes bug #50058.
522
523         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
524         "::ref_iter" to "::ref_node".
525         (gtk_tree_model_unref_node): change "::unref_iter" to
526         "::unref_node". Fixes bug #50064.
527
528 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
529
530         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
531         support for invisible cells.
532          (gtk_tree_view_bin_expose): ditto
533
534 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
535
536         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
537         on gobjects.
538
539         * tests/testtreefocus.c (main): New test file.
540
541         * tests/testtreeview.c: update to latest glib changes.
542
543         * tests/testtreecolumns.c: update to latest glib changes.
544
545 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
546
547         * gtk/testgtk.c: re-enabled event watcher emission hooks.
548
549 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
550
551         * *.c: added accumulator data argument to g_signal_newc()
552         functions.
553
554         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
555         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
556         * gtk/treestoretest.c (make_window):
557         s/g_signal_connect/g_signal_connectc/.
558
559         * gtk/gtktextbuffer.c: completed signal arg fixups,
560         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
561
562 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
563
564         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
565         G_CONST_RETURN.
566
567         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
568         ::hierarchy-changed signal when a widget changes
569         from anchored to unanchored or vice versa.
570         (anchored means 
571          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
572         Use a private flag to keep track of this efficiently.
573
574 2001-03-07  Havoc Pennington  <hp@redhat.com>
575
576         * gtk/testgtk.c (create_spins): uglify so that size request gets
577         tested.
578
579         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
580         request on values for upper/lower, completes #6152
581
582 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
583
584         * Makefile.am: Remove gtk-config-2.0 again.
585         (Grrrr, pkg-config. And stops make loops.)
586
587 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
588
589         * gtk/gtksignal.[hc]: removed old emission hook API.
590         
591         * docs/Changes-2.0.txt: fixed sections.
592         
593         * gtk/gtktextbuffer.c: signal arg fixups.
594
595 2001-03-07  Havoc Pennington  <hp@redhat.com>
596
597         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
598
599         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
600         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
601         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
602         validation and the redraw which is higher priority than the
603         validation.
604
605 2001-03-07  Havoc Pennington  <hp@redhat.com>
606
607         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
608         (gtk_entry_set_property): remove trailer
609
610         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
611         (gtk_entry_get_width_chars): new functions, to set size request to 
612         a given number of characters
613
614         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
615
616         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
617         (gtk_dialog_get_has_separator): new function
618         (run_delete_handler): fix to not emit "response" signal
619         because we already did in the delete event handler installed
620         at dialog creation time.
621         
622         * gtk/gtkdialog.h: add a has_separator property,
623         add GTK_DIALOG_NO_SEPARATOR flag
624
625 2001-03-07  Havoc Pennington  <hp@redhat.com>
626
627         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
628         off decorations for a window.
629
630         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
631         changes
632
633         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
634         to get location of PangoLayout inside the label, closes #51198
635
636         * gtk/testgtk.c (create_bbox): fix up button box usage
637
638         * gtk/testcalendar.c (create_calendar): fix up button box usage
639
640         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
641
642         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
643
644         * gtk/gtkhbbox.h: deprecations
645
646         * gtk/gtkvbbox.h: deprecations
647
648         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
649         emulate deprecated gtk_button_box_get_spacing
650
651         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
652         the "set global default" functions
653         (struct _GtkButtonBox): remove "spacing" field, use the one from 
654         GtkBox base class
655
656         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
657
658         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
659         render the icon, return the missing image icon.
660
661         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
662         image icon if the load fails.   
663
664         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
665         when no image is found; should be the Netscape "missing image"
666         icon eventually but for now is a random image
667
668         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
669         role for the session manager
670
671         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
672
673         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
674         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
675
676         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
677
678 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
679
680         * gtk/*.c: marshaller fixes.
681         
682         * gtk/gtkmarshal.list: extreme cleanup.
683
684         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
685         param spec for now.
686
687         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
688         where appliable.
689
690         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
691         special cased autogenerated boxed types from gtktypebuiltins_ids.c
692         which are not reference counted:
693         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
694         PangoFontDescription, GtkTreeIter and GtkTreePath.
695
696 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
697
698         * gtk/gtktreeselection.h: 
699         * gtk/gtktreemodel.c:
700         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
701         file should be included directly, and gobject/gmarshal.h
702         as well as gtk/gtkmarshal.h even can't be included directly.
703
704         * Makefile.am: grr, install gtk-config-2.0.
705
706         * gtk/testgtk.c:
707         * gtk/simple.c:
708         * gtk/gtkmenu.c:
709         * gtk/gtkitemfactory.c: use g_object_connect() instead of
710         passing "*signal*::*" args to gtk_widget_set().
711         
712         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
713         
714         * gtk/*.c: removed trailer arg from property setters and getters.
715         macro fixups.
716
717 2001-03-07  Alexander Larsson  <alexl@redhat.com>
718
719         * gtk/gtklabel.c (set_markup): Removed warning
720
721 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
722
723         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
724         field to allow you to hide cell renderers.
725
726         * gtk/gtkcellrenderer.c: Add support for invisible cells.
727
728         * gtk/gtktreeview.c: Add support for invisible cells.
729
730 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
731
732         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
733         Add "clicked" signal back to columns.
734
735         * ChangeLog: remove conflict markers.
736
737 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
738
739         * gtk/gtkbutton.c: Add animation of activation by, on 
740         activate, pressing the button, and adding a timeout that 
741         releases the button after 250ms or on key release and
742         emits ::clicked. (#51501)
743
744         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
745         action area, we connect to ::clicked instead of ::activate
746         so the dialog stays up through the animation.
747
748 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
749
750         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
751         check the ignore_enter flag for the menu shell that
752         the item is actually a child of, not for attached
753         submenus. (#51536)
754
755 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
756
757         * gtk/gtkmain.c (gtk_propagate_event): Only do special
758         special key-press grab handling for widgets within
759         GtkWindows. Otherwise, fall through to normal case.
760
761         This prevents key events being sent twice to GtkInvisible
762         widgets, which can cause all sorts of mischief.
763
764 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
765
766         * gtk/gtkmain.c (gtk_propagate_event): When a grab
767         widget is in effect, give the grab widget a first
768         crack at KEY_PRESS/RELEASE events. (#424)
769
770 2001-03-06  James Henstridge  <james@daa.com.au>
771
772         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
773         offset for the window_state_event to point at window_state_event
774         rather than no_expose_event.
775
776 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
777
778         * gtk/gtkimmodule.h: fix busted /* comment */
779
780 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
781
782         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
783         object properties.
784
785 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
786
787         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
788         add object properties.
789
790         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
791         to add object properties.
792
793         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
794         object properties.
795
796         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
797         add object properties.
798
799         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
800         object properties.
801
802 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
803
804         * gtk/gtktreemodel.c: renamed "child_toggled" to
805         "has_child_toggled".
806
807         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
808         handle new signal name.
809
810         * gtk/gtktreestore.c: Updated to handle new signal name.
811         * gtk/gtklisttore.c: Updated to handle new signal name.
812         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
813
814 2001-03-05  Alexander Larsson  <alexl@redhat.com>
815
816         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
817         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
818
819 2001-03-05  Michael Natterer  <mitch@gimp.org>
820
821         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
822         pixbuf-engine coincidentially also failed to make one of it's
823         parent_class pointers static, causing overwriting of GtkLabel's
824         parent_class pointer in pixbuf_style_class_init().
825         (Will commit the fix to the pixbuf-engine too).
826
827 2001-03-05  Alexander Larsson  <alexl@redhat.com>
828
829         * gdk/gdkwindow.h:
830         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
831         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
832         gdk_window_set_icon_list for net wmspec functionality.
833
834         * gdk/x11/gdkwindow-x11.c:
835         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
836         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
837         gdk_window_set_icon_list.
838         Added gdk_wmspec_change_state helper function and used it in the code.
839         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
840
841         * gtk/gtkdialog.c (gtk_dialog_init):
842         Set GDK_WINDOW_TYPE_HINT_DIALOG.
843
844         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
845         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
846
847         * gtk/gtkwindow.c:
848         new function gtk_window_set_type_hint.
849         On realize, set type hint and modal hint.
850
851         * gtk/gtkwindow.h:
852         Added type_hint field and gtk_window_set_type_hint.
853
854 2001-03-05  Alexander Larsson  <alexl@redhat.com>
855
856         * gtk/gtklabel.[ch]:
857         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
858         New function gtk_label_get_accel_keyval () to get the underline accelerator
859         of the label. Setting the label pattern overrides other attributes.
860
861 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
862
863         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
864         Added missing initializers to gtk_rc_style_init().
865
866 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
867
868         * gtk/gtktextview.c: fixed bug #51097 about setting 
869         gtk_text_view_set_border_window_size() if the widget is 
870         already realized.
871
872 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
873
874         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
875
876         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
877         comment. Won't do to have duplicated doc comments between
878         the platform subdirs.
879
880 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
881
882         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
883           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
884
885         Detectable auto-repeat - make a repeating key generate
886         press/press/press/release instead of press/release pairs.
887
888         If we have Xkb and XkbSetDectableAutoRepeat supports
889         that, we do it that way. Otherwise, when we get
890         a release event, we check ahead with XPending to see
891         if the next key is a KeyPress with the same keycode
892         and timestamp. (Not 100% reliable, but pretty close.)
893           
894 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
895         
896         * gtk/gtkmain.c (gtk_propagate_event): Only do special
897         special key-press grab handling for widgets within
898         GtkWindows. Otherwise, fall through to normal case.
899  
900         This prevents key events being sent twice to GtkInvisible
901         widgets, which can cause all sorts of mischief.
902  
903 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
904  
905         * gtk/gtkmain.c (gtk_propagate_event): When a grab
906         widget is in effect, give the grab widget a first
907         crack at KEY_PRESS/RELEASE events. (#424)
908  
909 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
910
911         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
912         to extend the selection. (Roughly based on patch
913         from Jay Cox, #50939)
914
915         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
916         to properly handle previous GDK_BUTTON_PRESS. 
917         (Patch from Jay Cox, #50938)
918
919         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
920         '\0' back along with the deleted text. (#51148)
921
922 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
923
924         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
925         the group when extracting it from the X keyboard event.
926
927         * modules/input/Makefile.am modules/input/imipa.c: 
928         Simple module for entering IPA. (Do we need a 
929         gtk-stupid-input-tricks CVS module?)
930
931 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
932
933         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
934         const.
935
936         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
937
938         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
939         is no focus widget for the dialog currently, grab the focus as well
940         as the default.
941
942         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
943         the action area's children to iterate through, not the
944         dialog's children.
945
946 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
947
948         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
949         Add plug-socket tests. (Won't work worth a darn until I commit
950         the rest of the plug-socket changes, but no reason these
951         can't go into CVS now.)
952
953 2001-03-02  Havoc Pennington  <hp@redhat.com>
954
955         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
956         _gdk_region_get_xrectangles()
957
958         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
959
960         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
961
962         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
963         function, contributed by Ron Steinke    
964
965         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
966         gdk_net_wm_supports
967
968         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
969         New function, contributed by Ron Steinke
970
971         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
972         used to line up the text in the entry when using the entry for
973         editable sheet cell hacks
974
975         * gtk/testgtk.c (create_entry): test the activate_default setting
976         on GtkEntry
977
978         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
979         cause the entry to activate the default button for a dialog when 
980         activated
981         (gtk_entry_get_activates_default): new function
982
983 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
984
985         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
986         Hwang to move call to sync_selection() up a few lines
987         to before the row list is modified, to fix crash when
988         removing rows in the undo_selection list.
989
990         (Test case provided by Daniel Elstner:
991
992         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
993
994 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
995
996         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
997         of tree->root_tree in parent_set rather than _map(), 
998         fixing #50892 in a bit better manner.
999
1000 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
1001
1002         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
1003
1004 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
1005
1006         * gtk/gtkstyle.c : Remove duplicate fwd decl for
1007         gtk_default_draw_shadow.
1008
1009 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
1010
1011         * gdk/gdkimage.c (gdk_image_new): Remove excess 
1012         warning, make warnings more verbose, treat a error
1013         in shmat as permanent, and don't try again.
1014         (#51163, Ed Randall.)
1015
1016 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
1017
1018         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
1019         delay for the first click before starting to scroll.
1020         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
1021
1022         * gtk/gtktext.c: GtkText should have I-beam cursor. 
1023         (based on gtk-enf-990513-1.patch, Eric Fisher.)
1024
1025 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
1026
1027         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
1028         cleanup to remove some references to unused
1029         ->xoffset, ->yoffset.
1030
1031 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
1032
1033         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
1034         mask. (#51039, fix from Martin Maierhofer)
1035
1036 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
1037
1038         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
1039         for unshifted + and shifted = for non-us keyboards.
1040         Make <Control>+ and <Control>- work as well as 
1041         <Control>KP_Plus, <Control>KP_Minus for recursive
1042         open/close.  (#2682, René Seindal)
1043
1044 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
1045
1046         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
1047         the active menu item before deactivating the menu,
1048         so gtk_menu_popdown doesn't change the history. (#50964)
1049         
1050 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
1051
1052         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
1053         draw lines with text_gc rather than black_gc.
1054         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
1055
1056 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
1057
1058         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
1059         Move handling of buttons fully in gtktreeviewcolumn.  This code is
1060         less interrelated then it was, but it still requires the
1061         GtkTreeView to map it.
1062
1063         * test/testtreecolumn.c: Now I can add a column to one view,
1064         remove it, add it to the another view, remove it, then re-add it
1065         to the first.  Nifty.
1066
1067 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
1068
1069         * docs/tutorial/gtk-tut.sgml: Minor corrections
1070
1071 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
1072
1073         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
1074         GtkRowReference.
1075
1076 2001-02-28  Havoc Pennington  <hp@redhat.com>
1077
1078         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
1079         draw_default
1080         (gtk_widget_draw_focus): remove this function; we could instead
1081         make it just gtk_widget_draw(), but in most cases I think the
1082         result would be broken user code, so think it's better to have
1083         that code not compile and get fixed
1084         (gtk_widget_draw_default): ditto
1085
1086         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
1087         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
1088         
1089         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
1090         widgets lose/get the default, instead of calling draw_default
1091         
1092         * docs/Changes-2.0.txt: note about all this
1093
1094         Then fixed every widget in GTK, I won't list all the filenames.
1095
1096 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
1097
1098         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
1099         _gtk_tree_row_reference_deleted.
1100         (inserted_callback): Proxy out to
1101         _gtk_tree_row_reference_inserted.
1102         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
1103         get around signal emission ordering problem.
1104
1105         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1106         fix to work with SINGLE 
1107         (_gtk_tree_selection_internal_select_node): Major sanitization on
1108         selections.  SINGLE now seems to work.
1109
1110         * tests/Makefile.am: add testtreecolumn.c:
1111
1112         * tests/testtreecolumn.c: New test.  Mostly points out selection
1113         bugs currently, but will test columns later.
1114
1115         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
1116         selection bug.  I hate touching this code -- it's scary.
1117
1118 2001-02-26  Havoc Pennington  <hp@redhat.com>
1119
1120         * gtk/testgtk.c: test the window state stuff
1121
1122         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
1123         window come to the user's attention as if it were just created
1124         (gtk_window_iconify): new function
1125         (gtk_window_deiconify): new function
1126         (gtk_window_stick): new function
1127         (gtk_window_unstick): new function
1128         (gtk_window_maximize): new function
1129         (gtk_window_unmaximize): new function
1130
1131         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
1132
1133         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
1134
1135         * gdk/x11/gdkevents-x11.c: create window state events when
1136         appropriate
1137         (gdk_wmspec_supported): new function
1138
1139         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
1140         iconification before showing the window
1141         (gdk_window_deiconify): new function
1142         (gdk_window_stick): new function
1143         (gdk_window_unstick): new function
1144         (gdk_window_maximize): new function
1145         (gdk_window_unmaximize): new function
1146
1147         * gdk/gdkwindow.c: store the window state in the window; 
1148         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
1149         window->mapped.
1150         (gdk_window_get_state): return the current window state
1151
1152         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
1153         (gdk_event_get_state): handle GDK_WINDOW_STATE
1154         (gdk_synthesize_window_state): function to create the window state
1155         events
1156
1157         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
1158         event, for changes to "window state" such as maximized, sticky, 
1159         etc.
1160         
1161         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
1162         focuses a window
1163
1164         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
1165         finds out if we support a given WM spec hint
1166
1167 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
1168
1169         * docs/faq/gtk-faq.sgml: New question re memory leaks.
1170
1171 2001-02-25  Hans Breuer  <hans@breuer.org>
1172
1173         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
1174         cause we want to loose those prototypes only in the latter case
1175
1176         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
1177         GdkPixmapImplWin32 because it itsn't derived from it. Use the
1178         impl member variable instead
1179
1180         * gtk/gtk.def : updated
1181
1182         * gtk/gtklist.c : 
1183         * gtk/gtkmenus.c : include <string.h> for memset ()
1184
1185         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
1186         for everthing built here, but for gtk-x.x.dll only. This solves
1187         problem of indifferent gtk type definitions
1188
1189 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
1190
1191         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
1192
1193 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
1194
1195         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
1196         column that is exposed.
1197
1198         (_gtk_tree_view_update_size): Changed name from set_size, and
1199         changed function to do more work, and not force people calling it
1200         to figure out the size.  Simplifies a lot of code elsewhere.
1201
1202 2001-02-23  Alexander Larsson  <alexl@redhat.com>
1203
1204         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
1205         return solid masks for xpms that have no transparent color.
1206         This makes the ..._create_from_xpm... API backwards
1207         compatible.
1208
1209 2001-02-23  Tor Lillqvist  <tml@iki.fi>
1210
1211         * README.win32: Update. Mention the gtk-1-3-win32-production
1212         branch.
1213
1214         * gdk/win32/bdfcursor.c: New file. A program that generates
1215         xcursors.h. Thanks to Stefan Ondrejicka.
1216
1217         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
1218         compact format.
1219
1220         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
1221
1222         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
1223         function, uses xcursors.h.
1224         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
1225         cursor from inline data instead of using LoadCursor() to generate
1226         it from a resource.
1227
1228         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
1229         event, must check the Windows message for mouse button state, as
1230         the GDK event state might not have been built if it is
1231         undelivered. Remove one goto.
1232
1233         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
1234         SetCursor() if the current cursor as returned by GetCursor() is
1235         the window's previous cursor. The ChildWindowFromPoint() test
1236         apparently didn't work correctly.
1237
1238         * gdk/win32/rc/*.cur: Remove.
1239
1240         * gdk/win32/rc/gdk.rc.in: Remove cursors.
1241
1242         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
1243
1244         * gtk/makefile.{mingw,msc}.in: Updates.
1245
1246 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
1247
1248         * gtk/gtktreemodel.h: add functions for signal emission.
1249
1250         * gtk/gtktreestore.c: move to use above functions instead of
1251         g_signal_emit.
1252
1253         * gtk/gtkliststore.c: ditto
1254
1255 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
1256
1257         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
1258         GObject instead of GtkObject.
1259
1260         * gtk/gtkliststore.c: ditto.
1261
1262         * gtk/gtktreemodelsort.c: ditto.
1263
1264         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
1265         GtkTreeModelIface, instead of in each model.
1266
1267 2001-02-21  Havoc Pennington  <hp@redhat.com>
1268
1269         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
1270         unbreak this function
1271
1272         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
1273         properties
1274
1275         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
1276         properties
1277
1278         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
1279         properties
1280
1281         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
1282         mean unset the max length
1283
1284 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
1285
1286         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
1287         Changed name to be set_cell_data_func to make it clear what
1288         the functino does.  Close bug #51069.
1289
1290 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
1291
1292         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
1293         have memory actually freed.  Keeps box running longer.
1294
1295 2001-02-21  Alexander Larsson  <alexl@redhat.com>
1296         
1297         * gtk/gtkseparatormenuitem.[ch]:
1298         Added new menu separator item. The drawing and size handling
1299         is still done in GtkMenuItem, but the API is a bit more sane.
1300         
1301         * gtk/Makefile.am:
1302         Add gtkseparatormenuitem.[ch].
1303
1304         * gtk/gtk.h:
1305         Add gtkseparatormenuitem.h.
1306         
1307         * gtk/gtkentry.c:
1308         * gtk/gtkmenufactory.c:
1309         * gtk/gtktextview.c:
1310         Use the new API for menu separators.
1311         
1312         * demos/gtk-demo/menus.c (create_menu):
1313         Add some GtkSeparatorMenuItem demo code.
1314
1315 2001-02-20  Havoc Pennington  <hp@redhat.com>
1316
1317         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
1318         Lee Mallabone
1319
1320         * gtk/gtkarrow.c: Convert to new property API, patch from 
1321         Lee Mallabone
1322
1323 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
1324
1325         * tests/testtreeview.c (toggled_callback): fix to reflect change
1326         in GtkTreeModelStore.
1327
1328 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
1329
1330         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
1331         function to create an icon set from a pixbuf.
1332
1333 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1334
1335         * gtk/gtkcellrenderertext.[ch]:
1336         Add a "markup" property.
1337
1338         * gtk/treestoretest.c:
1339         Use the markup property, remove some leftover stuff from
1340         GtkTreeModelMapping.
1341
1342 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1343
1344         * gtk/gtklabel.c (gtk_label_set_selectable):
1345         Queue a redraw if the selectable setting was changed.
1346
1347 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1348
1349         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
1350         Actually copy the whole gc, not just the public parts.
1351         
1352         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1353         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
1354         labels.
1355
1356 2001-02-19  Havoc Pennington  <hp@pobox.com>
1357
1358         * gdk/gdkwindow.c: docs
1359
1360         * gdk/gdkrgb.c: docs
1361
1362         * gdk/gdkregion-generic.c: docs
1363
1364         * gdk/gdkgc.c (gdk_gc_set_values): docs
1365
1366         * gdk/gdkdraw.c: docs
1367
1368         * gdk/gdkdrawable.h: deprecate drawable get/set data
1369
1370 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
1371
1372         * demos/gtk-demo/dialog.c: Add simple new demo.
1373
1374 2001-02-19  Havoc Pennington  <hp@redhat.com>
1375
1376         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
1377         insert_child_anchor signal, bug #50245
1378
1379         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
1380         from create_child_anchor, so the anchor is passed in
1381
1382         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
1383         (_gtk_widget_segment_new): have the child anchor object passed in, 
1384         instead of creating it.
1385
1386         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
1387         to gtk_text_buffer_get_modified
1388
1389 2001-02-19  Havoc Pennington  <hp@redhat.com>
1390
1391         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
1392         changed GLib without fixing GTK
1393
1394         * gtk/gtkrange.h: Rename all the stupid implementation detail 
1395         functions to have an underscore in front. Most of them should 
1396         probably just go away, but for starters don't export them.
1397         Bug #50482
1398
1399 2001-02-19  Havoc Pennington  <hp@redhat.com>
1400
1401         * gdk/gdkcolor.h: test was backward, so deprecated functions were
1402         excluded by default
1403
1404         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
1405         clean up the old code a bit
1406
1407         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
1408         inconsistent state
1409
1410         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
1411         draw inconsistent state
1412
1413         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
1414         (create_menu): add inconsistent test
1415
1416         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
1417         new function
1418         (gtk_check_menu_item_get_inconsistent): new function
1419         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
1420         state (using etched in for now)
1421
1422         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
1423         draw inconsistent state
1424
1425         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
1426         function, used when the user has selected a range of stuff in
1427         different states
1428         (gtk_toggle_button_get_inconsistent): accessor for that
1429         (gtk_toggle_button_paint): draw inconsistent state (etched in?
1430         don't know what else to do)
1431
1432 2001-02-19  Hans Breuer <hans@breuer.org>
1433
1434         * gtk/gtk.def : updated exported symbols
1435
1436         * gtk/makefile.msc.in : updated
1437
1438         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
1439         a colormap, when invoked from testgtk::entry. I'm not sure where
1440         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
1441         avoids immediate crashing ...
1442
1443         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
1444         any objections ?
1445
1446         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
1447         0 parameter. At least msvc doesn't like macros with var args. 
1448         I simply removed the extra 0, was it a feature or a typo ?
1449
1450         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
1451         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
1452         because the value assignment to the internal struct wasn't working.
1453         I'm not absolutely sure. The problem could have been resolved by
1454         changing the "func" declartion in the struct, but was the pointer
1455         to the function pointer intended ?
1456
1457         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
1458
1459         * gdk/gdk.def : updated exported symbols
1460
1461         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
1462         only use SetDIBitsToDevice if there is a palette at the drawable
1463         and the image is GDK_VISUAL_PSEUDO_COLOR
1464
1465         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
1466
1467         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
1468
1469         * gdk/*/makefile.msc : updated
1470
1471 2001-02-19  Havoc Pennington  <hp@redhat.com>
1472
1473         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
1474         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
1475
1476         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
1477         (gdk_key_repeat_restore): nuke
1478
1479         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
1480         (gdk_init_check): no atexit func
1481
1482         * gdk/gdkrgb.h: mark some stuff deprecated
1483
1484         * gdk/gdkcolor.h: mark some stuff deprecated
1485         
1486         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
1487
1488         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
1489
1490 2001-02-16  Havoc Pennington  <hp@redhat.com>
1491
1492         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
1493         scroll steps.
1494
1495         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
1496         steps, and add Ctrl-arrow shortcuts for paging visually as with
1497         HScale, since Page Up and Page Down move logically.
1498
1499         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
1500         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
1501         
1502         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
1503         steps
1504         (gtk_range_scroll): handle the visual steps
1505
1506         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
1507         scroll steps
1508
1509         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
1510         steps, not the logical ones.
1511
1512         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
1513         (scroll_vertical): handle up/down steps
1514
1515 2001-02-19 Alexander Larsson  <alexl@redhat.com>
1516
1517         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
1518         Copy data and free data with free().
1519
1520         * gdk-pixbuf/gdk-pixbuf.c:
1521         * gdk-pixbuf/io-jpeg.c:
1522         * gdk-pixbuf/io-png.c:
1523         Use g_try_malloc/g_free instead malloc/free.
1524         
1525         * gdk-pixbuf/test-gdk-pixbuf.c:
1526         Must... initialize... gobject...
1527         
1528         * gdk-pixbuf/pixops/timescale.c:
1529         * gtk/gtkcalendar.c:
1530         Use g_malloc instead of malloc.
1531         
1532 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
1533
1534         * gtk/testgtkrc:
1535         Comment out property assignments, these don't work yet.
1536
1537 2001-02-17  Havoc Pennington  <hp@pobox.com>
1538
1539         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
1540         bit.
1541
1542 2001-02-17  Havoc Pennington  <hp@pobox.com>
1543
1544         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
1545         shadowed variables that had broken size request in some cases,
1546         leading to bogus tooltips (#50996)
1547
1548 2001-02-06  Jon K Hellan  <hellan@acm.org>
1549
1550         Implement fast browsing of tooltips, bug #50619
1551         
1552         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
1553         and last_popdown
1554         
1555         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
1556         use_sticky_delay and last_popdown.
1557         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
1558         time of popdown.
1559         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
1560         is NULL.
1561         (gtk_tooltips_recently_shown): New static function.  Return true
1562         if < sticky_delay has elapsed since last popdown.
1563         (gtk_tooltips_event_handler): Display window after sticky_delay
1564         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
1565         since last popdown.
1566         
1567 2001-02-17  Havoc Pennington  <hp@pobox.com>
1568
1569         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
1570         instead of (). #6394
1571
1572         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
1573         G_CONST_RETURN, make it return by reference, #50473
1574         
1575 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
1576
1577         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
1578         generated ENTER_NOTIFY event with 0, otherwise not explicitely
1579         setup fields contain garbage (e.g. subwindow, breaking
1580         gdk_drawable_ref() upon event copy).
1581         (gtk_menu_stop_navigating_submenu_cb): same here.
1582
1583         * gtk/gtklist.c (gtk_list_vertical_timeout): 
1584         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
1585         * gtk/gtkclist.c (vertical_timeout): 
1586         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
1587         default-zero-intialization for unions to memset(,0,), as unions are
1588         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
1589         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
1590
1591         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
1592         g_closure_sink() warning.
1593
1594         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
1595         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
1596         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
1597         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
1598         
1599 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
1600
1601         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
1602         gtk_*_store_get, and moved to GtkTreeModel.
1603
1604         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
1605
1606         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
1607
1608         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
1609
1610         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
1611         set the func.
1612
1613         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1614         freeze/thaw notify between setting all the properties for a cell.
1615
1616         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
1617
1618 2001-02-15  Havoc Pennington  <hp@redhat.com>
1619
1620         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
1621         the X coordinates so they're with respect to the line, rather than 
1622         with respect to the layout.
1623
1624         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
1625         Mallabone
1626
1627         * gtk/testgtk.c (create_range_controls): add vscale tests, 
1628         and inverted test
1629
1630         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
1631         #50806
1632
1633         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
1634
1635         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
1636         gtk_text_iter_is_end
1637
1638         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
1639         rename gtk_text_buffer_get_end_iter
1640
1641         * gtk/testgtk.c (create_labels): Add test for selectable
1642
1643         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
1644         the selection stuff. This code is kind of broken since it doesn't 
1645         use the theme engine.
1646
1647         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
1648         fix infinite loop and y offset problem
1649         (gdk_draw_layout_line_with_colors): fix foreground color handling
1650
1651         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
1652         that makes the label selectable.
1653         
1654         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
1655         layout when the style is set, since fonts etc. could have changed.      
1656
1657 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
1658
1659         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
1660
1661         * gtk/gtktreemodelsimple.[ch]: removed.
1662
1663 2001-02-16  Alexander Larsson  <alexl@redhat.com>
1664
1665         * gtk/gtktreemodelmapping.[ch]:
1666         New files. Implement GtkTreeModelMapping.
1667         
1668         * gtk/Makefile.am:
1669         Add gtktreemodelmapping.[ch].
1670         
1671         * gtk/gtk.h:
1672         Add gtktreemodelmapping.h
1673
1674         * gtk/treestoretest.c:
1675         Test the GtkTreeModelMapping
1676
1677 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
1678
1679         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
1680         have a demo, we might as well pass in real values.  Thanks to
1681         clahey for pointing this out.
1682
1683 2001-02-14  Havoc Pennington  <hp@pobox.com>
1684
1685         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
1686         "static" to a private function
1687         (gtk_image_menu_item_class_init): remove destroy handler,
1688         add "image" object property
1689
1690 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
1691
1692         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
1693         Add a shortcut if the window and the current clip_region doesn't
1694         overlap. This is needed when there are a lot of windows in a
1695         window. The layout test in testgtk is a good test.
1696
1697         * gdk/linux-fb/gdkwindow-fb.c:
1698         Whitespace fix.
1699
1700 2001-02-13  Sven Neumann  <sven@convergence.de>
1701
1702         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
1703
1704 2001-02-13  Alexander Larsson  <alexl@redhat.com>
1705
1706         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
1707         Don't reference last_cursor if it is null. Fixes crash when rotating
1708         the screen before having moved the mouse.
1709
1710         * gdk/linux-fb/gdkcc-fb.c: Zapp!
1711
1712         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
1713
1714         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
1715         when using 90 or 270 degrees rotation.
1716
1717 2001-02-12  Havoc Pennington  <hp@pobox.com>
1718
1719         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
1720         it always set the foreground, even if we were only using
1721         a stipple.
1722         (gdk_draw_layout_line_with_colors): new function, allow
1723         override colors
1724         (gdk_draw_layout_with_colors): new function, allow override
1725         colors
1726         (gdk_pango_layout_line_get_clip_region): function to get the clip
1727         region for a logical text range
1728         (gdk_pango_layout_get_clip_region): get the clip region for a
1729         logical text range
1730
1731         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
1732         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
1733         the right number of arguments.
1734
1735         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
1736         enhance the function to check that node data corresponds to a 
1737         view still belonging to the tree.
1738
1739         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
1740         GtkTreePath
1741         (gtk_tree_view_inserted): ditto
1742         (gtk_tree_view_child_toggled): ditto
1743
1744         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
1745         simplify this code.
1746
1747         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
1748         a PangoAttrList
1749
1750         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
1751
1752         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
1753
1754         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
1755         size in the size request 
1756         (gtk_menu_bar_size_allocate): consider toggle size here
1757
1758         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
1759         that displays a widget in the toggle slot
1760
1761         * gtk/testgtk.c: test GtkImageMenuItem
1762
1763         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
1764         
1765         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
1766         request and allocation
1767
1768         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
1769
1770         * gtk/gtkcheckmenuitem.c
1771         (gtk_check_menu_item_toggle_size_request): ditto
1772         
1773 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
1774
1775         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
1776         reference.
1777
1778         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
1779         and refuse to initialize GTK+ if they fail.
1780
1781 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
1782
1783         * configure.in: Add check for gtk-doc version.
1784
1785 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
1786
1787         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
1788         where the xpad/ypad was only being used on one side!
1789
1790 2001-02-11  Tor Lillqvist  <tml@iki.fi>
1791
1792         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
1793         function, copied from X11 version.
1794
1795         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
1796         DestroyCursor failures. The reason for the problem (despite the
1797         inconsistent messages from GetLastError()) was that
1798         DestroyCursor() cannot be called while a cursor is set in a
1799         window. Set the new cursor first and then destroy the old one.
1800         Thanks to jpe@archaeopteryx.com.
1801
1802         * gdk/win32/gdkcc-win32.c: Remove.
1803
1804         * gdk/win32/Makefile.am: Remove from here, too.
1805         
1806         * gdk/gdk.def
1807         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
1808
1809         * gtk/gtk.def
1810         * gtk/makefile.mingw.in: Updates.
1811
1812 2001-02-08  Havoc Pennington  <hp@redhat.com>
1813
1814         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
1815         add a widget to a bin that already has a child.
1816
1817         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
1818
1819         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
1820         
1821         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
1822
1823         * gdk/gdk.h: remove gdkcc.h
1824
1825         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
1826
1827         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
1828         GdkPixbuf, since the previous implementation was GdkColorContext
1829         dependent.
1830
1831         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
1832         
1833 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
1834
1835         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
1836         a sane value!
1837
1838 2001-02-08  Havoc Pennington  <hp@redhat.com>
1839
1840         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
1841         lighten them.
1842
1843 2001-02-08  Havoc Pennington  <hp@redhat.com>
1844
1845         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
1846         validation idle
1847
1848         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
1849         cell renderer
1850
1851         * demos/pixbuf-demo.c (timeout): remove deprecated
1852         gtk_widget_draw
1853
1854         * demos/testpixbuf-save.c (main): remove deprecated
1855         gtk_drawing_area_size
1856
1857         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
1858         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
1859         at the start of the allocation.
1860         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
1861         unsetup or NULL model.
1862
1863         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
1864         even/odd/sorted cells in the tree view.
1865
1866         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1867         bugfixes
1868
1869         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
1870         backgrounds with draw_flat_box using different detail for even/odd
1871         rows.
1872
1873         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
1874         row, so we can draw the alternating colors thing
1875
1876         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
1877         property from a synonym property, notify for the synonym.
1878         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
1879         (gtk_text_tag_get_property): Always return the font, even if
1880         all its fields aren't set
1881
1882         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
1883         store the attr list; it leaves us with no way to change attributes
1884         in _render according to the render flags, and no way to implement
1885         get_property. Instead store all the specific text attributes. 
1886         Separate whether an attribute is enabled from its value. Sync all
1887         properties with GtkTextTag, make them all consistent, etc.
1888
1889         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
1890         renderers can highlight the sort row/column     
1891
1892         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
1893         accessor functions to get values; this has the side effect of
1894         showing up which accessor functions were missing. Added those.
1895
1896         * gtk/gtktreeviewcolumn.h: Replace set_justification with
1897         set_alignment, to be consistent with GtkLabel, GtkMisc
1898
1899         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
1900         arrow.
1901
1902         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
1903
1904         * gtk/gtktreesortable.h: updates in here
1905
1906 2001-02-07  Sven Neumann  <sven@convergence.de>
1907
1908         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
1909         pango dimensions after painting the background. We used to draw
1910         gigantic flat boxes here.
1911
1912 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
1913
1914         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
1915         error introduced with earlier commit) (pointed out by
1916         Ollie Lho)
1917
1918 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
1919
1920         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
1921         which are no longer necessary.
1922
1923 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
1924
1925         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
1926
1927 2001-02-04  Tor Lillqvist  <tml@iki.fi>
1928
1929         * gdk/gdk.def
1930         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
1931         Provide dummy implementations.
1932
1933 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
1934
1935         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
1936
1937         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
1938         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
1939         deprecated this function.
1940
1941         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
1942         argument.
1943
1944 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
1945
1946         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
1947
1948 2001-02-03  Havoc Pennington  <hp@pobox.com>
1949
1950         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
1951         Mikael Hermansson with patch from Mikael (if there was a toggle
1952         start one after the first character in the range, this function
1953         was broken). Bug #50380
1954
1955 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
1956
1957         * configure.in: Remove confusing comment about X11.
1958
1959 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
1960
1961         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
1962         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
1963         
1964 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
1965
1966         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
1967         it breaks things on BSD. If you want to compile GTK+ with
1968         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
1969         when configuring, since GTK+ simply can't be "pure ANSI" 
1970         in the header files it uses. (#8170, Greg Hudson)
1971
1972 2001-02-02  Havoc Pennington  <hp@redhat.com>
1973
1974         * gtk/gtkwindow.c: docs
1975
1976         * gtk/gtkwidget.c: docs
1977         (gtk_widget_set_colormap): add a reference to the colormap
1978         (gtk_widget_get_default_colormap): add a reference to the colormap
1979
1980         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
1981
1982         * gtk/gtktextiter.c: docs
1983
1984         * gtk/gtkmain.c (gtk_propagate_event): docs
1985
1986         * gtk/gtkpaned.c (gtk_paned_get_position): docs
1987         (gtk_paned_set_position): docs
1988
1989         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
1990         sort interface, no implementation yet.
1991
1992         * demos/testpixbuf.c (new_testrgb_window): replace
1993         gtk_drawing_area_size() with gtk_widget_set_usize()
1994
1995         * demos/testpixbuf-drawable.c (main): ditto
1996         
1997         * gtk/testgtk.c: remove use of GtkStatusbarMsg
1998
1999         * gtk/gtktextbuffer.c: docs
2000
2001         * gtk/gtkstock.c: docs
2002
2003         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
2004
2005         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
2006
2007         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
2008         
2009         * gtk/gtkimage.c: add some docs in here
2010         (gtk_image_size_request): change name of
2011         gtk_widget_render_stock_icon
2012         (gtk_image_get_icon_set): don't dup returned string
2013         (gtk_image_get_icon_set): don't dup returned string
2014
2015         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
2016         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
2017         and gtkiconfactory.h functions
2018
2019         * gtk/gtkiconfactory.c: add some docs in here
2020
2021         * gtk/gtkmain.c (gtk_get_default_language): document
2022         (gtk_get_current_event): document
2023         (gtk_get_current_event_state): document
2024         (gtk_get_event_widget): document
2025
2026         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
2027
2028         * gtk/gtkcontainer.c: Add some documentation
2029         (gtk_container_add): give a more explanatory warning on adding an
2030         already-parented widget, this is kind of a FAQ and also a common
2031         typo that's easier to debug with a nice warning 
2032
2033         * gtk/gtkcellrenderertoggle.c
2034         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
2035         adding this, it's useless
2036         (gtk_cell_renderer_toggle_set_active): remove
2037         (gtk_cell_renderer_toggle_get_radio): add
2038
2039         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
2040         the NULL cell renderer, that doesn't make any sense to me. 
2041
2042         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
2043         demo code should never use deprecated features.
2044
2045         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
2046         code should never use deprecated features.
2047
2048         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
2049         gtk_widget_queue_clear_area deprecated
2050
2051         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
2052         deprecated
2053
2054         * gtk/gtklabel.h: mark gtk_label_get() deprecated
2055
2056         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
2057         a GdkImage deprecated, replaced by new consistently-named
2058         functions       
2059
2060         * gtk/gtkmain.h: Mark gtk_exit() deprecated
2061
2062         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
2063
2064         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
2065         deprecated
2066
2067         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
2068         so it won't appear in docs and confuse people.
2069
2070         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
2071
2072         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
2073         macros deprecated. (can't mark the type itself deprecated, since
2074         GtkProgressBar is not deprecated and we need the type decl to use
2075         GtkProgressBar)
2076
2077         * gtk/gtkpixmap.h: Mark deprecated
2078
2079         * gtk/gtkoldeditable.h: Mark deprecated
2080
2081         * gtk/gtklist.h: Mark deprecated
2082
2083         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
2084         for anything anymore.
2085
2086         * gtk/gtkctree.h: Mark deprecated
2087
2088         * gtk/gtkclist.h: Mark deprecated
2089
2090         * gtk/gtkpreview.h: Mark deprecated
2091
2092         * gtk/gtkpacker.h: Mark deprecated
2093
2094         * gtk/gtktipsquery.h: Mark deprecated
2095
2096         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
2097
2098         * gtk/gtkvruler.h: Add comment that it will move out of GTK
2099
2100         * gtk/gtkhruler.h: Add comment that it will move out of GTK
2101
2102         * gtk/gtkruler.h: Add comment that it will move out of GTK
2103
2104         * gtk/gtkgamma.h: Add comment that it will move out of GTK
2105
2106         * gtk/gtkcurve.h: Add comment that it will move out of GTK
2107
2108 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
2109
2110         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
2111         gdk_colormap_sync private since it was never exported
2112         in a header file.
2113
2114         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
2115         colormap->colors[] for StaticGray, StaticColor colormaps.
2116
2117         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
2118         was being used as if it was image->bits_per_pixel.
2119
2120         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
2121         for the image in the GdkImage structure since it isn't
2122         reconstructable, and we need it to handle packed types
2123
2124         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
2125         the assumption that on Win32 image->bits_per_pixel == image->depth,
2126         always.
2127
2128         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
2129
2130         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
2131         warning message if no converter can be found. 
2132
2133 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
2134
2135         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
2136         chars to isupper() / tolower(). (#567)
2137
2138         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
2139         to clear up 64-bit warnings. (#567)
2140
2141 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
2142
2143         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
2144         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
2145
2146         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
2147         since some people set $(libdir) separately. (#1290, David Kaelbling)
2148
2149 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
2150
2151         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
2152         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
2153         MAXPATHLEN, but the code here depends on a fixed value.)
2154         (#4524)
2155
2156 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
2157
2158         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
2159         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
2160
2161 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
2162
2163         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
2164         viewable there is no way that moving the node will cause the 
2165         focus row to become not viewable, so omit check on the visibility
2166         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
2167
2168 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
2169
2170         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
2171         selection before inserting new text.
2172
2173 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
2174
2175         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
2176         Make the sensitivity of the reparented child track that of
2177         the original parent menu item. (#34218, David Hodson)
2178
2179         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
2180         the case where the current item is destroyed properly.
2181
2182         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
2183         some edge cases with child-less menuitems.
2184         
2185 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
2186
2187         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
2188         key pop down window. (#12074, Jon K Hellan)
2189
2190 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
2191
2192         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
2193         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
2194         The solution here isn't perfect - you get an extraneous
2195         emission of "toggle", which could conceivably confuse an app,
2196         but better than the current situation. LXR search seems to
2197         indicate that no apps in GNOME CVS connect to "toggle".
2198
2199 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
2200
2201         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
2202         gtk_public_h_sources to directly here to avoid warning when
2203         building srcdir != builddir. (#9656)
2204
2205 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
2206
2207         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
2208         handlers in gtkrange.c return the proper values (TRUE == handled)
2209         (#10316).
2210
2211         This is just the tip of the iceberg, but gtkrange.c is the
2212         most common place where the propagation is problematical,
2213         and also a place where it is almost certainly safe to change
2214         this in the stable branch.
2215
2216         (You don't want right click popups on a range control or anything...)
2217
2218 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
2219
2220         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
2221         area on focus out, even if a background pixmap isn't set.
2222         (#13941)
2223         
2224 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
2225
2226         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
2227         to deal with setting the shape properly when scrolling arrows are
2228         turned on, but not visible because there is sufficient space.
2229         (#13432)
2230
2231 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
2232
2233         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
2234         items with submenus, destroy the item along with the submenu.
2235         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
2236         properly.
2237
2238         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
2239         later.
2240
2241 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
2242
2243         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
2244         the focus widget sometimes wasn't drawn with the default if there
2245         was no default widget.
2246
2247         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
2248         unreference pixmaps. 
2249
2250         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
2251         for some extra safety.
2252
2253 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
2254
2255         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
2256         the text of a cell to the old pointer value better, by
2257         copying the new text before freeing the old text. Some code
2258         cleanup. (#8079, Karl Nelson)
2259
2260 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
2261
2262         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
2263         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
2264
2265 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
2266
2267         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
2268         item from a menu, check to see if it matches 
2269         menu->old_active_menu_item, and if so, unref and clear
2270         old_active_menu_item (Patch from Pavel Cisler)
2271
2272         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
2273         menu_shell->active_menu_item, if it is the child being
2274         removed. (Patch based on that of Gene Ragan, #50337)
2275
2276 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
2277
2278         * gdk/linux-fb/gdkselection-fb.c: 
2279         * gdk/linux-fb/gdkcolor-fb.c: 
2280         * gdk/linux-fb/gdkdrawable-fb2.c: 
2281         * gdk/linux-fb/gdkfont-fb.c: 
2282         * gdk/linux-fb/gdkim-fb.c: 
2283         * gdk/linux-fb/gdkinput.c: 
2284         * gdk/linux-fb/gdkkeyboard-fb.c: 
2285         * gdk/linux-fb/gdkmain-fb.c: 
2286         * gdk/linux-fb/gdkrender-fb.c: 
2287         A bunch of whitespace cleanup.
2288         
2289 2001-01-30  Havoc Pennington  <hp@pobox.com>
2290
2291         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
2292         #ifdef GTK_ENABLE_BROKEN.
2293
2294         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
2295         GTK_ENABLE_BROKEN just before including the broken headers.
2296         
2297         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
2298         deprecated types registered.
2299
2300         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
2301         we have to test the broken stuff.
2302
2303         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
2304         
2305 2001-01-30  Havoc Pennington  <hp@redhat.com>
2306
2307         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
2308         here where prev pointer was set to the wrong thing
2309
2310         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
2311         (gtk_tree_path_is_descendant): new function
2312
2313         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
2314         cached length
2315         (gtk_list_store_get_iter): don't modify iter if we can't get the
2316         path.
2317
2318         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
2319         
2320         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
2321         GtkTreeDragDest
2322
2323         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
2324         was causing segfault
2325
2326         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
2327         pointer to NULL
2328
2329         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
2330
2331         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
2332         on returning FALSE
2333         (gtk_list_store_iter_children): ditto
2334         (gtk_list_store_iter_nth_child): ditto
2335         (gtk_list_store_iter_nth_child): ditto
2336         (gtk_list_store_iter_parent): ditto
2337
2338         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
2339         on iter->user_data != NULL instead of silently accepting it.
2340         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
2341         we are returning TRUE.
2342         (gtk_tree_store_iter_children): ditto
2343         (gtk_tree_store_iter_nth_child): ditto
2344         (gtk_tree_store_iter_parent): ditto
2345         (gtk_tree_store_insert): remove handling of parent->user_data ==
2346         NULL, replace with parent == NULL       
2347
2348         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
2349         and a comment explaining things
2350
2351         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
2352         interface support to GtkTreeStore.
2353
2354         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
2355         FALSE if no prev, fix
2356
2357         * gtk/gtktreeview.c (set_source_row): use a row reference
2358         (set_dest_row): use a row reference
2359
2360 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
2361
2362         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
2363         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
2364         (gtk_tree_selection_select_iter): The same as above.
2365
2366 2001-01-26  Havoc Pennington  <hp@redhat.com>
2367
2368         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
2369         which holds a handle to a specific row (particular set of values
2370         in the model, i.e. pointer-identity row).
2371
2372         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
2373         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
2374         Still need to use it for the src/dest row saved on the drag context.
2375
2376 2001-01-26  Havoc Pennington  <hp@redhat.com>
2377
2378         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
2379
2380         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
2381         not offset by TREE_VIEW_HEADER_HEIGHT
2382         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
2383         TREE_VIEW_HEADER_HEIGHT
2384
2385         * configure.in (included_loaders): for me, --with-included-loaders
2386         generates the error "the specified loader yes does not exist",
2387         i.e. the arg defaults to "yes", so change test for value ""
2388         to test for value "yes", and include all loaders in that case.
2389
2390         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
2391
2392         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
2393         handle TREE_VIEW_VERTICAL_SEPARATOR
2394         (gtk_tree_view_bin_expose): fix to consider the row offset as
2395         pointing halfway into vertical separator.       
2396         (gtk_tree_view_draw_node_focus_rect): ditto
2397
2398         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
2399         --gtk-debug=updates, which causes gdk_window_set_debug_updates
2400         (TRUE) to be called.
2401
2402         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
2403         debug mode where the invalid region is colored in on invalidate,
2404         so you can see the flicker and know whether your redraw code is 
2405         doing a good job.
2406
2407         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
2408         tree window coordinates (clip rect is in tree window coords)
2409
2410         * gtk/Makefile.am: add gtktreednd.[hc]
2411
2412         * gtk/gtkliststore.c: implement gtktreednd interfaces.
2413
2414         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
2415         drag-and-drop data operations on a model (so we can set up tree
2416         drag-and-drop automatically)
2417
2418         * gtk/testgtk.c: Add a window to change sensitivity in the
2419         GtkLabel test; add a way to change the entry frame in GtkEntry
2420         test
2421
2422         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
2423         (gtk_entry_get_has_frame): new functions to remove the frame
2424         around an entry
2425         (gtk_entry_size_request): shrink requisition if no frame
2426         (gtk_entry_draw_focus): don't draw frame if no frame
2427
2428         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
2429         checks inside a cell renderer
2430         (gtk_default_draw_option): ditto for options
2431
2432         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
2433         children from the alignment, not the button
2434         (gtk_tree_view_column_init): ref/sink the column, to emulate
2435         GObject refcounting.
2436
2437         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
2438         
2439         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2440         Use theme functions to draw the toggles 
2441
2442         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
2443
2444         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
2445         GdkPangoAttrEmbossed to use in rendering insensitive text
2446
2447         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
2448
2449         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
2450         using new GDK features
2451         
2452 2001-01-24  Alexander Larsson  <alexl@redhat.com>
2453
2454         * gtk/gtkimage.c:
2455         Splitted gtk_image_clear into gtk_image_clear() and
2456         gtk_image_reset(). Call gtk_image_clear() in ::destroy
2457         to avoid leaks.
2458
2459         * gtk/gtklabel.c (set_markup):
2460         Don't leak text.
2461
2462         * gtk/gtktextlayout.c:
2463         Always free display->shaped_objects.
2464
2465         * gtk/testgtk.c (create_clist):
2466         Don't leak custom style.
2467
2468 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2469
2470         * gtk/gtkcolorsel.c (grab_color_at_mouse):
2471         Don't leak image. Simplify using gdk_colormap_query_color().
2472         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
2473
2474         * linux-fb/gdkcolor-fb.c:
2475         Implemented gdk_colormap_query_color.
2476
2477 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2478
2479         * linux-fb/gdkcursor-fb.c:
2480         Don't leak built-in cursors.
2481
2482         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
2483         Don't leak tmp_points.
2484
2485         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
2486         Don't modify desc. Don't leak font if the PangoFont
2487         isn't found.
2488         
2489         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
2490         Free dash_list.
2491
2492         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
2493         Don't leak string.
2494         
2495 2001-01-20  Havoc Pennington  <hp@pobox.com>
2496
2497         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
2498         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
2499         me, matches Pango
2500
2501 2001-01-22  Havoc Pennington  <hp@redhat.com>
2502
2503         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
2504
2505         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
2506
2507         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
2508         Remove, move back to gdk-pixbuf
2509
2510         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
2511         to all the word functions
2512
2513         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
2514         before doing anything on NULL layout or if we don't have the focus
2515
2516         * gtk/testtext.c (fill_example_buffer): "justification"
2517
2518         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
2519         to be called "justification" not "justify"
2520
2521         * demos/gtk-demo/textview.c (create_tags): "justification"
2522         
2523         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
2524
2525 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2526
2527         * gdk/gdkwindow.c (gdk_window_invalidate_region):
2528         Don't leak visible_region. Use visible_region instead of region.
2529         
2530         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2531         Don't do extra gdk_drawable_ref(). This is not X.
2532         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
2533         gdk_fb_focused_window is ref:ed.
2534         (gdk_fb_window_send_crossing_events): Watch out for destroyed
2535         windows.
2536
2537 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2538
2539         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
2540         Don't leak the PangoFontDescriptor.
2541
2542 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
2543
2544         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
2545         when not realized.
2546         (gtk_tree_view_scroll_to_cell): Make work when not realized.
2547         (gtk_tree_view_realize): add scroll_to support
2548         (gtk_tree_view_finalize): add a finalize method.  Populate.
2549         (gtk_tree_view_insert_column): ref and sink the column.
2550         (gtk_tree_view_append_column): ref and sink the column.
2551         (gtk_tree_view_queue_draw_node): New function to handle redrawing
2552         individual nodes.  Should make the code much more efficient, if
2553         actually used.
2554
2555 2001-01-19  Havoc Pennington  <hp@redhat.com>
2556
2557         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
2558         byte_offset variable was being used to mean both "offset into
2559         layout" and "offset into buffer line" which was no longer true
2560         with addition of preedit string; fix
2561
2562 2001-01-19  Havoc Pennington  <hp@redhat.com>
2563
2564         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
2565
2566         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
2567         function
2568
2569         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
2570         implement
2571
2572         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
2573         scroll_to_cell, matches TextView scroll functions better
2574         (gtk_tree_view_tree_to_widget_coords): new function
2575         (gtk_tree_view_widget_to_tree_coords): new function
2576         (gtk_tree_view_get_visible_rect): new function
2577         (gtk_tree_view_get_path_at_pos): accept negative coordinates
2578         (gtk_tree_view_draw_node_focus_rect): new function moved from
2579         draw_focus, also, use width of bin_window as width of the focus
2580         rect
2581         (gtk_tree_view_expand_row): fix bug where it didn't recognize
2582         already-expanded rows
2583         (gtk_tree_view_get_cell_rect): new function
2584         (gtk_tree_view_get_path_at_pos): return the click position
2585         relative to the passed-in cell
2586         (gtk_tree_view_set_expander_column): new function
2587
2588         * configure.in: remove gtk-config-2.0 chmod
2589
2590         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
2591         and properly handle drags with targets we don't understand
2592         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
2593         scrolling anyway
2594         (gtk_text_view_drag_drop): stop scrolling here though, and set the
2595         mark invisible
2596
2597         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
2598         function
2599         (gtk_drag_dest_get_target_list): new function
2600         (gtk_drag_dest_set_target_list): new function
2601         
2602         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
2603
2604         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
2605         related to drag-and-drop
2606
2607 2001-01-19  Alexander Larsson  <alexl@redhat.com>
2608
2609         * gdk/linux-fb/gdkprivate-fb.h:
2610         Define EMULATE_GDKFONT.
2611         Add extra pango_font stuff to GfkFontPrivate.
2612         
2613         * gdk/linux-fb/gdkdrawable-fb2.c:
2614         * gdk/linux-fb/gdkfont-fb.c:
2615         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
2616         emulation using PangoFont.
2617
2618 2001-01-17  Havoc Pennington  <hp@pobox.com>
2619
2620         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
2621         all the non-deprecated set_foo functions. Added missing object
2622         properties, and added g_object_notify() to setters. 
2623         Wrote docs.
2624         
2625 2001-01-18  Tor Lillqvist  <tml@iki.fi>
2626
2627         * gtk/gtkmain.c
2628         * gtk/gtkrc.c: (Win32) Use the new
2629         g_win32_get_package_installation_(sub)directory() functions.
2630
2631         * config.h.win32.in: New file.
2632         
2633         * config.h.win32: Removed.
2634
2635         * configure.in: Output config.h.win32.
2636
2637         * Makefile.am: Add it to EXTRA_DIST.
2638
2639         * gtk/gtk.def: Update.
2640
2641 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
2642
2643         * gtk/gtklabel.c (gtk_label_size_request): Set the
2644         attributes onto the PangoLayout even if they are newly
2645         created from label->pattern.
2646
2647 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
2648
2649         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
2650
2651         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
2652         structures in functions. Fixes bug where gtk_dataset_*
2653         was accidentally still being used in one place, causing
2654         every dest side event to be treated independently.
2655
2656         * gtk/gtkdnd.c: Remove last vestages of handling
2657         ::draw (fixes warning)
2658         
2659         * gtk/gtkentry.[ch]: Add drag and drop support.
2660
2661         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
2662         new function gtk_check_drag_threshhold() for checking
2663         to check if (dx,dy) has exceeded the threshhold for starting
2664         a drag and use it everywhere.
2665
2666 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
2667
2668         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
2669         add -I{includedir}/gtk-2.0.
2670
2671         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
2672         gdk/gdk-pixbuf.h: Doc fixups.
2673         
2674         * gtk/gtkobject.h: Remove trailing , from enum
2675
2676 2001-01-17 Alexander Larsson <alexl@redhat.com> 
2677
2678         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
2679         Doh! Mixed up x and y.
2680
2681         * gdk/linux-fb/gdkglobals-fb.c:
2682         Removed gdk_fb_pointer_grab_window_events,
2683         added _gdk_fb_pointer_grab_owner_events and
2684         _gdk_fb_keyboard_grab_owner_events.
2685
2686         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
2687         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
2688         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
2689         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
2690         Send crossing events after ungrab finished.
2691         (gdk_keyboard_grab): Set ..._owner_events
2692         (type_masks): Move out of function.
2693         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
2694         gdk_fb_keyboard_event_window): New functions, return the
2695         window an event should be targeted at. Handles grabs and
2696         event propagation. Can return NULL.
2697         (gdk_event_make): Remove event_mask checking. Now always
2698         returns an event.
2699                 
2700         * gdk/linux-fb/gdkkeyboard-fb.c:
2701         * gdk/linux-fb/gdkproperty-fb.c:
2702         * gdk/linux-fb/gdkselection-fb.c:
2703         Use new event_window/gdk_event_make() behaviour.
2704         
2705         * gdk/linux-fb/gdkmouse-fb.c:
2706         Use new event_window/gdk_event_make() behaviour.
2707         Only send motion events if in the same window.
2708         If grabbed, use cursor from window if sibling of grabbed
2709         window, and cursor from grabbed window otherwise.
2710
2711         * gdk/linux-fb/gdkprivate-fb.h:
2712         Update gdk_fb_window_send_crossing_events, gdk_event_make
2713         and grab varaible declarations. Add gdk_fb_*_event_window().
2714
2715         * gdk/linux-fb/gdkwindow-fb.c:
2716         Use new event_window/gdk_event_make() behaviour.
2717         Keep correct track of focus window.
2718         (gdk_window_set_events): Set all specific button motion masks
2719         if GDK_BUTTON_MOTION_MASK set.
2720
2721         * gtk/gtkdnd.c (gtk_drag_update):
2722         Free info->last_event if gdk_drag_motion returned FALSE.
2723
2724 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2725
2726         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
2727         Eliminate redraws when input-only windows are shown or
2728         hidden. Thanks to jpe@archaeopteryx.com.
2729
2730 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
2731
2732         * docs/faq/gtk-faq.sgml: FAQ update:
2733           - Update to bugzilla
2734           - Add GTK+ and security/SUID/SGID
2735           - Add DnD question
2736
2737 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
2738
2739         * gdk/linux-fb/gdkdnd-fb.c:
2740         Some cleanups.
2741         
2742 2001-01-15  Havoc Pennington  <hp@pobox.com>
2743
2744         * tests/testtreeview.c: add test stuff for CellRendererToggle
2745
2746         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
2747         accessor
2748
2749         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
2750         only toggle on button press (would do release like GtkButton, but
2751         we'd need implicit grab code for treeview cells)
2752
2753 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2754
2755         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
2756
2757         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
2758         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
2759
2760         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
2761         to g_{locale,filename}_{to,from}_utf8 to match current API.
2762
2763         * gtk/makefile.msc.in (gtk_OBJECTS)
2764         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
2765
2766         * gtk/gtk.def: Update.
2767
2768 2001-01-15  Tor Lillqvist  <tml@iki.fi>
2769
2770         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
2771         implementaion that more closely mimics the events that an X server
2772         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
2773         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
2774         with nested preview widgets, for instance, more responsive when
2775         you move the mouse quickly into them.
2776         (find_window_for_pointer_event): Make it actually compile.
2777         (gdk_event_translate): Set send_event to the value of
2778         InSendMessage (). This doesn't really mean the same as X11's
2779         send_event flag, but is close enough, says jpe@archaeopteryx.com
2780
2781 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2782
2783         * gdk/linux-fb/gdkdnd-fb.c:
2784         Implemented drag and drop.
2785         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
2786         when it tries to free and then copy the same event (info->last_event).
2787         I am not sure about why this happens, but will continue looking.
2788
2789 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2790
2791         * gdk/linux-fb/gdkwindow-fb.c:
2792         Use gdk_window_invalidate_rect instead of
2793         gdk_window_invalidate_rect_clear to minimise flashing.
2794         When hiding windows you need to clear the root window though.
2795
2796 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2797
2798         * gdk/linux-fb/gdkdrawable-fb2.c:
2799         For optization, add an full_shapes argument to gdk_fb_clip_region.
2800         If this is false, only the cliprects of the shapes are used.
2801
2802         * gdk/linux-fb/gdkprivate-fb.h:
2803         Export gdk_fb_window_peek_shape.
2804         Add full_shapes to gdk_fb_clip_region.
2805
2806         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2807         When moving a window, don't clear everything under the it, just the
2808         root window. Makes stuff faster and flash less.
2809         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
2810         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
2811         offset of the shape.
2812         
2813
2814 2001-01-12  Havoc Pennington  <hp@redhat.com>
2815
2816         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
2817         current invalid region, fixes redraw bug while scrolling the 
2818         text widget
2819
2820         * gtk/gtktextview.c, gtk/gtktextview.h:
2821         Rearrange the scrolling/validation/etc. code in a major way, 
2822         so it seems to make sense to me. Probably isn't genuinely that
2823         much better, but...
2824
2825         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
2826         notifies
2827
2828         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
2829
2830 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
2831
2832         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
2833         Hide mouse pointer while rotation. Show it afterwards.
2834
2835 2001-01-12  Alexander Larsson  <alexl@redhat.com>
2836
2837         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
2838         windows in consideration when generating clip region.
2839
2840         * gdk/linux-fb/gdkfb.h:
2841         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
2842
2843         * gdk/linux-fb/gdkprivate-fb.h:
2844         Add shape to GdkWindowFBDatat.
2845         exported gdk_fb_window_get_abs_shape().
2846         removed gdk_fb_draw_lines declaration.
2847
2848         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
2849         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
2850         send focus changes when there is a grabbed window.
2851         (gdk_window_get_pointer): Handle shaped windows.
2852         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
2853         (gdk_fb_window_peek_shape): Returns the shape for a window,
2854         handles GDK_FB_USE_CHILD_SHAPE.
2855         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
2856         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
2857         (gdk_window_shape_combine_mask): Implement.
2858
2859         * gtk/gtkwindow-decorate.c:
2860         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
2861         setting the shape of a window makes the window transparent.
2862
2863 2001-01-11  Havoc Pennington  <hp@redhat.com>
2864
2865         * gtk/gtktreemodelsimple.h: Oops, broke some macros
2866
2867 2001-01-10  Havoc Pennington  <hp@redhat.com>
2868
2869         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
2870         add this function, bug 40251
2871
2872         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
2873         of type macro   
2874
2875 2001-01-11  Alexander Larsson  <alexl@redhat.com>
2876
2877         * acconfig.h:
2878         Added ENABLE_SHADOW_FB
2879
2880         * configure.in:
2881         Added --disable-shadowfb
2882
2883         * gdk/linux-fb/gdkcursor-fb.c:
2884         Update shadowfb when updating cursor
2885
2886         * gdk/linux-fb/gdkdrawable-fb2.c:
2887         Added wrappers for shadowfb that calls  the normal drawable
2888         methods, but calls gdk_shadow_fb_update(bounding box) when
2889         GdkWindows are drawed to.
2890         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
2891         which also returns the bounding box.
2892
2893         * gdk/linux-fb/gdkfb.h:
2894         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
2895
2896         * gdk/linux-fb/gdkgeometry-fb.c:
2897         Update shadowfb when scrolling window.
2898
2899         * gdk/linux-fb/gdkglobals-fb.c:
2900         Add _gdk_fb_screen_angle.
2901         
2902         * gdk/linux-fb/gdkkeyboard-fb.c:
2903         Test code for screen rotation. Shift-F2 in the xlate driver
2904         rotates the screen.
2905
2906         * gdk/linux-fb/gdkmain-fb.c:
2907         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
2908
2909         * gdk/linux-fb/gdkmouse-fb.c:
2910         Use fb_width/height instead of modeinfo.xres/yres.
2911
2912         * gdk/linux-fb/gdkprivate-fb.h:
2913         Added fb_men, fb_width, fb_height & fb_stride. When using
2914         shadow fb these can differ from the framebuffer stuff.
2915         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
2916         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
2917         _gdk_fb_screen_angle. Removed CM, RP.
2918
2919         * gdk/linux-fb/gdkrender-fb.c:
2920         Added code for shadowfb handling and screen rotation using
2921         shadowfb.
2922
2923         * gdk/linux-fb/gdkwindow-fb.c:
2924         Use fb_mem, fb_stride, fb_width, fb_height.
2925         Added recompute_rowstride to reset the rowstride of all windows.
2926         Added gdk_fb_recompute_all() which recomputes rootwindow size,
2927         window abs positions and window rowstrides. Usefull when the
2928         rotation has changed.
2929
2930 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
2931
2932         * docs/faq/gtk-faq.sgml: update to make web site updating easier
2933
2934 2001-01-10  Havoc Pennington  <hp@redhat.com>
2935
2936         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
2937         where sibling == iter
2938         (gtk_tree_store_insert_after): handle sibling == iter
2939         (gtk_tree_store_prepend): remove stamp checks
2940         (gtk_tree_store_insert_before): ditto
2941         (gtk_tree_store_append): ditto
2942         (gtk_tree_store_get_path): ditto
2943         (gtk_tree_store_get_value): ditto
2944         (gtk_tree_store_iter_has_child): ditto
2945         (gtk_tree_store_iter_n_children): ditto
2946         (gtk_tree_store_iter_nth_child): ditto
2947         (gtk_tree_store_insert_after): ditto
2948         (gtk_tree_store_is_ancestor): ditto
2949         (gtk_tree_store_iter_depth): ditto
2950         (gtk_tree_store_insert_before): assert that sibling's parent is
2951         the same as the passed-in parent
2952         (gtk_tree_store_insert_after): assert that sibling's parent is
2953         the same as the passed-in parent
2954
2955         
2956         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
2957         function to get the first iterator in a model
2958         
2959         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
2960         conventionally the "root" in this sense is just NULL afaict.
2961
2962         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
2963         where sibling == iter
2964         (gtk_list_store_insert_after): handle case where sibling == iter
2965
2966         * tests/testtreeview.c (run_automated_tests): fairly lame basic
2967         automated tests for ListStore, TreeStore
2968
2969         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
2970         (gtk_list_store_insert): update tail pointer, and fix it to work
2971         (gtk_list_store_insert_before): update tail pointer, and fix it to work
2972         (gtk_list_store_append): use tail to be faster
2973         (gtk_list_store_prepend): fix it, update tail pointer
2974         (gtk_list_store_insert_after): fix it, update tail pointer
2975
2976         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
2977         the list
2978
2979 2001-01-09  Havoc Pennington  <hp@redhat.com>
2980
2981         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
2982         is NULL due to a pending resize
2983
2984         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
2985         column width to values less than 1
2986
2987         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
2988         width to be between min/max width, and still set the width 
2989         even if autosize is turned on, so the tree view can use this 
2990         function in order to autosize.
2991         (gtk_tree_view_column_init): set initial width to 1 not 0
2992
2993         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
2994         setter function to modify column width, so we get notification
2995         (gtk_tree_view_insert_iter_height): ditto
2996         (gtk_tree_view_calc_size): ditto
2997         (gtk_tree_view_check_dirty): ditto
2998
2999         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
3000         properties to change all the interesting attributes of the tree
3001         view column.
3002         (gtk_tree_view_column_set_header_clickable): rename set_clickable
3003         (gtk_tree_view_column_get_clickable): add
3004         (gtk_tree_view_column_set_cell_renderer): don't unset the current
3005         attributes; assume a cell renderer with equivalent object
3006         properties has been swapped in. Do g_object_notify().
3007         (gtk_tree_view_column_set_visible): g_object_notify
3008         (gtk_tree_view_column_get_sizing): rename from get_col_type
3009         (gtk_tree_view_column_set_sizing): g_object_notify
3010         (gtk_tree_view_column_set_width): add g_object_notify
3011         (gtk_tree_view_column_set_min_width): ditto
3012         (gtk_tree_view_column_set_max_width): ditto
3013         (gtk_tree_view_column_set_title): ditto
3014         (gtk_tree_view_column_set_clickable): ditto
3015         (gtk_tree_view_column_set_widget): ditto
3016         (gtk_tree_view_column_set_justification): ditto
3017
3018 2001-01-09  Havoc Pennington  <hp@redhat.com>
3019
3020         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
3021         there are no rows in the model
3022
3023         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
3024         NULL, then return the start of the list
3025
3026         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
3027         if we can't get any rows from an empty model 
3028
3029         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
3030         extraneous * after function pointer typedef usage
3031
3032         * Makefile.am: don't specify full path to cp and rm
3033
3034         * gtk/gtkcellrenderertextpixbuf.c
3035         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
3036         NULL before dereferencing, fixes a segfault that happened from
3037         time to time
3038
3039         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
3040         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
3041         and reindent the function
3042         (gtk_cell_renderer_pixbuf_get_size): indentation
3043
3044         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
3045         we quit it
3046         (gtk_dialog_add_buttons_valist): add g_return_if_fail
3047         (gtk_dialog_set_default_response): New function, to set default
3048         button
3049         (gtk_dialog_set_response_sensitive): New function, to set 
3050         sensitivity of buttons
3051
3052         * gtk/gtkcellrendererpixbuf.c
3053         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
3054         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
3055
3056         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
3057         handle any G_TYPE_OBJECT subclass, not just the base class, and 
3058         also boxed types.
3059         (_gtk_tree_data_list_value_to_node): ditto
3060
3061         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
3062         --gtk-debug=tree
3063
3064         * gtk/gtkmain.c: add GTK_DEBUG_TREE
3065
3066         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
3067
3068 2001-01-09  Tor Lillqvist  <tml@iki.fi>
3069
3070         * gdk/win32/gdkevents-win32.c: Implement better mouse
3071         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
3072         (find_window_for_pointer_event): New function.
3073         (gdk_event_translate): Use it when handling mouse events.
3074
3075 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
3076
3077         * configure.in:
3078         Added --with-included-loaders option
3079
3080         * gdk-pixbuf/Makefile.am:
3081         * gdk-pixbuf/gdk-pixbuf-io.c:
3082         Add support for including selected gdk-pixbuf loaders only.
3083
3084         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
3085         gtk_window_set_has_frame):
3086         Added inline documentation.
3087
3088         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
3089         * docs/reference/gdk/tmpl/windows.sgml:
3090         Added inline documentation.
3091
3092 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
3093
3094         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
3095         realizing buttons that have already been realized.
3096
3097 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
3098
3099         * tests/testtreeview.c (main): Show menu items before adding to
3100         option menu.
3101
3102         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
3103         around if we kill them.
3104
3105         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
3106         Return if we pass in a NULL model.
3107
3108 2001-01-08  Havoc Pennington  <hp@redhat.com>
3109
3110         * tests/testtreeview.c: hack on this some
3111
3112         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
3113         gtk_tree_store_set_valist, v is for arrays, valist for varargs
3114         list
3115         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
3116
3117         * gtk/gtkliststore.h: Add varargs set() and get() convenience
3118         functions
3119
3120 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3121
3122         * gtk/gtkwindow-decorate.[hc]:
3123         * gtk/Makefile.am:
3124         New files. Contains an implementation of a minimal WM for
3125         linux-fb.
3126
3127         * gtk/gtkwindow.h:
3128         Add the possibility for GtkWindows to specify a frame. This
3129         is used for the window decoration code, but could concievably
3130         be used for X programs too (xmms style windows).
3131         GtkWindow->frame is the toplevel window if the window is framed.
3132         The signal frame_event gets all events that are targeted to
3133         GtkWindow->frame.
3134         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
3135         
3136         * gtk/gtkwindow.c:
3137         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
3138         Call out to gtkwindow-decorate.c for WM support in linx-fb.
3139
3140 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3141
3142         * docs/README.linux-fb:
3143         Correct filename ~/.pangoft2_aliases
3144
3145         * gdk/gdkwindow.h:
3146         Added new function gdk_window_get_decorations.
3147
3148         * gdk/linux-fb/gdkfb.h:
3149         Removed _gdk_window_get_decorations declaration.
3150         Renamed _gdk_window_set_child_handler to
3151         gdk_fb_window_set_child_handler.
3152
3153         * gdk/linux-fb/gdkwindow-fb.c:
3154         Renamed _gdk_window_set_child_handler to
3155         gdk_fb_window_set_child_handler.
3156
3157         * gdk/x11/gdkwindow-x11.c:
3158         New function gdk_window_get_mwm_hints().
3159         Implemented gdk_window_get_decorations.
3160
3161         * docs/reference/gdk/tmpl/windows.sgml:
3162         * docs/reference/gdk/gdk-sections.txt:
3163         Added gdk_window_get_decorations docs.
3164         
3165 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
3166
3167         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
3168         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
3169         gdk_fb_window_send_crossing_events):
3170         Possibly send focus events when the mouse moves from one
3171         window to another.
3172
3173 2001-01-07  Tor Lillqvist  <tml@iki.fi>
3174
3175         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
3176         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
3177         to match current API.
3178
3179         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
3180         environment variable is set, don't call g_error when on a
3181         palettized (PseudoColor) display. Some people want to use GTK+ 
3182         in 256-colour mode even though works only partially.
3183
3184         * gdk/gdk.def
3185         * gtk/gtk.def
3186         * gtk/makefile.mingw.in: Update.
3187
3188 2001-01-05  Havoc Pennington  <hp@redhat.com>
3189
3190         * tests/testtreeview.c: hack on this a bit
3191
3192         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
3193         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
3194
3195         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
3196         was spelled incorrectly
3197         (GTK_IS_TREE_MODEL_SIMPLE): ditto
3198
3199         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
3200         from gtk_tree_view_set_headers_active   
3201
3202         * gtk/gtktexttag.c:
3203         (gtk_text_tag_get_property): handle PROP_DIRECTION
3204         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
3205         properties, bug 40235
3206
3207         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
3208         forward_to_line_end
3209
3210 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
3211
3212         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
3213         modules/input/gtkimcontextxim.c: Adapt to new prototypes
3214         for unicode,locale,filename conversion functions.
3215
3216 2001-01-05  Havoc Pennington  <hp@redhat.com>
3217
3218         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
3219         broken if called on the first position in the buffer.
3220
3221         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
3222         forward_to_delimiters to be called only if we aren't already at
3223         the delimiters.
3224
3225 2001-01-05  Havoc Pennington  <hp@redhat.com>
3226
3227         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
3228
3229 2001-01-05  Alexander Larsson  <alexl@redhat.com>
3230
3231         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
3232         colormap in here. Sync from X port.
3233         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
3234         Sync from X port.
3235         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
3236         This happens now and then, and i don't think it is a bug.
3237         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
3238         != endpoint.
3239         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
3240         GDK_LINE_SOLID.
3241
3242         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
3243         some of the fields filled in at least.
3244
3245         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
3246         miLineArcD is no more, remove it from the function definition.
3247
3248 2001-01-04  Havoc Pennington  <hp@redhat.com>
3249
3250         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
3251         this
3252
3253         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
3254         user_data instead of tree_node
3255
3256         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
3257         TREE_VIEW_COLUMN_SIZE
3258
3259         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
3260         "size" field to "width" finishes bug 40061
3261
3262         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
3263         for bitfields, bug 40268
3264
3265 2001-01-04  Havoc Pennington  <hp@redhat.com>
3266
3267         Rename some stuff:
3268         
3269         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
3270
3271         s/GtkModelSimple/GtkTreeModelSimple/g;
3272         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
3273         s/gtk_model_simple/gtk_tree_model_simple/g;
3274         s/gtkmodelsimple/gtktreemodelsimple/g;
3275
3276         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
3277
3278         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
3279         s/column_set_col_type/column_set_sizing/g;
3280
3281         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
3282         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
3283
3284         s/GtkCellRendererType/GtkCellRendererState/g;
3285         
3286         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
3287         (gtk_cell_renderer_toggle_class_init): change "state" property to
3288         "active", to match GtkToggleButton
3289         (gtk_cell_renderer_toggle_get_active): new function, bug
3290         40269
3291         (gtk_cell_renderer_toggle_set_active): new function
3292         (gtk_cell_renderer_toggle_set_property): route changes to toggle
3293         state through gtk_cell_renderer_set_active
3294
3295 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
3296
3297         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
3298         temporarily until they work again.  Brought up to date with
3299         changes in the model.
3300         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
3301         model.
3302
3303 2001-01-04  Havoc Pennington  <hp@redhat.com>
3304
3305         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
3306         equal to the line length, then position iterator before paragraph 
3307         separators. Fixes crash reported by Mikael Hermansson when
3308         pressing left arrow from the start of a line.   
3309
3310         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
3311         about byte indexes off the end
3312         (iter_set_from_char_offset): add g_error about char offsets
3313         off the end
3314
3315 2001-01-03  Havoc Pennington  <hp@redhat.com>
3316
3317         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
3318
3319         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
3320         of private functions; remove inclusion of private headers.
3321
3322         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
3323         function, so we don't need private functions in gtktextdisplay.c
3324
3325         * gtk/gtktextiterprivate.h: underscore-ification
3326
3327         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
3328         to instead say "only useful to implement widgets"
3329
3330         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
3331         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
3332         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
3333
3334         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
3335         This function was completely broken
3336
3337         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
3338
3339         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
3340
3341         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
3342
3343         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
3344
3345         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
3346
3347         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
3348
3349         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
3350         gtk_paint_layout
3351
3352         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
3353         gtk_paint_layout
3354
3355         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
3356         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
3357         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
3358         which were not implemented.     
3359
3360         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
3361         insert_pixbuf signal. Rename delete_text to delete_range since it
3362         also deletes pixbufs and child anchors. This almost closes bug
3363         40245 (still need to deal with child anchors)
3364
3365         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
3366         insert_pixbuf, change signal names as appropriate, change types of
3367         signals taking marks/tags to have the specific type, not just
3368         G_TYPE_OBJECT
3369         
3370         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
3371         closes bug 40051
3372
3373         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
3374         unnecessary remove_contents() call
3375         (gtk_option_menu_class_init): add a "changed" signal, closes
3376         bug 40039
3377         (gtk_option_menu_update_contents): emit "changed" if the 
3378         active menu item changes
3379
3380         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
3381         cast to GtkObject, reported by Jonas Borgstrom
3382         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
3383         we can't do stuff with side effects in finalize. Instead, spew a
3384         warning if the loader isn't closed.
3385
3386         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
3387         colormap in here, non-X ports probably need to sync to this change
3388
3389         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
3390         assertion that colormap != NULL, you can set the colormap to NULL
3391         if you like.
3392         
3393         * Makefile.am: remove gtk-config-2.0
3394
3395         * configure.in: Use pkg-config to locate GLib. Remove
3396         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
3397         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
3398         Use pkg-config to locate Pango. Output correct Pango libs to
3399         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
3400
3401         * Makefile.am (pkgconfig_DATA): install only target-specific pc
3402         files
3403         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
3404         X11 pc files
3405
3406         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
3407         unref from here
3408
3409 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
3410
3411         * configure.in:
3412         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
3413
3414 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
3415
3416         * gtk/gtktextlayout.c
3417         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
3418         variable when moving back onto a single line.
3419
3420 2001-01-01  Havoc Pennington  <hp@redhat.com>
3421
3422         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3423
3424         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3425
3426         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
3427         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
3428
3429 2001-01-01  Havoc Pennington  <hp@redhat.com>
3430
3431         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
3432
3433         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
3434         GtkTextAttributes
3435
3436         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
3437         #40246
3438         (gtk_text_attributes_copy_values): rename from 
3439         gtk_text_attributes_copy
3440         (gtk_text_attributes_copy): a more standard GTK copy function, 
3441         which returns a new object
3442
3443 2001-01-01  Havoc Pennington  <hp@redhat.com>
3444
3445         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
3446         
3447         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
3448         don't fill in tree_view->priv->selection, kind of an unexpected
3449         side effect
3450
3451         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
3452         gtkintl.h
3453         
3454         * gtk/gtkcellrenderer.c: Remove definition of _ and include
3455         gtkintl.h
3456         (gtk_cell_renderer_get_property): remove calls to g_value_init
3457
3458         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
3459         gtkintl.h
3460
3461         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
3462         and include gtkintl.h
3463         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
3464         property names
3465
3466         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
3467         GtkTreeSelection
3468         (_gtk_tree_selection_new_from_with_view): rename, return
3469         GtkTreeSelection
3470         (_gtk_tree_selection_set_tree_view): rename with uscore
3471         (gtk_tree_selection_get_selected): fill in the "model" out param
3472         first, so it gets filled in even if we return at the top of the 
3473         function
3474         (gtk_tree_selection_real_select_all): add a comment and an else{}
3475         to clarify this a bit
3476         (gtk_tree_selection_real_unselect_all): add the same else{}
3477
3478         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
3479         set_tree_view to have underscore prefixes, move them to the
3480         private header, fix return type of new_with_tree_view
3481         (struct _GtkTreeSelection): mark struct
3482         fields private  
3483
3484         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
3485         GtkTreeModelFlags, not a guint
3486         (gtk_tree_path_prev): return gboolean not gint
3487         (gtk_tree_path_up): return gboolean not gint
3488
3489         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
3490         return GtkTreeModelFlags, not a guint
3491
3492         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
3493         that child model is non-null before unrefing it
3494         (g_value_int_compare_func): make this a qsort compare func, not 
3495         a boolean predicate
3496
3497         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
3498         (add -umn to the end), and mark it unimplemented
3499         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
3500         I don't see what it's for - doesn't the model always sort itself?
3501         (gtk_tree_model_sort_set_compare): this had the wrong signature
3502
3503         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
3504         Fix the docs to say that it destructively replaces existing
3505         attributes (previously said that it added attributes).
3506         (gtk_tree_view_column_set_visible): canonicalize bool before
3507         equality testing. Also, check for realization before
3508         hiding/showing the tree_column->window; if this window could exist
3509         before realization, then it's busted and needs fixing, we can't 
3510         create GDK resources pre-realization. Also, remove
3511         superfluous queue_resize(), since set_size() does that for us.
3512         (gtk_tree_view_column_set_col_type): check realization before 
3513         using tree_column->window
3514
3515         * gtk/gtktreedatalist.c: fix filename in copyright notice
3516
3517 2000-12-31  Havoc Pennington  <hp@pobox.com>
3518
3519         * gtk/gtktextview.c: Rearrange all the
3520         scroll-while-dragging-or-selecting code to be different, not
3521         necessarily better. ;-)
3522         (gtk_text_view_scroll_to_mark): Change this
3523         function to take within_margin as a fraction instead of a pixel
3524         value, and to take alignment arguments (indicating where to align 
3525         the mark inside the visible area)
3526         
3527         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
3528         to GtkObject
3529
3530         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
3531         behavior so that offsets past the end of the line are not 
3532         allowed, and an offset equal to the line length moves the iterator
3533         to the next line
3534         (gtk_text_iter_set_line_index): make parallel change
3535         (gtk_text_iter_get_bytes_in_line): add this function
3536         
3537         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
3538         of byte indexes off the end of the line; byte index at the end of
3539         the line now returns FALSE and doesn't fill in the requested
3540         values, byte index past the end of the line is an error.  Also,
3541         don't allow -1 offset anymore, since its meaning is unclear.
3542
3543         This change exposes some bug in visual cursor motion, where we
3544         end up with a huge invalid byte index; needs fixing. Symptom of 
3545         bug is a crash when you hit up arrow.
3546         
3547         (_gtk_text_line_char_locate): match the change to byte_locate
3548
3549         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
3550         from start of line properly. fixes bug reported by Mikael
3551         Hermansson where backspace would delete all text before the
3552         cursor.
3553
3554 2000-12-30  Tor Lillqvist  <tml@iki.fi>
3555
3556         * gdk/win32/gdkwindow-win32.c
3557         (gdk_window_impl_win32_get_visible_region): New function, as in
3558         the X11 backend.
3559         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
3560         instead of duplicating the same code here.
3561
3562         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
3563         GDK_COLORMAP macro.
3564
3565         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
3566         destroy function.
3567         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
3568         access that.
3569
3570         * gtk/gtk.def: Update.
3571
3572         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
3573
3574 2000-12-30  Havoc Pennington  <hp@pobox.com>
3575
3576         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
3577         colormap on input only windows, to avoid special cases all over
3578         the code for these windows.
3579
3580 2000-12-26  Tor Lillqvist  <tml@iki.fi>
3581
3582         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
3583         we are on a palettized display ("PseudoColor" in X11), as the code
3584         for that doesn't work anyway, and never has.
3585
3586 2000-12-22  Alexander Larsson  <alexl@redhat.com>
3587
3588         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
3589         Don't use isprint() for chars > 255.
3590
3591 2000-12-21  Havoc Pennington  <hp@redhat.com>
3592
3593         * tests/testtreeview.c: more work
3594
3595 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3596
3597         * docs/README.linux-fb:
3598         Update the docs to the new pangoft2 way.
3599
3600 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3601
3602         * configure.in:
3603         For linux-fb get the pangoft2 cflags and libs. This needs a recent
3604         pango version.
3605         Remove modules/linux-fb/Makefile.
3606
3607         * gdk/linux-fb/gdkdrawable-fb2.c:
3608         Render glyphs using freetype.
3609
3610         * gdk/linux-fb/gdkfb.h:
3611         Add new fb-specific functions needed for managing windows.
3612
3613         * gdk/linux-fb/gdkmain-fb.c:
3614         Remove gdk_font_init/fini() calls.
3615
3616         * gdk/linux-fb/gdkpango-fb.c:
3617         Remove old implementation. Use pangoft2 instead.
3618
3619         * gdk/linux-fb/gdkprivate-fb.h:
3620         Remove PangoFBFont and related stuff.
3621
3622         * gdk/linux-fb/gdkwindow-fb.c:
3623         Implement drawable->get_visible_region.
3624         Implement support for _gdk_window_set_child_handler () and
3625         _gdk_window_get_decorations().
3626
3627         * modules/Makefile.am:
3628         Remove linux-fb subdir.
3629
3630         * modules/linux-fb/*:
3631         Removed all.
3632         
3633 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
3634
3635         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
3636         calls, as they are no longer needed.
3637
3638         * gtk/gtktreemodelsort.c: Fix up the comparison code.
3639         
3640         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
3641         figure out how to emit a signal on an interface.
3642
3643 2000-12-20  Havoc Pennington  <hp@redhat.com>
3644
3645         * tests: new directory to contain tests, gtk/test* should move
3646         here sometime (with appropriate on-cvs-server hackery)
3647
3648         * tests/testtreeview.c, tests/Makefile.am: a test
3649         
3650         * configure.in (AC_OUTPUT): add tests/Makefile
3651
3652         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
3653         and "invisible_set" which were missing
3654
3655         * gtk/gtkrbtree.h: some cheesy indentation fix
3656         
3657 2000-12-20  Alexander Larsson  <alexl@redhat.com>
3658
3659         * gtk/gtkinvisible.c (gtk_invisible_realize):
3660         Attach the style to the window so that the style it is not
3661         leaked when unrealizing the window.
3662
3663 2000-12-18  Havoc Pennington  <hp@redhat.com>
3664
3665         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
3666         begin/end user action where appropriate
3667         (gtk_text_view_commit_handler): add begin/end user action
3668
3669         * gtk/gtktextbuffer.c: add begin/end user action signals, and
3670         bracket interactive operations with begin/end user action pair.
3671         
3672         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
3673         "interactive" arg from insert_text and delete_text signals.
3674         Add begin_user_action, end_user_action signals
3675         (gtk_text_buffer_begin_user_action): 
3676         (gtk_text_buffer_end_user_action): New functions to delimit 
3677         a user-visible action
3678
3679         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
3680         signals.
3681         
3682 2000-12-18  Havoc Pennington  <hp@redhat.com>
3683
3684         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
3685         was pretty non-working.
3686
3687         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
3688         by passing the length to g_utf8_validate().
3689
3690 2000-12-16  Havoc Pennington  <hp@pobox.com>
3691
3692         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
3693         Port to GObject, can go back in gdk-pixbuf after setting up 
3694         a gdk-pixbuf-marshal.h header over there.
3695
3696         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
3697         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
3698         args
3699         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
3700         set
3701         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
3702         here, do it when we create the buttons later
3703         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
3704         (gtk_tree_view_map): paranoia checks that column->button is shown 
3705         and unmapped
3706         (gtk_tree_view_size_request): only request visible children.
3707         Move header size calculation in here, for cleanliness, and 
3708         to maintain invariants for child widgets if we eventually 
3709         let users set different children inside the buttons
3710         (gtk_tree_view_map_buttons): factor out code to map buttons,
3711         since it was being called several times
3712         (gtk_tree_view_size_allocate_buttons): move_resize the drag
3713         windows instead of just moving them; their height may change 
3714         if we allow random widgets in there, or the theme changes.
3715         (gtk_tree_view_size_allocate): move button size allocation 
3716         above emitting the scroll signals, to ensure a sane state when we
3717         hit user code
3718         (gtk_tree_view_button_release): remove queue_resize after
3719         tree_view_set_size(), set_size() will handle any resize queuing
3720         that's needed
3721         (gtk_tree_view_focus_in): just queue a draw, don't fool with
3722         draw_focus goo
3723         (gtk_tree_view_focus): use gtk_get_current_event() and
3724         gdk_event_get_state()
3725         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
3726         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
3727         semicolon
3728         (gtk_tree_view_create_button): show the button here
3729         (gtk_tree_view_button_clicked): actually emit the clicked signal
3730         on the column
3731         (_gtk_tree_view_set_size): return right away if the size is
3732         unchanged, as a cheesy optimization
3733         (gtk_tree_view_setup_model): rename set_model_realized to 
3734         setup_model to match the flag that indicates whether we've 
3735         called it
3736         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
3737         exist, because set_scroll_adjustment does that and it shouldn't
3738         matter what order you call these in
3739         (gtk_tree_view_get_vadjustment): ditto
3740         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
3741         for paranoia
3742         (gtk_tree_view_set_headers_visible): call
3743         gtk_tree_view_map_buttons() instead of using cut-and-paste code
3744         (gtk_tree_view_append_column): clarify whether the return value
3745         is the count of columns before or after, and do the increment 
3746         separately from the return statement so you can tell from the code.
3747         (gtk_tree_view_remove_column): ditto
3748         (gtk_tree_view_insert_column): ditto
3749         (gtk_tree_view_get_column): remove g_return_if_fail for columns
3750         outside the existing range, the docs say that outside-range
3751         columns are allowed, so we handle them as documented. (Presumably
3752         this allows a nice loop with column != NULL as test.)
3753         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
3754         mean (left/right/center etc.).
3755         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
3756         (gtk_tree_view_expand_row): add docs
3757         (gtk_tree_view_collapse_row): add docs
3758
3759         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
3760         function to emit the clicked signal on a column
3761         
3762         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
3763         state of an event
3764         (gdk_event_get_time): don't treat GDK_SCROLL 
3765         as a button event, remove default case from switch so gcc 
3766         will whine if we don't explicitly handle all event types
3767
3768         * gtk/gtktreeselection.h: added some FIXME 
3769         
3770         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
3771         "columns" to "n_columns" and "column" to "columns" for clarity
3772
3773 2000-12-16  Havoc Pennington  <hp@pobox.com>
3774         
3775         * gtk/gtktextiter.c: General cleanup of the log attr iteration
3776         stuff. This should make e.g. the delete key work again in the
3777         text widget...
3778         (gtk_text_iter_forward_cursor_positions): handle negative count
3779         (gtk_text_iter_backward_cursor_positions): handle negative count
3780         (gtk_text_iter_forward_word_ends): handle negative count
3781         (gtk_text_iter_backward_word_starts): handle negative count
3782
3783         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
3784         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
3785         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
3786         GObject. No doubt will cause breakage.
3787
3788         * demos/gtk-demo/textview.c: remove hacks around
3789         non-GObject-ification of the text objects
3790
3791         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
3792         the text tag
3793         
3794 2000-12-14  Havoc Pennington  <hp@pobox.com>
3795
3796         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
3797         that we have Xrender
3798
3799 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
3800
3801         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
3802         Add two virtualized functions gdk_drawable_get_clip_region - to
3803         get the clip region when drawing.
3804         
3805         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
3806         use invalidate_region.
3807
3808         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
3809         region.
3810
3811         * acconfig.h configure.in: Check for Xft. For now, assume
3812         that if Xft is found, Pango was compiled with Xft support
3813         as well.
3814
3815         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
3816         gdk_colormap_query_color().
3817         
3818         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
3819         with Xft if appropriate.
3820
3821         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
3822         a pangoxft context if we have XFT and the environment
3823         variable GD_USE_XFT is set.
3824         
3825         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
3826         and also possibly an XftDraw structure.
3827
3828         * gtk/gtkfontsel.c: Handle the case where the font from the
3829         style doesn't match any of the fonts a bit better.
3830         
3831         * gtk/testgtk.c: Add tabs between directional segments for
3832         hebrew/arabic test. (Not really necessary, just a little
3833         prettier.)
3834
3835 2000-12-14  Havoc Pennington  <hp@redhat.com>
3836
3837         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
3838         reading a file
3839
3840 2000-12-14  Havoc Pennington  <hp@redhat.com>
3841
3842         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
3843         unused call to get_last_line()
3844
3845         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
3846         here until boxed is working (and maybe after that - we should
3847         really not gratuitously break old code)
3848
3849         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
3850         specific types for font_desc and tabs args, move them to
3851         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
3852         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
3853
3854         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
3855         use GTK_TYPE_POINTER for signal signatures as a hack-around
3856
3857         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
3858         PangoTabArray
3859
3860         * gtk/gtktextlayout.c (line_display_iter_to_index): 
3861         make static
3862         (line_display_index_to_iter): make static
3863
3864         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
3865         to marshal a string not a boxed
3866
3867         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
3868
3869         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
3870         since the UTF-8 isn't validated yet
3871
3872         * gtk/gtktextsegment.c (char_segment_check_func): don't require
3873         lines to end in '\n'
3874         
3875         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
3876         forward_to_delimiters, and grapheme boundaries
3877         (gtk_text_view_delete_from_cursor): properly handle non-newline
3878         delimiters, and grapheme boundaries
3879
3880         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
3881         to gtk_text_iter_forward_to_delimiters, and make it work properly
3882         if empty lines end with a character other than '\n'
3883
3884         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
3885         position
3886
3887 2000-12-15  Tor Lillqvist  <tml@iki.fi>
3888
3889         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
3890
3891         * gtk/gtk.def
3892         * gdk/gdk.def: Update.
3893
3894         * gdk/win32/gdkmain-win32.c
3895         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
3896         gdkmain-win32.c here.
3897
3898         * gdk/win32/makefile.mingw.in (all): No need to make
3899         gdk-win32res.o here, the makefile one step up will call us to make
3900         it.
3901
3902         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
3903         gdkkeys-win32.
3904
3905         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
3906
3907         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
3908         call to g_source_add().
3909
3910         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
3911         leak. Thanks to Andreas Kemnade.
3912
3913 2000-12-13  Havoc Pennington  <hp@pobox.com>
3914
3915         * gtk/gtktextbtree.h: Remove double _ in front of some functions
3916
3917         * gtk/gtktext*.[hc]: update accordingly
3918         
3919 2000-12-13  Havoc Pennington  <hp@pobox.com>
3920
3921         * gtk/gtktextbtree.h: Put _ in front of every function in this 
3922         header file
3923
3924         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
3925
3926 2000-12-13  Alex Larsson  <alexl@redhat.com>
3927
3928         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
3929         Add support for ps2 intellimouse.
3930
3931         * gdkkeyboard-fb.c:
3932         Move shift-F1 repaint handling to xlate handler only.
3933         
3934         * docs/README.linux-fb:
3935         Add imps2 to docs.
3936         Document the new refresh keys.
3937         
3938 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
3939
3940         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
3941
3942         * gtk/gtkbox.c: change property types from (u)long to (u)int for
3943         ::position and ::padding.
3944
3945         * gtk/gtkcontainer.c: make ::border_width an INT property.
3946
3947         * gtk/gtkpacker.c: make ::position an INT property.
3948
3949         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
3950         guard against NULL h/v scrollbars, since this is used at construction
3951         time.
3952
3953         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
3954         internal gtk_clist_constructor().
3955
3956         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
3957         gtk_ctree_constructor().
3958
3959         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
3960         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
3961
3962         * docs/reference/Makefile.am: fun stuff, disabled docs generation
3963         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
3964
3965         * gtk/gtkwidget.[hc]:
3966         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
3967         and gtk_widget_get().
3968         (gtk_widget_new): use g_object_new_valist().
3969         (gtk_widget_set): use g_object_set_valist().
3970
3971         * gtk/gtkobject.[hc]:
3972         removed gtk_object_arg_get_info(), gtk_object_getv(),
3973         gtk_object_query_args(), gtk_object_newv(),
3974         gtk_object_class_add_signals(),
3975         gtk_object_class_user_signal_new(),
3976         gtk_object_class_user_signal_newv(),
3977         gtk_object_arg_set(), gtk_object_arg_get(),
3978         gtk_object_args_collect(),
3979         gtk_object_default_construct(),
3980         gtk_object_constructed(),
3981         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
3982         removed nsignals, signals and n_args members from GtkObjectClass.
3983         (gtk_object_new): use g_object_new_valist().
3984         (gtk_object_set): use g_object_set_valist().
3985         (gtk_object_get): use g_object_get_valist().
3986         
3987         * gtk/gtkcompat.h: define gtk_object_default_construct().
3988         
3989         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
3990         g_object_new().
3991
3992         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
3993         fucntions, cleaned up method assignments (make sure your structures
3994         are setup properly before calling out). removed all GTK_CONSTRUCTED
3995         hacks ;)
3996
3997 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
3998
3999         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
4000         off-by-one error in checks. (Dave Lambert)
4001
4002 2000-12-12  Alexander Larsson  <alexl@redhat.com>
4003
4004         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
4005         Don't free gdk_fb_keyboard twice.
4006
4007 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
4008
4009         * gtk/testgtk.c:
4010         (create_tooltips): 
4011         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
4012         use GObject swapped_signal:: properties instead.
4013
4014         * gtk/gtkcellrenderertoggle.c: 
4015         * gtk/gtkcellrenderertextpixbuf.c: 
4016         * gtk/gtkcellrenderertext.c: 
4017         * gtk/gtkcellrendererpixbuf.c: 
4018         * gtk/gtkcellrenderer.c:
4019         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
4020         missing warnings for invalid property ids, install properties
4021         with g_object_class_install_property() now.
4022         
4023         * gtk/gtksignal.c:
4024         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
4025         
4026 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
4027         
4028         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
4029         to determine if a window is the focus widget within
4030         its toplevel.
4031
4032         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
4033         to be boolean.
4034
4035         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
4036         of the case where the container CAN_FOCUS to here instead
4037         of having it in each individual move-the-focus place.
4038
4039         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
4040         focusing to be geometric in a much more obvious sense. Arrowing
4041         around is still non-intuitive because it isn't perfect and
4042         because entries, etc, grab the arrow keys, but it at least
4043         usually will do what you expect now.
4044         
4045         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
4046         file.
4047
4048         * gtk/gtknotebook.c: Change tabs to be a single item in
4049         the focus chain. Make movement of focus on tabs with arrow
4050         keys wrap around.
4051         
4052         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
4053         CHECK_FIND_CHILD macro to give informative error messages
4054         instead of silent returns.
4055
4056         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
4057         flag since we handle GdkReturn on the tabs.
4058
4059         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
4060         windows rather than sending expose events directly.
4061
4062         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
4063         definition for GtkNotebookPage into .c file, since it is private.
4064
4065         * gtk/testgtk.c (create_notebook): Add option for 
4066         testing borderless notebook.
4067
4068         * gtk/testgtk.c (page_switch): Removed egregious poking
4069         around in GTK+ internals.
4070
4071         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
4072
4073         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
4074         properly through gtk_clist_focus. Make the title headers a
4075         single item in the tab-focus chain, and make left-right wrap
4076         around.
4077
4078         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
4079         focus method so that wrapping around works properly.
4080
4081         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
4082         that is handled for the widget now. 
4083
4084 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
4085
4086         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
4087         widgets as TOPLEVEL.
4088
4089         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
4090         TOPLEVEL widgets are containers.
4091
4092         * gtk/gtkinvisible.h: Remove useless include.
4093
4094 2000-12-11  Havoc Pennington  <hp@redhat.com>
4095
4096         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
4097         Handle chopping off \r\n and 0x2029 in addition to \n before
4098         passing to PangoLayout
4099
4100         * gtk/gtkimcontextsimple.c
4101         (gtk_im_context_simple_get_preedit_string): 
4102         return an empty string if no match is pending
4103
4104         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
4105         assertion that the returned preedit string was sane
4106
4107         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
4108         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
4109         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
4110
4111 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
4112
4113         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
4114         Fix up finalizer to chain to its parent.
4115
4116 2000-12-11  Alexander Larsson  <alexl@redhat.com>
4117
4118         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
4119         Clearified the difference between the keyboard types. Wrote a note
4120         about the magic sysrq key to get out of raw mode.
4121
4122 2000-12-09  James Henstridge  <james@daa.com.au>
4123
4124         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
4125         member to hold masks for detecting the start of a protocol packet.
4126         (mouse_devs): add packet start masks for ps2 and ms device types.
4127         Left the mask for fidmour blank, as I have no idea what it should
4128         be.
4129         (handle_mouse_io): skip bytes until we get to the start of a
4130         packet.  My Logitech mouse seems to be passing an extra NULL pad
4131         byte, and GPM does a similar thing here.
4132         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
4133         this is the ms mouse driver.
4134         (gdk_fb_mouse_ms_packet): fix up button handling, which was
4135         completely broken except for button1.  It was checking the wrong
4136         bit in the packet for the status of the right mouse button, and
4137         wrongly assuming right == button2 rather than 3.  I fixed that and
4138         also added support for middle button (button2).
4139
4140 2000-12-08  Havoc Pennington  <hp@redhat.com>
4141
4142         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
4143         that cause a segfault on text insertion
4144
4145         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
4146         warning
4147
4148         * gtk/gtktextiter.c (test_log_attrs): use
4149         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
4150
4151         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
4152         Get log attrs for a line, using a cache stored on the buffer
4153         
4154         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
4155         reported by Jeff Franks
4156
4157 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4158
4159         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
4160         /dev/ttyS0 -> /dev/mouse
4161
4162 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4163
4164         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
4165         Added dummy gdk_fontset_load.
4166
4167 2000-12-08  Alexander Larsson  <alexl@redhat.com>
4168
4169         * docs/README.linux-fb:
4170         * docs/Makefile.am:
4171         Initial GtkFB docs.
4172         
4173         * gdk/linux-fb/Makefile.am:
4174         Define GDK_DATA_PREFIX.
4175
4176         * gdk/linux-fb/gdkmain-fb.c:
4177         Fix typo.
4178         Change default display to /dev/fb0.
4179
4180         * gdk/linux-fb/gdkpango-fb.c:
4181         Add $(prefix)/share/fonts/ to font path.
4182         
4183 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4184
4185         * gdk/linux-fb/gdkkeyboard-fb.c:
4186         New file containing the abstracted keyboard driver. Most code
4187         taken from gdkinput-ps2.c
4188
4189         * gdk/linux-fb/gdkinput-ps2.c:
4190         Removed file.
4191         
4192         * gdk/linux-fb/Makefile.am:
4193         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
4194
4195         * gdk/linux-fb/gdkcolor-fb.c:
4196         display->fb was renamed to display->fb_fd.
4197
4198         * gdk/linux-fb/gdkcursor-fb.c:
4199         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4200
4201         * gdk/linux-fb/gdkinput.c:
4202         Moved gdk_input_init here from gdkinput-ps2.c
4203
4204         * gdk/linux-fb/gdkmain-fb.c:
4205         display->fb was renamed to display->fb_fd.
4206         Now the tty and the console is opened here instead
4207         of in the keyboard driver. Also check GDK_VT to see what
4208         tty to open.
4209         Move gdk_beep () here from gdkinput-ps2.c
4210         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4211
4212         * gdk/linux-fb/gdkmouse-fb.c:
4213         Add header.
4214         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4215         Return correct keyboard modifiers.
4216         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
4217
4218         * gdk/linux-fb/gdkprivate-fb.h:
4219         Add tty and vt info to display.
4220         Add orignal modeinfo storage to display
4221         Update global functions
4222
4223         * gdk/linux-fb/gdkwindow-fb.c:
4224         Added gdk_fb_window_find_focus().
4225         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4226
4227 2000-12-07  Havoc Pennington  <hp@pobox.com>
4228
4229         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
4230         function, noticed by Alex
4231
4232 2000-12-06  Elliot Lee  <sopwith@redhat.com>
4233
4234         * configure.in: Detect freetype properly
4235
4236         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
4237         above.
4238
4239 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4240
4241         * gdk/linux-fb/Makefile.am:
4242         Add gdkmouse-fb.c
4243         
4244         * gdk/linux-fb/gdkmouse-fb.c:
4245         New file. Abstracted the mouse drivers a bit.
4246
4247         * gdk/linux-fb/gdkcursor-fb.c:
4248         The cursor hide/show functions was moved here from gdkinput-ps2.c.
4249
4250         * gdk/linux-fb/gdkinput-ps2.c:
4251         Removed old mouse handling code. Moved cursor handling code
4252         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
4253         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
4254         gdk_mouse_get_info.
4255
4256         * gdk/linux-fb/gdkmain-fb.c:
4257         Pass NULL pointers for x,y in gdk_mouse_get_info call.
4258
4259         * gdk/linux-fb/gdkprivate-fb.h:
4260         Removed public gdk_fb_find_common_ancestor, added and renamed
4261         functions for the new mouse handling code.
4262
4263         * gdk/linux-fb/gdkwindow-fb.c:
4264         Moved gdk_fb_window_send_crossing_events here. added global
4265         variable gdk_fb_window_containing_pointer. made
4266         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
4267         renamed to gdk_mouse_get_info.
4268
4269 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4270
4271         * gdk/linux-fb/gdkevents-fb.c:
4272         Update to match latest gmain/gsource changes.
4273
4274         * gdk/linux-fb/gdkinput-ps2.c:
4275         Bogus gdk_keymap_get_entries_for_keycode implementation so that
4276         it links. Will be implemented later.
4277
4278 2000-12-03  Havoc Pennington  <hp@pobox.com>
4279
4280         * gdk/Makefile.am: add gdkkeys.[hc]
4281
4282         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
4283         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
4284
4285         * acconfig.h, configure.in: add checks and command line options
4286         for XKB
4287
4288         * gdk/x11/gdkkeys-x11.c: Implement the above functions
4289         
4290         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
4291         and group in the key event
4292
4293         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
4294         field with the low-level hardware key code, and a group
4295         field with the keyboard group
4296
4297         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
4298         and declare a couple globals used for keymap handling
4299         
4300         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
4301         hold down Shift-Control and type a hex number to get a Unicode 
4302         character corresponding to the hex number
4303         (gtk_im_context_simple_get_preedit_string): Fix cursor position
4304         (return bytes not chars)
4305
4306 2000-12-05  Elliot Lee  <sopwith@redhat.com>
4307
4308         * gdk/gdkcolor.h: Make GdkColor specify element sizes
4309         to avoid waste on 64-bit platforms.
4310
4311 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
4312
4313         * INSTALL: Fix link to PNG home, remove reference
4314         to fribidi.
4315
4316         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
4317         
4318         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
4319         tested.)
4320
4321         * gtk/gtkcheckmenuitem.c: Permanently turn on
4322         always_show_toggle.
4323
4324         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
4325         be NULL. (Vladimir Klebanov, #26545)
4326
4327         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
4328         some signed/unsigned comparison problems. (#6510,
4329         David Kaelbling)
4330
4331         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
4332         return type to boolean (Oskar Liljeblad, #18648)
4333
4334 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4335
4336         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
4337         Remove bogus colormap setting.
4338
4339 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4340
4341         * gdk/linux-fb/gdkcolor-fb.c:
4342         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
4343
4344         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
4345         Must set colormap.
4346         
4347 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
4348
4349         * docs/tutorial/gtk-tut.sgml: DND updates
4350
4351 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
4352
4353         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4354         Remove old debug g_warning().
4355         (gdk_fb_draw_drawable): The src argument can be either a wrapper
4356         or an implementation, just pass the implementation to draw_drawable_2.
4357         
4358         * gdk/linux-fb/gdkprivate-fb.h:
4359         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
4360
4361         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4362         clear and invalidate area when window is destroyed.
4363         (send_map_events): Remove old commented out code.
4364
4365 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4366
4367         * gdk/linux-fb/gdkpango-fb.c:
4368         Use italic instead of oblique in font aliases.
4369         
4370         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
4371         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
4372         other unsupported functions.
4373
4374 2000-12-04  Havoc Pennington  <hp@redhat.com>
4375
4376         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
4377
4378         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
4379
4380         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
4381
4382         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
4383         hack to avoid infinite loops (synthetic expose event) - 
4384         Owen has more appropriate fixes in a branch he'll check in later.
4385
4386         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
4387         separator, CR, and CRLF as line ends
4388
4389         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
4390         into lines using pango_find_paragraph_boundary(); other bits of
4391         the widget are still going to be broken if the boundary isn't '\n'
4392         though
4393
4394 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4395
4396         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
4397         multiply.
4398
4399         * gdk/linux-fb/gdkpango-fb.c:
4400         Copied some 26.6 scaling macros from pango to clean up the rounding.
4401         (pango_fb_font_get_glyph_info): Correct sign on x value.
4402
4403         * gdk/linux-fb/gdkprivate-fb.h:
4404         Removed unreferenced external functions.
4405
4406         * modules/linux-fb/Makefile.am: Use ` instead of '.
4407
4408         * modules/linux-fb/basic.c:
4409         Remove dead code. In particular the dummy lang engine which broke all
4410         pango layouts in GtkFB. Don't include tables-big.i anymore.
4411
4412         * modules/linux-fb/tables-big.i:
4413         Upgrade to latest version from pango. Left for reference, basic_ranges
4414         moved to basic.c.
4415         
4416 2000-12-04  Havoc Pennington  <hp@redhat.com>
4417
4418         Fix bugs Alex found:
4419         
4420         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
4421         to "draw"
4422
4423         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
4424
4425         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
4426
4427         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
4428         implementation in here, apparently the expose() implementation was
4429         dead code.
4430
4431 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4432
4433         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4434         Return positive descent.
4435
4436 2000-12-02  Havoc Pennington  <hp@pobox.com>
4437
4438         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
4439         method and signal
4440         
4441         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
4442         calls gdk_window_process_updates() to push the exposes through
4443         (gtk_widget_class_init): No more draw signal, no
4444         gtk_widget_real_draw()  
4445         
4446         * gtk/gtkbin.c (gtk_bin_draw): remove
4447
4448         * gtk/gtkbox.c (gtk_box_draw): remove
4449
4450         * gtk/gtkbutton.c (gtk_button_draw): remove
4451
4452         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
4453
4454         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
4455
4456         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
4457
4458         * gtk/gtkclist.c (gtk_clist_draw): remove
4459
4460         * gtk/gtkentry.c (gtk_entry_draw): remove
4461
4462         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
4463
4464         * gtk/gtkfixed.c (gtk_fixed_draw): remove
4465
4466         * gtk/gtkframe.c (gtk_frame_draw): remove
4467
4468         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
4469
4470         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
4471
4472         * gtk/gtklayout.c (gtk_layout_draw): remove
4473
4474         * gtk/gtklist.c (gtk_list_draw): remove
4475
4476         * gtk/gtklistitem.c (gtk_list_item_draw): remove
4477
4478         * gtk/gtkmenu.c (gtk_menu_draw): remove
4479
4480         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
4481
4482         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
4483
4484         * gtk/gtknotebook.c (gtk_notebook_draw): remove
4485
4486         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
4487
4488         * gtk/gtkpacker.c (gtk_packer_draw): remove
4489
4490         * gtk/gtkrange.c (gtk_range_draw): remove
4491
4492         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
4493
4494         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
4495
4496         * gtk/gtktable.c (gtk_table_draw): remove
4497
4498         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
4499
4500         * gtk/gtktext.c (gtk_text_draw): remove
4501
4502         * gtk/gtktextview.c (gtk_text_view_draw): remove
4503
4504         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
4505
4506         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
4507
4508         * gtk/gtktree.c (gtk_tree_draw): remove
4509
4510         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
4511
4512         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
4513
4514         * gtk/gtkviewport.c (gtk_viewport_draw): remove
4515
4516         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
4517
4518         * gtk/gtkvscale.c (gtk_vscale_draw): remove
4519
4520         * gtk/gtkwindow.c (gtk_window_draw): remove
4521
4522 2000-20-01  Anders Carlsson  <andersca@gnu.org>
4523
4524         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
4525         a GtkToggleButton is both insensitive and active, it was being
4526         drawn by the GtkButton draw handler which doesn't check the
4527         state. Now it's calling gtk_toggle_button_paint instead.
4528         
4529 2000-12-01  Havoc Pennington  <hp@redhat.com>
4530
4531         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
4532         dangling pointers to the appearance attributes from the 
4533         line display
4534
4535         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
4536         width/height to mean "full width/height of drawable"
4537
4538         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
4539         click to select word/line
4540         
4541         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
4542         when getting log attrs. Get a slice, so that pixmaps and stuff
4543         are properly handled.
4544
4545         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
4546         paste into the selection (replaces selection now, previously
4547         crashed or added to selection). Reveals longstanding btree bug -
4548         select multiple lines, middle-click on the selection, boom. This
4549         isn't related to my changes though.
4550
4551         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
4552         PangoLogAttrs changes
4553         (gtk_entry_move_backward_word): ditto
4554
4555         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
4556         functions return bool whether the iter moved onto a
4557         dereferenceable position.
4558  
4559         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
4560         functions for motion in terms of display lines.
4561
4562         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
4563         get the buffer a mark is inside
4564         
4565 2000-12-01  Alexander Larsson  <alexl@redhat.com>
4566
4567         * gdk/linux-fb/Makefile.am:
4568         * modules/linux-fb/Makefile.am:
4569         Freetype 2 final uses freetype-config
4570
4571         * gdk/linux-fb/gdkpango-fb.c:
4572         Upgrade to use Freetype 2 final.
4573         More flexible support for font aliases, this also fixes a bug with
4574         GtkFontSelector, as the aliases must be visible in the font/family list,
4575         or GtkFontSelector reads uninitialized memory.
4576
4577 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
4578
4579         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
4580         XGetIMValues to properly terminate variable argument list, and do
4581         NULL return check for ic_values and xim_styles.
4582
4583         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
4584         Restore preedit state after XmbResetIC().
4585         
4586         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
4587         XvaCreateNestedList() should take XvaNestedList, but not
4588         XvaNestedList*.
4589
4590         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
4591         preedit_draw_callback, preedit_caret_callback): Match
4592         "preedit-changed" signal name to "preedit_changed" to be
4593         consistent to the spec.
4594
4595         * gtk/gtkimcontextsimple.c (check_table):
4596         Match "preedit-changed" to "preedit_changed" to be consistent
4597         to the spec.
4598
4599 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
4600
4601         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
4602         gc->clip_region == NULL>
4603
4604 2000-11-30  Tor Lillqvist  <tml@iki.fi>
4605
4606         Changes by Hans Breuer:
4607         
4608         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
4609         Dont't use negative width and height as max_hints. This fixes
4610         Owen's recent testgtk changes for win32.
4611
4612         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
4613         gdk_win32_hdc_release): These are exported and may be called with
4614         other drawable types than our GdkDrawableImplWin32 (?).
4615
4616         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
4617         so always #define USE_BACKING_STORE.
4618
4619         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
4620         of printf for debugging output.
4621
4622         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
4623         
4624         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
4625
4626         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
4627         declaration.
4628
4629         * gtk/gtktexttypes.h: Ditto.
4630
4631         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
4632         (GDK_VoidSymbol) also if in case of arg check failure.
4633
4634         * gtk/gtkimcontextsimple.c
4635         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
4636         position to the pointer, but to the variable it points to.
4637
4638         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
4639
4640         * gtk/gtk.def: Updates.
4641
4642 2000-11-29  Elliot Lee  <sopwith@redhat.com>
4643
4644         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
4645         GTK_TYPE_TREE_MODEL.
4646
4647 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4648
4649         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
4650         Set the size of the font from the description.
4651         (gdk_text_width): Gross hack that calculates the width
4652         of text by text_length * size/2. This is necessary because
4653         GtkLabel does some ugly gtk_string_width call to calculate
4654         an good size.
4655         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
4656
4657 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
4658
4659         * docs/tutorial/gtk-tut.sgml: DND updates
4660
4661 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4662
4663         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
4664         If you pass width or height == 0 to gdk_window_clear_area they
4665         should be calculated from the window size.
4666
4667 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4668
4669         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
4670         a grab, but no grab-cursor, use the cursor from the grabbed
4671         window. (gdk_fb_window_send_crossing_events): Send normal
4672         enter/leave notifications if grab and owner_events == TRUE.
4673
4674 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4675
4676         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4677         Do implicit button grabs, even if the window doesn't
4678         want the event.
4679         (gdk_fb_window_send_crossing_events): If there is a
4680         grab, only the grabbed window gets normal enter/leave
4681         notifications. On ungrab go from grabbed window to current.
4682         Don't send any notification to b when propagating from c -> b.
4683         If setting a grab on window, don't set prev_window.
4684         (handle_mouse_input): Send enter/leave events to the window the
4685         mouse is over, not the grabbed one.
4686         
4687 2000-11-28  Elliot Lee  <sopwith@redhat.com>
4688
4689         * gdk/gdkregion-generic.c: Zap warning.
4690         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
4691         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
4692
4693 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
4694
4695         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
4696         The cursor should be hidden if it is part of either the
4697         source or destination region. Not only if it is in both.
4698         (gdk_window_set_transient_for): Silence warnings.
4699
4700 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4701
4702         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
4703         The default mode in X is Pie Arcs, therefore that is
4704         what Gtk+ uses.
4705
4706 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4707
4708         * gdk/linux-fb/gdkinput-ps2.c:
4709         Implement correct EnterNotify/LeaveNotify:
4710         (gdk_fb_window_send_crossing_events): New function that sends
4711         all GdkCrossingEvents from the last mouse-window to the specified
4712         destination.
4713         (gdk_fb_window_visibility_crossing): Removed function.
4714         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
4715         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
4716         instead of gdk_window_get_pointer() for better readability.
4717
4718         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
4719         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
4720
4721         * gdk/linux-fb/gdkprivate-fb.h:
4722         removed gdk_fb_window_visibility_crossing, added
4723         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
4724
4725         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
4726         New function that finds the least common ancestor of two windows.
4727         (gdk_window_show, gdk_window_hide):
4728         Use gdk_fb_window_send_crossing_events.
4729         (gdk_fb_window_move_resize): Send configure events to toplevel
4730         windows. Use gdk_fb_window_send_crossing_events.
4731
4732 2000-11-27  Havoc Pennington  <hp@redhat.com>
4733
4734         * gtk/gtkprivate.h (enum): Remove a trailing comma
4735
4736 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
4737
4738         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
4739         the "changed" callback of the adjustment.  We need to redraw the
4740         spin button's arrows when the adjustment's range changes.
4741         (adjustment_changed_cb): Draw the arrows.
4742         (gtk_spin_button_value_changed): Draw the arrows.
4743
4744 2000-11-23  Alexander Larsson  <alexl@redhat.com>
4745
4746         * gdk/linux-fb/gdkselection-fb.c:
4747         Initial selection implementation.
4748
4749         * gtk/gtkselection.c:
4750         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
4751         requestor in gtk_selection_request.
4752         
4753         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
4754         Added gdk_selection_property atom.
4755
4756         * gdk/linux-fb/gdkprivate-fb.h:
4757         Export _gdk_selection_window_destroyed.
4758         Removed mask_off_x/y from GdkCursorPrivateFB.
4759         Removed hbearing, added top, left to PangoFBGlyphInfo.
4760
4761         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4762         Call _gdk_selection_window_destroyed
4763         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
4764         the root window has been created.
4765         (static_dx_hack, static_dy_hack, compare_draw_rects,
4766         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
4767         in region. They are already sorted. Instead just traverse them in
4768         reverse if draw_direction < 0.
4769         
4770         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4771         Double-clicks must be sent after the normal button_press.
4772         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
4773         
4774         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
4775         Pass _gdk_fb_screen_gc instead of NULL.
4776
4777         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
4778         Initialize gdk_selection_property.
4779         (gdk_event_make): Remove unused code.
4780
4781         * gdk/linux-fb/gdkcursor-fb.c:
4782         Make the pixmap for the cursor the same size as the mask. Also remove
4783         the mask_off_x/y fields in GdkCursorPrivateFB and combine
4784         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
4785         Now the whole cursor is visible.
4786
4787         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4788         Fix bug where xdest+height instead of ydest+height was used
4789         to calculate if the source and dest overlapped. This fixes the
4790         redraw bug when the main window in testgtk was scrolled when
4791         partially covered by a tall window.
4792         Copy rectangles in region in order depending on draw_direction.
4793         Also moved the draw_direction flipping of start_y and end_y into
4794         the gc functions, as this might not be what all of them want.
4795         (gdk_fb_draw_lines): Support dashed lines.
4796         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
4797         so that the text is positioned correctly (was 1 pixel high).
4798
4799         gdk/linux-fb/gdkgc-fb.c:
4800         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
4801         all lines were drawn a pixel to short. Also checked the default of
4802         the rest of the values, and they're the same as X now.
4803
4804         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
4805         Clean up pixel positioning of the glyphs. Just use bgy->top and
4806         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
4807         to all divisions to get correct rounding behaviour.
4808
4809         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
4810         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
4811         Moved start_y/end_y flip into draw_drawable implementations.
4812         Flip also x rendering when draw_direction < 0.
4813         Remove unneccesary multiply with draw_direction.
4814
4815 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
4816
4817         * docs/tutorial/gtk-tut.sgml:
4818           - get rid of gtk_toggle_button_toggled FUD
4819           - start DND section - needs work - based on:
4820                 http://wolfpack.twu.net/docs/gtkdnd/
4821
4822 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4823
4824         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4825         Correct calculation of font metrics. Now GtkEntrys have sane
4826         size.
4827
4828 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4829
4830         * gdk/gdktypes.h:
4831         Add new type GdkSpan
4832         
4833         * docs/reference/gdk/gdk-sections.txt,
4834         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
4835         gdk/gdkregion.h:
4836         Implement and document gdk_region_spans_intersect_foreach.
4837
4838         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
4839         Add new file gdkrender-fb.c which contains all core
4840         rendering code.
4841         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
4842         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
4843         (optimized rectangle fillers).
4844
4845         * gdk/linux-fb/gdkdrawable-fb2.c:
4846         Move all rendering code to gdkrender-fb.c.
4847         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
4848         Use the new span intersection functions in gdk_fb_fill_spans.
4849         gdk_fb_draw_rectangle() clips filled rectangles and calls
4850         gc->fill_rectangle with the result.
4851         gdk_fb_fill_spans() gets extra argument "sorted".
4852
4853         * gdk/linux-fb/gdkevents-fb.c:
4854         Remove unused includes and defines.
4855         New function gdk_fb_get_time() to get correct time for events.
4856
4857         * gdk/linux-fb/gdkinput-ps2.c:
4858         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
4859         Make sure to set the time of all events.
4860
4861         * gdk/linux-fb/gdkmain-fb.c:
4862         Use gdk_fb_get_time ().
4863
4864         * gdk/linux-fb/gdkprivate-fb.h:
4865         New virtual GC calls: fill_span & fill_rectangle.
4866         Export gdk_fb_get_time().
4867         gdk_fb_fill_spans() gets extra argument "sorted".
4868
4869         * gdk/linux-fb/mi*.c:
4870         Use GdkSpan instead of GdkRectangle.
4871         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
4872         from XFree 4 source)
4873         
4874 2000-11-22    <jrb@redhat.com>
4875
4876         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
4877         reversing the order in an if statement will do.  Doing so managed
4878         to make the treemodelsort half work.  Other half will follow after
4879         I get the insert function fully fixed.
4880
4881 2000-11-21  Elliot Lee  <sopwith@redhat.com>
4882         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
4883         more than 2 bits. Besides, I need to implement an evil hack. :)
4884
4885 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
4886
4887         * docs/tutorial/gtk-tut.sgml: minor corrections
4888
4889 2000-11-20  Jonathan Blandford <jrb@redhat.com>
4890         * gtk/gtktreemodelsort.h: Add convertion functions to let you
4891           convert to and from relative path's and iters.
4892
4893         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
4894           testing sorting functions a bit better.  Currently broken -- will
4895           fix in morning.
4896
4897 2000-11-20  Havoc Pennington  <hp@redhat.com>
4898
4899         * gtk/gtkwidget.c: Documented a bunch of functions in here
4900         (gtk_widget_realize): Warn if you try to realize
4901         a widget with no parent that isn't a toplevel
4902         (gtk_widget_intersect): return a gboolean
4903
4904 2000-11-20  Havoc Pennington  <hp@redhat.com>
4905
4906         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
4907         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
4908         scrolling to be implemented in GDK to finish. Also, right now
4909         we just size_allocate all children on every layout change,
4910         which is pretty lame. Test commented out of testtext.c, 
4911         until it works better.
4912
4913 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
4914
4915         * gdk/linux-fb/gdkdrawable-fb2.c:
4916         Removed unused arguments from gdk_fb_drawable_get_pixel().
4917
4918         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
4919         Renamed fidur specific mouse packet data in MouseDevice to
4920         generic. Used it in ps2 mouse handling code to avoid blocking
4921         reads.
4922
4923 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
4924
4925         * demos/gtk-demo/main.c: Changed to have the list become
4926         non-italic when the demo window is destroyed through an external
4927         event (like a close button).  Doing so found three bugs in the
4928         widget.
4929
4930         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
4931
4932         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
4933         we actually set the cell.
4934
4935         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
4936
4937         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
4938         free a leaked path.  Thanks memprof.
4939
4940 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
4941
4942         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
4943         off-by-one error when destroying allocated segments
4944         on failure. (Elliot)
4945
4946 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
4947
4948         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
4949         memleaks found by Evan Martin.
4950
4951 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
4952
4953         * Released 1.3.2
4954         
4955         * NEWS: Updates for 1.3.2
4956
4957 2000-11-17  Tor Lillqvist  <tml@iki.fi>
4958
4959         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
4960         but in general for window system specific events.
4961
4962         * gtk/gtk.def
4963         * gtk/makefile.mingw.in
4964         * gtk/makefile.msc.in: Update.
4965         
4966         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
4967
4968 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
4969
4970         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
4971         distribute gtk.immodules.
4972
4973         * gtk/Makefile.am (install-data-local): Don't install the
4974         gtk.immodules file created for the uninstalled modules;
4975         instead run gtk-query-immodules after install
4976
4977 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
4978
4979         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
4980         -rpath to the right install location.
4981
4982         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
4983         -export-dynamic.
4984
4985         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
4986         properly.
4987
4988 2000-11-15  Havoc Pennington  <hp@pobox.com>
4989
4990         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
4991         patch from Mikael Hermansson to temporarily stop blinking while
4992         the user is using the keyboard to type or navigate. 
4993
4994         Also, when blinking, stay on for longer than we stay off. Also,
4995         return from start_cursor_blink if !cursor_visible, to save
4996         checking that flag all over the place before we call
4997         start_cursor_blink.
4998
4999 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
5000
5001         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
5002         only contain a "fontset" line, which is now ignored.
5003
5004         * gtk/gtkentry.c (gtk_entry_button_release): Make 
5005         double-click-to-select-word work.
5006         
5007 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
5008
5009         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
5010         Don't move back one char when we are actually at the end of the 
5011         paragraph.
5012
5013 2000-11-15  Robert Brady  <robert@suse.co.uk>
5014
5015         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
5016         'o' < 'p'.
5017         
5018         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
5019         bind_textdomain_codeset.
5020
5021         (gtk_init_check): Make the warning about translating default:LTR
5022         sterner.
5023         
5024 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
5025
5026         * **/Makefile.am : remove unecessary rules for win32-specific
5027         config-substituted targets. If you want these rules, use
5028         --enable-maintainer-mode (called automatically by autogen.sh).
5029         Stops a lot of unneccessary make-time warnings.
5030
5031         * gtk/gtktext{layout,display}.c: Factor in total width as
5032         well as screen when figuring alignment for word-wrap as well as
5033         no wrap; this is necessary to handle lines that cannot be wrapped
5034         at all.
5035
5036 2000-11-15  Havoc Pennington  <hp@redhat.com>
5037
5038         * gtk/testtext.c: Implement essential color cycling feature
5039
5040 2000-11-15  Havoc Pennington  <hp@redhat.com>
5041
5042         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
5043         when we invalidate the main window.
5044
5045         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
5046         GtkTextView will now invalidate the side windows for us when text
5047         changes.
5048
5049 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
5050
5051         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
5052         unconditionally, since we may need to update the horizontal
5053         scrollbars even if the height didn't change.
5054
5055         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
5056         the extra attrs, since some of them affect size.
5057
5058         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
5059         x_offset correctly.
5060
5061 2000-11-15  Havoc Pennington  <hp@redhat.com>
5062
5063         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
5064         don't move the first line out into the margin, instead move the
5065         whole paragraph in order to make space for the first line within 
5066         the margin
5067
5068 2000-11-15  Havoc Pennington  <hp@redhat.com>
5069
5070         * gtk/gtktextview.c (changed_handler): offset redraw rect by
5071         xoffset in addition to yoffset, so horizontal scrolling doesn't
5072         break redraws
5073
5074 2000-11-15  Havoc Pennington  <hp@redhat.com>
5075
5076         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
5077         from the cursor
5078         (render_layout_line): fix reversed test that caused weird
5079         underlines to get drawn
5080
5081 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5082
5083         * gdk/linux-fb/gdkprivate-fb.h:
5084         Fix debug macros.
5085         
5086 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5087
5088         * gdk/linux-fb/gdkprivate-fb.h:
5089         Added virtual functions set_pixel, get_color,
5090         fill_span and draw_drawable to the GC.
5091         Added global _gdk_fb_screen_gc to use instead of
5092         NULL when drawing to the screen.
5093         Added _gdk_fb_gc_calc_state() prototype.
5094
5095         * gdk/linux-fb/gdkgc-fb.c:
5096         Call _gdk_fb_gc_calc_state() on any gc state change.
5097
5098         * gdk/linux-fb/gdkglobals-fb.c:
5099         Add _gdk_fb_screen_gc
5100                 
5101         * gdk/linux-fb/gdkdrawable-fb2.c:
5102         _gdk_fb_gc_calc_state() calculates best functions
5103         for the GC state and depth.
5104         Moved bpp specialized code to separate functions.
5105         Added optimized 24 bpp AA draw_drawable.
5106
5107         * gdk/linux-fb/gdkevents-fb.c:
5108         Silence gcc warning.
5109
5110         * gdk/linux-fb/gdkimage-fb.c:
5111         Use _gdk_fb_screen_gc
5112
5113         * gdk/linux-fb/gdkwindow-fb.c:
5114         Init and use _gdk_fb_screen_gc
5115
5116         * gdk/linux-fb/mitypes.h:
5117         Remove unused types.
5118
5119 2000-11-14  Havoc Pennington  <hp@pobox.com>
5120
5121         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
5122         to pixels
5123
5124 2000-11-14  Havoc Pennington  <hp@pobox.com>
5125
5126         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
5127
5128         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
5129         unknown char, no real reason we were using a variable. 
5130         Remove gtk_text_unknown_char variable. Fix all the text widget
5131         files accordingly.
5132
5133         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
5134         since the Unicode spec seems to prefer that character for our
5135         purposes.
5136
5137 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
5138
5139         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
5140         value of g_getenv() isn't freeable, so g_strdup it.
5141
5142         * modules/input/inuktitut.c: Inuktitut input method.
5143
5144         * modules/input/Makefile.am: Build this.
5145         
5146 2000-11-14  Elliot Lee  <sopwith@redhat.com>
5147
5148         * gtk/Makefile.am: Install gtk.immodules, needed for operation
5149         of gtk programs.
5150
5151 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
5152
5153         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
5154         reversed > that was causing Home to go to end of previous line.
5155
5156         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
5157         modified-keypresses (leave for bindings.)
5158
5159         * modules/input/Makefile.am: Remove useless -export-dynamic
5160         from module LDFLAGS.
5161
5162 2000-11-14  Havoc Pennington  <hp@redhat.com>
5163
5164         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
5165         higher.
5166
5167         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
5168         account. Also, render rise, underline, background, etc. for
5169         pixbufs as well as text. Also, draw underlines one pixel higher.
5170
5171         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
5172         PangoAttribute for the rise, so it gets drawn properly. Also,
5173         add the GtkTextAppearance attribute for pixbuf/widget segments
5174         as well; we should go ahead and have rise, underline, background,
5175         stipple work for those
5176
5177         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
5178         Pango
5179
5180 2000-11-15  Tor Lillqvist  <tml@iki.fi>
5181
5182         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
5183
5184         * gtk/gtk.def: Update.
5185
5186         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
5187         included.
5188         (gtk_rc_get_im_module_file): Use run-time installation directory
5189         on Win32.
5190
5191         * gdk/win32/rc/gdk.rc: Remove.
5192         * gdk/win32/rc/gdk.rc.in: New file.
5193         * gdk/win32/rc/Makefile.am: New file
5194         * gdk/win32/Makefile.am: Corresponding changes.
5195
5196         * gtk/gtk.rc: Remove.
5197         * gtk/gtk-win32.rc.in: New file.
5198         * gtk/Makefile.am: Corresponding changes.
5199
5200         * configure.in: Corresponding changes.
5201
5202         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
5203         has a built gtkcompat.h. Developers using CVS code on Win32 can
5204         hand-edit it from gtkcompat.h.in.
5205
5206         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
5207         gtkcompat.h from gtkcompat.h.win32.
5208
5209 2000-11-14  Havoc Pennington  <hp@redhat.com>
5210
5211         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
5212         to default to GDK_ACTION_MOVE if the drag is within a single
5213         widget. Defaults to GDK_ACTION_COPY between widgets.
5214
5215 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
5216
5217         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
5218
5219         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
5220
5221         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
5222         srcdir != builddir
5223
5224         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
5225
5226         * configure.in (GTK_VERSION): Up to 1.3.2
5227
5228         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
5229         gtkimcontextxim.h
5230
5231         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
5232         missing doc comment.
5233
5234 2000-11-14  Alexander Larsson  <alexl@redhat.com>
5235
5236         * modules/linux-fb/basic.c:
5237         Use the glib iconv wrappers.
5238
5239 2000-11-13  Havoc Pennington  <hp@pobox.com>
5240
5241         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
5242         still more bugs.
5243
5244         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
5245         scroll the GdkWindows before realization.
5246
5247 2000-11-13  Havoc Pennington  <hp@redhat.com>
5248
5249         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
5250         where GC didn't always get updated properly
5251
5252         * demos/gtk-demo/textview.c (create_tags): Use subattributes
5253         of fonts instead of setting the entire font
5254
5255         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
5256         setting entire font
5257
5258         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
5259
5260         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
5261         a bunch of individually-settable font attributes. You can still 
5262         use the "font" and "font_desc" args, they just set all the font
5263         attributes at once.
5264
5265 2000-11-13 Elliot Lee <sopwith@redhat.com>
5266
5267         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
5268
5269 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
5270
5271         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
5272         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
5273
5274         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
5275         work better.
5276
5277 2000-11-13  Havoc Pennington  <hp@redhat.com>
5278
5279         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
5280         the module file.
5281
5282         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
5283         dest->language
5284
5285         * gtk/testtext.c: Test pixels above/below/inside paragraphs
5286         settings
5287
5288         * gtk/gtktextview.c: Implement object args and setters/getters for
5289         all the aspects of the GtkTextAttributes that are not set from
5290         GtkWidget attributes. This is spacing, justification, margins,
5291         etc.
5292
5293         (gtk_text_view_set_arg)
5294         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
5295         args
5296         (gtk_text_view_class_init): Add args for justify, left_margin,
5297         right_margin, indent, and tabs
5298         
5299
5300         * gtk/gtktextlayout.c (set_para_values): fix to display indent
5301         attribute properly
5302
5303         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
5304         replace with indent attribute
5305
5306         * gtk/gtktextlayout.c (set_para_values): multiply indent by
5307         PANGO_SCALE
5308
5309         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
5310         rearranging code to do that
5311         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
5312         i.e. don't subtract the top_margin first, just to keep
5313         all margin-futzing in one place.
5314
5315         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
5316
5317         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
5318         special case of last line, Pango now handles this itself.
5319         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
5320         Y coordinate
5321         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
5322         (find_display_line_above): wasn't moving the byte index as it
5323         iterated over lines, so always returned byte 0. Also, port to use
5324         PangoLayoutIter.
5325         (find_display_line_below): same problem as
5326         find_display_line_above. Also, port to use PangoLayoutIter.
5327
5328 2000-11-13  Alexander Larsson  <alexl@redhat.com>
5329
5330         * gdk/linux-fb/*.[ch]:
5331         Massive reindent to gtk+ standard. My hands hurt.
5332
5333         * gdk/linux-fb/gdkcolor-fb.c:
5334         Move GdkColorPrivateFB from inherited to windowing_data
5335
5336         * gdk/linux-fb/gdkcursor-fb.c:
5337         _gdk_cursor_new_from_pixmap made static
5338
5339         * gdk/linux-fb/gdkdnd-fb.c:
5340         GdkDragContextPrivate moved to windowing_data
5341
5342         * gdk/linux-fb/gdkdrawable-fb2.c:
5343         Removed endian.h, use glib endianness macros instead
5344         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
5345         and GDK_DRAWABLE_IMPL_FBDATA
5346
5347         * gdk/linux-fb/gdkfont-fb.c:
5348         Add empty gdk_font_load(). Needed for linking of Gtk+.
5349
5350         * gdk/linux-fb/gdkimage-fb.c:
5351         Removed endian.h, use glib endianness macros instead
5352         Moved GdkImagePrivateFB to windowing_data
5353         gdk_image_new_bitmap didn't always allocate enough
5354         memory.
5355
5356         * gdk/linux-fb/gdkinput-ps2.c:
5357         Added semi-working support for MS serial mice.
5358
5359         * gdk/linux-fb/gdkprivate-fb.h:
5360         s/GdkWindowPrivate/GdkWindowObject/
5361         Removed GdkWindowPrivate typedef
5362         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
5363         Removed GDK_DRAWABLE_P
5364         Move GdkColorPrivateFB from inherited to windowing_data
5365         Moved GdkImagePrivateFB to windowing_data
5366
5367         * gdk/linux-fb/gdkvisual-fb.c:
5368         Removed some unused debug code.
5369
5370         * gdk/linux-fb/gdkwindow-fb.c:
5371         Use stock cursors instead of including X headers.
5372         s/GdkWindowPrivate/GdkWindowObject/
5373
5374         * gdk/linux-fb/mitypes.h:
5375         Removed unused types.
5376
5377         * modules/linux-fb/basic.c:
5378         Use the pango fribidi wrappers.
5379
5380 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5381
5382         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
5383         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
5384         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
5385         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
5386         GEqualFunc where applicable.
5387         
5388         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
5389         pango_font_description_equal as changed in pango.
5390         
5391         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
5392
5393         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
5394
5395         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
5396
5397         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
5398
5399         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
5400
5401         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
5402
5403         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
5404         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
5405
5406         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
5407         gtk_rc_styles_compare -> gtk_rc_styles_equal.
5408
5409 2000-11-12  Havoc Pennington  <hp@pobox.com>
5410
5411         * demos/gtk-demo/Makefile.am (democodedir): change demo install
5412         dir to datadir/gtk+-2.0/demo
5413
5414         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
5415         sorts of text widget and Pango font bugs. Urgh.
5416
5417         * demos/gtk-demo/Makefile.am (demos): Add textview.c
5418
5419         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
5420         tree that you should double click to see the demo. Fix 
5421         types of variables to reflect changed return values from 
5422         GtkTreeStore and GtkTreeViewColumn constructors.
5423
5424         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
5425         newly-created buffer to prepare for GObject semantics
5426
5427         * gtk/testtext.c: don't leak the buffer with GObject semantics
5428
5429         * gtk/testtextbuffer.c: ditto
5430         
5431 2000-11-12  Havoc Pennington  <hp@pobox.com>
5432
5433         Rename this testgtk to gtk-demo to avoid confusion, and 
5434         install it so people can use it as a supplement to 
5435         the documentation.
5436         
5437         * demos/gtk-demo: Moved from demos/testgtk
5438
5439         * demos/testgtk: Removed
5440
5441         * configure.in: make Makefile in gtk-demo
5442         
5443         * demos/gtk-demo/Makefile.am: Install sample source to 
5444         datadir/gtk-demo (maybe there's a better place?), and 
5445         rename the binary to gtk-demo
5446         
5447         * demos/gtk-demo/main.c (load_file): Load installed sample
5448         source if source isn't found in pwd.
5449
5450 2000-11-09  Havoc Pennington  <hp@pobox.com>
5451
5452         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
5453         argument to set the char displayed when visibility == FALSE
5454         (gtk_entry_create_layout): If !entry->visible, replace 
5455         all chars with the "invisible char"
5456
5457         * gtk/testgtk.c: Test the invisible_char deal
5458         
5459 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
5460
5461         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
5462         can't get a native font in the right encoding.
5463
5464 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
5465
5466         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
5467         respectively.
5468
5469 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
5470
5471         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
5472         Fix warning when moving between paragraphs.
5473
5474         * gtk/gtkentry.[ch]: Change move => move_cursor, 
5475         delete => delete_from_cursor, insert => insert_at_cursor
5476
5477 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
5478
5479         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
5480
5481         * modules/input/imthai-broken.c: A Thai input method for use if
5482         Thai keys are really generating Latin1 keysyms.
5483
5484         * modules/input/Makefile.am: Build these.
5485
5486 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
5487
5488         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
5489         g_filename_{to,from}_utf8 now takes an extra parameter.
5490
5491         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
5492         strftime into UTF-8.
5493
5494         (column_from_x, gtk_calendar_paint_day_names): Support RTL
5495         calendars.
5496
5497         (gtk_calendar_paint_day_names): Draw day names in the right 
5498         place.
5499         
5500 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
5501
5502         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
5503         problem with using result of g_get_charset() backwards -
5504         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
5505
5506         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
5507         negative min_width/height and max_width/height to
5508         mean "requisition"; this allows setting a window
5509         to be user-resizable in only one direction easily.
5510
5511         * gtk/testgtk.c (create_main_window): Remove hard-coded
5512         usize - set a default size in the vertical direction.
5513
5514 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
5515
5516         * gtk/gtkrange.c: Add some missing casts. Support 
5517         2 and 3 button clicks on the arrows to mean 
5518         "move by pages" and "jump to end". (Like gtkspinbutton)
5519
5520 2000-11-12 Hans Breuer <Hans@Breuer.Org>
5521
5522         * gdk/win32/makefile.msc : reflect build module changes
5523
5524         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
5525         from GdkPixmap*, cast implementation member instead.
5526
5527         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
5528         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
5529         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
5530         more Gdi functions return value checking. 
5531         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
5532         GdkImagePrivateWin32 *.
5533
5534         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
5535         menus useable again. Add #pragma message to keep reminded on this issue.
5536         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
5537         windows. This allows to enable backing store on Win32!
5538
5539         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
5540         in drawable is of impl type. Correct specific type checks appropriate.
5541  
5542         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
5543         GDK_WINDOW_DESTROYED before allocating new resources.
5544
5545         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
5546
5547         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
5548         (gdk_window_foreign_new) initialize parent handle.
5549         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
5550
5551         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
5552         Let the GDI invalidate the window on MoveWindow call to fix scrolling
5553         problems (e.g. main buttons in testgtk). 
5554
5555 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
5556
5557         * gtk/gtkentry.c (gtk_entry_key_press): Call 
5558         gtk_widget_activate for GDK_Return.
5559
5560         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
5561         of preedit cursor position.
5562
5563 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
5564
5565         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
5566         static.
5567
5568 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
5569
5570         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
5571         out support for multiple locales; that simple doesn't
5572         work reliably with current Xlib
5573
5574         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
5575         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
5576         Add support for positioning the cursor within the preedit string.
5577
5578 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
5579
5580         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
5581         at XIM input method module.
5582
5583         * gtk/gtktextview.c: Check for bindings after passing
5584         events to im context filter.
5585
5586 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
5587
5588         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
5589         empty attribute lists properly.
5590
5591 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
5592
5593         * gtk/queryimmodules.c (main): Return non-zero exit
5594         status if errors were encountered querying any
5595         modules.
5596
5597         * modules/input/Makefile.am (moduledir): remove
5598         leftover bin program target.
5599
5600         * docs/make-todo: Fix typo in error message.
5601
5602 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
5603
5604         * configure.in: Add modules/input/Makefile
5605
5606 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
5607
5608         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
5609         don't include gtkthemes.h.
5610
5611         * gtk/testgtk.c gtk/testtext.c: Set environment variables
5612         to point
5613
5614         * gtk/Makefile.am: Add new .c and .h files, build 
5615         gtk-query-immodules and use it to create a gtk.immodules
5616         file for use of test programs.
5617
5618         * gtk/gtkpreview.c: remove extra blank line.
5619
5620 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
5621
5622         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
5623         Add the ability to add extra tables beyond the default
5624         one, and also the ability to have compose sequences 
5625         that are prefixes of other compose sequences. 
5626
5627         * gtk/gtkimcontextsimple.c: Export a preedit string which
5628         consists of possible candidates for keystrokes that have
5629         been entered but not yet committed.
5630
5631         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
5632         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
5633
5634         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
5635         Add a function to add input-method switching menu items
5636         to a menu.
5637
5638         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
5639         when switching input methods.
5640
5641         * gtk/gtkimcontextsimple.[ch]: Change the format of
5642         the compose table to allow compose tables of different
5643         lengths / sequence.
5644
5645 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
5646
5647         * gtk/gtkimmodule.[ch]: Support routines for loading
5648         GtkIMContext implementations dynamically at runtime.
5649
5650         * modules/input/imcyrillic-translit.c: A sample input
5651         method (based on GtkIMContextSimple with an extra table),
5652         which demonstrates preedit strings and the module
5653         system for input modules
5654
5655         * gtk/queryimmodules.c: Program to query the available
5656         input modules and write the results into a file.
5657          
5658         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
5659         extra config options "im_module_file" (cache file for
5660         input method modules), and "im_module_path" - path
5661         to look for modules when generating cache file.
5662
5663         This doesn't scale.
5664
5665 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
5666
5667         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
5668         generic code from gtkthemes into a new abstraction
5669         GtkModule which has the logic for implementing
5670         a loadable module which implements a number of 
5671         GObject types.
5672
5673 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
5674
5675         * gtk/gtkeditable.[ch]: Convert GtkEditable from
5676         a class into an interface  
5677         
5678         * gtk/gtkoldeditable.[ch]: Move the old editable
5679         implementation into here, so legacy widgets can
5680         still rely on the implemenation. GtkOldEditable
5681         exports GtkEditable. Make selection handling
5682         code use new text conversion functions (and
5683         handle UTF-8 as a side-effect). Use GtkClipboard
5684         for CLIPBOARD.
5685
5686         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
5687         Adopt to match above changes.
5688
5689         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
5690         avoid GtkOldEditable implementation. Restructure
5691         to reduce number of places that modify state directly.
5692         Move to GtkBindingSet. Display the preedit string.
5693         Queue recomputation of PangoLayout and scroll position
5694         to improve effiency of doing complex changes naively.
5695         Add a menu with cut/copy/paste and input method selection.
5696
5697 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
5698
5699         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
5700         to set preedit string and attributes; display preedit string by
5701         inserting string and attributes at cursor when creating the
5702         GtkTextLineDisplay.
5703
5704         * gtk/gtktextlayout.c: Move all conversions between byte
5705         positions in PangoLayout and GtkTextIter into new functions
5706         line_display_iter_to_index/index_to_iter that properly
5707         handle the preedit string.
5708
5709         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
5710         it to return const char * (eventually will end up
5711         as GCONST char *, most likely.)
5712
5713         * gtk/gtktextview.[ch]: Handle the preedit string, call
5714         gtk_im_context_reset() as necessary, add a menu to switch
5715         input methods.
5716         
5717         * gtk/gtktextlayout.[ch]: Remove useless
5718         gtk_text_layout_get_log_attrs() function.
5719
5720 2000-11-11  Tor Lillqvist  <tml@iki.fi>
5721
5722         * gdk/gdk.def
5723         * gtk/gtk.def: Update.
5724
5725         * gdk/win32/*.c: Add last argument to g_type_register_static()
5726         calls.
5727
5728         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
5729
5730         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
5731         generated by older wheel mouse drivers. Get the correct y
5732         coordinate from WM_MOUSEWHEEL messages.
5733
5734         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
5735         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
5736         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
5737         Debugging functions.
5738
5739         * gdk/win32/gdkprivate-win32.h: Declare them.
5740
5741         * gdk/win32/gdkinput-win32.h: Add declaration for
5742         gdk_input_window_destroy().
5743
5744         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
5745
5746 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
5747
5748         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
5749         function to help handle keeping things in sync.
5750
5751 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
5752
5753         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
5754         BOXED marshallers.
5755
5756         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
5757         (gtk_list_store_class_init): use the new BOXED marshallers.
5758
5759         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
5760         new_with_values to new_with_types.
5761         (gtk_tree_store_get_column_type): add this.
5762         (gtk_tree_store_class_init): use the new BOXED marshallers.
5763
5764         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
5765         mirror some POINTER marshallers.
5766
5767 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
5768
5769         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
5770         allow more interesting iterators.  Also, made the lifecycle of
5771         iterators more explicit.
5772
5773         * gtk/gtktreemodelsort.[ch]: New model for sorting.
5774
5775         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
5776         types.
5777
5778 2000-11-09  Alexander Larsson  <alexl@redhat.com>
5779
5780         * demos/testgtk/menus.c:
5781         Changes to make the new testgtk compile after
5782         gtk_menu_append was removed.
5783
5784         * gdk/linux-fb/gdkdrawable-fb2.c
5785         (gdk_fb_get_depth, gdk_fb_get_visual,
5786         gdk_drawable_impl_fb_class_init): Implement
5787         these drawable functions. Now GtkImages work again.
5788
5789         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
5790
5791         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
5792         
5793         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
5794         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
5795         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
5796         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
5797
5798 2000-11-08  Havoc Pennington  <hp@pobox.com>
5799
5800         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
5801         visible_set args, don't know where these had gone, I thought they
5802         used to be there
5803
5804         * gtk/testtext.c: Add a menu item to apply invisibility tag;
5805         now we can test the feature and see that it's totally broken.
5806
5807 2000-11-08  Havoc Pennington  <hp@pobox.com>
5808
5809         Make DND copy pixbufs and tags when source and target share a 
5810         tag table.
5811         
5812         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
5813         in-process GTK_TEXT_BUFFER_CONTENTS target
5814         (gtk_text_view_drag_data_received): Paste from
5815         GTK_TEXT_BUFFER_CONTENTS if we receive it.
5816
5817 2000-11-08  Alexander Larsson  <alexl@redhat.com>
5818
5819         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
5820         API changes.
5821
5822         * gtk/gtkmenu.c: Add support for scrolling menus.
5823         Remove gtk_menu_append/prepend/insert, these have been moved to
5824         gtkcompat.h as #defines.
5825
5826         * gtk/gtkcompat.h.in:
5827         Add compatibility #defines for gtk_menu_append/prepend/insert
5828
5829         * gtk/gtkmenu.h: Add data needed for scrolling menus.
5830         GtkMenuPositionFunc gets an extra argument push_in.
5831         gtk_menu_append/prepend/insert removed.
5832         
5833         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
5834         positioning behaviour to fit to scrolling menus.
5835
5836         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
5837         into menuitem->submeny. That is wrong, and broke torn
5838         off submenus of torn off menus, since they were unrealized
5839         when the first menu was unrealized.
5840
5841         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
5842         gtk_menu_shell_select_item() since these need to be overridden in
5843         GtkMenu.
5844
5845         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
5846         positioning behaviour to fit to scrolling menus.
5847         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
5848         the current item so that it is prelighted when the menu pops up.
5849         This is a workaround to the fact that the menu doesn't get the
5850         initial enter event (due to grabs).
5851
5852         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
5853         s/gtk_menu_append/gtk_menu_shell_append/
5854
5855         * gtk/gtknotebook.c:
5856         s/gtk_menu_insert/gtk_menu_shell_insert/
5857
5858         * gtk/testgtk.c (create_menu, create_menus):
5859         Create the first menu with 50 items so that menu scrolling
5860         can be tested.
5861         
5862         
5863         Patch from Jonathan Blandford  <jrb@redhat.com>
5864
5865         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
5866         system to handle size requests.  First, we ask what the size of
5867         the toggle is.  Then, when allocating the size, we allocate the
5868         toggle_size first.  This way we can have multiple menu-item
5869         classes w/o needing a seperate class for each.
5870
5871         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
5872         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
5873
5874         * gtk/gtkcheckmenuitem.c
5875         (gtk_check_menu_item_toggle_size_request): New function to handle
5876         the toggle size-request.
5877
5878 2000-11-07  Havoc Pennington  <hp@redhat.com>
5879
5880         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
5881         Half-ass somewhat fix this function, so that scrolling to the
5882         insertion point works. Pango hacking is in the future to really
5883         fix it.
5884
5885         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
5886         length of data, no longer used.
5887
5888         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
5889         method contents in here, get rid of destroy method
5890         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
5891         that were backward. Remove debug spew.
5892         (cut_or_copy): Make the clipboard work with insert_range to
5893         preserve tags and pixbufs, not just the primary selection.
5894
5895 2000-11-07  Havoc Pennington  <hp@redhat.com>
5896
5897         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
5898         to gtk_text_mark_get_visible
5899
5900         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
5901         bug that was generating an invalid iterator
5902
5903         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
5904         ensure_char_offsets() in front of code placing the iter in an
5905         invalid state.
5906
5907         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
5908         make override_location arg const
5909         (paste): Replace the selection if we paste into the 
5910         current selection
5911
5912         * gtk/gtkselection.h: Remove "GtkSelectioData"
5913         (struct _GtkSelectionData): move the definition here.
5914
5915         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
5916         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
5917
5918         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
5919
5920         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
5921         (gtk_text_buffer_insert_range_interactive): implement
5922         (gtk_text_buffer_get_tags): Remove, replaced by
5923         gtk_text_iter_get_tags()
5924
5925         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
5926         limit parameter, to avoid infinite linear scan.
5927         (gtk_text_iter_backward_search): Add search limit
5928         (gtk_text_iter_forward_find_char): Add search limit
5929         (gtk_text_iter_backward_find_char): Add search limit
5930
5931 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
5932
5933         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5934         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
5935         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
5936         gdk/linux-fb/gdkwindow-fb.c:
5937         use g_object_new() instead of g_type_create_instance() which
5938         is a private function for fundamental type implementations.
5939
5940         * gdk/linux-fb/gdkinput-ps2.c:
5941         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
5942         instead just store the current modifier state. Add a (somewhat broken)
5943         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
5944         Rename exported function gdk_input_ps2_get_mouseinfo to
5945         gdk_input_get_mouseinfo.
5946
5947         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
5948         gdk/linux-fb/gdkwindow-fb.c:
5949         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
5950         
5951
5952 2000-11-02  Havoc Pennington  <hp@redhat.com>
5953
5954         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
5955         use stock buttons. Should be 100% source compatible, appropriate
5956         filesel fields now point to dialog->vbox and dialog->action_area.
5957         On the bizarre side, dialog->action_area and filesel->action_area
5958         are not the same widget.
5959         (gtk_file_selection_init): Put some padding around the selection
5960         entry, so it isn't touching the GtkDialog separator.    
5961
5962         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
5963         use stock buttons, etc. Should also be source compatible.
5964         Set the dialog default title in _init not _new().
5965         
5966         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
5967         Use stock buttons; don't put a button box inside the existing
5968         dialog button box. Don't bother with push/pop colormap anymore.
5969
5970         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
5971         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
5972         for message dialog, and necessary for the font selection and color
5973         selection with help and apply buttons.
5974         
5975         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
5976         to the created button widget. Set GTK_CAN_DEFAULT on the button.
5977         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
5978         between buttons, put less padding around the action area.
5979         (gtk_dialog_run): Exit on unmap rather than on destroy. 
5980         This will also exit the loop if the widget is hidden.
5981         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
5982         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
5983         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
5984         special-case delete event.
5985
5986         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
5987         formatting
5988         
5989 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
5990
5991         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
5992         button to temporarily disable position recording in the
5993         "saved position" test.
5994
5995 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
5996
5997         * gtk/gtkthemes.c: added compat code that temporarily implements
5998         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
5999         going to be revamped by owen's upcoming GtkModule patches, but
6000         untill then people want gtk to build, right? ;)
6001
6002 2000-11-04  Havoc Pennington  <hp@pobox.com>
6003
6004         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
6005         list
6006
6007         * docs/Changes-2.0.txt: Add note about
6008         gtk_container_get_toplevels()
6009
6010         * gtk/gtktextview.h: formatting
6011         
6012         * gtk/gtktextview.c: don't start descriptions with "Returns",
6013         confuses gtk-doc
6014
6015 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
6016
6017         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
6018         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
6019
6020 2000-11-03  Havoc Pennington  <hp@redhat.com>
6021
6022         * gtk/gtktexttagtable.c: Docs
6023         (gtk_text_tag_table_size): return a signed int
6024
6025         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
6026         (gtk_text_tag_event): make the event_object a GObject
6027
6028         * gtk/gtktextview.c: Write API docs for all functions.
6029
6030         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
6031         for gtk_text_view_get_window_type() called on one of the private
6032         windows.
6033
6034         * gtk/gtktextview.c: Instead of accessing text_view->buffer
6035         directly, call get_buffer() which demand-creates a default
6036         buffer. So gtk_text_view_new() can be used to create a view with a
6037         default buffer in it, if you just want an empty text box users can
6038         put data in. Useful for GUI builders also.
6039
6040 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
6041
6042         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
6043         the charset encodign portion MUST be in lowercase.
6044         * gtk/gtkrc.az: added file for Azeri language
6045
6046 2000-11-03  Havoc Pennington  <hp@redhat.com>
6047
6048         Get widgets working on the btree/buffer side. Display of them 
6049         still doesn't work.
6050         
6051         * gtk/gtktextview.c: start implementing child widget stuff
6052
6053         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
6054
6055         * gtk/gtktextlayout.c: handle embedded widgets
6056
6057         * gtk/gtktextdisplay.c: handle embedded widgets
6058
6059         * gtk/gtktextchild.c: Implement all the child anchor goo
6060
6061         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
6062         function
6063
6064         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
6065         (insert_pixbuf_or_widget_segment): abstract out common portions of 
6066         creating a child anchor or a pixbuf segment.
6067         (gtk_text_btree_create_child_anchor): new function
6068         (gtk_text_btree_unregister_child_anchor): new function
6069
6070         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
6071         allocate_child signal on GtkTextLayout
6072
6073         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
6074         values
6075         (gtk_text_iter_get_child_anchor): new function
6076
6077         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
6078         default handler for the changed signal, which calls
6079         gtk_text_buffer_set_modified(), instead of just always emitting
6080         changed then calling set_modified() manually. I guess this is
6081         maybe more flexible. It seems logical.
6082
6083 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
6084
6085         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
6086         now.
6087
6088         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
6089
6090 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
6091
6092         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
6093         been marked static.
6094
6095 2000-11-02  Havoc Pennington  <hp@redhat.com>
6096
6097         * gtk/testgtk.c (create_labels): had a test backward
6098
6099         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
6100         fields, so the dest GC ends up with the correct clip origin, 
6101         etc. Fixes a bug where colored labels didn't redraw 
6102         properly.
6103
6104 2000-11-02  Alexander Larsson  <alexl@redhat.com>
6105
6106         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6107         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
6108         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
6109         Add last argument to t_type_register_static call.
6110         
6111         * gdk/linux-fb/gdkdrawable-fb2.c:
6112         Add last argument to t_type_register_static call.
6113         export the get_image drawable virtual function.
6114
6115         * gdk/linux-fb/gdkimage-fb.c:
6116         Add last argument to t_type_register_static call.
6117         rename gtk_image_get to _gdk_fb_get_image and
6118         export it for use by gdkdrawable-fb2.
6119
6120         * gdk/linux-fb/gdkprivate-fb.h:
6121         export _gdk_fb_get_image.
6122
6123         * gdk/linux-fb/gdkselection-fb.c:
6124         Add new api call stubs.
6125
6126         * gtk/Makefile.am:
6127         Missing ( in linux-fb part.
6128
6129         * modules/linux-fb/Makefile.am:
6130         Must link with gdk_pixbuf or get unresolved symbol.
6131
6132 2000-11-01  Havoc Pennington  <hp@pobox.com>
6133
6134         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
6135         GTK_TYPE_TEXT_ITER and BOXED marshallers
6136
6137         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
6138
6139         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
6140         
6141         * gtk/gtk-boxed.defs: add GtkTextIter
6142
6143         * gtk/gtkmarshal.list: Add marshallers for text widget that 
6144         properly use OBJECT and BOXED
6145
6146 2000-11-01  Havoc Pennington  <hp@redhat.com>
6147
6148         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
6149
6150         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
6151         before returning it. 
6152         
6153 2000-11-01  Havoc Pennington  <hp@redhat.com>
6154
6155         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6156         Clip the rectangle to be rendered to the drawable, since
6157         get_from_drawable() requires a region within the drawable
6158
6159 2000-11-01  Havoc Pennington  <hp@redhat.com>
6160
6161         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
6162         from coordinates.
6163
6164 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
6165
6166         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
6167         it isn't NULL.
6168
6169 2000-11-01  Havoc Pennington  <hp@pobox.com>
6170
6171         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
6172         on a label
6173         (gtk_label_finalize): unref the attr list if any.
6174
6175         * gtk/testgtk.c (create_get_image): close test on second click
6176         (make_message_dialog): close dialog if it exists
6177
6178         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
6179
6180         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
6181         gdk-pixbuf
6182
6183         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
6184         from Pango markup format
6185         (gtk_label_set_markup_with_accel): ditto but with accelerator
6186         parsing
6187
6188         * gtk/gtkimage.c (gtk_image_expose): reformatting.
6189
6190         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
6191         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
6192         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
6193         call gdk_window_get_origin().
6194
6195         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6196         implement GDK_PIXBUF_ALPHA_FULL
6197         
6198 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
6199
6200         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
6201         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
6202         g_signal_handlers_disconnect_matched to block/unblock and disconnect
6203         multiple handlers respectively, instead of only treating the
6204         first handler found (bug reported by owen).
6205
6206 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
6207
6208         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
6209
6210         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
6211
6212         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
6213         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
6214         gtk/gtktreeviewcolumn.h: Fixed inline docs.
6215
6216         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
6217         widget.  Needs writing someday.
6218
6219         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
6220         the docs.
6221
6222 2000-10-30  Havoc Pennington  <hp@redhat.com>
6223
6224         * gtk/gtktextview.h, gtk/gtktextview.c:
6225         Rename delete_at_cursor delete_from_cursor, and 
6226         move to move_cursor.
6227
6228 2000-10-30  Havoc Pennington  <hp@redhat.com>
6229
6230         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
6231         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
6232         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
6233         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
6234         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
6235         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
6236         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
6237         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
6238         gtktexttypes.h, gtktextview.c, gtktextview.h:
6239
6240         Massive reindentation and reformatting. Arg alignment and comments
6241         still need fixing in various places.
6242
6243 2000-10-30  Havoc Pennington  <hp@redhat.com>
6244
6245         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
6246         to be named insert_at_cursor and delete_at_cursor so C++ can
6247         handle them.
6248
6249 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6250
6251         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
6252         to get a double directory separator in case the home directory
6253         ends with one. This would cause trouble especially on Windows,
6254         where the path will be confused with the syntax for an an UNC
6255         (network share) path \\server\share\path.
6256         (gtk_rc_add_initial_default_files): Ditto.
6257
6258 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
6259
6260         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
6261
6262         * gtk/gtktextview.c: Use correct marshallers.
6263
6264 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
6265
6266         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
6267         use new iter stuff, and added all the appropriate signals et al.
6268
6269         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
6270         code is internal to gtk only.
6271
6272 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6273
6274         * gtk/gtk.def
6275         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
6276         glib-genmarshal etc.
6277
6278 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
6279
6280         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
6281         parallel builds.
6282
6283 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
6284
6285         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
6286
6287 2000-10-27  Robert Brady  <robert@suse.co.uk>
6288
6289         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
6290         en_GB (British), ia (Interlingua).
6291
6292 2000-10-26  Havoc Pennington  <hp@redhat.com>
6293
6294         * gtk/gtktextiter.c (my_strrstr): fix constness warning
6295
6296         Fixed output of:
6297         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
6298         
6299         * gtk/gtktextsegment.c (char_segment_new): rename
6300         (_char_segment_new_from_two_strings): rename
6301         (_toggle_segment_new): rename
6302         
6303         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
6304         (make_clipboard_widget): make it static
6305         (text_get_func): static
6306         (text_clear_func): static
6307
6308         * gtk/gtkcolorsel.c (adjustment_changed): make this function
6309         static
6310         (hex_changed): make it static
6311         (hsv_changed): make it static
6312         (opacity_entry_changed): make it static
6313
6314         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
6315         (toggle_segment_check_func): rename with _gtk
6316
6317         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
6318         (_widget_segment_new): rename
6319         (_widget_segment_add): rename
6320         (_widget_segment_remove): rename
6321         (_widget_segment_ref): rename
6322         (_widget_segment_unref): rename
6323
6324         * gtk/gtktextmark.c (_mark_segment_new): Rename
6325         _gtk_mark_segment_new   
6326
6327 2000-10-26  Havoc Pennington  <hp@redhat.com>
6328
6329         * gtk/gtkmarshal.list: add new marshallers used by the text widget
6330         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6331         types
6332
6333         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
6334         marshaller types
6335
6336         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
6337         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
6338         license on these files.
6339
6340         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
6341         work.
6342
6343         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
6344         runtime random number different for each tree, instead of 
6345         a constant I made up.
6346
6347 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
6348
6349         * gtk/Makefile.am: buncha cleanups, kludged build sources
6350         dependencies with a Makefile: oldest-source-stamp dependancy
6351         for the moment. automake is really fighting us here, with
6352         intentionally not allowing user-defined rules or dependancies
6353         prior to it's -include $(DEP_FILES) statement. sucks rocks!
6354
6355         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
6356         to public headers. tehy have a comment stating that they are
6357         "semi-public" aren't included by gtk.h and if enums popup there,
6358         they can be /*< skip >*/-ed.
6359
6360         * gtk/gtktextlayout.h: 
6361         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
6362         added LGPL... <SIGH>
6363
6364 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
6365
6366         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
6367         GtkTreeIter.  Added iterators everywhere.
6368
6369         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
6370
6371         * gtk/gtktreeviewselection.c: Changed to use the iterators.
6372
6373         * gtk/gtktreestore.c: Changed to use the iterators.
6374
6375         * gtk/gtkliststore.c: Commented out the code.  Will convert to
6376         iterators tomorrow.
6377
6378         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
6379         iterators tomorrow.
6380
6381         * gtk/treestoretest.c: Changed to use iterators.
6382
6383         * demos/testgtk/main.c: Moved to use the new iterator system.
6384
6385 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
6386
6387         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
6388         localization misbehaviour.
6389
6390         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
6391         a useless type without copy/free.
6392
6393         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
6394         of GTK_TYPE_CTREE_NODE.
6395
6396 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
6397
6398         * gtk/gtksignal.c:
6399         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
6400         applicable.
6401
6402         * gtk/gtk-boxed.defs (GtkSelectionData): specify
6403         gtk_selection_data_copy and gtk_selection_data_free
6404         do GtkSelectionData work as params in signals.
6405
6406 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
6407
6408         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
6409         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
6410         couldn't they at least give it a non-standard name?
6411         
6412         * gtk/gtktextlayout.c: arg! yet another implementation of
6413         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
6414
6415         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
6416         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
6417         home. now i know this _is_ a conspiracy.
6418
6419         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
6420         ::state-changed.
6421
6422         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
6423         (gtk_accel_group_create_add): marshaller signature fixups.
6424
6425         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
6426         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
6427
6428         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
6429         anymore.
6430
6431 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
6432
6433         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
6434         due to the signal system changes, it wouldn't build currently. to
6435         be fixed soon.
6436
6437         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
6438
6439         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
6440         so it needs gtk_marshal_VOID__ENUM() instead of
6441         gtk_marshal_NONE__UINT().
6442
6443         * gdk/gdk*.c: adapted type registration functions.
6444
6445         * gtk/gtkbindings.c:
6446         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
6447         gone.
6448
6449         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
6450
6451         * gtk/gtkobject.c:
6452         (gtk_object_destroy):
6453         (gtk_object_shutdown): fixed recursion guards. basically we have to
6454         catch the case where any of GObject.shutdown() or gtk_object_destroy()
6455         is called during ::destroy, and avoid recursion there.
6456
6457         * gtk/gtktypeutils.c:
6458         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
6459         boxed_copy/boxed_free. this needs a more general solution based on a
6460         publically installed code-generator utility.
6461
6462         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
6463         glib's gobject has support for that now.
6464         define GtkSignalMarshaller in terms of GSignalCMarshaller.
6465
6466 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
6467
6468         * gtk/gtksignal.[hc]:
6469         * gtk/gtkmarshal.[hc]:
6470         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
6471         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
6472         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
6473         care of that.
6474
6475         * *.c: marshaller name fixups.
6476
6477         * gtk/gtkmarshal.list: added a comment briefing the format.
6478
6479 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
6480
6481         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
6482         compatibility macros here now. more specifically, most of
6483         the API is preserved (yes, _most_, nonwithstanding the
6484         following exceptions listed, the API is stil lHUGE ;)
6485         things that got removed completely:
6486         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
6487         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
6488         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
6489         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
6490         gtk_signal_remove_emission_hook().
6491         non-functional functions variants:
6492         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
6493         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
6494         not supported anymore.
6495         (gtk_signal_compat_matched): new internal function to aid
6496         implementation of the compatibility macros, it  provides
6497         functionality to block/unblock/disconnect handlers based
6498         on func/data.
6499
6500         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
6501
6502         * *.c: adaptions to new type registration API signatures.
6503
6504 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
6505
6506         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
6507
6508 2000-10-25  Robert Brady  <robert@suse.co.uk>
6509
6510         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
6511         gdk_property_delete): If window == NULL, assume the root window.
6512         (restoring the behaviour that was in 1.2).
6513         
6514         * gtk/testtext.c (save_buffer): Allow creation of new files when
6515         saving.
6516
6517         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
6518         calls to read().
6519
6520 2000-10-25  Tor Lillqvist  <tml@iki.fi>
6521
6522         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
6523
6524         * gdk/win32/gdkdrawable-win32.c
6525         * gdk/win32/gdkimage-win32.c
6526         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
6527         X11 backend.
6528
6529         * gdk/win32/gdkcc-win32.c
6530         * gdk/win32/gdkcolor-win32.c
6531         * gdk/win32/gdkfont-win32.c
6532         * gdk/win32/gdkinput-win32.c
6533         * gdk/win32/gdkmain-win32.c
6534         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
6535
6536 2000-10-24  Havoc Pennington  <hp@redhat.com>
6537
6538         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
6539         it a static function
6540
6541         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
6542         redraw text when a tag is applied to it.
6543
6544         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
6545         (gtk_text_tag_affects_nonsize_appearance): private functions to
6546         see if a tag requires various kinds of redraw/layout to be queued
6547         up.
6548
6549         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
6550
6551         * gtk/testtext.c (fill_example_buffer): Put the cursor 
6552         at the start of the buffer, so search works by default
6553
6554         * gtk/gtktextiter.c (lines_match): init match_start always
6555
6556         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
6557         function, get iter at a line + a byte index
6558
6559         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
6560         to set byte position within a line
6561         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
6562
6563 2000-10-23  Havoc Pennington  <hp@redhat.com>
6564
6565         * gtk/testtext.c: Re-enable the "find" dialog
6566
6567         * gtk/testgtk.c: Add test for gdk_drawable_get_image
6568         
6569         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
6570         the arguments to gdk_draw_drawable were in the wrong order
6571         (gdk_window_paint_init_bg): This function was ignoring the
6572         init_region, instead of clipping to it, so the entire backing
6573         pixmap was cleared on every begin_paint()
6574         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
6575         was in here again, the loop kept using the same GtkWindowPaint
6576         over and over.
6577         (gdk_window_begin_paint_region): Fix a bug where we had two
6578         x_offset instead of x_offset and y_offset
6579
6580         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
6581         before we get the image.
6582         (gdk_draw_drawable): get the composite before we draw the drawable.
6583         (gdk_drawable_real_get_composite_drawable): default
6584         get_composite_drawable implementation that returns the drawable 
6585         itself
6586
6587         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
6588         get_composite_drawable virtual function
6589
6590         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
6591         list-walking bug
6592
6593         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
6594         make this work if the source drawable is a GdkDrawableImplX11
6595         instead of a public drawable type. This is really broken; the
6596         problem is that GdkDrawable needs a virtual method get_xid(), but
6597         of course that doesn't work in practice. Enter RTTI.
6598
6599         Also, improve mismatched depth message.
6600
6601         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
6602         GdkPixmap
6603
6604         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
6605         install _gdk_x11_get_image as our implementation of get_image
6606         
6607         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
6608         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
6609
6610         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
6611         gdk_drawable_get_image
6612
6613         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
6614
6615         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
6616         get_image
6617
6618         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
6619         trailing semicolon after for loop
6620
6621 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
6622
6623         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
6624         where font_desc for widget's context lagged widget's font_desc by
6625         one step.
6626
6627 2000-10-22  Tor Lillqvist  <tml@iki.fi>
6628
6629         * gdk/win32/gdkgc-win32.c
6630         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
6631
6632         * gtk/makefile.mingw.in
6633         * gtk/gtk.def: Updates.
6634
6635         * gtk/testgtk.c: sleep() is called _sleep in MS's C
6636         library.
6637
6638         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
6639
6640         * gtk/makefile.msc: Remove
6641
6642         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
6643
6644         * gtk/Makefile.am: Add it.
6645
6646         * configure.in: Generate it.
6647
6648         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
6649         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
6650         something even if not implemented, to satisfy picky MSVC.
6651
6652         Patches by Hans Breuer:
6653         
6654         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
6655         SetBkMode() and SetTextAlign() before calling
6656         pango_win32_render().
6657
6658         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
6659         Set hcliprgn to NULL after destroying it.
6660         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
6661
6662         * gdk/win32/gdkgeometry-win32.c
6663         (_gdk_windowing_window_queue_antiexpose): More effective
6664         implementation.
6665
6666         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
6667         depth as default, not the visual's.
6668
6669         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
6670         against empty title.
6671
6672         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
6673         IMAGE_PRIVATE_DATA.
6674
6675         * gdk/win32/gdkimage-win32.c: Use it.
6676
6677 2000-10-22  Robert Brady  <robert@suse.co.uk>
6678
6679         * configure.in: Check for bind_textdomain_codeset
6680
6681         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
6682         present, make use of it.
6683
6684         Add a translatable string "default:LTR" which, if translated
6685         to "default:RTL", will cause the default direction to be
6686         Right-to-Left.
6687
6688         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
6689         direction if marked as flippable.
6690
6691         * gtk/gtkhscale.c: Mark widget as flippable.
6692         
6693 2000-10-04  Havoc Pennington  <hp@redhat.com>
6694
6695         * gtk/testgtk.c (create_buttons): create some stock buttons
6696         with the default accel group
6697         (create_image): test some new GtkImage features
6698         (make_message_dialog): test GtkMessageDialog
6699         (create_modal_window): fix someone's bizzarro indentation
6700
6701         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
6702         GTK_WIN_POS_CENTER_ON_PARENT. 
6703         Add "destroy with parent" setting, which means the window goes
6704         away with its transient parent.
6705         (gtk_window_get_default_accel_group): get the default accel group
6706         for the window.
6707         (gtk_window_set_destroy_with_parent): set/unset destroy with
6708         parent flag
6709         (gtk_window_read_rcfiles): invalidate icon set caches
6710         after reloading rcfiles 
6711
6712         * gtk/gtkenums.h (GtkWindowPosition): add
6713         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
6714         on its parent window when the dialog is mapped for the first time.
6715
6716         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
6717         a simple message dialog class
6718         
6719         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
6720         handler to emit response signal, and maybe later it would
6721         honor a hide_on_delete flag - though that isn't there yet.
6722         Set border width on the vbox to 2, so we get some padding.      
6723         Use a button box for the action area.
6724         (gtk_dialog_key_press): synthesize a delete event if Esc
6725         is pressed and the GtkWidget key press handler didn't 
6726         handle the escape key.
6727         (gtk_dialog_new_with_buttons): new function creates a dialog
6728         with some default buttons in it.
6729         (gtk_dialog_add_action_widget): add an activatable widget
6730         as a button in the dialog - you can also add a non-activatable
6731         widget by accessing the action area directly.
6732         (gtk_dialog_add_button): add a simple button - stock ID or 
6733         label - to the action area
6734         (gtk_dialog_response): emit response signal
6735         (gtk_dialog_run): block waiting for the dialog, return 
6736         the response. Override normal delete_event behavior, so that 
6737         delete_event does nothing inside gtk_dialog_run().
6738
6739         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
6740         emitted when an action widget is clicked or the dialog gets
6741         delete_event
6742
6743         * gtk/gtk.h: add gtkmessagedialog.h
6744
6745         * gtk/Makefile.am: add gtkmessagedialog.[hc]
6746
6747 2000-10-18  Havoc Pennington  <hp@redhat.com>
6748
6749         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
6750         where any number of empty lines would get skipped
6751
6752         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
6753         edge.
6754
6755         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
6756         warning about invalid iterators (explain more thoroughly)
6757         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
6758
6759         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
6760         big
6761
6762         * demos/*.c: Add error handling
6763
6764         * gtk/gtktextbuffer.c: don't modify const iterators
6765
6766         * gtk/gdk-pixbuf-loader.c: Add full error handling here
6767
6768         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
6769         on file load
6770
6771         * gtk/gtkiconfactory.c: Update to reflect addition of error
6772         handling to gdk-pixbuf loaders
6773
6774 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
6775
6776         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
6777         move to new modularized testgtk.
6778
6779 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
6780
6781         * gtk/gtktreeview.c: Draw the arrows correctly.
6782
6783         * gtk/gtktreemodel.c: Added user docs.
6784
6785         * gtk/gtk.h: remove gtktreedatalist.h.
6786
6787         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
6788         parent when generating my type.
6789
6790         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
6791         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
6792
6793 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6794
6795         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
6796         GtkTreeModel from object to interface.
6797
6798 2000-10-16  Havoc Pennington  <hp@redhat.com>
6799
6800         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
6801         compilation
6802
6803 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6804
6805         * gtk/gtktreeselection.c: Add API documentation to all public
6806         functions.
6807
6808         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
6809         functions.
6810
6811 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
6812
6813         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
6814         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
6815         docs to all public functions.
6816
6817         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
6818         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
6819         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
6820         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
6821         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
6822         issue.
6823
6824 2000-10-14  Robert Brady  <robert@suse.co.uk>
6825
6826         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
6827
6828 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
6829
6830         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
6831         values other then G_TYPE_STRING.
6832         * gtk/gtktreeselection.c: Minor commenting updates.
6833         * gtk/gtktreeview.c: Format updates.
6834
6835 2000-10-09  Tor Lillqvist  <tml@iki.fi>
6836
6837         * README.win32: Update.
6838
6839         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
6840         lines that had been deleted by mistake (?).
6841
6842         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
6843         also the case fg==white and bg==black (but still not randomly
6844         coloured cursors). Thanks to Wolfgang Sourdeau.
6845
6846         * gdk/win32/*.c: Silence gcc -Wall.
6847
6848         * gtk/gtk.def: Add missing entry points.
6849
6850         Fixes by Hans Breuer:
6851
6852         * gdk/makefile.msc
6853         * gdk/win32/makefile.msc: Update.
6854
6855         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
6856         some MSVC thing, presumably), cause breakpoint on failures. Add
6857         GDK_NOR case. Call g_log_set_always_fatal.
6858
6859         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
6860         should be pased by reference.
6861         
6862         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
6863         
6864         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
6865
6866         * gdk/win32/gdkevents-win32.c
6867         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
6868
6869         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
6870         implementation object.
6871
6872         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
6873         not just windows.
6874         
6875         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
6876         Use the wrapper object.
6877         
6878 2000-10-06  Havoc Pennington  <hp@redhat.com>
6879
6880         * Makefile.am (SRC_SUBDIRS): contrib subdir
6881
6882         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
6883         so it can be used in Xlib version
6884
6885         * demos/testpixbuf.c (update_timeout): error checking from 1.0
6886         tree
6887
6888         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
6889         change from 1.0 tree that returns first frame of animation
6890         if the loaded file is an animation.
6891
6892         * contrib: add new directory to hold stuff that comes with GTK+
6893         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
6894         
6895         * configure.in: add contrib/*
6896
6897 2000-10-05  Havoc Pennington  <hp@redhat.com>
6898
6899         * demos/testpixbuf-save.c: add pixbuf save test
6900
6901         * demos/Makefile.am: add testpixbuf-save.c
6902
6903 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
6904
6905         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
6906         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
6907         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
6908         * gtk/gtktreeselection.[ch]: Replaced
6909         "node_selected"/"node_unselected" signal with "selection_changed"
6910         signal.
6911
6912 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6913
6914         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
6915         tree widget.
6916
6917 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6918
6919         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
6920         drawing.
6921
6922 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
6923
6924         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
6925         Move list pointer forwards before removing item from
6926         list. (Crash reported by Salmaso Raffaele)
6927
6928         * gdk/gdkwindow.h: Remove spurious trailing ,
6929
6930         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
6931         dependencies on uninstalled libraries, sorry folks.
6932
6933 2000-10-04  Havoc Pennington  <hp@redhat.com>
6934
6935         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
6936         gtk/gtkiconfactory.c: Fix copyrights    
6937
6938         * demos/testpixbuf.c: add inline pixbuf test
6939         
6940 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
6941
6942         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
6943         Add gdk_window_iconify.
6944
6945         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
6946         (gdk_window_set_geometry_hints): Add win_gravity
6947         to geometry structure.
6948
6949         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
6950         Implement _NET_WM_PING.
6951
6952         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
6953         Set _NET_WM_PID on the client leader.
6954
6955         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
6956         Handle UTF-8 better.
6957
6958         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
6959         UTF-8 better, set _NET_WM_NAME as well. Only set
6960         icon name if it hasn't previously been explicitely 
6961         set.
6962
6963 2000-10-03  Havoc Pennington  <hp@redhat.com>
6964
6965         * gtk/testtextbuffer.c: clean up trailing whitespace,
6966         add extensive tests for tag toggle iteration.
6967         
6968         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
6969         distance
6970
6971         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
6972         optimize case where the tag root is on level 1
6973         (gtk_text_line_previous_could_contain_tag): attempt to implement
6974         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
6975         functionality
6976
6977         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
6978         Implement this, though not very efficiently.
6979
6980         * gtk/gtktextiterprivate.h: reformat
6981
6982         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
6983         iterator
6984
6985         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
6986         this to properly revalidate the iterators.
6987
6988         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
6989         properly at the end of the line (and therefore on empty lines)
6990
6991         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
6992         maybe we should return a value...
6993
6994 2000-10-03  Tor Lillqvist  <tml@iki.fi>
6995
6996         * config.h.win32: Guard definition of alloca(). glib.h now handles
6997         that.
6998
6999         * gdk/gdk.def
7000         * gtk/gtk.def: Add new entry points.
7001
7002         Changes just to make GTK+ build without errors on Win32. No hope
7003         of it working in its current state, though...:
7004         
7005         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
7006         some functions from the X11 backend, just to make GTK+ build.
7007
7008         * gdk/makefile.mingw.in
7009         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
7010         number. Add new object files.
7011
7012         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
7013         GetMessageTime to get timestamp (where on X11 uses
7014         gdk_x11_get_server_time()).
7015
7016 2000-10-02  Havoc Pennington  <hp@pobox.com>
7017
7018         * gtk/gtktextview.c: text_window_* weren't static and should have
7019         been.
7020         Start work on child widgets; not yet complete, syncing to 
7021         office computer.
7022
7023         * gtk/gtktextchild.h: change this to contain a public interface,
7024         starting work on child interfaces.
7025         * gtk/gtktextchildprivate.h: move private interfaces here
7026
7027         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
7028
7029         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
7030         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
7031         gtk/gtktextmark.c: copyright notices
7032
7033         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
7034         internal functions      
7035
7036         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
7037         internal function
7038
7039         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
7040         Reformatting    
7041
7042 2000-09-30  Havoc Pennington  <hp@pobox.com>
7043
7044         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
7045         NULL start/end pointers
7046
7047         * gtk/gtktextbuffer.c: Write some docs
7048         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
7049         NULL, so you can just check whether there's a selection.        
7050
7051         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
7052         cleanup_line or segments_changed ourselves, it gets done 
7053         in unlink_segment
7054
7055         * gtk/gtktextmark.h:
7056         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
7057         
7058         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
7059
7060         * gtk/gtktextmark.c: delete some more old Tk cruft
7061
7062         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
7063         mark before removing it, so we can emit MARK_DELETED with a valid
7064         pointer.
7065         (gtk_text_buffer_mark_set): hold ref across signal emission
7066
7067         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
7068         whining about attempts to delete special marks
7069
7070         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
7071         underscore, since it's internal.
7072
7073         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
7074         now implemented in terms of iterators in gtktextiter.h
7075
7076         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
7077         New function, destructively sets contents of buffer. Also 
7078         a convenient way to clear the buffer by setting text to ""
7079
7080         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
7081         multiline string literal
7082
7083         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
7084         text changes.
7085
7086         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
7087         is not dereferenceable
7088         (gtk_text_iter_forward_lines): fix return value
7089
7090 2000-09-29  Havoc Pennington  <hp@redhat.com>
7091
7092         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
7093
7094         * gtk/gtktextview.c: Implement drag thresholding; change functions 
7095         that set border window size to have nicer name
7096         (gtk_text_view_mark_set_handler):  Fix this to have the 
7097         right signature.
7098
7099         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
7100
7101         * gtk/testtext.c: Update with API changes, put line numbers on 
7102         both sides.
7103         
7104         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
7105         with this
7106
7107         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
7108         pixbuf; delete a big block of #if 0 Tk code
7109
7110         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
7111         insert_pixmap with insert_pixbuf
7112
7113 2000-09-29  Martin Baulig  <baulig@suse.de>
7114
7115         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
7116         confusion with the GdkPixbuf of the GNOME 1.x platform.
7117
7118 2000-09-29  Havoc Pennington  <hp@pobox.com>
7119
7120         * gtk/gtktextview.c: Implement the side windows.
7121
7122         * gtk/testtext.c: Implement simple line numbering in the 
7123         left side window; seems to make scrolling sloooow. Oops.
7124         Also, cursor blink is for some reason causing redraws
7125         of the line numbers. Should investigate...
7126
7127 2000-09-28  Havoc Pennington  <hp@redhat.com>
7128
7129         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
7130         scrolling child windows, and draw focus rectangle properly.
7131         
7132         (gtk_text_view_buffer_to_window_coords):
7133         Coordinate transformation to deal with all these freaking windows
7134         and offsets
7135         (gtk_text_view_window_to_buffer_coords): transform the other way
7136
7137         * gtk/testtext.c (create_buffer): Update to match Pango API change
7138
7139         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
7140         anonymous tags
7141         (foreach_unref): don't emit remove signal from finalize, just
7142         set tag's parent to NULL
7143
7144 2000-09-26  Havoc Pennington  <hp@redhat.com>
7145
7146         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
7147         Fix some warnings       
7148
7149 2000-09-26  Havoc Pennington  <hp@redhat.com>
7150
7151         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
7152         headers into the private header list
7153
7154         * Makefile.am (pkgconfig_DATA): install pkg-config files
7155
7156         * configure.in: add pkg-config files
7157
7158         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
7159
7160         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
7161         outstanding icon caches on theme change.
7162
7163         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
7164         important types:
7165
7166         (GtkIconSource): Specification for creating a pixbuf 
7167         appropriate for a direction/state/size triplet from 
7168         a source pixbuf or filename
7169
7170         (GtkIconSet): List of GtkIconSource objects that are used to
7171         create the "same" icon (e.g. an OK button icon), and cache for
7172         rendered icons
7173
7174         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
7175         up the icon set for a given stock ID.  GTK maintains a stack of
7176         GtkIconFactory to search, and applications or libraries can add
7177         additional icon factories on top of the stack
7178         
7179         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
7180         the set of GtkIconSource specified for a given stock ID into 
7181         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
7182         RcStyle, under the specified stock ID.
7183
7184         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
7185         render_icon used to derive a GdkPixbuf from a GtkIconSource.
7186         This allows people to theme how prelight, insensitive, etc. are
7187         done.
7188
7189         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
7190         icon factories for a style, and return the resulting 
7191         icon set if any.
7192
7193         (gtk_style_render_icon): Render an icon using the render_icon 
7194         method in the GtkStyleClass.
7195
7196         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
7197         Use the style for a given widget to look up a stock ID, get the
7198         icon set, and render an icon using the render_icon method 
7199         of the style
7200
7201         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
7202         (contains information about a stock item), the built-in stock item
7203         IDs, and functions to add/lookup stock items.
7204
7205         * gtk/stock-icons/*: Stock icons that come with GTK
7206
7207         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
7208         a button based on a GtkStockItem
7209         (gtk_button_new_accel): Takes a uline string and accel group, and
7210         installs the accelerator.
7211
7212         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
7213         image-display widget.
7214
7215 2000-09-25  Havoc Pennington  <hp@redhat.com>
7216
7217         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
7218
7219         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
7220         Fix a bug when removing node data, we didn't properly 
7221         re-splice the linked list after removing the data.
7222
7223         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
7224         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
7225
7226         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
7227
7228         * gtk/gtktextlayout.c (set_para_values): Set tab array 
7229         for the layout from the GtkTextTag.
7230
7231         * gtk/gtktexttypes.h: delete tab and search cruft, 
7232         remove g_convert() in favor of GLib version
7233
7234         * gtk/gtktexttypes.c: remove tab implementation from here,
7235         move to Pango
7236
7237         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
7238         tab stuff using new PangoTabArray from Pango
7239
7240         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
7241         unused border_width stuff
7242
7243 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
7244
7245         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
7246         glib) and now useless utf_to_latin1() latin1_to_utf()
7247
7248         * gtk/gtktextview.[ch]: Change ::move_insert and
7249         ::delete_text action signals to ::move and ::delete;
7250         create the signals with the right enumeration type,
7251         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
7252         C-v bindings, change Home, End to move to beginning/end
7253         of line, Add C-Home C-End to move to beginning/end
7254         of buffer. Change ::cut_text to ::cut_clipboard, etc;
7255         combine ::scroll_text into ::move; use new GtkSelectionData
7256         functions to simplify DND text handling.
7257         
7258         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
7259         deletion enumerations here, rename enumeration values to 
7260         be consistently plural.
7261
7262         * gtk/gtktextbuffer.c: Use new clipboard interfaces
7263         for cut/copy/paste and primary selection.
7264
7265         * gtk/gtktextbuffer.[ch]: Remove excess time and
7266         'interactive' arguments from cut/copy/paste;
7267         rename cut to cut_clipboard, etc; remove
7268         gtk_text_buffer_get_clipboard_contents().
7269
7270         * gtk/gtktextlayout.[ch]: Add 
7271         gtk_text_layout_move_iter_to_line_end() to move the iter to 
7272         line ends.
7273
7274         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
7275         Functions to set or get a UTF-8 string on the selection
7276         data.
7277
7278         * gtk/gtkclipboard.[ch]: New, simplified selection handling
7279         interfaces.
7280
7281         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
7282         created widgets - one of these is useless if we don't.
7283
7284         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
7285         a public function clear all targets registered for the
7286         widget.
7287
7288         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
7289         Never call gtk_widget_realize() - that was just asking
7290         for bizarre side-effects.
7291
7292         * gtk/gtkselection.c (gtk_selection_owner_set): Call
7293         gdk_selection_owner_set even if the widget is the
7294         same so that we reliably update the timestamp on
7295         the server.
7296
7297         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
7298         gdk_x11_get_server_time() function.
7299         
7300         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
7301         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
7302         Add some tricky filtering on serial numbers for
7303         selection clear events to fix up long-standard
7304         race condition FIXME's in gtkselection.c.
7305
7306         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
7307         routines to convert from utf8 to compound text or
7308         STRING and from a text property to UTF-8.
7309
7310         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
7311         a convenience function gdk_get_current_event_time().
7312
7313         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
7314         and free selection_data->data properly
7315
7316 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
7317
7318         * gtk/gtkthemes.c: Remove some unecessary includes.
7319
7320 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
7321
7322         * gtk/gtktextdisplay.c
7323         * gtk/gtktextlayout.c
7324         * gtk/gtktexttag.c
7325         * gtk/gtktexttag.h
7326         * gtk/testtext.c: Change the overstrike property to strikethrough,
7327         to closer match pango.
7328
7329 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
7330
7331         * gtk/gtktextview.c: Fix up visibility so that focus,
7332         cursor_visible and blink interact properly.  Reenable cursor blink
7333         which had been roughly disabled. Make blink and focus
7334         properly per-view.
7335
7336         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
7337         Add a flag for whether to display insertion cursor and
7338         a function to set the flag.
7339
7340         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
7341         get_line_y() to get_line_yrange(), to be a bit more generally
7342         useful.
7343
7344 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
7345
7346         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
7347           do stop_navigating_submenu, to clear last timeout properly.
7348           Also in gtk_menu_motion_notify move ignore_enter above
7349           the conditional to make it always happen as suggested by Owen
7350
7351 2000-09-07  Tor Lillqvist  <tml@iki.fi>
7352
7353         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
7354
7355         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
7356         w32api headers.
7357
7358         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
7359         declarations.
7360
7361         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
7362         (gdk_win32_get_colormap): A line had been deleted by mistake.
7363
7364         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
7365         (gdk_event_translate): Handle more virtual keycodes to be able to
7366         generate GDK events for Control-comma, Control-period, etc.
7367
7368         * gtk/gtk.def: Add some missing entry points.
7369
7370 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
7371
7372         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
7373         Doc comment fixing. (Mostly non-matching parameter names.)
7374
7375         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
7376         comments a little to avoid looking like a doc comment.
7377
7378         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
7379         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
7380         conversions be changed to GError?)
7381
7382         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
7383         Move private #defines into .c file.
7384
7385         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
7386         order of argument addition, remove duplicates.
7387
7388         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
7389         parent class is FrameClass, not BinClass.
7390
7391         * gtk/gtk.h: Add gtkinvisible, which was missing.
7392         (It's occasionalyl useful for client apps, if seldom.)
7393
7394         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
7395         #define.
7396
7397 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
7398
7399         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
7400         coordinates when creating window, instead of GDK-space
7401         coordinates. (Avoid BadValue on too large windows.)
7402
7403 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7404
7405         * configure.in (use_mmx_asm): Remove conftest* after use along the
7406         lines of AC_TRY_COMPILE.        
7407         
7408         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
7409         of g_dirname, which is deprecated.
7410         (gtk_rc_parse_any): Removed calls to
7411         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
7412
7413         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
7414         Removed calls to g_hash_table_{freeze,thaw}, as they are
7415         deprecated now.
7416
7417         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
7418         instead of g_basename.
7419         
7420 2000-09-04 Elliot Lee <sopwith@redhat.com>
7421         
7422         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
7423         ANSI warning.
7424
7425 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
7426
7427         * gtk/gtkwidget.h:  Add some documenting comments about 
7428           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
7429           just as owen said on irc.
7430
7431         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
7432           set HAS_DEFAULT.  Only set it if there isn't another window
7433           holding it (a focus window which RECEIVES_DEFAULT) and only unset
7434           it if the widget is not the focused window with RECEIVES_DEFAULT.
7435           This fixes weird double default bugs in dialogs which has things
7436           call gtk_window_set_default at times.
7437
7438 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
7439
7440         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
7441         Nils Barth and David Santiago to improve submenu
7442         navigation. The patch does this by creating a triangular
7443         region from the point where the pointer leaves the
7444         menu to the submenu.  While the pointer is in
7445         that region and a timeout has not expired, events 
7446         that would cause the active submenu to change are
7447         ignored.
7448
7449 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
7450
7451         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
7452         moving a toplevel window immediately after sizing it would
7453         result in it being sized back to the old size since 
7454         impl->width, impl->height aren't updated until we hear
7455         back from the server. There is still a (longstanding) bug
7456         here that gdk_window_get_size() will give the wrong size
7457         until we do hear back.
7458
7459 2000-08-31  Havoc Pennington  <hp@redhat.com>
7460
7461         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
7462         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
7463         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
7464         Rename GtkTextStyleValues to GtkTextAttributes
7465
7466 2000-08-31  Havoc Pennington  <hp@pobox.com>
7467
7468         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
7469         for rapid testing whether an iterator is the end iterator
7470         (gtk_text_btree_new): init end line cache
7471         (gtk_text_line_is_last): use fast cached line to 
7472         see if we're the last line.
7473         (get_last_line): use cached line here too, should 
7474         speed up some random unrelated code.
7475         
7476 2000-08-30  Havoc Pennington  <hp@pobox.com>
7477
7478         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
7479         signals.
7480
7481         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
7482         delete_text signals. This allows the signals to be used for
7483         implementing undo.
7484
7485         * gtk/gtktextbuffer.c: Change signal handler signatures; 
7486         provide "interactive" argument when emitting insert_text or
7487         delete_text signal.
7488         
7489 2000-08-30  Havoc Pennington  <hp@pobox.com>
7490
7491         * gtk/gtktextbuffer.c: Docs
7492
7493 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
7494
7495         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
7496         from switch statements, since Tor removed the enumeration
7497         value.
7498         
7499         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7500         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
7501
7502 2000-08-29 Elliot Lee <sopwith@redhat.com>
7503         * */*.h: Use G_GNUC_CONST.
7504
7505 2000-08-27  Havoc Pennington  <hp@pobox.com>
7506
7507         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
7508         minor indentation fixes, inserted some FIXME about stuff I
7509         realized was broken while documenting it.
7510         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
7511         GTK convention  
7512
7513 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
7514
7515         * gtk/testgtk.c (create_styles): Fix double free of
7516         font desc.
7517
7518 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7519
7520         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
7521         
7522         * gtk/testgtk.c (create_styles): Add a test for modifying
7523         the style through gtk_widget_modify_*.
7524
7525         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
7526         a function to get the current modifier style.
7527
7528         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
7529         of the passed in GtkRcStyle instead of ref'ing it.
7530
7531         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
7532
7533 2000-08-20  Tor Lillqvist  <tml@iki.fi>
7534
7535         * gdk/gdkimage.h
7536         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
7537         shared memory image+pixmap GdkImage type, or
7538         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
7539         I am dropping that.
7540
7541         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
7542         actually call gtk_init_abi_check(), passing also
7543         sizeof(GtkWindow). Ditto for gtk_init_check(). 
7544
7545         * gtk/gtk.def
7546         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
7547         New functions, used to check that the GTK+-using code has been
7548         compiled using the correct compiler and switches. In particular,
7549         with gcc one has to use the -fnative-struct switch as GTK+ is
7550         compiled with that.
7551
7552 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
7553
7554         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
7555         ->prev fields when merging lists. (Found simultaneously
7556         by Pawel Salek and Jakub Jelinek)
7557
7558 2000-08-12  Tor Lillqvist  <tml@iki.fi>
7559
7560         * gdk/gdk.def
7561         * gtk/gtk.def: Add missing entries.
7562
7563         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
7564         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
7565
7566         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
7567         function. Dummy implementation at this point.
7568
7569         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
7570         rules. Undefine GTK_COMPILATION when compiling the test programs.
7571         
7572         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
7573
7574 2000-08-11  Tor Lillqvist  <tml@iki.fi>
7575
7576         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
7577         to convert back and forth from UTF-8 and the "system" (or "current
7578         locale") charset when necessary. Indentation/spacing cleanup.
7579
7580 2000-08-10  Havoc Pennington  <hp@redhat.com>
7581
7582         * Makefile.am (snapshot): Change the format of the snapshot
7583         version to match glib
7584
7585         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
7586         from EXTRA_DIST since it doesn't seem to exist
7587
7588 2000-08-10  Tor Lillqvist  <tml@iki.fi>
7589
7590         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
7591         version of the directory name (not the UTF-8 one) when building
7592         the path name to stat().
7593
7594 2000-08-03  Elliot Lee  <sopwith@redhat.com>
7595
7596         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
7597         PANGO_ATTR_SHAPE set.
7598
7599 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
7600
7601         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
7602         Peter Osterlund to simplify the code while keeping the
7603         functionality the same.
7604
7605 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
7606
7607         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
7608         is_viewable() test further inside the function, since removing the 
7609         window from the redraw list without clearing ->update_area
7610         was also very broken.
7611
7612 2000-08-02  Tor Lillqvist  <tml@iki.fi>
7613
7614         * configure.in: Check for <unistd.h>.
7615
7616 2000-08-01  Martin Baulig  <baulig@suse.de>
7617
7618         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
7619         to display the message that this is a development version of GTK+.
7620
7621 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
7622
7623         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
7624         was depending on widget->allocation instead of the width of text_area,
7625         which was incorrect for subclasses like GtkSpinButton.
7626
7627         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
7628         with width == 1 tests that should be width == -1.
7629
7630 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
7631
7632         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
7633         (broken, Elliot, every single window blank on X) custom code with call
7634         to gdk_window_is_viewable() which a) prevents code duplicate and
7635         b) works. 
7636
7637 2000-07-31  Elliot Lee  <sopwith@redhat.com>
7638
7639         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
7640         to get the GDK_PARENT_ROOT() macro to work.
7641         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
7642         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
7643         of, windows that aren't shown.
7644         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
7645         pointer grab stuff.
7646
7647 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
7648
7649         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
7650           s/gtk_main_iteration/g_main_iteration/
7651
7652           Did this already in change:
7653                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
7654           don't know how it got reverted.
7655
7656 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
7657
7658         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
7659         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
7660
7661         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
7662         not gdk_pixbuf.
7663
7664 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
7665
7666         * configure.in,po/{sp,sr}.po: Added Serbian files
7667
7668 2000-07-30  Tor Lillqvist  <tml@iki.fi>
7669
7670         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
7671
7672         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
7673         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
7674         GIOChannel implementation.
7675
7676         * gdk/win32/gdkinput.c
7677         * gdk/win32/gdkpango-win32.c: Update license name here, too.
7678
7679         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
7680         definition to match prototype.
7681
7682         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
7683
7684 2000-07-27  Elliot Lee  <sopwith@redhat.com>
7685
7686         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
7687         function, to allow handling image formats that cannot be detected
7688         by looking at content alone.
7689
7690 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
7691
7692         * docs/tutorial/*.gif *.jpg *.eps
7693           Update these to the same look-n-feel.
7694           Why does including images in DocBook suck so badly?
7695
7696 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
7697
7698         * gtk/gtktable.c: applied patch from Phil Thompson
7699         <phil@river-bank.demon.co.uk> that enables space settings for
7700         the last row/columns as well.
7701
7702 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
7703
7704         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
7705         updates the license headers to the GNU Lesser General Public License,
7706         as well as updating the copyright year to 2000.
7707
7708 2000-07-26  Robert Brady  <rwb197@zepler.org>
7709
7710         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
7711           and po/Makefile, was installing and looking for them under gtk20
7712           and gtk2 respectively.
7713
7714 2000-07-25  Havoc Pennington  <hp@redhat.com>
7715
7716         * gtk/testtext.c: Comment out some stuff that depends on the rest
7717         of my patches.
7718
7719 2000-07-25  Havoc Pennington  <hp@redhat.com>
7720
7721         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
7722         buffer
7723
7724 2000-07-25  Havoc Pennington  <hp@redhat.com>
7725
7726         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
7727         widget changes.
7728
7729         * gtk/gtktextview.h: To be consistent with usage of "line"
7730         throughout the API to mean "newline-terminated thingy", change
7731         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
7732         to MOVEMENT_LINE.
7733
7734         (GtkTextView): Add flags for default editability, and whether to
7735         show the cursor. Add functions to get/set that. Add 
7736
7737         (gtk_text_view_get_iter_location): new function
7738
7739         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
7740         gtktextlayout.h
7741         (g_convert): Add g_convert temporarily, will go in glib in a bit
7742         
7743         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
7744         GtkTextTagTableForeach instead of brokenly using GHFunc.
7745         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
7746
7747         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
7748         moved to public header.
7749
7750         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
7751         "invisible", since "elide" was a bad name.
7752         (gtk_text_tag_get_priority): Added
7753
7754         (GtkTextStyleValues): put this in public header, along with
7755         functions to use it.
7756
7757         * gtk/gtktextmarkprivate.h: Include more headers, since we no
7758         longer include gtktextbtree.h.
7759
7760         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
7761         gtk_text_mark_deleted
7762
7763         * gtk/gtktextlayout.h: Don't include the "really private" headers,
7764         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
7765         to make this possible. Now we only need to install
7766         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
7767         (However the Makefile.am isn't changed yet because of the
7768         logistics of merging gtk-hp-patches piecemeal)
7769
7770         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
7771         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
7772         gtk_text_iter_get_line is now used in the public API for a
7773         different purpose.
7774
7775         * gtk/gtktextiter.h: Clean up function names to be more
7776         consistent. Always call char offset "offset" and byte index
7777         "index". A "line" is always a line number. 
7778
7779         (gtk_text_iter_is_last): new function, more efficient than 
7780         the existing way to check
7781         (gtk_text_iter_is_first): new function, also more efficient
7782
7783         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
7784
7785         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
7786         gtk_text_iter_forward_char, etc.
7787
7788         (gtk_text_iter_forward_to_tag_toggle): Renamed from
7789         forward_find_tag_toggle, since this isn't a linear search
7790
7791         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
7792
7793         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
7794         New functions, search for a buffer substring.
7795
7796         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
7797         interactive and default editable (since we need to store that info
7798         until we receive the selection data).
7799
7800         Remove all the _at_char and at_line etc. versions of functions;
7801         only have iterator versions.
7802
7803         Add _interactive() versions of functions, that consider the
7804         editability of text. (FIXME add interactive flag to the 
7805         insert/delete signals per Darin's suggestion)
7806
7807         (gtk_text_buffer_get_tag_table): new function, demand-creates the
7808         tag table if necessary
7809
7810         Remove declaration of gtk_text_buffer_get_iter_from_string
7811
7812         (_gtk_text_buffer_get_btree): private/internal function, added.
7813         
7814
7815         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
7816         (gtk_text_line_is_last): new function
7817
7818 2000-07-25  Havoc Pennington  <hp@redhat.com>
7819
7820         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
7821         using GtkProgressBar. See Changes-2.0.txt for details.
7822
7823         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
7824         "pulse_step" which are the equivalent of
7825         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
7826         Implement new API.
7827         
7828         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
7829         (use_text_format) to mark whether text set on the progress bar is
7830         a format string. Deprecate entire GtkProgress interface.
7831
7832         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
7833         (gtk_progress_build_string): make this a no-op if use_text_format
7834         is FALSE
7835
7836         * docs/Changes-2.0.txt: Describe progress bar changes.
7837
7838 2000-07-25  Tor Lillqvist  <tml@iki.fi>
7839
7840         * Makefile.am: Include the build directory.
7841
7842         * configure.in: Generate build/Makefile, build/win32/Makefile,
7843         gdk/, gdk/win32/, and gtk/makefile.mingw.
7844
7845         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
7846         Add GETTEXT_PACKAGE.
7847         
7848         * gdk/gdk.def
7849         * gtk/gtk.def: Updates.
7850
7851         * gdk/gdkfont.h
7852         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
7853         need them any longer.
7854
7855         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
7856
7857         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
7858         PANGOWIN32_LIBS and gdk_pixbuf.
7859
7860         * gdk/win32: Compiles, but no doubt doesn't work at all.
7861
7862         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
7863
7864         * gdk/win32/gdkinput.c: New file, temporarily.
7865         
7866         * gdk/win32/gdkinput-win32.h: New file
7867
7868         * gdk/win32/gdkinputprivate.h: Remove.
7869
7870         * gdk/win32/gdkpango-win32.c: New file.
7871
7872         * gtk/makefile.mingw.in: New file
7873
7874         * gtk/makefile.cygwin: Removed
7875         
7876         * gtk/Makefile.am: Update accordingly.
7877
7878         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
7879         made externally visible.
7880
7881         * gtk/gtkmain.c: Use it.
7882         
7883         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
7884         is enough.
7885
7886         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
7887
7888 2000-07-24 Elliot Lee <sopwith@redhat.com>
7889         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
7890         individual backends already.
7891         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
7892         again. Yes, there really is a good reason for this, if you are using the gdkregion
7893         internals, and if you're not, why do you care?
7894         * gdk/gdkwindow.c: Fix inverted condition
7895         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
7896         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
7897         * gtk/gtkrange.c: Redraw trough when moving.
7898         * gtk/gtktypeutils.c: Fix warning by adding const cast.
7899         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
7900
7901 2000-07-23  Tor Lillqvist  <tml@iki.fi>
7902
7903         * configure.in: Check for mkstemp and sigsetjmp. Output
7904         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
7905
7906         More work on GDK for Win32. Still in an intermediate state.
7907
7908         * gdk/makefile.cygwin
7909         * gdk/win32/makefile.cygwin: Removed.
7910         
7911         * gdk/makefile.mingw.in
7912         * gdk/win32/makefile.mingw.in: New files.
7913
7914         * gdk/Makefile.am
7915         * gdk/win32/Makefile.am: Generate and distribute them.
7916
7917         * gdk/win32/gdkwindow-win32.h
7918         * gdk/win32/gdkdrawable-win32.h
7919         * gdk/win32/gdkpixmap-win32.h: New files.
7920
7921         * gdk/win32/gdkcolor-win32.c
7922         * gdk/win32/gdkcursor-win32.c
7923         * gdk/win32/gdkdrawable-win32.c
7924         * gdk/win32/gdkgc-win32.c
7925         * gdk/win32/gdkimage-win32.c
7926         * gdk/win32/gdkprivate-win32.h
7927         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
7928         Rename fields and variables called xcursor, xid, etc (these names
7929         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
7930
7931 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
7932
7933         * gtk/gtkentry.[ch]: Fix some problems with vertical
7934         alignment.
7935
7936         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
7937         char/byte confusion.
7938
7939 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
7940
7941         * gtk/gtktextview.c (changed_handler): Fix bug where
7942         redraw wasn't being done properly when height of
7943         dirty region changed.
7944
7945         * demos/Makefile.am: Remove various references to
7946         -lgmodule
7947
7948 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
7949
7950         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
7951         PangoAttrShape to reserve space for pixmaps, add 
7952         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
7953         in the display functions.
7954         
7955         * gtk/testgtk.c (create_layout): Set some more exotic
7956         scrolled window options
7957
7958         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
7959         Add function to set the shadow type of a window, to allow
7960         putting a shadow around widgets such as GtkLayout or GnomeCanvas
7961         which don't draw their own frame.
7962
7963 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
7964
7965         * docs/tutorial/package-db-tutorial.sh: New file for
7966           packaging DocBook format tutorial
7967
7968 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
7969
7970         * docs/tutorial/gtk-tut.sgml: Minor updates
7971
7972         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
7973
7974 2000-07-19  Tor Lillqvist  <tml@iki.fi>
7975
7976         * gtk/gtksignal.c: Fix C++ comment.
7977
7978         * gtk/gtkimmulticontext.c
7979         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
7980         don't return value from void functions.
7981
7982         * gtk/gtk.def: Add gtk_rc_style_unref.
7983
7984 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7985
7986         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
7987         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
7988         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
7989         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
7990         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
7991         gtk/gtktypeutils.h: Include files outside of the extern "C"
7992         block. Makes some C++ compiler happy. Reported by Denis Vakatov
7993         <vakatov@peony.nlm.nih.gov>.
7994
7995 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
7996
7997         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
7998           Completes first pass. Hurrah!
7999
8000 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
8001
8002         * docs/tutorial/gtk-tut.sgml: More clean ups.
8003
8004 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
8005
8006         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
8007         paint the background of the text area which was accidentally
8008         removed at some point.
8009
8010         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
8011           
8012          - Move most of the functionality from the theme vtable
8013            into GtkRcStyleClass and GtkStyleClass. The moved
8014            vtable functions were changed a bit in the move to
8015            work better in their new home.
8016
8017          - Get rid of the engine and engine_data fields from
8018            GtkRcStyle and GtkStyle; instead the theme
8019            engine derives theme-specific subclasses of GtkRcStyle
8020            and GtkStyle
8021
8022          - Add extra dlsym() found entry point to themes,
8023            theme_create_rc_style().
8024
8025         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
8026         in gtk_style_real_copy.
8027
8028         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
8029         to register a type associated with an engine. (The engine
8030         won't be unloaded as there is an instance of the type.)
8031
8032
8033 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
8034
8035         * docs/tutorial/gtk-tut.sgml: Clean ups.
8036
8037 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
8038
8039         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
8040           of cleaning up to do.
8041
8042 2000-07-15  Tor Lillqvist  <tml@iki.fi>
8043
8044         * gdk/testgdk.c: New file, quick hack to test backends for
8045         pixel-by-pixel correctness of the most simple graphic operations.
8046
8047 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
8048
8049         * Really release 1.3.1
8050         
8051         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
8052         include structure.
8053
8054 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
8055
8056         * Released 1.3.1
8057
8058 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
8059
8060         * gtk/gtktextlayout.c: use FALSE for size_only most
8061         of the time when calling gtk_text_layout_get_line_display()
8062         to avoid causing double reshapes when a redraw follows
8063         immediately after.
8064
8065 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
8066
8067         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
8068         appropriate region and gdk_window_process_updates() so trough
8069         updating doesn't lag behind the window being scrolled.
8070
8071         * gdk/gdkgc.c: Make parent_class pointer static.
8072          
8073 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
8074
8075         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
8076         include <string.h>.
8077          
8078         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
8079         cut-and-paste error in computing memory offset for 4 channels.
8080
8081 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
8082
8083         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
8084         gtk_rc_append_default_pixmap_path(), since it wasn't
8085         adding an interesting path and we don't have a meaningful
8086         default for this value.
8087
8088 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
8089
8090         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
8091         gtk-config to gtk-config-2.0 move gtk_.m4 to
8092         gtk-2.0.m4
8093
8094         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8095         gdk/Makefile.am demos/Makefile.am: Change 
8096         library names to libgtk-1.3.la, etc, so that we
8097         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
8098
8099         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8100         gdk/Makefile.am gdk/x11/Makfile.am
8101         Move include files into /usr/include/gtk-2.0, 
8102         /usr/lib/gtk-2.0/include/
8103          
8104         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
8105         gtk/gtkintl.h: Change package for gettext from 
8106         gtk+ to gtk20. Put hack in autogen.sh to modify
8107         po/Makefile.in.in after gettextize to make this
8108         possible.
8109
8110         * gtk+.spec: Some updates, not tested.
8111
8112         * gdk-pixbuf/Makefile.am: Move loaders into
8113         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
8114
8115         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
8116         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
8117         to THEMENAME/gtk-2.0/. Move engine directory  to
8118         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
8119         
8120 2000-07-12  Tor Lillqvist  <tml@iki.fi>
8121
8122         Win32 changes, still doesn't build though.
8123
8124         * gdk/makefile.cygwin
8125         * gdk/win32/makefile.cygwin
8126         * gtk/makefile.cygwin: Updates.
8127
8128         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
8129         default values for fg and bg pixel as X11 does (0 and 1), not
8130         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
8131         Use 0 for pen width by default (treated as 1 anyway later, but for
8132         apps that might check the value in the GdkGC).
8133         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
8134         interface to gdk_gc_predraw and _postdraw.
8135
8136         * gdk/win32/gdkwin32.h
8137         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
8138
8139         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
8140         extraneous semicolon.
8141
8142         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
8143
8144         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
8145         not the Win32 bitspixel value.
8146
8147         * gdk/win32/gdkcc-win32.c:
8148         * gdk/win32/gdkcolor-win32.c 
8149         * gdk/win32/gdkprivate-win32.h
8150         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
8151         GDK object structure.
8152
8153 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
8154
8155         * docs/tutorial/gtk_tut_12.es.sgml (name): 
8156         * docs/tutorial/gtk_tut_it.sgml (name): 
8157         * docs/tutorial/gtk_tut_fr.sgml (name): 
8158         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
8159         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
8160
8161 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
8162
8163         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
8164           small changes.
8165
8166 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
8167
8168         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
8169         a bug here, never been here and never fixed anything ;(
8170         (don't segfault if tree->root_tree is NULL, which happens prior
8171         to widget realization, but puke instead).
8172
8173 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
8174
8175         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
8176         add the necessary tokens.
8177
8178         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
8179         (gtk_rc_style_to_style): copy thicknesses.
8180         (gtk_rc_init_style): apply thicknesses.
8181         (gtk_rc_parse_style): parse xthickness and ythickness.
8182
8183         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
8184
8185         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
8186         (gdk_window_new): 
8187         (_gdk_windowing_window_init): 
8188         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
8189         (gdk_pixmap_create_from_data): 
8190         (gdk_bitmap_create_from_data): 
8191         (gdk_pixmap_new): 
8192         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8193         (gdk_image_new): 
8194         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
8195         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
8196         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
8197         (gdk_colormap_get_system): 
8198         (gdk_colormap_new): 
8199         * gdk/gdkwindow.c (gdk_window_init): 
8200         * gtk/gtkstyle.c (gtk_style_new):
8201         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
8202         * gdk/gdkpixmap.c (gdk_pixmap_init): 
8203         * gtk/gtkrc.c (gtk_rc_style_new):
8204         use g_object_new() instead of g_type_create_instance() which
8205         is a private function for fundamental type implementations.
8206
8207 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
8208
8209         * configure.in: Add check for db2html
8210
8211 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
8212
8213         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
8214         hack to set glib_debug_objects based on gtk_debug_flags.
8215
8216 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
8217
8218         * INSTALL.in: Update the Prerequisites section.
8219
8220         * Makefile.am demos/Makefile.am docs/Makefile.am
8221         docs/tutorial/Makefile.am gdk/x11/Makefile.am
8222         gdk/linux-fb/Makefile.am: Dist fixes
8223
8224 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
8225
8226         * NEWS: 10,000 foot view of 1.3.1 changes.
8227
8228 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
8229
8230         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
8231         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
8232         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
8233         gdk/x11/gdkmain-x11.c: 
8234
8235         Patch from George Lebl to add a GdkGrabStatus enumeration to use
8236         as a return value of gdk_*_grab(). Previously, we just
8237         returned the X11 values directly.
8238
8239 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
8240
8241         * gdk/x11/Makefile.am: Patch from George Lebl to 
8242         install all the headers in the right place.
8243
8244 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
8245
8246         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
8247           initial conversion to DocBook.
8248
8249 2000-07-04  Tor Lillqvist  <tml@iki.fi>
8250
8251         * README.win32: Improve a bit.
8252
8253         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
8254         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
8255         Alt+0nnn on the numpad (used to enter characters by numeric code
8256         from current DOS or ANSI codepage) working correctly, as in other
8257         Windows apps.
8258
8259         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
8260         same argument validity tests as in X11 version.
8261         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
8262
8263         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
8264         definitions in case missing from headers.
8265
8266         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
8267         destroy the window-specific cursor.
8268         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
8269         calling GetModuleHandle(NULL).
8270         (gdk_window_set_cursor): Reworked to always copy the passed cursor
8271         with CopyCursor before setting it as the window-specific
8272         cursor. It is OK for the caller to destroy the GdkCursor (and thus
8273         also its Windows cursor) after calling this function. Destroy any
8274         previous window-specific cursor.
8275
8276 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
8277
8278         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
8279         font charset is iso8859-1, not iso-8859-1.
8280
8281 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
8282
8283         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
8284         Use g_get_charset() instead of g_get_codeset().
8285
8286         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
8287         Comment out some strdup'ing functions to keep timj
8288         happy until we finish fighting this out.
8289
8290 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
8291
8292         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
8293         <= width or height.
8294
8295         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
8296         from 1.2 for parent/child states.
8297
8298         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
8299         of typos.
8300
8301         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
8302         event structures, replace with a generic axes field. Replace 
8303         deviceid/sourec with GdkDevice *device.
8304
8305         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
8306         to extract particular axis use value from event. (Also
8307         can be used for normal X/Y.)
8308
8309         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
8310         allow for arbitrary number of axes, namespace everything
8311         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
8312         everywhere.
8313
8314         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
8315         Get rid of the gdk_input_vtable setup if favor of simply
8316         defining the functions in gdkinput-none/gxi/xfree.c in
8317         a similar fashion to the way that the port structure is 
8318         done.
8319
8320         * gtk/gtkdnd.c: Fix fields of synthesized button press event
8321         for new event structures. 
8322
8323         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
8324         new device interfaces.
8325
8326 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
8327
8328         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
8329         set the initial text.
8330
8331         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
8332         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
8333         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
8334         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
8335
8336         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8337         pango_layout_set_font_description to simplify.
8338
8339 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
8340
8341         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8342         pango_layout_set_font_description to simplify.
8343
8344 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
8345
8346         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
8347         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
8348         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
8349
8350         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
8351         PANGO_PIXELS() macro.
8352
8353 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
8354
8355         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
8356         that returns a PangoContext owned by the widget and updated to
8357         match future changes in the widget. Also, make 
8358         gtk_widget_create_pango_layout() use this context. If we ever
8359         add a ::changed signal to PangoContext, this will make things
8360         much more convenient. 
8361
8362         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
8363         in the appropriate places instead of destroying the layouts and
8364         creating new ones.
8365
8366         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
8367         in a few strategic places.
8368
8369 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
8370
8371         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
8372         gtk_widget_size_request() on reparented child, if one. Otherwise,
8373         queue_resize() on the child never results in it getting size-requested
8374         at all.
8375
8376         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
8377         in option menus, so that (with luck) people won't copy it into
8378         their apps in the future.
8379
8380         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
8381         to gtk_option_menu_calc_size. This isn't perfect, but should fix
8382         a lot of problems with changing the size of the menu's menu
8383         items after adding it to the option menu.
8384
8385         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
8386
8387         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
8388         the text direction for a widget changes.
8389
8390         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
8391         ::direction_changed to get rid of various hacks.
8392
8393 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
8394
8395         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
8396         name.
8397
8398 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
8399
8400         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
8401         flag to the structure. Do not call XFreePixmap on pixmaps created
8402         by gdk_pixmap_foreign_new().
8403
8404 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
8405
8406         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
8407         value using GdkRGB functionality given GdkColormap and GdkColor.
8408         (name not final, waiting for inspiration.)
8409         
8410         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
8411         set the foreground/background of a GC using the GC's colormap
8412         and GdkRGB. (name not final, waiting for inspiration.)
8413
8414         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
8415         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
8416
8417         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
8418         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
8419         purely a function of the corresponding colormap. Make
8420         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
8421
8422         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
8423         gdk_pixbuf_*create_from_xpm_* in terms of
8424         gdk_pixbuf_new_from_xpm_data(), move into platform independent
8425         code.
8426
8427         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
8428         advantage of the new draw_rgb_32_image_dithalign.
8429
8430         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
8431
8432         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
8433         on each created GC.
8434
8435         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
8436
8437         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
8438         which we initialize from the drawable when the GC is created,
8439         if the drawable has a colormap.
8440
8441         * gdk/x11/gdkgc-x11.c: include string.h for memset.
8442
8443         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
8444
8445         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
8446
8447 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
8448
8449         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
8450         actually returning expose events, make sure to set
8451         the count field properly.
8452
8453         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
8454         accidentally reintroced bug which always cleared
8455         the graphics_exposures value. 
8456
8457 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
8458
8459         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
8460
8461 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
8462
8463         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
8464
8465 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
8466
8467         * docs/faq/gtk-faq.sgml: Start of Section 6.
8468
8469 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
8470
8471         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
8472         
8473         (Fixes problem with drawing childless frames. Pointed out
8474         by and a first patch from Anders)
8475         
8476         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
8477         compute a child_allocation, even if we don't have a child.
8478
8479         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
8480         Always chain to the parent's impl, even if we don't have a child.
8481
8482 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8483
8484         * gdk/gdkrgb.c: If possible, create only a single shm segment and
8485         use multiple parts of it instead of creating a bunch of separate
8486         segments, since the maximum number of segments per system is not
8487         large. (This might be worth backporting to GTK+-1.2.x if we make a
8488         new release )
8489
8490         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
8491         structure in preparation for per-colormap GdkRGB.
8492
8493         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
8494         to False when we get EINVAL from shmget so that the caller of
8495         gdk_image_new can retry with a smaller segment size.
8496
8497 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
8498
8499         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
8500
8501 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
8502
8503         * configure.in: make the current version number 1.3.1 (binary age 0,
8504         interface age 0).
8505         
8506         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
8507         gtkcompat.h is all we want.
8508
8509         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
8510         GLib primitive types. fixed g_type_register_fundamental() argument
8511         ordering.
8512
8513         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
8514         compiles.
8515
8516         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
8517         object code cleanup, comment trigraph fixes, etc...
8518
8519 2000-06-23  Havoc Pennington  <hp@redhat.com>
8520
8521         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
8522         instead of making up a bogus name for first_para_mark
8523
8524         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
8525         0 as a context ID
8526
8527 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
8528
8529         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
8530
8531 2000-06-21  Havoc Pennington  <hp@pobox.com>
8532
8533         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
8534         we didn't check window->bg_pixmap != GDK_NO_BG.
8535
8536         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
8537         gdk-pixbuf
8538
8539 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
8540
8541         * docs/faq/gtk-faq.sgm: Move file to here.
8542           TODO: Update Makfile.am 
8543
8544 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
8545
8546         * docs/gtk-faq.sgm: Add Section 2
8547
8548 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
8549
8550         * docs/gtk-faq.sgm: New file. Start of DocBook
8551           version of the FAQ.
8552
8553 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
8554
8555         * configure.in (GDK_PIXBUF_MAJOR): Define version
8556         numbers for GDK_PIXBUF_*, as they get substituted
8557         into a header file. Need to consider versioning
8558         for gdk-pixbuf more carefully later.
8559
8560 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
8561
8562         Work with srcdir != builddir.   
8563         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
8564         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
8565         * demos/testpixbuf.c: Likewise.
8566         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
8567         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
8568         <gdk/x11/gdkx.h>.
8569         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
8570         "gdk-pixbuf.h".
8571         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
8572
8573 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
8574
8575         * TODO.xml: Change 1.4 version numbers to 2.0.
8576
8577 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
8578
8579         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
8580         fixups to GTK+ standard.
8581
8582 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
8583
8584         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
8585         gdk-pixbuf.
8586
8587         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
8588         fixups for GObject.
8589
8590         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
8591         gdk-pixbuf with GDK dependencies moved into GDK.
8592         
8593         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
8594         move gdk-pixbuf-loader here until GObject has signals.
8595
8596         * demos/: New directory of demos. Move demos from
8597         gdk-pixbuf here.
8598
8599         * demos/pixbuf-init.c: Small bit of code to check for
8600         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
8601         set GDK_PIXBUF_MODULEDIR appropriately.
8602
8603         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
8604         define which no longer makes sense.
8605
8606 2000-06-21  Havoc Pennington  <hp@redhat.com>
8607
8608         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
8609         gtk_get_default_language
8610
8611         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
8612         new function to get the default language
8613
8614         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
8615         s/gtk_text_view_style_values/gtk_text_style_values/
8616
8617         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
8618         Add a "language" field to tags.
8619
8620         (gtk_text_tag_set_arg): Fix bug in setting
8621         "bg_full_height_set" tag.
8622
8623 2000-06-21  Havoc Pennington  <hp@redhat.com>
8624
8625         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
8626         in the interfaces
8627
8628         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
8629         stuff instead when possible.
8630
8631         * gtk/gtktexttypes.h: Delete some unused constants
8632
8633         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
8634         testtextbuffer.c: use glib instead of custom unicode routines
8635
8636 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
8637
8638         * docs/es/: Removed mistakenly added generated sgml
8639
8640         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
8641         Remove outdated info files.
8642
8643         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
8644         Moved tutorial files into subdir
8645
8646         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
8647         subdir.
8648
8649         * docs/man/gtk_button.pod: Remove. (contents will be
8650         integrated into gtk-reference button page.)
8651
8652         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
8653         docs/faq/Makefile.am: Adjust for new organization
8654
8655 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
8656
8657         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
8658         not $(MKINSTALLDIRS)
8659
8660 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
8661
8662         * gtk/testgtk.c (create_text): Finish the job Elliot started
8663         of removing font setting test for text widget. (Since text widget
8664         and GdkFont are not deprecated, and cause portability problems.)
8665
8666 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
8667
8668         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
8669         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
8670         Remove use of libunicode in favor of new GLib functions.
8671
8672         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
8673         nano-x, framebuffer. The X11 include is just a hack until we get
8674         the necessary functions in gdkcolor.h, so there is no reason to
8675         add other includes of platforms.
8676
8677         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
8678         window bigger than the screen change.
8679
8680         * gtk/testgtk.c: Revert some random changes from Elliot
8681         that had no particular point and were causing testgtkrc
8682         not to function correctly.
8683         
8684         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
8685         because GdkSegment and GdkRegionBox have the same fields,
8686         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
8687         results in clearer code.
8688
8689         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
8690         gdk_input_translate_coordinates): Fix missed GdkObjectification
8691
8692 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8693
8694         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
8695         * gtk/gtk{plug,socket}.h: Missed commits from previous.
8696
8697 2000-06-20  Havoc Pennington  <hp@redhat.com>
8698
8699         * modules/linux-fb/Makefile.am: Make this compile
8700         without framebuffer enabled
8701
8702         * gdk/linux-fb/Makefile.am: Add conditional to not build
8703         framebuffer unless specified in configure
8704
8705         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
8706         the size of the target instead of source if -1 was passed for
8707         width/height
8708
8709         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
8710         width/height confusion.
8711
8712 2000-06-19  Havoc Pennington  <hp@redhat.com>
8713
8714         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
8715         GDK_DRAWABLE_XID. In the future, we probably want to make it
8716         faster with G_DISABLE_CHECKS turned on.
8717
8718 2000-06-14  Havoc Pennington  <hp@redhat.com>
8719
8720         * gdk/Makefile.am: add gdkpixmap.c
8721
8722         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
8723         s/gdk_image_init/_gdk_windowing_image_init
8724
8725         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
8726         ref/unref
8727
8728         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
8729
8730         * gdk/gdkcompat.h: remove GdkWindowType compat, since
8731         GdkWindowType is now non-deprecated; 
8732         change gdk_window_get_type() compat to be
8733         gdk_window_get_window_type().
8734
8735         * gdk/gdkdnd.h: make GdkDragContext a GObject.
8736
8737         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
8738         virtual GObject. Make all functions call into the vtable.
8739         Move gdk_image_put() guts in here. Remove GdkDrawableType
8740         and gdk_drawable_get_type(), these are now GdkWindow-specific.
8741         draw_image, get_depth, get_size, set_colormap, get_colormap,
8742         get_visual added to the vtable.
8743         
8744         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
8745         GObject. Virtualize everything. 
8746         (gdk_gc_new_with_values): remove check for destroyed window,
8747         because now GdkWindow::create_gc will check this.
8748         (gdk_gc_set_values): New function to set GC values, this 
8749         was already implemented but wasn't in the header
8750
8751         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
8752
8753         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
8754         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
8755         remove _gdk_window_class; add _gdk_window_impl_get_type() and
8756         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
8757         _gdk_windowing_window_init, rename gdk_image_init to
8758         _gdk_windowing_image_init.
8759         
8760         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
8761         (gdk_draw_layout): Remove check for destroyed window, 
8762         because all the drawable methods already check it.
8763         
8764         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
8765         Add gdkpixmap.c which contains implementation of GdkDrawable
8766         virtual table (by chaining to a platform-specific implementation
8767         object).
8768         
8769         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
8770         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
8771         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
8772         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
8773         GdkColormapPrivate. 
8774
8775         * gdk/gdktypes.h: #include <glib-object.h>
8776
8777         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
8778         Move most functionality to platform-specific implementation
8779         object. GdkWindow itself now handles the backing store, then
8780         chains to the platform-specific implementation.
8781         (gdk_window_get_window_type): return GdkWindowType of the window.
8782         (gdk_window_peek_children): New routine, returns the children of 
8783         a GdkWindow
8784         (gdk_window_get_children): Was in X11-specific code and did 
8785         XQueryTree. Changed to simply return a copy of window->children; 
8786         so it can go in cross-platform code.
8787         
8788         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
8789
8790         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
8791         GdkColormap; just changed to use the new private data instead
8792         of casting to GdkColormapPrivate.
8793
8794         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
8795         gdk_cursor_new().
8796
8797         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
8798         (private data member in the GObject). 
8799         (xdnd_manager_source_filter): Function had broken 
8800         error handling, fix it (use gdk_error_trap_push).
8801
8802         * gdk/x11/gdkdrawable-x11.c: This file now implements
8803         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
8804         base class is purely for the convenience of the X port,
8805         and not part of the interface to cross-platform GDK.
8806
8807         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
8808         
8809         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
8810         specific to X, and returned by the create_gc virtual method
8811         of GdkDrawableImplX11. 
8812         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
8813         rather than gchar, this was also changed in the GdkGC vtable.
8814         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
8815         mask is 0, return immediately, instead of checking every flag.
8816         This is faster, and keeps us from segfaulting if values is NULL
8817         and the mask contains some nonzero flags.
8818
8819         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
8820         GdkWindow.
8821
8822         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
8823         GdkWindowPrivate is gone.
8824
8825         * gdk/x11/gdkim-x11.c: rename things that got renamed.
8826
8827         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
8828         remove the image_put stuff that got transferred to GdkDrawable.
8829         
8830         * gdk/x11/gdkinput.c: renamings
8831
8832         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
8833
8834         * gdk/x11/gdkpixmap-x11.c: GObject conversion
8835
8836         * gdk/x11/gdkprivate-x11.h: indentation fixes
8837
8838         * gdk/x11/gdkproperty-x11.c: renamings
8839
8840         * gdk/x11/gdkselection-x11.c: renamings
8841
8842         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
8843         implements the platform-specific "impl" object.
8844         Moved gdk_window_get_children to gdk/gdkwindow.c
8845
8846         * gdk/x11/gdkx.h: Remove all the private structs and private datas
8847         that no longer exist. Add declaration of GdkGCX11 object here.
8848         Fix all the macros to still work. 
8849
8850         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
8851         GdkDragContext from the boxed types since they are now GObjects.
8852
8853         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
8854         moved xthickness/ythickness into the instance. GtkStyleClass
8855         functions are now in the standard vtable for GtkStyle, so you have
8856         to create a GObject subclass to write a theme engine.
8857         (gtk_style_copy): fixed a leaked PangoFontDescription
8858         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
8859         can be the standard GObject function.
8860         
8861         * Throughout GTK:
8862         s/style->klass->[xy]thickness/style->[xy]thickness
8863         s/pango_layout_unref/g_object_unref/
8864
8865         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
8866         
8867         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
8868         accessing GDK internals.
8869
8870         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
8871         accessing GDK internals.
8872
8873 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8874
8875         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
8876
8877         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
8878         problem by calculating event position relative to the trough
8879         rather than the slider.
8880         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
8881
8882         * gdk/gdkgc.h: Add GDK_NOR.
8883
8884         * configure.in, Makefile.am: Add modules top level dir
8885         * configure.in: Only use pangox library if building x11 target.
8886         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
8887
8888 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8889
8890         * gtk/gtkcolorsel.c: Change private class member to be named
8891         private_data throughout the file.
8892
8893         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
8894         private_data to avoid clashing with keyword.
8895
8896 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8897
8898         * gdk/gdkdnd.h: Add comment to remove warning.
8899
8900 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
8901
8902         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
8903         Byelorussian language; changed the Makefile and file names 
8904         to reflect that.
8905
8906 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
8907
8908         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
8909         rather than gdk_window_hide; this makes things work
8910         correctly if the window is programmatically hidden while
8911         iconified.
8912
8913 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
8914
8915         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
8916         cut and paste typo where wrong pixmap was being
8917         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
8918
8919 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
8920
8921         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
8922         Add helper function to compute format / bytes 
8923         relationship. Use in a couple places to fix up
8924         errors which assume 8 * format.
8925
8926         * gtk/gtkselection.c (gtk_selection_request): Use 32
8927         rather than 8 * sizeof (GdkAtom), to work correctly
8928         on Alpha.
8929
8930 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
8931
8932         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
8933         libgtk.la
8934         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
8935         versions
8936
8937         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
8938         checking macros return NULL since the function has a return value.
8939
8940 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
8941
8942         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
8943         GTK+ from building at all.
8944
8945         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
8946
8947 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
8948
8949         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
8950         gtk/Makefile.am: make it possible to configure gtk for different
8951         targets on the same platform. The library name is now 
8952         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
8953         flag. Only the x11 target compiles right now.
8954         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
8955         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
8956         * gdk/nanox/gdk*generic*: delete generic region code.
8957         * gdk/linux-fb/gdk*generic*: delete generic region code.
8958         * README.nanox: update information.
8959         
8960 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
8961
8962         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
8963         prepend not append. (Pointed out by Brett Hall.)
8964
8965 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
8966
8967         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
8968
8969 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
8970
8971         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
8972         need this later, and this makes sure that the atexit for
8973         glib gets called after that for GDK, so atexits are
8974         properly ordered for object leak checking.
8975
8976         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
8977
8978         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
8979         pango_x_shutdown_display()
8980
8981         * gtk/simple.c (main): Close window on destroy.
8982
8983 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
8984
8985         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
8986         to treat initial creation different from setting with 
8987         regards to the graphics-exposures parameter, so add a parameter
8988         indicating whether this is initial or not.
8989
8990 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
8991
8992         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
8993         to sort of work by adding an extra return_exposes arg
8994         to gdk_event_translate() - it might be better to simply
8995         deprecate the function altogether and force people to rewrite
8996         without it. gdk_window_scroll() handles most of it, and where
8997         gdk_window_scroll() doesn't work, simply redrawing more does.
8998
8999         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
9000         assertion.
9001
9002         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
9003
9004         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
9005         bunch of pretty much useless /* Print debugging info */ comments 
9006         which had drifted away from the code they were commenting.
9007
9008 2000-06-02  Havoc Pennington  <hp@pobox.com>
9009
9010         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
9011         is in working order.
9012         
9013         * gtk/testtext.c: Change to reflect anonymous mark API
9014
9015         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
9016
9017         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
9018         field, which was unused.
9019
9020         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
9021         saves some typing.
9022
9023         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
9024
9025         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
9026         flag on the insertion point and selection bound
9027
9028         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
9029         make mark-manipulation functions take a GtkTextMark* instead of a
9030         mark name.
9031         
9032         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
9033         GtkTextMarkBody; will be used to detect attempts to delete
9034         the permanent marks (insert and selection bound)
9035
9036         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
9037
9038 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
9039
9040         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
9041         flag to on.
9042
9043         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
9044         Honor DOUBLE_BUFFRED_FLAG
9045
9046         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
9047         function to set the DOUBLE_BUFFERED flag.
9048
9049         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
9050         or not exposes done on the widget should be double-buffered.
9051
9052         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
9053         to be what would be expected. (Fixes problem with a
9054         g_return_if_fail() validating a TextDirection enumeration)
9055
9056 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
9057
9058         * gtk/gtkwidget.c: Remove all references to 
9059         offscreen flag which was no longer used.
9060
9061         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
9062
9063         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
9064         for non-null label_widget->parent.
9065
9066         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
9067         which no longer was used.
9068
9069         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
9070
9071         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
9072         for null arguments.
9073
9074         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
9075         check for destroyed windows.
9076
9077 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
9078
9079         * gtk/gtkimmulticontext.c: Add a finalize method and unref
9080         the slave context there.
9081
9082         * gtk/gtkinvisible.[ch]: Make reference counting behavior
9083         identical to GtkWindow.
9084
9085 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
9086
9087         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
9088         pangox to here, so we can write them independent of rendering
9089         system, using GDK primitives.
9090
9091         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
9092         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
9093         since we have a rendering-system independent implementation in
9094         terms of draw_glyphs().
9095         
9096         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
9097         function to render a single line.
9098
9099         * gdk/x11/gdkpango.c: Move the guts of this file mostly
9100         into ../gdkpango.c, which simplifies things, since we
9101         don't have to deal with raw X gc's.
9102
9103 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
9104
9105         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
9106         get the logical attributes for a given GtkTextLine.
9107
9108 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
9109
9110         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
9111         g_locale_get_codeset() to g_get_codeset() change.
9112
9113 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
9114
9115         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
9116         descriptions.
9117
9118         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
9119         the entry.
9120
9121         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
9122         redoing (vastly simplifying) for Pango. Still needs quite
9123         a bit of work. (Size selection is currently poor. List of 
9124         predefined sizes is not a good idea, since all of these
9125         sizes won't necessarily be distinct.)
9126
9127 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
9128
9129         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
9130         CODESET results for LANG=C.
9131
9132 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
9133
9134         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
9135         which takes a stringized pango font description;
9136         ignore the older 'font' and 'fontset' declarations.
9137
9138         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
9139         field with a GdkFont derived via gdk_font_from_description(),
9140         for compatibility. (Should we just remove it entirely?
9141         Probably too much compatibility breakage, but people
9142         should be migrating to the new Pango stuff as quickly
9143         as possible.)
9144
9145 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
9146
9147         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
9148
9149 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
9150
9151         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
9152         redoing; there are some bugs in size allocation right
9153         now, the semi-existant distinction between header / day
9154         fonts was removed, but, with Pango, could actually
9155         be made functional in a nice way.
9156         
9157         * gtk/testcalender: Move calender from examples into this
9158         directory as a test program. (We really need to restrcture
9159         testgtk into a whole directory full of tests for every
9160         widget or functionality group, separated into multiple .c
9161         files.)
9162
9163 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
9164
9165         * gtk/testgtk.c (file_exists): Fix stupid typo that
9166         was keeping RC file from being loaded.
9167
9168         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
9169         RC file font code.
9170
9171 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
9172
9173         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
9174         Add function to load a GdkFont from a PangoFontDescription.
9175
9176 2000-05-29  Tor Lillqvist  <tml@iki.fi>
9177
9178         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
9179         variable should be of type GdkEventPrivate.
9180
9181 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
9182
9183         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
9184         to have any widget for the label, use a GtkLabel widget
9185         to display the text. (Based partially on a patch from
9186         Anders Carlson.)
9187
9188         (Quite a bit of code reorganization - strip 90% of the
9189         guts out of gtkaspectframe and add a single virtual
9190         func to GtkFrameClass - compute_child_allocation.)
9191
9192 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
9193
9194         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
9195         (Removed clist->row_center_offset field because caching
9196         it wasn't saving time or code, added private function
9197         _gtk_clist_create_cell_layout()).
9198
9199 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
9200
9201         * gtk/gtkaccellabel.c: Pangoized.
9202
9203         * gtk/[hv]ruler.c: Pangoized
9204
9205 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
9206
9207         * gtk/gtkfilesel.c (gtk_file_selection_init):
9208         Use gtk_clist_set_column_auto_resize() to remove need
9209         need for manual column width computations.
9210
9211 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
9212
9213         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
9214         ensuring Pango correctness, and considerably simplifying the
9215         code.
9216         
9217         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
9218
9219         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
9220         getting of numbers of lines.
9221
9222         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
9223         to the actual requested width of the lable, not to the wrap
9224         width we set.
9225
9226         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
9227
9228         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
9229           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
9230
9231         * gtk/gtktextview.c: Fix structure inheritance.
9232
9233         * gtk/gtkprogressbar.c: Pangoize.
9234
9235 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
9236
9237         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
9238         in a function.
9239
9240         * gtk/gtktextlayout.c (find_display_line_above): Fixed
9241         bug with computing line tops.
9242
9243         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
9244
9245 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9246
9247         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
9248         and y_offset coordinates to do what we need now. (The offset between
9249         buffer and layout coordinates has been reintroduced, but is a 
9250         bit different than before.)
9251
9252         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
9253         handle the adjustments ourselves, and scroll as necessary using
9254         the new gdk_window_scroll().
9255         
9256         The advantage of this is that when we are incrementally revalidating,
9257         we are essentially rearranging things around the visible portion
9258         of the screen. With the old setup, the visible portion of the
9259         screen was moved around in the layout, so scrolling and redrawing
9260         to track that caused jumping of the display. Since we now
9261         control the scrolling ourselves, we can suppress this and
9262         only redraw when things actually change.
9263
9264 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
9265
9266         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
9267         the region not just redisplay it after-all, since we store the
9268         cursors in the LineDisplay. (Ugly interactions here between
9269         GtkLayout and GtkTextBTree here.)
9270         
9271         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
9272
9273 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9274
9275         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
9276         Added function to scroll contents of a window while keeping the
9277         window constant. Works by XCopyArea or guffaw-scrolling depending
9278         on the details of how the window is set up. (guffaw-scrolling
9279         still needs to be filled in.)
9280
9281 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
9282
9283         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
9284         move the debugging that was tied to a global variable
9285         to that.
9286
9287         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
9288
9289         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
9290         validated flag, in line data instead of setting height/width to
9291         -1. This allows us to perform operations with partially invalid
9292         buffer (using the old size for invalid lines) and thus to do
9293         incremental vaidation. Keep height/width aggregates up to date
9294         when deleting text and rebalancing the tree.
9295
9296         * gtk/gtktextbtree.[ch]: Add functions validate a line
9297         (gtk_text_btree_validate_line), and to validate up
9298         to a number of pixels (gtk_text_btree_validate).
9299
9300         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
9301         that indicates that something is changed and a revalidation
9302         pass is needed. Change ::need_repaint to ::changed, and
9303         make it take old and new yranges instead of a rectangle.
9304
9305         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
9306         the line_data_destroy() function from 
9307         gtk_text_btree_add_view() to a virtual function in 
9308         GtkTextLayout
9309
9310         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
9311         since we are handling partial repaints in a different fashion
9312         now.
9313
9314         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
9315         of the selection instead of queueing a repaint on the
9316         entire widget.
9317
9318         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
9319         get_selection_bounds() down to btree, make the function
9320         in buffer a wrapper around the btree function.
9321
9322         * gtk/gtktextlayout.[ch]: Add functions to check if the
9323         layout is valid and to recompute either a range of pixels
9324         aroudn a line or a certain total number of pixels.
9325
9326         * gtk/gtktextlayout.[ch]: Cache a single line display;
9327         now that we only redraw the needed portions, the hit rate
9328         for this cache is quite high.
9329         
9330         * gtk/gtktextview.[ch]: Keep track of the first paragraph
9331         on the screen so that when re-laying-out the buffer, we can
9332         keep the same place. This requires connecting to ::value_changed
9333         on the adjustments
9334
9335         * gtk/gtktextview.[ch]: Add idle functions to revalidate
9336         the buffer after we receive an ::invalidated signal.
9337         
9338 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
9339
9340         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
9341         to max of allocation and layout size, not just to the
9342         layout size.
9343
9344         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
9345         Invalidate window so it gets redrawn properly.
9346
9347         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
9348         to mean the entire window.
9349
9350         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
9351         into public header.
9352
9353 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
9354
9355         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
9356         to get the name of a mark.
9357
9358         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
9359         to find the paragraph from a y position.
9360
9361 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
9362
9363         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
9364         nodes have width/height >= 0, not > 0.
9365
9366 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
9367
9368         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
9369         Add a size_only flag, so when we only need the size, we don't create
9370         useless appearance attributes.
9371
9372         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
9373         duplicate setting of font description.
9374
9375         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
9376
9377 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9378
9379         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9380         EXTRA_DIST. It does not work well when the file that
9381         everything depends on is not in the tarball.
9382
9383 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9384
9385         * gtk/testgtk.c: Some hacks and fixes so that it basically
9386         works when not sitting in the GTK+ build tree.
9387
9388 2000-05-03  Havoc Pennington  <hp@redhat.com>
9389
9390         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9391         Properly determine the ordering of the tag root and the current
9392         line within the tree. Previous algorithm only worked if the tag
9393         root's immediate parent was the common root of both the current
9394         line and the tag root.
9395
9396 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
9397
9398         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
9399         alignment.
9400
9401         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
9402         the widget text directional dynamically.
9403
9404         * gtk/gtktextview.[ch]: Added functions to get and set default
9405         wrap mode.
9406
9407 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
9408
9409         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
9410         in cursor location computation.
9411
9412 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
9413
9414         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
9415         vadjusment values properly when layout gets smaller.
9416
9417         * gtk/gtktextview.c (need_repaint_handler): Areas being
9418         passed in are far completely inaccurate, and sometimes
9419         too small, so, for now, just queue a redraw on the
9420         whole visible region.
9421
9422 2000-04-25  Havoc Pennington  <hp@redhat.com>
9423
9424         * gtk/gtktextbtree.c (summary_destroy): new function to 
9425         destroy tag summary nodes
9426         (gtk_text_line_next_could_contain_tag): this function was 
9427         totally broken if the line passed in wasn't below the tag
9428         root. Fix it.
9429         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
9430         "wildcard" case, we have to do a linear scan. Blah.
9431         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
9432         we have to do the linear scan
9433         (tag_removed_cb): When a tag is removed from the tag table, 
9434         remove the GtkTextTagInfo node from the btree.
9435         (gtk_text_btree_spew): Implement the spew function, for 
9436         our debugging pleasure.
9437
9438 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
9439
9440         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
9441         a problem with referring to the wrong buffer.
9442
9443         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
9444
9445         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
9446         font description to gtk_style_new() - otherwise things
9447         don't work without a .gtkrc file.
9448
9449         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
9450         tags table if we create it ourself, too.
9451
9452         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
9453         it was conflicting with XKB modifiers.
9454
9455         * gtk/gtktextview.[ch]: Add simple support for 
9456         GtkIMContext.
9457
9458 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
9459
9460         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
9461         with deletion from last commit.
9462
9463 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
9464
9465         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
9466         in the context from the current locale.
9467         
9468         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
9469         context, not hardcoded value.
9470
9471         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
9472         not logical.
9473
9474 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9475
9476         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
9477         attributes - that doesn't handle partial-glyph selection
9478         properly. Instead use new pango_layout_line_get_x_ranges()
9479         functionality to draw the selection.
9480
9481         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
9482         now properly handles out-of-range coordinates.
9483
9484         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
9485
9486         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
9487         public.
9488
9489         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
9490         for paragraphs opposite to the base direction of the widget.
9491
9492         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
9493
9494         * gtk/gtktextlayout.c: Don't split segments on marks, since that
9495         causes Arabic words to reshape as you cursor through.
9496
9497         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
9498         cursor position when moving vertically with the arrow keys and
9499         scrolling with page-up/page-down. (Arrow keys save only the X,
9500         scrolling saves both X and Y.)
9501
9502         This means you can line-up / line-down or page-up / page-down
9503         without losing your place, and also that moving vertically
9504         with the cursor keys keeps the same X position, not the same
9505         character count:
9506
9507         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
9508         arrow keys move by display lines, not paragraphs.
9509
9510 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9511
9512         * gtk/gtklayout.c: Make sure that the bin window is at least
9513         as big as the allocation. (Should we also make sure that the
9514         bin window is big enough to completely cover widget->window?)
9515
9516         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
9517         function to get the onscreen rectangle.
9518
9519         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
9520         for offsets in window coordinates.
9521
9522 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
9523
9524         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
9525         confusion.
9526
9527         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
9528         from the widget direction.
9529
9530         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
9531         Add a "direction" attribute.
9532
9533         * gtk/gtktextview.c: global s/tkxt/text_view/.
9534
9535         * gtk/testtext.c: Added long block of text in Arabic, to test out
9536         the direction attributes. (Some problems with the shaping system
9537         for arabic become obvious - like the fact the cursor splits words
9538         into unjoined pieces.)
9539
9540 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
9541
9542         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
9543
9544         * gtk/gtktextlayout.c: Fix up alignment.
9545
9546         * gtk/testtext.c: Add some tests for centering, wrapping.
9547
9548 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
9549
9550         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9551         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
9552         If we wrote GTK+-specific layout-render function this could just replace
9553         the draw_layout() operation in the vtable.
9554
9555         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
9556         pango_layout_get_cursor_pos() and use that function.
9557
9558         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
9559         is a non-static symbol.
9560
9561         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
9562         with gtk_text_btree_find_line_by_y()
9563
9564         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
9565         renderer that handles GtkTextAppearance attributes.
9566
9567         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
9568
9569           - Move the values in the style that don't affect geometry into a
9570             GtkTextAppearance structure.
9571           - Change underline to take a PangoUnderline and "font" a string
9572             representation of a font description
9573           - Add a "font_desc" attribute which takes a FontDescription structure.
9574
9575         * gtk/gtktextlayout.[ch]:
9576
9577           - Get rid of the display-line list per each line. Instead, we
9578             generate, on demand, a GtkTextLineDisplay structure which]
9579             contains a PangoLayout * and other necesary information
9580             (offsets, cursor locations) for displaying a paragraph.
9581           - Get rid of the code to wrap lines, create display chunks,
9582             etc. Instead, we just go through a paragraph and convert
9583             it into the necessary inputs to a PangoLayout.
9584           - Implement a new attribute type, GtkTextAttrAppearance. This
9585             holds a GtkTextAppearance, and is used to pass colors, 
9586             stipple, etc, through from the layout to the display without
9587             having to use lots and lots of individual attributes.
9588           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
9589             in terms of PangoLayout functions.
9590         
9591         * gtk/gtktextview.c: 
9592          
9593           - Handle passing the necessary PangoContext to the layout
9594           - Some fixups in painting to deal with the automatic backing store
9595             and offsetting of GTK+-1.4
9596           - Add a style_set handler so that the default style reacts
9597             properly to theme changes.
9598         
9599         * gtk/gtktext?*.[ch]: Random code-style fixes.
9600
9601         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
9602
9603 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
9604
9605         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
9606         in original form preparatory to Pango-ization and gdkimcontext-ization.
9607
9608 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
9609
9610         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
9611         so that we can derive from gtkimcontext in language bindings properly.
9612
9613 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
9614
9615         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
9616         Add a compose table including (almost) all the compose combinations
9617         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
9618         data in the XIM implementation.
9619
9620         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
9621         Moved functions to convert keyvalues from and to unicode here from
9622         the win32 port and made them public.
9623
9624 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9625
9626         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
9627
9628 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
9629
9630         * gtk/gtkimcontext.[ch]: Base class for new input context system
9631
9632         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
9633         the real input context implementation to be loaded from modules
9634         and switched on the fly.
9635
9636         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
9637         context that just does direct keysymbol => unicode translation.
9638
9639         * gtk/gtkentry.[ch]: Start switching editing over to using
9640         GtkInputContext. (No handling of preedit yet.)
9641
9642 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
9643
9644         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
9645         many substitutions. (klass should not be subsituted.)
9646
9647 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
9648
9649         * configure.in: Add checks for Pango
9650
9651         * configure.in docs/Makefile.am: Add test for sgml2html
9652         and allow 'make dist' without building html, but print out
9653         warnings in that case. (For making snapshots)
9654
9655         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
9656         Add Pango libraries and C flags
9657
9658         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9659         Add function (gdk_draw_layout) to draw a pango layout.
9660
9661         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
9662         for getting Pango contexts for GDK.
9663
9664         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
9665
9666         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
9667         editing.
9668
9669         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
9670         keysym => unicode translations. More languages can be added
9671         here, but real input-method support is needed.
9672
9673         * docs/Changes-1.4.txt: Added note about entry behavior.
9674         
9675         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
9676         to set the reading direction for a widget and the global direction.
9677         Add test which allows toggling the global direction. Two private
9678         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
9679
9680         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
9681           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
9682
9683         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
9684
9685         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
9686         underlining now handled by Pango.
9687
9688         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
9689         to RCStyle and Style. (Having both this and the old font name and GdkFont 
9690         is temporary.)
9691
9692         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
9693         convenience functions for creating contexts and layouts for widgets.
9694
9695         * gtk/testgtk.c: Enhance label tests with multilingual labels.
9696
9697 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
9698
9699         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
9700         titles to be active, even if they aren't visible.
9701         (gtk_clist_column_titles_passive):  Ditto.
9702
9703 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
9704
9705         * gtkmenu.c:
9706         * gtkmenu.h:
9707         * gtktypeutils.h: Spelling/grammar fixes in comments.
9708
9709 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
9710
9711         * gdk/nanox/*.h: add missing header files.
9712
9713 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
9714
9715         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
9716         send_event to TRUE.
9717         (gtk_drawing_area_size): queue a resize.
9718
9719 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
9720
9721         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
9722         the handlers, also invalidate them. bug nailed down by Karl Nelson
9723         <kenelson@ece.ucdavis.edu>.
9724
9725 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
9726
9727         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
9728         "(nil)" foundries, patch from Grigorios Magklis.
9729
9730         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
9731         on non-available fonts, based on a patch by Grigorios Magklis
9732         <maglis@cs.rochester.edu>.
9733
9734 2000-05-18  Elliot Lee  <sopwith@redhat.com>
9735
9736         * gdk/x11/gdkregion-generic.c: If a region does not have any
9737         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
9738         instead of GDK_OVERLAP_RECTANGLE_IN.
9739
9740 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
9741
9742         * gtk/gtklayout.c (gtk_layout_map): Remove references to
9743         OFFSCREEN, as it is no longer necessary.
9744
9745 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
9746
9747         * gtk/gtkcolorsel.c: Patch from David Santiago
9748         <mrcooger@cyberverse.com> to change things so that the 
9749         indicator of the active palette entry is done independently,
9750         not via the focus, since it should always be visible.
9751
9752 2000-05-17  Tor Lillqvist  <tml@iki.fi>
9753
9754         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
9755         refcount leaks as in the X11 backend.
9756
9757         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
9758         cosmetics.
9759
9760         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
9761         backend. Add _gdk_windowing_window_destroy().
9762
9763         * gtk/gtkcolorsel.c: Include correct backend-specific header.
9764         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
9765         either, but these probably do exist on nanox?)
9766         
9767         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
9768         which isn't necessarily defined by <math.h>.
9769
9770         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
9771         ancestry past GtkObject.
9772
9773         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
9774         from DLL on Win32.
9775
9776         * gtk/gtk.def: Update corresponding to recent changes.
9777
9778         * gtk/makefile.{cygwin,msc}: Updates.
9779
9780 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
9781
9782         * docs/Changes-1.4.txt: A bit of editing.
9783
9784         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
9785         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
9786         to clear the update area for the window, and clear it
9787         when hiding a window.
9788
9789         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
9790         if window destroyed.
9791
9792         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
9793
9794         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
9795         gdk_window_destroy() to the generic code, since there was a lot of 
9796         window-system-independent logic it in. Add a function:
9797         
9798          _gdk_window_destroy() 
9799
9800         to the internal API to destroy a window without unreferencing it.
9801         Add a function:
9802
9803          _gdk_windowing_window_destroy()
9804
9805         That does the windowing-system-dependent part of destroying 
9806         the window.
9807
9808 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
9809
9810         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
9811
9812 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
9813
9814         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
9815         Make gtk_widget_shape_combine_mask() keep a reference count on
9816         the pixmap since it keeps it around.
9817
9818 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
9819
9820         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
9821         leak.
9822
9823         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
9824         leak with event filters.
9825
9826 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
9827
9828         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
9829         signal handlers with the right data arguments. (Fixes
9830         some warnings when a widget was repeatedly set as a drag
9831         destination.)
9832
9833         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
9834         window so we can avoid avoid setting the DND properties on the
9835         toplevel window repeatedly.
9836
9837 2000-05-13  Tor Lillqvist  <tml@iki.fi>
9838
9839         * gdk/win32/gdkwin32.h: Define more message types missing from
9840         mingw headers.
9841
9842         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
9843         call gdk_window_destroy_notify(). It was never called. This
9844         probably meant that the GdkWindow was never freed. Thanks Owen for
9845         noticing (!).
9846
9847         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
9848         window as destroyed before calling DestroyWindow(). DestroyWindow()
9849         causes a call to the window procedure (gdk_WindowProc), which
9850         calls gdk_event_translate(), which calls
9851         gdk_window_destroy_notify(), which gets confused unless the window
9852         is set as destroyed.
9853
9854         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
9855         this function to indicate it's win32 only. Put inside #ifdef
9856         G_ENABLE_DEBUG.
9857
9858         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
9859         debugging function. (gdk_event_translate:) Add a default branch
9860         that uses the above function to print debug messages with all
9861         Windows messages symbolically.
9862
9863         * gdk/win32/gdkprivate-win32.h: Declare it, and
9864         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
9865
9866 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
9867
9868         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
9869         public header file.
9870
9871 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
9872
9873         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
9874
9875         * gtk/gtktext.c: made the adjustments no-construct args, simply
9876         provide default adjustments.
9877         (gtk_text_destroy): release adjustments.
9878
9879         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
9880         adjustment argument non-construct.
9881
9882         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
9883         instead of in finalize.
9884         (gtk_progress_get_text_from_value): 
9885         (gtk_progress_get_current_text): 
9886         (gtk_progress_set_value): 
9887         (gtk_progress_get_percentage_from_value): 
9888         (gtk_progress_get_current_percentage): 
9889         (gtk_progress_set_percentage): 
9890         (gtk_progress_configure): ensure an adjustment is present.
9891
9892 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
9893
9894         * gtk/gtkcolorsel.[hc]:
9895         * gtk/gtkcolorseldialog.[hc]:
9896         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
9897         their parent implementation, use bit fields for boolean values, don't
9898         create unused widgets, usage of glib types, braces go on their own
9899         lines, function argument alignment, #include directives etc. etc. etc..
9900
9901         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
9902
9903 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
9904
9905         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
9906
9907         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
9908         of NULL.
9909
9910         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
9911         to freed data.
9912         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
9913
9914         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
9915         to NULL when the toplevel is getting destroyed.
9916         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
9917         (gtk_menu_destroy): 
9918         (gtk_menu_init): store the information of whether we have to
9919         readd the initial child ref_count during destruction in a new
9920         GtkMenu field needs_destruction_ref_count.
9921
9922         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
9923         here, those reading: learn from my mistake! ;)
9924         in order for set_?adjustment to support a default adjustemnt if
9925         invoked with an adjustment pointer of NULL, the code read (pseudo):
9926         if (v->adjustment) unref (v->adjustment);
9927         if (!adjustment) adjustment = adjustment_new ();
9928         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
9929         now imagine the first unref to actually free the old adjustment and
9930         adjustment_new() creating a new adjustment from the very same memory
9931         portion. here, the latter comparision will unintendedly fail, and
9932         all hell breaks loose.
9933         (gtk_viewport_set_hadjustment):
9934         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
9935         after unreferencing it.
9936
9937         * gtk/gtkcontainer.[hc]: removed toplevel registration
9938         functions: gtk_container_register_toplevel(),
9939         gtk_container_unregister_toplevel() and
9940         gtk_container_get_toplevels() which had wrong semantics
9941         anyways: it didn't reference and copy the list.
9942
9943         * gtk/gtkwindow.c: we take over the container toplevel registration
9944         bussiness now. windows are registered across multiple destructions,
9945         untill they are finalized. the initial implicit reference count
9946         users are holding on windows is removed with the first destruction
9947         though.
9948         (gtk_window_init): ref & sink and set has_user_ref_count, got
9949         rid of gtk_container_register_toplevel() call. add window to
9950         toplevel_list.
9951         (gtk_window_destroy): unref the window if has_user_ref_count
9952         is still set, got rid of call to
9953         gtk_container_unregister_toplevel().
9954         (gtk_window_finalize): remove window from toplevel list.
9955         (gtk_window_list_toplevels): new function to return a newly
9956         created list with referenced toplevels.
9957         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
9958
9959         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
9960         adjustment a non-construct arg.
9961         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
9962         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
9963         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
9964
9965         * gtk/gtkrange.c: added some realized checks.
9966         (gtk_range_destroy): get rid of the h/v adjustments in the
9967         destroy handler instead of finalize. remove timer.
9968         (gtk_range_get_adjustment): demand create adjustment.
9969
9970         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
9971         we simply create them on demand now and get rid of them in
9972         the destroy handler.
9973         (gtk_viewport_destroy): get rid of the h/v adjustments in the
9974         destroy handler instead of finalize.
9975         (gtk_viewport_get_hadjustment): 
9976         (gtk_viewport_get_vadjustment): 
9977         (gtk_viewport_size_allocate): demand create h/v adjustment
9978         if required.
9979
9980         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
9981         gtk_widget_real_destroy () functionality.
9982         (gtk_widget_real_destroy): reinitialize with a new style, instead
9983         of setting widget->style to NULL.
9984
9985 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
9986
9987         * gtk/gtkcalendar.c:
9988         * gtk/gtkbutton.c: ported _get_type() implementation over to
9989         GType, either to preserve memchunks allocation facilities,
9990         or because Gtk+ 1.0 GtkTypeInfo was still being used.
9991
9992         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
9993         over. prepare for ::destroy to be emitted multiple times.
9994         removed reference tracer magic. chain into GObjectClass.shutdown()
9995         to emit ::destroy signal.
9996
9997         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
9998         fundamental.
9999
10000         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
10001         cludge.
10002
10003         * gtk/gtksocket.c:
10004         * gtk/gtkplug.c:
10005         * gtk/gtklayout.c:
10006         * gtk/gtklabel.c:
10007         * gtk/gtkargcollector.c:
10008         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
10009         not being a fundamental anymore, and to work with the new
10010         type system (nuked fundamental type varargs clutter).
10011
10012         * gtk/*.c: install finalize handlers in the GObjectClass
10013         part of the class structure.
10014         changed direct GTK_OBJECT()->klass accesses to
10015         GTK_*_GET_CLASS().
10016         changed direct object_class->type accesses to GTK_CLASS_TYPE().
10017
10018         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
10019         GType. made most of the GTK_*() type macros and Gtk* typedefs
10020         simple wrappers around macros and types provided by GType.
10021         most notably, a significant portion of the old API vanished:
10022         GTK_TYPE_MAKE(),
10023         GTK_TYPE_SEQNO(),
10024         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
10025         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
10026         GTK_TYPE_ARGS,
10027         GTK_TYPE_CALLBACK,
10028         GTK_TYPE_C_CALLBACK,
10029         GTK_TYPE_FOREIGN,
10030         GtkTypeQuery,
10031         gtk_type_query(),
10032         gtk_type_set_varargs_type(),
10033         gtk_type_get_varargs_type(),
10034         gtk_type_check_object_cast(),
10035         gtk_type_check_class_cast(),
10036         gtk_type_describe_tree(),
10037         gtk_type_describe_heritage(),
10038         gtk_type_free(),
10039         gtk_type_children_types(),
10040         gtk_type_set_chunk_alloc(),
10041         gtk_type_register_enum(),
10042         gtk_type_register_flags(),
10043         gtk_type_parent_class().
10044         replacements, where available are described in ../docs/Changes-1.4.txt.
10045         implemented compatibility functions for the remaining API.
10046
10047         * configure.in: depend on glib 1.3.1, use gobject module.
10048
10049 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
10050
10051         * TODO.xml: Various updates to current status.
10052
10053 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
10054
10055         * gtk.m4: Print out version when test succeeds.
10056
10057 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
10058
10059         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
10060         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
10061         
10062         (Original triangle color selector from Simon Budig
10063         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
10064         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
10065         Santiago <mrcooger@cyberverse.com>)
10066
10067         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
10068         out into a separate widget.
10069
10070         * gtk/testgtk.c: Add some checkbuttons for toggling palette
10071         and opacity controls.
10072
10073 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
10074
10075         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
10076         snuck in prematurely.
10077
10078 2000-05-07  Tor Lillqvist  <tml@iki.fi>
10079
10080         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
10081         had deleted a ! operator by mistake, which caused
10082         GDK_SELECTION_CLEAR events never to be generated, which caused
10083         only the first copy to the clipboard from an gtkeditable to
10084         actually cause a copy to the Windows clipboard.
10085
10086 2000-05-06  Tor Lillqvist  <tml@iki.fi>
10087
10088         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
10089         compilation, too. Current mingw gcc distributions include the
10090         necessary headers. Also the necessary IIDs are now in mingw
10091         headers/libraries, and own definitions unnecessary.
10092
10093         More hacking on OLE2 DND, still doesn't work though, and thus
10094         ifdeffed out.
10095
10096         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
10097         here, too.
10098
10099 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
10100
10101         * gdk/nanox/*: nano-X port work in progress.
10102         * gdk/simple.c: simple test for Gdk.
10103         * README.nanox: notes about the port: read this first!
10104         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
10105         with nano-X.
10106
10107 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
10108
10109         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
10110         gdk_window_clear() into common code, implement in terms of
10111         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
10112         not redirected to the backing rectangle.
10113
10114 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10115
10116         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10117         EXTRA_DIST. It does not work well when the file that
10118         everything depends on is not in the tarball.
10119
10120 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
10121
10122         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
10123         with recursion where process_updates() is called from
10124         an expose handler. (GtkTextView is highly broken in
10125         doing this, but it should work, so it is a nice test
10126         case.)
10127
10128 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10129
10130         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
10131         handle the case where updates are queued during processing of
10132         updates.
10133
10134 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10135
10136         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
10137         window is on gdk_display - use that instead of segfaulting.
10138
10139 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
10140
10141         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
10142         broken and require an empty arg, give it to them.
10143
10144 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
10145
10146         * gtk/gtklabel.h: indentation fixes.
10147
10148 2000-05-02  Tor Lillqvist  <tml@iki.fi>
10149
10150         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
10151         draw too narrow or too low arcs, they seem to fail, at least with
10152         some display drivers.
10153
10154         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
10155
10156         Large changes to the Win32 backend, partially made necessary by
10157         the changes to the backend-independent internal
10158         structures. Attempts to implement similar backing store stuff as
10159         on X11. The current (CVS) version of the Win32 backend is *not* as
10160         stable as it was before the no-flicker branch was merged. A
10161         zipfile with that version is available from
10162         http://www.gimp.org/win32/. That should be use by "production"
10163         code until this CVS version is usable. (But note, the Win32
10164         backend has never been claimed to be "production quality".)
10165
10166         * README.win32: Add the above comment about versions.
10167
10168         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
10169
10170         * gdk/gdk.def: Update.
10171
10172         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
10173         presumably be replaced by some more better mechanism as 1.4 gets
10174         closer to release shape.
10175
10176         * gdk/makefile.{cygwin,msc}: Update.
10177
10178         * gdk/win32/*.c: Correct inclusions of the backend-specific and
10179         internal headers. Change code according to changes in these. Use
10180         gdk_drawable_*, not gdk_window_* where necessary.
10181
10182         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
10183         our old DND.
10184
10185         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
10186         to interpret single characters as UTF-8. Thanks to Hans Breuer.
10187         Use correct function name in warning messages.
10188
10189         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
10190         GSourceFuncs gdk_event_prepare and gdk_event_check.
10191         (gdk_event_get_graphics_expose): Do implement, use
10192         PeekMessage. Thanks to Hans Breuer.
10193         (event_mask_string): Debugging function to print an GdkEventMask.
10194         (gdk_pointer_grab): Use it.
10195
10196         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
10197         (old) book I used claimed was Hangul actually is CJK Unified
10198         Ideographs Extension A. Also, Hangul Syllables were missing.
10199         Improve logging.
10200
10201         * gdk/win32/gdkgc-win32.c: Largish changes.
10202
10203         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
10204         g_win32_getlocale() from GLib, and not setlocale() to get current
10205         locale name.
10206
10207         * gdk/win32/gdkprivate-win32.h
10208         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
10209         gdkwin32.h, similarily as in the X11 backend.
10210
10211         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
10212         assignment was used instead of equals in if test. Thanks to Hans
10213         Breuer.
10214
10215         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
10216         the X11 version.
10217
10218         * gdk/win32/makefile.{cygwin,msc}
10219         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
10220         path to the Win32 headers that works also with the mingw compiler.
10221
10222         * gtk/gtkstyle.c: Include <string.h>.
10223
10224 2000-04-26  Havoc Pennington  <hp@redhat.com>
10225
10226         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
10227         replacing the broken gtk_label_get ()
10228
10229 2000-04-15  Havoc Pennington  <hp@pobox.com>
10230
10231         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
10232         this keeps scanner scripts from getting confused.
10233
10234         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
10235         data, rather than void
10236
10237 2000-04-15  Tor Lillqvist  <tml@iki.fi>
10238
10239         * gtk/gtkclist.c (gtk_clist_motion)
10240         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
10241         with is_hint FALSE, get x and y from the event. They used to be
10242         used uninitialised. The Win32 backend never sends motion events
10243         marked as hints. This for instance fixes the annoying file and
10244         font selector behaviour in the Win32 version.
10245
10246 2000-04-14  Tor Lillqvist  <tml@iki.fi>
10247
10248         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
10249         gtk_private_n_signals variables, they are used by some software,
10250         sigh.
10251
10252         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
10253         installation directory from the Registry, where the installer
10254         should have put it.
10255
10256 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
10257
10258         * gdk/x11/Makefile.am: Fix problem with installation directory for
10259         gdkx.h
10260
10261         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
10262         <mrcooger@cyberverse.com> so that when selecting menus with the
10263         mouse, the first item will not be selected, but when selecting
10264         with an accelerator, or navigating left-right on a menubar with
10265         the menus popped up, the first item will be selected.
10266
10267 2000-04-05  Dan Damian  <dand@dnttm.ro>
10268
10269         * configure.in: Added "ro" to ALL_LINGUAS.
10270
10271 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
10272
10273         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
10274         indentation.
10275
10276         * Makefile.am (EXTRA_DIST): Fix typo.
10277
10278         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
10279         to catch gdkconfig.h
10280
10281         * gtk/gtkitemfactory.c: Added FIXME.
10282
10283 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
10284
10285         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
10286         s/return_if_fail/return_val_if_fail/g and add a return value.
10287
10288 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10289
10290         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
10291         merge slipup.
10292
10293         * gdk/gdkinput.h: Fix missing line from merge.
10294
10295 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
10296
10297         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
10298         instead of gdkprivate.h.
10299
10300 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
10301
10302         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
10303         parent class to correctly be GtkDialogClass.
10304
10305 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
10306
10307         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
10308         toplevel windows and their immediate children by their parents,
10309         since the size of toplevel windows is out of our immediate
10310         control and we don't get any real benefit from trying to track
10311         this size for clipping.
10312
10313         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
10314         for input_only windows.
10315
10316         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
10317         to fix some hacks and make sure that we don't try to set the
10318         background of input only windows.
10319
10320 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
10321
10322         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
10323         the _really_ internal stuff, and leave gdkprivate.h for the fake private
10324         stuff that we've traditionally exposed.
10325
10326         * gdk/**.c: Use gdkinternals.h where appropriate.
10327
10328         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
10329         not include gdkprivate-x11.h, move all stuff of conceivable public
10330         interest into gdkx.h; keep all really private stuff in
10331         uninstalled header gdkprivate-x11.h.
10332
10333         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
10334         image->image_put on windows through a new function _gdk_window_draw_image()
10335         to allow us to do backing store for images. (Sort of ugly)
10336
10337         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
10338         contexts locally so that we can offset them properly when drawing 
10339         onto backing pixmaps.
10340
10341         * gdk/gdkinput.h: Reindented
10342
10343         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
10344         pixmap or color for the window, so we can properly initialize
10345         our double-buffer pixmaps, and also so that we temporarily set
10346         a background of None while scrolling.
10347
10348         * gdk/gdkregion.h: Revise region boolean operators to have an
10349         interface that is actually convenient - switch from creating new
10350         regions on every op, to "methods" that modify existing regions
10351         (A = A OP B). 3 argument forms which allow dest == src, would also
10352         be possible, but the current interfaces seem to map nicely
10353         onto what needs to be done. (There is quite a lot of region
10354         code in GDK now.)
10355
10356         * gdk/gdkregion.h: Add constructor from rectangle and a copy
10357         operator.
10358
10359         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
10360         gdkpoly-generic.h: Copy region code from Xlib, switch it over
10361         to 32 bit coordinates, modify it to be mostly GTK+ style
10362         and to have interfaces that match gdkregion.h.
10363
10364         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
10365         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
10366         create a backing pixmap and redirect all drawing to
10367         that backing pixmap until a matching gdk_window_end_paint().
10368
10369         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
10370         Create a special drawable class for GtkWindow's that 
10371         redirects the drawing to the backing pixmap as necessary
10372         and then calls the real operations in _gdk_windowing_window_class.
10373
10374         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
10375         Store invalid region for each window. Generate expose events for invalid
10376         region in an idle. This replaces both the expose compression
10377         and the redrawing queuing in GTK+. It is both more efficient and
10378         simpler than either one individually and far more so then the
10379         combination.
10380
10381         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
10382         Emulate 32 bit coordinates for windows with 16 bit coordinates
10383         by offsetting drawing, guffaw scrolling techniques and
10384         mapping/unmapping child windows as necessary.
10385
10386         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
10387         where, when invalid regions are processed, the region is stored,
10388         and if expose events come in that are detectably duplicate
10389         the processed exposes (by comparison of event serial numbers),
10390         the stored region is subtracted out of those exposes.
10391
10392         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
10393         regions newly exposed when scrolling or resizing windows.
10394         This, combined with forcing processesing of queued invalidated
10395         regions, gives nice flicker-free scrolling.
10396
10397         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
10398         invalidated regions after every scroll.
10399
10400         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
10401         emulation in GDK. Its, for all practical purposes just a
10402         GtkViewport/GtkFixed hybrid now.
10403
10404         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
10405         (16-bit) structures as necessary instead of just casting.
10406
10407         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
10408         in terms of the structures from gdkregion-generic.c, using appropriate
10409         offsets from GDK to X11 coordinates. Cache clip mask and
10410         origin and ts origin locally and only flush to the server
10411         when drawing, to avoid constantly setting and resetting these
10412         values when offsetting GC's for scrolling and backing pixmaps.
10413
10414         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
10415
10416         * gtk/gtkcontainer.c: Call process_all_updates at end
10417         of resizing to reduce flicker. (Avoids having redraw
10418         lag arbitrarily behind resize under some circumstances)
10419
10420         * gtk/gtkentry.c: Remove old backing store code, and simply take
10421         advantage of the new backing store capabilities of GDK.
10422
10423         * gtk/gtkmain.c: Simple implementation of widget backing
10424         store - simply push a paint while handling each expose.
10425         (Should really be configurable widget for widget.)
10426         
10427         * gtk/gtkwidget.c: Remove all the old complicated redraw
10428         code, and simply invalidate the GDK windows from
10429         gdk_window_queue_clear(), etc. (Sigh, so much carefully
10430         debugged complexity ... gone to the winds.)
10431
10432         Remove all the code for suppressing expose events while
10433         resizes are pending; this isn't needed since the invalid
10434         areas won't be processed until after the resizes are
10435         processed, since they are in a lower priority idle.
10436
10437 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
10438
10439         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
10440         and height of dest rectangle for non-intersecting rectangles.
10441
10442 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
10443
10444         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
10445         for GdkRectangle.
10446
10447 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
10448
10449         * gdk/gdk{events,image,private,types,window}.h
10450          gdk/x11/gdkinputprivate.h: Change all coordinates
10451          from int16 to int. Also, Change width and height from
10452          unsigned to signed to avoid all the stupid C 
10453          signedness bugs.
10454
10455 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
10456
10457         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
10458         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
10459         Add some more detailed checking.
10460
10461         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
10462         New function to retrieve the depth of a drawable.
10463
10464         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
10465         field, reorder fields to save memory. 
10466
10467 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
10468
10469         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
10470         of the background image instead of scaling the background down to
10471         a line.
10472
10473         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
10474         which temporarily set slider to wrong size.
10475
10476         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
10477         queue_clear().
10478
10479 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
10480
10481 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
10482
10483         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
10484
10485 2000-03-17  Tor Lillqvist  <tml@iki.fi>
10486
10487         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
10488         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
10489
10490         * gdk/win32/gdkfont-win32.c
10491         * gdk/win32/gdkproperty-win32.c
10492         * gdk/win32/gdkselection-win32.c
10493         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
10494         now declared such.
10495
10496 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
10497
10498         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
10499
10500 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
10501
10502         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
10503         is called without trapping X errors.
10504
10505 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
10506
10507         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
10508         way into the fontset lists.
10509
10510 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
10511
10512         * gtk/gtkthemes.h: add extern "C" scope.
10513
10514 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
10515
10516         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
10517         to make appends to the list constant. (gtk-guy-990901-0.patch)
10518
10519 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
10520
10521         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
10522         for the typename hash table.
10523
10524 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
10525
10526         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
10527         to make sure we never divide by zero. 
10528         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
10529
10530 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
10531
10532         * gtk/gtkfontsel.c: Apply patch from
10533         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
10534         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
10535
10536         Also, some cleanups in atom handling.
10537
10538 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
10539
10540         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10541         not GtkWidget.
10542
10543 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
10544
10545         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
10546         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
10547         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
10548         more guint wrap-around bugs before going to bed.
10549
10550 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
10551
10552         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
10553         guint wrap arounds in allocation.width.
10554
10555         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
10556         process untill we fit the allocation given.
10557
10558 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
10559
10560         * gtk/gtkwidget.c:
10561         (gtk_widget_unrealize): guard widget access with ref/unref
10562         around signal emission.
10563         (gtk_widget_hide): same here, but also check its destroyed
10564         state before queueing a resize.
10565
10566 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
10567
10568         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
10569         of gtk_default_insensitive_bg as insensitive base color.
10570
10571         * gtk/gtktext.c (gtk_text_style_set): set the background color according
10572         to the widget's state.
10573         (gtk_text_realize): same here.
10574         (gtk_text_state_changed): same here.
10575         (draw_bg_rect): compare background color against base[] from
10576         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
10577
10578 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
10579
10580         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
10581         grabs are active, unless a delete event is send to the toplevel
10582         of the currently grab holding widget.
10583
10584 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
10585
10586         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
10587         debugging g_print's.
10588
10589 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
10590
10591         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
10592         ever make the scrolled-window requisition ever depend on the 
10593         visibility state of the scrollbars for the AUTOMATIC policy. 
10594         This breaks the GTK+ requisition model, and causes loops.
10595
10596 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
10597
10598         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
10599         the default font to avoid problems with XFree86-4.0 where the
10600         default charset is iso10646-1, not iso8859-1.
10601
10602 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
10603
10604         * acinclude.m4
10605         * config.guess
10606         * config.sub
10607         * ltconfig
10608         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
10609
10610         * gtk/Makefile.am: minor cosmetic consistency tweak
10611
10612 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
10613
10614         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
10615         the activate_time to 0, so that we handle a quick
10616         press/release press/release properly and don't suppress
10617         the second release. (Red Hat bug #7545)
10618
10619 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
10620
10621         * gtk/gtkctree.c (row_delete):
10622         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
10623         bugs with destruction notifier, *always* update internal
10624         structures *before* calling user code.
10625
10626 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
10627
10628         A few more fixes for bug #5487, #2051, #2677.
10629         * gtk/gtkclist.c : 
10630         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
10631         not GDK_BUTTON_PRESS.
10632         (resync_selection): resync only if selection_mode is
10633         GTK_SELECTION_EXTENDED
10634         * gtk/gtkctree.c (resync_selection): same here
10635
10636 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
10637
10638         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
10639         gdk_drag_get_selection() and gtk_menu_detach().
10640
10641         [ From Jeroen Ruigrok/Asmodai ]
10642
10643 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
10644
10645         * gtk/gtknotebook.c (gtk_notebook_size_request): 
10646         page->tab_label can be NULL.
10647
10648 2000-01-25  Havoc Pennington  <hp@pobox.com>
10649         
10650         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
10651         arg is boolean
10652
10653         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
10654
10655         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
10656
10657         * gdk/gdkproperty.c (gdk_property_get): return boolean
10658
10659         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
10660
10661         * gdk/gdkim.c (gdk_im_ready): return boolean
10662
10663         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
10664
10665         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
10666         glib clash, should fix glib)
10667
10668         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
10669         (gdk_get_show_events): return gboolean, and canonicalize 
10670         to TRUE/FALSE
10671
10672         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
10673         colormap is private
10674         (gdk_colors_alloc): gboolean whether to be contiguous
10675         (gdk_color_equal): return gboolean since we are a predicate
10676         and not a qsort() (this looks semi-wrong due to glib breakage,
10677         IMO glib should be fixed)
10678         
10679         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
10680         (gdk_get_use_xshm): return gboolean
10681         (gdk_pointer_is_grabbed): return gboolean
10682
10683         * gdk/gdk.h: Change prototypes to match all the above changes,
10684         and re-run egtk-format-protos as required.
10685
10686 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
10687
10688         * gtk/gtkctree.c (resync_selection): 
10689         * gtk/gtkclist.c (resync_selection):
10690
10691         Return immediately if clist->drag_pos < 0. This is a workaround
10692         for the corrupt state that the clist gets into when a
10693         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
10694
10695         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
10696         
10697         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
10698         variable from recent commit.
10699
10700 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
10701
10702         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
10703
10704 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
10705
10706         * gtk/Makefile.am: prefix all autogenerated source that get build in
10707         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
10708         in builddir. since we subsequently cd into srcdir for autogeneration,
10709         the paths have to be stripped from the target file names, thusly we
10710         use $(@F) as target names now.
10711         put a comment about configure.in's --disable-rebuilds option,
10712         which can be used for non-writable source directories, for development
10713         setups though, srcdir has to be *writable*.
10714
10715 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
10716
10717         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
10718           Finish the job of allowing event to be NULL.
10719           (Fixes bug #4283, reported by Chris Blizzard)
10720
10721         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
10722           things so that the cursor appears on screen, properly
10723           take into account INNER_BORDER.
10724           (Fixes bug #4754, reported by Antonio Campos)
10725
10726 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
10727
10728         * gtk/gtknotebook.c (gtk_notebook_map): Don't
10729           show the tab_label unless it itself is visible.
10730
10731           gtk/gtknotebook.c (gtk_notebook_size_request):
10732           Do a better job of making sure that the visibility
10733           of the tab label corresponds to whether it should
10734           be mapped or not.
10735
10736 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
10737
10738         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
10739           Use the requisition, not the allocation, since the
10740           allocation has not necessarily been computed yet.
10741           (Pointed out by Eugene Osintsev)
10742
10743 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
10744
10745         * gtk/gtkstyle.c (gtk_style_new): Dont' set
10746           style/base[GTK_STATE_INSENSITIVE] both to
10747           gtk_default_insensitive_bg!
10748           (Bug #2187, reported by Jonathan Blandford)
10749
10750         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
10751           Add Alt_L, Alt_R to list of invalid accelerators.
10752           (Bug #3736, reported by Vlad Harchev)
10753
10754 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
10755
10756         * gtk/gtkfilesel.c (open_ref_dir): Fix several
10757         bugs which occured after an attempt to open 
10758         invalid home directory left cmpl_state->reference_dir == NULL.
10759
10760          - completion on files in home directory didn't work
10761          - completion on an empty string caused  segfault
10762
10763          (Bug #3678, reported by Steve Ratcliffe)
10764
10765         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
10766         cut and paste error that was causing scales to
10767         be incorrectly positioned.
10768         (Bug #2956,
10769          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
10770
10771 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
10772
10773         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
10774         when checking for dcgettext, if we've found we needed
10775         it for dgettext.
10776 +
10777 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
10778
10779         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10780         queue_clear on NO_WINDOW widgets during a reparent,
10781         since at that point the window and widget heirarchies
10782         are out of sync. This stops crashing in some cases
10783         (the scrolled window reparent test, for instance), and
10784         _probably_ won't cause drawing errors.
10785
10786         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
10787         test do what it was supposed to do and be robust against
10788         window closings, etc. (Bug #2443)
10789
10790 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
10791
10792         * gtk/gtkentry.c: Fix return values on mouse events.
10793         (Bug #2686, Sky <seb_sky@yahoo.com>)
10794
10795         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
10796         (pointed out by George Lebl)
10797
10798         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
10799         (From Ettore Perazzoli  <ettore@helixcode.com>)
10800  
10801 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
10802
10803         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
10804         clicks between rows or outside calender area correctly.
10805         (Patch from Damon Chaplin)
10806
10807         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
10808         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
10809           Call destroy function when overwriting existing data. 
10810           (Pointed out by Damon Chaplin)
10811
10812 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
10813
10814         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
10815           which was causing problems on various systems with Xmu.
10816           This hasn't been needed for a very long time.
10817           (Fixes #1185 3167)
10818
10819 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
10820
10821         * gdk/gdki18n.h: Include <ctype.h> when defining
10822           gdk_isw* in terms of is* as a fallback.
10823           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
10824
10825 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
10826
10827         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
10828           realize the widget when it is size allocated!
10829           (old, old bug)
10830
10831         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
10832           Removed unused call to gdk_window_get_size() that
10833           showed up when the above was fixed.
10834
10835 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
10836
10837         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
10838           fix up widget->window when the widget is a
10839           NO_WINDOW container widget.
10840
10841 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
10842
10843         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
10844           to account for the fact that feof() does _not_ 
10845           return TRUE on errors, and thus avoid infinite loops
10846           when trying to use gdk_pixmap_create_from_xpm()
10847           on unreadable values.
10848
10849 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
10850
10851         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
10852
10853 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
10854
10855         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
10856           gdk_gc_set_dashes to take gint8 instead of gchar to
10857           make it clearer that it is _not_ a NULL terminated string.
10858
10859         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
10860           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
10861           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
10862           arguments.
10863
10864 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
10865
10866         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
10867         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
10868         background size relative to our allocation, guard against small
10869         allocations, we may have not yet been size allocated.
10870
10871 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
10872
10873         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
10874         not just version == 3. We implement all 3 + most of 4 - 
10875         (we don't support matching text/plain;charset=iso-8859-1
10876         to a dest that expects text/plain). We'll still advertise
10877         3 to be safe, but any client implementing version >= 3
10878         must interoperate with 3.
10879         
10880 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10881
10882         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
10883         background and gc members, add a warning in gtk_tooltips_set_color()
10884         indicating that this function is deprecated.
10885
10886 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
10887
10888         * docs/gtkfaq.sgml: FAQ Update:
10889           - Minor cleanups (Emmanuel, me)
10890           - New questions:
10891                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
10892                 How can I retrieve the text from a GtkMenuItem? (timj)
10893                 How do I validate/limit/filter the input to a GtkEntry? (me)
10894                 Memory does not seem to be released when I free the list
10895                         nodes I've allocated (timj)
10896
10897 2000-03-07  Tor Lillqvist  <tml@iki.fi>
10898
10899         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
10900         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
10901         for which it is no use to call GetLastError onWin9x.
10902         (gdk_other_api_failed) New function, for general error
10903         reporting without calling GetLastError.
10904         (gdk_win32_api_failed) OTOH, this function always calls
10905         GetLastError. (gdk_win32_last_error_string) Remove this function,
10906         GLib has the equivalent now.
10907
10908         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
10909         call them with function name, file name and line number in the
10910         arguments.
10911
10912         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
10913         functions.
10914         
10915         * gtk/gtk.def: Add some missing entry points.
10916
10917         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10918         gtk_paned_set_gutter_size, which don't exist any longer, as void.
10919         
10920         Fixes by Hans Breuer:
10921
10922         * gdk/makefile.msc: Update for debugging.
10923
10924         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
10925         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
10926         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
10927         in the dash_list.
10928
10929         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
10930         the x11 backend.
10931
10932         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
10933
10934         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
10935
10936 2000-03-04  Tor Lillqvist  <tml@iki.fi>
10937
10938         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
10939         just pixel value of background colour.
10940
10941         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
10942         containing code snippet previously duplicated in a couple of
10943         places.
10944         
10945         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
10946         gdk_colormap_color.
10947
10948         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
10949         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
10950         events for autorepeated Shift, Control and Alt keys. Use
10951         gdk_colormap_color.
10952
10953         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
10954         pointer is inside the window the cursor of which we are setting,
10955         call SetCursor immediately.
10956
10957         * gdk/win32/makefile.cygwin
10958         * gtk/makefile.cygwin: If we don't have the build number stamp
10959         file, use zero.
10960
10961         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10962         gtk_paned_set_gutter_size as empty.
10963
10964         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
10965         
10966 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
10967
10968         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
10969           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
10970           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
10971           docs/gtk_tut.sgml docs/gtk.texi TODO:
10972
10973           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
10974
10975 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
10976
10977         * gtk/gtkcalendar.c: Implement num_marked_dates,
10978           and don't emit mutiple day_selected signals on
10979           month_prev.
10980
10981 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
10982
10983         * docs/make-todo (lineno): let title and logo be configurable so
10984         that GNOME can use this script too.
10985
10986         * TODO.xml: added logourl and a title
10987
10988 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
10989
10990         * TODO.xml: Added some UI items, and an explanatory
10991         comment at the top of the file.
10992
10993 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
10994
10995         * TODO.xml: some updates, added abunch of new entries.
10996         a note for those fiddeling with this file, when done
10997         with it, invoke:
10998         $ ./docs/make-todo TODO.xml >/dev/null
10999         and correct output errors before comitting changes.
11000
11001 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
11002
11003         * TODO.xml: Added XML-structured TODO file.
11004         * docs/make-todo: python script to turn TODO.xml into
11005           pretty XML output. 
11006
11007 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
11008
11009         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
11010         the function to let it draw the seven dots, instead of the old,
11011         much maligned, method.
11012         (draw_dot): New function to draw a dot.
11013
11014         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
11015         to draw the handle inside the border width as opposed to outside.
11016         Use paint function instead of gdk_draw_point.
11017
11018         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
11019         to draw the handle inside the border width as opposed to outside.
11020         Use paint function instead of gdk_draw_point.
11021
11022         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
11023         Change indenting to be more GTK like.
11024
11025 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
11026
11027         * docs/gtk_tut.sgml: New section on GtkCalendar
11028         * examples/calendar: Update example code
11029
11030 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
11031
11032         * docs/gtkfaq.sgml: FAQ Update
11033
11034 2000-02-19  Anders Carlsson  <andersca@gnu.org>
11035
11036         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
11037         to prevent the scroll event to be propagated upwards.
11038
11039 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
11040
11041         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
11042         OwnerGrabButtonMask from button entries for
11043         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
11044
11045         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
11046         to the event mask (which will result in button/press release
11047         being added to the event mask on Unix) so scrolling works
11048         for layouts in scroll windows.
11049
11050         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
11051
11052         Patch from Anders Carlsson  <andersca@gnu.org> to add
11053         a scroll event.
11054
11055         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
11056         scrolling to the "Test Scrolling" part of testgtk.
11057  
11058         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
11059  
11060         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
11061         it against GDK_SCROLL.
11062  
11063         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
11064         way of mouse wheel scrolling.
11065  
11066         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
11067  
11068         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
11069  
11070         * gtk/gtkmain.c: Removed previous mouse wheel hack.
11071  
11072         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
11073         gdk_event_mask_table.
11074  
11075         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
11076         GdkEventScroll handler.
11077  
11078         * gdk/gdkevents.h: Added GdkEventScroll structure.
11079  
11080 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
11081
11082         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
11083         and Anders Carlsson to change the Paned widgets so that they
11084         can be dragged from anywhere along the length. Also change
11085         the way that this is drawn to make this apparent.
11086
11087         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
11088         from George Lebl to check that option_menu->menu is present
11089         before getting history.
11090
11091 2000-02-14  Tor Lillqvist  <tml@iki.fi>
11092
11093         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
11094         before the assertion for non-NULL segment list.
11095
11096         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
11097         Seems that pattern brushes *must* be 8x8 pixels! At least on my
11098         machine, but it might be display driver dependent. Sigh, so make
11099         sure the stipple is that size. Does Windows suck or what?
11100
11101         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
11102         places.
11103
11104 2000-02-13  Havoc Pennington  <hp@pobox.com>
11105
11106         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
11107         refcount to 1
11108         (gdk_cursor_new): init refcount to 1
11109
11110         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
11111
11112 2000-02-13  Tor Lillqvist  <tml@iki.fi>
11113
11114         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
11115         so that we don't have to do unnecessary settings to the HDC.
11116
11117         * gdk/win32/gdkdrawable-win32.c
11118         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
11119         gdk_gc_predraw.
11120
11121         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
11122         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
11123         GDI paths, call WidenPath to get the outline of the stroken path,
11124         and then fill the outline (with the brush that was built from the
11125         stipple).
11126
11127         * gdk/win32/gdkgc-win32.c: Factor out common code from
11128         _gdk_win32_gc_new and gdk_win32_gc_set_values into
11129         gdk_win32_gc_values_to_win32values. Use correct colour for
11130         SetBkColor() (Until now the code actually used a random colour in
11131         the call to SetBkColor()... but that didn't show up as not many
11132         GDI APIs use the background colour. Pattern (opaque stippled)
11133         brushes do.)
11134
11135         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
11136         gdk_win32_api_failed): New functions for error logging.
11137
11138         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
11139         WIN32_API_FAILED to call them, passing function or file name and
11140         line number.
11141
11142         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
11143
11144         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
11145         GdkColor for foreground and background in GdkGCWin32Data.
11146
11147         * gdk/makefile.cygwin: Link in the resource object separately.
11148
11149         * gdk/win32/rc/gdk.rc
11150         * gtk/gtk.rc (New file)
11151         * gdk/win32/makefile.cygwin
11152         * gtk/makefile.cygwin: Update build number in DLLs automatically,
11153         as in GLib.
11154
11155 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
11156
11157         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
11158         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
11159         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
11160         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
11161         parameters given and cursor->ref_count. coding style fixups.
11162
11163         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11164         not GtkWidget.
11165         
11166         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
11167         fix up widget macros and add _GET_CLASS() variant.
11168         
11169         * gtk/*.c: some GtkType fixups.
11170
11171 2000-02-09  Tor Lillqvist  <tml@iki.fi>
11172
11173         * gdk/win32/gdkproperty-win32.c
11174         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
11175         were reversed.
11176
11177 2000-02-04  Tor Lillqvist  <tml@iki.fi>
11178
11179         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
11180         g_filename_to_utf8 to convert the font names Windows gives us from
11181         whatever is the default codepage to UTF-8.
11182         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
11183         in the other direction.
11184
11185         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
11186         error in debugging output.
11187
11188 2000-02-02  Tor Lillqvist  <tml@iki.fi>
11189
11190         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
11191         and height parameters to gdk_window_clear_area(). Not minus one.
11192
11193 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
11194
11195         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
11196         checks if the widget passed to gtk_drag_get_data() was not the
11197         dest widget.
11198
11199 2000-02-01  Tor Lillqvist  <tml@iki.fi>
11200
11201         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
11202         g_filename_from_utf8 functions (which were added a moment ago to
11203         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
11204         size buffers.
11205
11206         gtk_file_selection_get_filename returns the filename in the C
11207         runtime encoding. It calls g_filename_from_utf8, but copies the
11208         returned string to a static buffer, which is returned. I think
11209         this is better than returning the result from g_filename_from_utf8
11210         directly, which would mean all apps that use it would have to free
11211         the return value. Or should this function care about this issue at
11212         all? Maybe a new function with clearly defined semantics.
11213
11214         * gtk/gtkfilesel.h: Add comment about
11215         gtk_file_selection_get_filename returning the filename in the C
11216         runtime's encoding.
11217
11218         * README.win32
11219         * gdk/gdk.def
11220         * gdk/makefile.{cygwin,msc}
11221         * gtk/gtk.def: Updates.
11222
11223         * gdk/gdkcursor-win32.c: Initialise refcount.
11224
11225 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
11226
11227         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
11228
11229 2000-01-30  Havoc Pennington  <hp@pobox.com>
11230
11231         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
11232         destroy
11233
11234         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
11235
11236         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
11237         implemented in platform-specific code
11238
11239         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
11240
11241         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
11242         underscore in front
11243
11244         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
11245         put an underscore in front
11246
11247         * gdk/gdkcursor.c: new file, implements
11248         gdk_cursor_ref/gdk_cursor_unref
11249
11250         * gdk/gdkcursor.h: Refcount GdkCursor
11251
11252         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
11253
11254 2000-01-29  Tor Lillqvist  <tml@iki.fi>
11255
11256         * gdk/gdkwindow.h
11257         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
11258
11259 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
11260
11261         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
11262         structures to properly inherit from GtkWidget not GtkBin.
11263
11264 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
11265
11266         * gtk+.spec.in: Added lib/gtk+/include/* to %files
11267         (bug #5178 - Peter Wainright)
11268         
11269         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
11270         so that it will be installed.
11271         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
11272
11273 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
11274
11275         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
11276         for the GtkStyleClass vtable const.
11277
11278         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
11279         take a const string argument like GtkTranslateFunc. This will
11280         require changes in use code.
11281
11282 2000-01-19  Tor Lillqvist  <tml@iki.fi>
11283
11284         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
11285         semantics (to mimic the X11 backend, which just calls XClearArea)
11286         is to check for zero width (and height), and in that case use the
11287         window's width minus x (height minus y). This fixes for instance
11288         some redraw problems with gtkclist, which were easily noticeable
11289         in the gtk file selection widget.
11290
11291         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
11292         windows.
11293
11294 2000-01-13  Tor Lillqvist  <tml@iki.fi>
11295
11296         * configure.in
11297         * gdk/Makefile.am
11298         * gdk/x11/Makefile.am
11299         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
11300         (bug #5177).
11301         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
11302         out later.
11303
11304 2000-01-09  Tor Lillqvist  <tml@iki.fi>
11305
11306         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
11307         WM_MOVE for iconified or invisible windows. This fixes various
11308         problems when minimising windows. Thanks to Bernd Herd.
11309
11310 2000-01-05  Tor Lillqvist  <tml@iki.fi>
11311
11312         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
11313         backend's draw_lines method, not draw_points.
11314
11315 2000-01-02  Tor Lillqvist  <tml@iki.fi>
11316
11317         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
11318         before Owen's reorganisation: Don't have queued_events and
11319         queued_tail statics in this file, but use gdk_queued_events and
11320         gdk_queued_tail. This makes exposure event compression work again.
11321
11322         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
11323         seem to be needed?
11324
11325 1999-12-30  Tor Lillqvist  <tml@iki.fi>
11326
11327         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
11328         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
11329         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
11330         doesn't do anything.
11331
11332         * gdk/gdk.def: Add gdk_xid_table_insert.
11333
11334         * gdk/win32/gdkprivate-win32.h
11335         * gdk/win32/gdkevents-win32.c
11336         * gdk/win32/gdkinput-win32.c
11337         
11338         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
11339         extension_events field in the GdkWindowWin32Data struct. Use only
11340         the extension_events field in GdkWindowPrivate. Previously one was
11341         set, and the other one tested, which broke tablet
11342         functionality. Thanks to Keishi Suenaga for pointing this out.
11343
11344 1999-12-18  Tor Lillqvist  <tml@iki.fi>
11345
11346         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
11347         When handling a single character (text length == 1), don't handle
11348         it as if it was UTF-8.
11349
11350 1999-12-11  Tor Lillqvist  <tml@iki.fi>
11351
11352         * Makefile.am: Distribute README.win32.
11353         
11354         * gdk/Makefile.am
11355         * gdk/win32/Makefile.am: Distribute Win32 files.
11356
11357         * gdk/makefile.msc: New file.
11358
11359         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
11360         after label).
11361
11362         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
11363         gdk_error_code as GDKVAR, as they are referred outside GDK.
11364
11365         * gdk/win32/makefile.msc: Update.
11366
11367         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
11368         tweaks. Check only if at least one of those Unicode subrange bits
11369         we care for is set. If no code page bits are set, guess (wildly)
11370         based on the charset.
11371
11372         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
11373
11374         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
11375         non-NULL.
11376
11377         * gtk/gtkdnd.c
11378         * gtk/gtklayout.c
11379         * gtk/gtkplug.c
11380         * gtk/gtkselection.c
11381         * gtk/gtksocket.c
11382         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
11383         appropriate. There must be a cleaner way to handle this?
11384
11385         * gtk/gtkrc.c: Must include windows.h on Win32.
11386
11387         * gtk/testgtk.c: No need to include gdkx.h.
11388
11389         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
11390
11391 1999-12-07  Tor Lillqvist  <tml@iki.fi>
11392
11393         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
11394         the rbearing is set to the same as the width, but this should be
11395         fixed.
11396
11397 1999-12-06  Tor Lillqvist  <tml@iki.fi>
11398
11399         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
11400         function. If Windows doesn't tell us what Unicode subranges a font
11401         covers, guesstimate based on the codepages it covers. This will
11402         hopefully help those Windows versions or fonts that don't give us
11403         any useful Unicode subrange information with GetTextCharsetInfo.
11404         Call this function in gdk_font_load_internal.
11405
11406         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
11407         minor changes.
11408
11409 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
11410
11411         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
11412         New function, long needed.
11413
11414 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
11415
11416         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
11417         only_if_exists argument of gdk_atom_intern to
11418         bool.
11419
11420 1999-11-25  Tor Lillqvist  <tml@iki.fi>
11421
11422         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
11423         Fix two copy&paste errors.
11424
11425         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
11426         win32 has changed.
11427
11428         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
11429         GdkWin32SingleFont struct.
11430
11431         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
11432         subranges of loaded fonts. Clear font signature first, in case
11433         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
11434         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
11435
11436         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
11437         Unoffset clip region.
11438
11439 1999-11-23  Tor Lillqvist  <tml@iki.fi>
11440
11441         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
11442         event->any.window before calling filter functions.
11443
11444 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
11445
11446         * gtk/gtkgamma.h: Adapt cast macros to standard.
11447
11448 [ Merges from 1.2 ]
11449
11450 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
11451
11452         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
11453         If translation does not include a '/', use entire
11454         translation instead of crashing.
11455
11456 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
11457
11458         * docs/gtk_tut.sgml:
11459         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
11460
11461 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
11462
11463         * gtk/gtkselection.c (gtk_target_list_remove): Use
11464         g_list_remove_link, not g_list_remove.
11465
11466         [ From Geert Bevin <gbevin@thunderstorms.org> ]
11467         
11468 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
11469
11470         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
11471         statement upon unselection (how the heck did that slip in?).
11472
11473 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
11474
11475         * gtk/gtktext.c (gtk_text_freeze): 
11476         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
11477         in frozen state (and aparently crashes). patch provided by Anders
11478         Melchiorsen <and@kampsax.dtu.dk>.
11479
11480 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
11481
11482         * fix insensitive default/focus widget activation,
11483         reported by Matt Goodall <mgg@isotek.co.uk>.
11484
11485         * gtk/gtkwindow.c (gtk_window_key_press_event): 
11486         (gtk_window_activate_default):
11487         (gtk_window_activate_focus):
11488         return handled=FALSE for actiavtion of insensitive default
11489         widgets. return handled=TRUE for activation of insensitive
11490         focus widgets. don't activate in either case.
11491
11492 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
11493
11494         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
11495         and $glib_cflags to match library order and in the
11496         theory that an old version of GLib is more likely to
11497         be in the include directory for X then vice-versa.
11498         (Bug #2776)
11499
11500 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11501
11502         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
11503         to determine the locale for fontsets, not LC_MESSAGES;
11504         the user may want English messages with a handling
11505         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
11506         will still be broken) (Bug #2891)
11507
11508 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11509
11510         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
11511
11512 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11513
11514         * gtk/gtkrc.ko: Changed the Korean default fontset.
11515
11516 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
11517
11518         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
11519         where when scrolling to the left or top double exposes
11520         were done, causing major slowdowns.
11521
11522 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
11523
11524         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
11525         names to lowercase and alphanumeric, before looking
11526         them up.
11527
11528         * gtk/Makefile.am: Install codeset variant gtkrc files
11529         with normalized names.
11530
11531 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
11532
11533         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
11534         popup menus when the menu is already visible, but its parent
11535         is still hidden, (happens after tornoff window got hidden).
11536
11537 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
11538
11539         * gtk/Makefile.am (install-data-local): Fix
11540         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
11541         deleted, causing error messages on install.
11542
11543 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
11544
11545         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
11546         the handle as well, since we now sometimes ignore
11547         exposes on the handle while resizing.
11548
11549 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
11550
11551         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
11552         extra g_free introduced in one of the last one or two 
11553         commits.
11554
11555 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
11556
11557         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
11558         consistent, put each style that a gtkrc.* file creates
11559         in a unique namespace, remove old files before installing.
11560
11561 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
11562
11563         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
11564         gtk_rc_init is called multiple times. (Yes, people who
11565         do that have bugs in their code.)
11566
11567 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
11568
11569         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
11570         Remove it since it's generated by the Makefile anyway
11571
11572 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
11573
11574         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
11575         device->info.axes for core pointer.
11576
11577 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
11578
11579         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
11580         idle_id, to deal with obsolete, broken C libraries.
11581
11582 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
11583
11584         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
11585         allocation->x/y twice!
11586
11587         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
11588         consistent with gtk_vscale_pos_trough().
11589
11590 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
11591
11592         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
11593         be queueing a resize on a toplevel container between
11594         the time we show it and when we map it. So, we need
11595         to test GTK_WIDGET_VISIBLE() for toplevels, and only
11596         use GTK_WIDGET_DRAWABLE() for child windows.
11597
11598 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
11599
11600         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
11601         (fixes bug #2144)
11602
11603 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
11604
11605         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
11606         container DRAWABLE (instead of VISIBLE), so we don't queue
11607         resizes on non-toplevel containers.
11608
11609 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
11610
11611         * gtk/gtkselection.[ch]: Make the data argument
11612         const guchar *.
11613
11614 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
11615
11616         * gtk/gtkwindow.c: Try to behave sensibly if 
11617         the focus widget is the window itself. (Should
11618         we allow this at all?)
11619
11620 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11621
11622         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
11623         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
11624         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
11625         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
11626         in prototypes and implementations consistent (Tomas Ogren).
11627
11628         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
11629         before the widget is unparented (reported by damon).
11630
11631         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
11632         since we provide unsigned data anyways.
11633
11634 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
11635
11636         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
11637         the call to gtk_tooltips_layout_text() until later.
11638
11639         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
11640         Call gtk_widget_ensure_style() before using the style.
11641
11642 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
11643
11644         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
11645         for old widgets that don't propagate draws to all
11646         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
11647
11648 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
11649
11650         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
11651         for a redraw but just the widget that requested the resize.
11652
11653 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
11654
11655         * gtk/gtkcontainer.c: added new widget level method
11656         gtk_container_set_reallocate_redraws() and a GtkContainer flag
11657         reallocate_redraws : 1 to reflect the setting, exported this through
11658         the argument system as a boolean ::reallocate_redraws.
11659
11660         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
11661         on the widget because the allocation changes, do so as well for
11662         widget->parent if the parent has reallocate_redraws set to TRUE.
11663         with that containers requesting reallocation redraws get automatically
11664         redrawn if their children changed allocation (this unfortunately
11665         affects also other children that didn't change allocation, but we
11666         cannot work around that before 1.3).
11667
11668 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11669
11670         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
11671         _and_ height are >0 (not _or_).
11672
11673         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
11674         instead of gtk_container_queue_resize(), which is a core gtk internal
11675         function (must have been on crack when i queued that).
11676
11677         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
11678         we can check more reliably if we want to discard expose events.
11679         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
11680         flag.
11681         
11682         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
11683         we simply trust these events. for deciding whether to discard exposes,
11684         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
11685         
11686 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
11687
11688         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11689         queues of areas that are completely off screen.
11690
11691         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
11692         logic for handleboxes.
11693
11694         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
11695         check on width/height.
11696
11697 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
11698
11699         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
11700         we are fine with using $@ the way we do (if we actually encounter
11701         brokeness with $@ in VPATH builds because of additional path prefixes,
11702         we need to use $(@F) actually).
11703
11704 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
11705
11706         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
11707         short lived bugs, that would allow language bindings to do surgeries
11708         to our guts.
11709
11710 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
11711
11712         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
11713         where comparison was being done against an uninitialized
11714         value causing intermittant results depending on
11715         compiler flags. Also make it clearer that we aren't
11716         ever initializing the child as 0x0 (though this will
11717         be caught in gtk_widget_size_allocate())
11718
11719 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
11720
11721         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
11722         gtk_window_unset_transient_for() call after we do checks
11723         involving the old transient parent.
11724         [ From Lance Capser <lmc@cyberhighway.net> ]
11725
11726 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
11727
11728         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
11729         an empty file.
11730
11731 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
11732
11733         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
11734         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
11735
11736 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
11737
11738         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
11739         `$@' is valid only in the build dir, not after we've done 
11740         `cd $srcdir'.  Also use `test -f' instead of less portable
11741         `test -e'.
11742
11743 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
11744
11745         * gtk/gtktext.c (correct_cache_insert): Rewrite
11746          for simplicity, and hopefully correctness.
11747          (Fixes bug #1322, which was a segfault when
11748           on some insertions with the properties around
11749           the insertion set up just wrong.)
11750
11751         * gtk/gtktext.c (gtk_text_adjustment): When we receive
11752          a "changed" signal, clamp the new value to the adjustment
11753          bounds to avoid segfaulting if someone tries to change
11754          the adjustment to a bogus value. (Bug #1795)
11755
11756 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11757
11758         * gtk/gtkmain.c: Ignore unexpected destroy notifies
11759         for children, for toplevel windows handle them
11760         like delete_event.
11761
11762         * gtk/gtkplug.c: Add an unrealize handler so that
11763         we unref plug->socket_window when we are done
11764         with it.
11765
11766 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
11767
11768         * gtk/gtktext.c (clear_area): Fix stupid signedness
11769          problem that was causing background to sometimes
11770          be misaligned.
11771
11772 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
11773
11774         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
11775         
11776         * gtk/gtkmenu.c (gtk_menu_position): Make
11777          sure we never position menus with negative x, y,
11778          since gtk_widget_set_uposition() can't handle that.
11779
11780         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
11781          Modify the positioning code a bit so that we always
11782          put the top-left corner onscreen. (This is for
11783          UI reasons, gtk_menu_position() now takes care of
11784          gtk_widet_set_uposition() brokeness.)
11785
11786 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
11787
11788         * gtk/Makefile.am: fixed up things for -jx, x > 1.
11789
11790 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
11791
11792         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
11793           RC style that is passed in. The lack of the ref
11794           before was a bug. If people worked around this
11795           bug, this will introduce a slight memory leak
11796           in their code. The code should typically look like:
11797
11798             rc_style = gtk_rc_style_new ();
11799             [...]
11800             gtk_widget_modify_style (widget, rc_style);
11801             gtk_rc_style_unref (rc_style);
11802
11803         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
11804           the style if it was already set.
11805
11806         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
11807           style if it was set before.
11808
11809 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11810
11811         * gtk/testgtk.c (main): Add a check to see if we
11812           are being run from the correct directory and
11813           to quit nicely if we are not.
11814
11815         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
11816           static.
11817
11818 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
11819
11820         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
11821
11822         * gtk/gtkwindow.c:
11823         queue resizes unconditionally (gtk_widget_queue_resize will figure
11824         what to do if the window is not realized).
11825         (gtk_window_move_resize): only recenter the window
11826         for GTK_WIN_POS_CENTER_ALWAYS.
11827         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
11828         the same way as GTK_WIN_POS_CENTER.
11829
11830 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
11831
11832         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
11833         with (!(info->last_flags & GDK_HINT_POS)) instead of
11834         (!info->last_flags & GDK_HINT_POS).
11835
11836         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
11837         new_height unconditionally, because we use these values even if
11838         !default_size_changed && !hints_changed.
11839         comented the (default_size_changed || hints_changed) case with
11840         respect to resize rejects from the window manager.
11841
11842         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
11843         in the zvt condition hack, since this includes the window hints, set
11844         the hints after the handling_resize case.
11845
11846         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
11847         window is initially shown with to the geometry.
11848
11849 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
11850
11851         * gtk/gtkwindow.c (gtk_window_move_resize):
11852         s/size_changed/default_size_changed/g so i know what's
11853         really going on (frying brain on smaller flame now).
11854
11855 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
11856
11857         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
11858         we have size_changed upon handling_resize. this is a gross
11859         workaround for the broken zvt widget and should be removed in
11860         1.3 again (search for FIXME).
11861         Owen provided an accurate comment for this:
11862
11863         /* We could be here for two reasons
11864          *  1) We coincidentally got a resize while handling
11865          *     another resize.
11866          *  2) Our computation of size_changed was completely
11867          *     screwed up, probably because one of our children
11868          *     is broken. It's probably a zvt widget.
11869          *
11870          * For 1), we could just go ahead and ask for the
11871          * new size right now, but doing that for 2)
11872          * might well be fighting the user (and can even
11873          * trigger a loop). Since we really don't want to
11874          * do that, we requeue a resize in hopes that
11875          * by the time it gets handled, the child has seen
11876          * the light and is willing to go along with the
11877          * new size. (this happens for the zvt widget, since
11878          * the size_allocate() above will have stored the
11879          * requisition corresponding to the new size in the
11880          * zvt widget)
11881          *
11882          * This doesn't buy us anything for 1), but it shouldn't
11883          * hurt us too badly, since it is what would have
11884          * happened if we had gotten the configure event before
11885          * the new size had been set.
11886          */
11887
11888 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
11889
11890         * gtk/gtkrc.c: deal properly with the fact that RC
11891           style lists may include rc styles more than once.
11892
11893         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
11894           unused static function.
11895
11896         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
11897           stack of directories of RC files currently being
11898           parsed and implicitely add them to pixmap path.
11899           
11900           This fixes a bug where the directory would get
11901           appended then overwritten by pixmap_path declarations.
11902
11903           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
11904
11905         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
11906           theme's exit function. (Patch from Peter Wainwright,
11907           bug #1454)
11908
11909         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
11910           Add a destroy() handler to take care of removing
11911           group for menu item. (Fixes bug #1197)
11912
11913         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
11914           in warning message.
11915
11916 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
11917
11918         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
11919         roundtrip to figure window's width and height, since we know that
11920         anyways from widget->allocation.
11921
11922 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
11923
11924         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
11925           the hints after we request the new size.
11926
11927 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
11928
11929         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
11930           GTK_WIDGET_REALIZED() assertion - we can compute the
11931           hints before we are realized.
11932
11933         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
11934           hint changing so that we have a value of hints_changed
11935           when we decide whether to constrain the window size.
11936
11937         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
11938
11939         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
11940         change back to G_MAXINT.
11941
11942 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
11943
11944         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
11945         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
11946         contain uncluttered values.
11947         (gtk_window_compute_hints): simply assert that window is realized
11948         and that geometry_info is valid, since we rely on this anyways.
11949         (gtk_window_constrain_size): major cleanups to the code.
11950         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
11951         for the base size, instead of the minimums. use 32767 as max width
11952         and height (like in gtkwindow.c) instead of G_MAXINT.
11953
11954 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
11955
11956         * cleaned up the GtkContainer.need_resize flag handling mess, we
11957         only need to force resize requests when we were prematurely
11958         realized, or our widget tree was modified when we were temporarily
11959         hidden. handling these cases directly upon showing the window (i.e.
11960         while the GdkWindow is still unmapped) avoids the need to wait for
11961         a configure event response and therefore makes the GUI more snappier
11962         and avoids blank windows during the roundtrip.
11963
11964         * gtk/gtkwidget.c:
11965         (gtk_widget_hide): 
11966         (gtk_widget_show): don't queue resizes on toplevels, they know how
11967         to deal with matters.
11968
11969         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
11970         flag directly for not visible resize containers and spare us unecessary
11971         signal emissions.
11972
11973         * gtk/gtkwindow.c:
11974         (gtk_window_realize): if we need to enforce premature size allocation,
11975         queue a container resize so we are correctly resized later on.
11976         (gtk_window_init):
11977         (gtk_window_size_request):
11978         don't freak around with the ->need_resize flag,
11979         gtk_container_queue_resize() will care about that.
11980         (gtk_window_show):
11981         handle initial resizing issues here, we can handle matters better in
11982         this place, especially since we know that our GdkWindow is still
11983         unmapped.
11984         (gtk_window_move_resize):
11985         don't care about ->need_resize at all.
11986         handle size changes properly that occoured while we waited for a
11987         configure event.
11988
11989 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
11990
11991         * gtk/gtkwidget.c (gtk_widget_set_uposition):
11992         * gtk/gtkwindow.[hc] (gtk_window_reposition):
11993         Move the hint setting code from gtk_widget_set_uposition
11994         to here; set the hints so that we respect any previously
11995         set geometry hints.
11996
11997         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
11998         change the window hints here or move the window here,
11999         let that happen in gtk_window_move_resize().
12000
12001 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
12002
12003         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
12004         to already queued resizes (and therefore redraws) on a widget, check
12005         its anchestry as well.
12006
12007         * gtk/gtkcontainer.c:
12008         (gtk_container_queue_resize): clear resize widgets for resize
12009         containers before aborting prematurely. this is especially important
12010         for toplevels which may need imemdiate processing or their resize
12011         handler to be queued.
12012         (gtk_container_dequeue_resize_handler): added new internal function for
12013         gtkwindow.c.
12014
12015         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
12016         configure event, take possible changes in window position into account
12017         as well.
12018         if we request a new window size, queue up a resize handler that will
12019         last until the configure event response arrives.
12020         combined the ->need_resize case (initial show) with the general size
12021         (hints) changed case and added even more comments.
12022         if !auto_shrink, only revert to the old allocation if the new size
12023         is smaller than the current allocation.
12024
12025 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
12026
12027         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
12028                            gtk_window_set_geometry_hints
12029                            gtk_window_set_default_size):
12030         When hints are set, queue a resize so that the hints will
12031         be eventually reset on the toplevel.
12032
12033         * gtk/gtkwindow.c (gtk_window_show): Use
12034         gtk_window_compute_default_size(). Clear the need_resize flag
12035         on the initail map so that we don't unnecessarily trigger the
12036         resize code.
12037
12038         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
12039         into separate functions. Compare the hints we are setting
12040         with what we set last time so that we can accurately
12041         tell when we need to reset the hints.
12042
12043         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
12044         function to figure out the size from requisition
12045         and default_size.
12046
12047         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
12048         from fvwm to constrain a size to the geometry hints.
12049
12050         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
12051         to compare two sets of geometry hints.
12052
12053         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
12054         from gtk_window_set_hints(), just compute the hints,
12055         don't set them.
12056
12057         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
12058         code from gtk_window_move_resize() to separate function,
12059         rationalize a bit.
12060
12061 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
12062
12063         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
12064         structure into a new private structure.
12065
12066         * gtkrc.c: Split GtkRcStyle into public/private.
12067         In the private part, add a list of pointers to the
12068         RcStyle lists this RcStyle participates in.
12069
12070         * gtkrc.c: When a RcStyle is free, remove all
12071         lists referencing it from the 
12072         realized_style_ht hash, and free those lists.
12073         
12074         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
12075         gtk_rc_init(), since that adds the default styles
12076         to the list of parsed RC files again.
12077
12078         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
12079         
12080 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
12081
12082         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
12083         checks that ensure that a widget's allocation is at least 1 in width
12084         and height. (GNOME note: this doesn't affect old panel code anymore,
12085         because GtkSocket will request width and height of at least 1 since
12086         Fri Jul 23).
12087
12088         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
12089         allocated yet (happens if the user realizes the window prematurely),
12090         size request and allocate it.
12091         (gtk_window_size_allocate): guard against guint underflows.
12092
12093 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
12094
12095         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
12096         in gtk_built_sources, so gtk.defs gets built prior to all other
12097         sources.
12098
12099 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12100
12101         * gtk/Makefile.am:
12102         invoke indent on gtkmarshal.*. 
12103         rewrote source generation rules, use COPYING as oldest source tag for
12104         a piggyback rule to generate all sources from (don't touch it ;).
12105         major cleanups, strip spaces on build rules for GNU Make.
12106
12107         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
12108         source and target files from commandline arguments. don't invoke indent.
12109
12110 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12111
12112         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12113         notebook after switch to avoid drawing problems.
12114         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12115         
12116         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12117         show them instead. 
12118         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12119
12120 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12121
12122         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12123         notebook after switch to avoid drawing problems.
12124         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12125         
12126         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12127         show them instead. 
12128         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12129
12130 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
12131
12132         * gtk/gtkwindow.c:
12133         we use window->need_resize from configure_event now, to indicate that
12134         the gtkwindow should keep its allocation (e.g. because the user resized
12135         the window through window manager handles). resize_count is now reliably
12136         used to figure whether we got the allocation we requested from the
12137         window manager.
12138         configure events get queued as resizes now, the real stuff (size
12139         computation and allocation) now only goes on in gtk_window_move_resize().
12140         GtkWindow's requisition now contains its *real* requisition (like all
12141         other widgets), *not* taking usize into account.
12142         geometry_info->last_{width|height} is now updated from set_hints() only
12143         so it always contains the last hints we set for the window manager.
12144         made some event handlers return TRUE instead of FALSE.
12145         the overall code should be much more straight forward now, and the
12146         significant code portions are accompanied by comments now.
12147         (gtk_window_set_hints):
12148         removed requisition argument and made it
12149         fetch the requisition through gtk_widget_get_child_requisition.
12150         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
12151         does that now.
12152         (gtk_window_show):
12153         ensure that the widget is realized before calling 
12154         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
12155         ensure that we got properly size requested and allocated before
12156         realization.
12157         (gtk_window_configure_event):
12158         ignore plain window moves, or reallocate the widget tree through the
12159         resize queue otherwise.
12160         (gtk_window_move_resize):
12161         mostly rewrote this function to figure window manager hints more
12162         reliably, coalesce window moves and resizes to reduce configure events
12163         and do actuall size allocations.
12164
12165 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12166
12167         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
12168         that have a resize pending, because a redraw is already queued for them.
12169
12170         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
12171         hack to clear resize_widgets.
12172
12173         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
12174         for resize containers prior to size allocation. (this is also a bit
12175         ugly, but avoids side effects for stopped emissions and is thus more
12176         reliable).
12177         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
12178
12179         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
12180         function from gtk_tooltips_expose, as we connect to ::expose_event
12181         *and* ::draw now.
12182
12183 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12184
12185         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
12186         checks.
12187         (gtk_target_list_unref): Likewise.
12188
12189         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
12190
12191 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
12192
12193         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
12194         guard against division by zero. (Fixes bug #1339)
12195
12196 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
12197
12198         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
12199         Prevent the trivial leak of information of allowing
12200         word motion when the entry is not visible.
12201
12202 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
12203
12204         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
12205         modality to error dialog as well as confirmation dialogs.
12206         (Bug #1803, reported by Rosanna Wing Sze Yuen)
12207
12208 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12209
12210         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
12211         tree->view_lines.
12212         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
12213
12214         * gtk/Makefile.am (install-data-local): Solaris apparently
12215         has various troubles with ln -f; use rm first instead.
12216         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
12217
12218 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
12219
12220         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
12221         use `cp' followed by `rm' (the `rm' was already there).
12222
12223 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12224         
12225         * configure.in: Fix autoconf warnings about cross compilation by
12226         trying to provide sane defaults for AC_TRY_RUN.
12227         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
12228         put them into $(srcdir) when generated. Also add a dependency of
12229         gtksignal.h on gtkmarshal.h for -j builds. 
12230         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
12231
12232 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
12233
12234         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
12235         GDK_THREADS_{LEAVE,ENTER} pair.
12236         (From Paul Fisher <pnfisher@redhat.com>)
12237
12238 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
12239
12240         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
12241         width and height are always >0 (owen).
12242
12243 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
12244
12245         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
12246         change that assured that a widget's allocated with and height are
12247         always >1, since this breaks *buggy* panel code. unfortunately this
12248         back-breaks the gimp's color selector.
12249
12250         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
12251         allocation is always >0 in width and height, before sending the
12252         configure event; this is a *gross* hack to get the gimp back to work.
12253         
12254         * marked both cases with TODO-1.3
12255
12256 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
12257
12258         * gtk/gtktext.c: Don't display wrap indicators when
12259         text is not editable and word wrap is on.
12260
12261 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
12262
12263         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
12264         option menus here as they are not derived from menu shell, assure that
12265         the option menu has a menu we can add items to.
12266
12267 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
12268
12269         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
12270         width/height to (gint) before calculations and check against < 0 to
12271         avoid guint wraparounds.
12272
12273 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
12274
12275         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
12276         width and height is never zero. sanity check both dimensions against
12277         32767 and issue a warning if the allocation is greater than that.
12278
12279 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
12280
12281         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
12282         to g_main_pending() as well.
12283
12284 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
12285
12286         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
12287         call to g_main_iteration() - since that will regrab
12288         GTK+ lock to process events.
12289
12290 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
12291
12292         * gtk/gtkwindow.c
12293         - Regularize with the rest of GTK+ by making widget->requisition
12294           not reflect the set_usize()
12295         - Always recompute geometry hints, then check if they
12296           changed before sending them to the X server. The
12297           previous checks for changes would fail in a number
12298           of circumstances. 
12299
12300 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
12301
12302         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
12303
12304 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
12305
12306         * gtk/gtkdnd.c:
12307         - Code cleanups
12308         - Instantaneously update on modifier key presses
12309         - Allow cancellation of the drag with Escape.
12310
12311 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
12312
12313         * gtk/testgtk.c (create_handle_box): Set the policy
12314         to auto_shrink - otherwise the appearance is rather
12315         strange when flipping between horizontal and vertical.
12316
12317 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
12318
12319         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
12320         (gtk_window_set_default_size): don't change a value if it's < 0.
12321         queue a resize.
12322
12323 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
12324
12325         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
12326
12327 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
12328
12329         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
12330         add an extra "/" when concating "/" + filename.
12331         (From Matt Grossman <mattg@oz.net>)
12332
12333 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
12334
12335         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
12336         for fg_gc if we set it for drawing pixmap.
12337
12338 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
12339
12340         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
12341         
12342         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
12343         already set, call old engine's destroy function and
12344         unref the old engine.
12345
12346 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
12347
12348         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
12349
12350 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
12351
12352         * gtk/gtkaccelgroup.h: mark certain functions as internal.
12353
12354 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
12355
12356         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
12357         expand behaviour changed.
12358
12359         * gtk/gtklabel.c (gtk_label_set_pattern):
12360         (gtk_label_set_justify):
12361         (gtk_label_set_line_wrap):
12362         don't bother invoking queue_clear, the reallocation does
12363         that for us, always free_words so the upcoming resize will
12364         relayout the label's contents.
12365
12366 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
12367
12368         * applied argument implementation patches from Elena Devdariani
12369         <elena@cogent.ca>.
12370
12371         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
12372         ::space_style, ::relief
12373         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
12374         * gtk/gtkpreview.c: ::expand
12375         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
12376         * gtk/gtknotebook.c: ::homogeneous
12377         * gtk/gtklabel.c: ::wrap
12378         * gtk/gtklist.c: ::selection_mode
12379         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
12380         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
12381         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
12382         * gtk/gtkclist.c: ::sort_type
12383         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
12384         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
12385
12386 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
12387
12388         * gtk/gtkstyle.c: Removed ill-thought-out part of last
12389         comment.
12390
12391 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
12392
12393         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
12394         counting right when we have to attach a new style
12395         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
12396
12397         * gtk/gtkstyle.c: Documented the refcounting
12398         peculularities of gtk_style_attach.
12399
12400 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12401
12402         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
12403         window types.
12404
12405         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
12406         of GTK_TOPLEVEL for creating the window.
12407
12408 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12409
12410         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
12411         the last argument (reported by Per Winkvist).
12412         
12413 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
12414
12415         Fixes for invisible XOR lines (Frank Loemker
12416         <floemker@TechFak.Uni-Bielefeld.DE>)
12417         
12418         * gtk/gtkclist.c (gtk_clist_realize): Always use
12419         a non-zero pixel for GDK_XOR.
12420
12421         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
12422         Use GDK_INVERT instead of GDK_XOR.
12423
12424 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
12425
12426         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
12427         signals if h/voffsets differ from adjustment values.
12428         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
12429
12430 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
12431
12432         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
12433         ::selection-done emissions up to the topmost menu shell.
12434
12435 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
12436
12437         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
12438         the user data on the window before destroying it.
12439
12440         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
12441         unrealize handler to take care of destroying 
12442         notebook->panel properly. 
12443         (Bug #1198 - Morten Welinder <terra@diku.dk>)
12444
12445         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
12446         of g_new and g_realloc to stop memory leak. (Actually,
12447         we could just use g_realloc(), but I'm not 100% sure
12448         that is portable).
12449         (Bug #1196 - Morten Welinder <terra@diku.dk>)
12450
12451 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12452
12453         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
12454
12455         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12456         for fontsets.
12457
12458         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
12459         with bin/button confusion.
12460
12461 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
12462
12463         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
12464         and show how preselection of radio items is done.
12465
12466 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
12467
12468         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
12469         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
12470         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
12471         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
12472         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
12473         * gtk/gtktable.c (gtk_table_attach): 
12474         * gtk/gtklist.c (gtk_list_insert_items): 
12475         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
12476         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
12477         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
12478         * gtk/gtkbin.c (gtk_bin_add): 
12479         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
12480         * gtk/gtkfixed.c (gtk_fixed_put): 
12481         * gtk/gtklayout.c (gtk_layout_put):
12482         general fixups to container_add logic. always realize child if
12483         child->parent is realized, only map the child and queue a resize
12484         if child and child->parent are both visible.
12485
12486 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
12487
12488         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
12489         instead of gtk_container_foreach to walk and unrealize children, so
12490         composite children get also unrealized.
12491         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
12492         (gtk_widget_map): assert that the widget is visible (basic constrain).
12493         (gtk_widget_real_map): assert that the widget is realized (basic
12494         constrain).
12495
12496 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
12497
12498         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
12499
12500 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
12501
12502         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
12503         file for iso-8859-2 locales.
12504
12505         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
12506
12507 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
12508
12509         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
12510          (Pointed out by andy@rz.uni-karlsruhe.de and others).
12511          Remove some suspicious and useless lines. 
12512
12513 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
12514
12515         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
12516         width,height = 0, 0 to mean - here to edge of window,
12517         instead of -1, -1, since the former is all we support.
12518
12519 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
12520
12521         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
12522         when removing from quit_functions list.
12523
12524 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
12525
12526         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
12527
12528 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
12529
12530         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
12531          When redrawing characters on non-visible entry, use appropriate
12532          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
12533
12534 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
12535
12536         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
12537         from drag coordinates.
12538         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
12539         use drag_dest_cell.
12540
12541         * gtk/gtktree (drag_dest_cell)
12542         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
12543         (Bug #1129)
12544
12545 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
12546
12547         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
12548         translate_* fields.
12549         (gtk_item_factory_finalize): invoke translate_notify independant from
12550         translate_data.
12551         (gtk_item_factory_set_translate_func): likewise.
12552         (gtk_item_factory_destroy): only remove ifactory pointer from those
12553         widgets that belong to us (stupid me).
12554
12555 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
12556
12557         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
12558         rc_style list when lookup succeeeds.
12559
12560 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
12561
12562         * gtk/gtkctree.c (resync_selection): 
12563         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
12564         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
12565         bug.
12566
12567 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
12568
12569         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
12570         Add some missing GDK_THREADS_ENTER()/LEAVE around
12571         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
12572
12573 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
12574
12575         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
12576         rather than emit_by_name.
12577
12578         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
12579         on the widget across multiple signal emissions.
12580         (gtk_editable_delete_text): same here.
12581         (gtk_editable_class_init): set widget_class->activate_signal after
12582         editable_signals[ACTIVATE] has been created.
12583
12584 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
12585
12586         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
12587         position here prematurely -- we might not have the
12588         right ->min_position and ->max_position yet.
12589
12590 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12591
12592         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
12593         Add error traps so if the other end of the connection
12594         dies, we survive.
12595
12596         * gtk/gtkselection.c (gtk_selection_notify): Clean
12597         up properly when selection property retrieval fails.
12598         
12599         * gtk/gtkselection.c (gtk_selection_request): Correctly
12600         reject SelectionRequest notifies where the handler
12601         returns no data.
12602
12603 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12604
12605         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
12606         when we've previously highlighted.
12607
12608         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
12609         emit two "drag_leave" signals for Motif drops.
12610
12611         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
12612         back the correct status messages when dropping from
12613         Motif onto a proxy window that is rejecting the
12614         drop.
12615
12616 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
12617
12618         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
12619         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
12620         to compare two argument values. added gtk_arg_to_valueloc() to set a
12621         variable from an arg through its location (pointer).
12622
12623         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
12624         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
12625         as gfloat*, uchars are collected as guchar*, ints are collected as
12626         gint*, etc...
12627
12628 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
12629
12630         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
12631         Include <string.h> instead of <strings.h>.
12632
12633         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
12634         (actually, a lot more duplicate includes occur if
12635          you trace through the sequence of #include's)
12636         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
12637         
12638 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12639
12640         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12641         gtk-a-higuti-990322-[0-3]
12642
12643         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12644         that was causing -DX_LOCALE not to work.
12645
12646         * gtk/gtkrc.c (gtk_rc_init):
12647         X_LOCALE will never have LC_MESSAGES defined
12648
12649 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
12650
12651         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
12652         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
12653
12654         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
12655         left/right as well (gtk-michael-980726-0.patch.gz).
12656
12657         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
12658         for pointer values, use gchar instead of char. fixed uline allocation
12659         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
12660         chunks instead of G_ALLOC_ONLY.
12661         (gtk_label_size_request): always alter requisition as passed and leave
12662         widget->requisition alone.
12663         (gtk_label_set_text): allow NULL strings.
12664         (gtk_label_new): likewise.
12665
12666 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
12667
12668         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
12669
12670 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
12671
12672         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
12673         *and* mapped (i.e. drawable).
12674         (gtk_bin_expose): only send exposes to drawable children.
12675
12676         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
12677         (gtk_box_expose): only send exposes to drawable children.
12678
12679         * gtk/gtkhscale.c (gtk_hscale_draw): 
12680         * gtk/gtkvscale.c (gtk_vscale_draw):
12681         hm, this is an ugly one. we first compute the size of our trough area
12682         here (window relative) and then check intersection with the draw_area
12683         which is parent relative because we're a NO_WINDOW widget, so we need
12684         to offset the trough area by allocation.x and allocation.y before the
12685         check. (this must not be done for the background area though, since
12686         that's already computed parent relative).
12687
12688 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
12689
12690         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
12691         unrealize title buttons.
12692
12693 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
12694
12695         * gtk/gtkclist.c (gtk_clist_column_title_passive)
12696         (gtk_clist_column_title_active): 
12697         only connect/disconnect to GtkWidgetClass::event to block mouse events.
12698
12699         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
12700         zero initialize event, removed superfluous gdk_window_get_pointer call
12701
12702         * gtk/gtklist.c (gtk_list_vertical_timeout)
12703         (gtk_list_horizontal_timeout): removed superfluous
12704         gdk_window_get_pointer call
12705
12706 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12707
12708         * plugging problems reported by "Bruce Mitchener, Jr."
12709         <bruce@puremagic.com> due to a purify session.
12710
12711         * gtk/gtkstyle.c:
12712         (gtk_style_ref): 
12713         (gtk_style_unref): assert ref_count to be > 0.
12714
12715         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
12716         the requisition.
12717         (gtk_clist_set_shift): likewise.
12718
12719         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
12720         adjustments.
12721
12722         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
12723         event before sending it and set send_event to TRUE (which needs to
12724         be done for *all* synthesized events).
12725         (gtk_list_vertical_timeout): likewise.
12726
12727         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
12728         leaks.
12729
12730         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
12731         to TRUE when synthesizing events.
12732
12733 [ *** end of merges from 1.2 *** ]      
12734         
12735 1999-11-21  Tor Lillqvist  <tml@iki.fi>
12736
12737         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
12738         (or copied from gdkconfig.h.win32 on Win32, sigh).
12739
12740         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
12741
12742         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
12743
12744         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
12745
12746         * gdk/gdkconfig.h.win32: New file.
12747
12748         * gdk/win32/makefile.cygwin: Build just a static archive here.
12749
12750         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
12751         for the DLL from the static archive built above.
12752
12753         * gdk/gdk.def: Moved here from the win32 subdirectory.
12754
12755         * gdk/win32/*: Adapt for the changed private struct organisation.
12756
12757         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
12758
12759 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
12760
12761         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
12762         for wheel mice (buttons 4 and 5).
12763
12764 1999-11-18  Tor Lillqvist  <tml@iki.fi>
12765
12766         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
12767         drawables use just the pixel field in the foreground and
12768         background GdkColor of the GdkGC.
12769
12770         gdk_gc_set_{fore,back}ground() are called in the GIMP with
12771         GdkColors containing uninitialized (red,green,blue) fields, and
12772         just the pixel field filled in, and furthermore in the
12773         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
12774         It thus turns out that we really don't need to have the full
12775         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
12776         it later to have just the pixel values.
12777
12778 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
12779
12780         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
12781
12782 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
12783
12784         * docs/gtkfaq.sgml: threads example from Erik Mouw.
12785         New question on GtkLabel background colors.
12786
12787         * docs/gtk_tut.sgml:
12788           - Correct the example code callback
12789             function definitions.
12790           - Update the gtkdial example code, from Frans van Schaik.
12791           - Update setselection.c to current API.
12792
12793         * examples/Makefile examples/*/*.c: Update to code
12794         listed in tutorial.
12795
12796 1999-11-10  Tor Lillqvist  <tml@iki.fi>
12797
12798         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
12799         subrange table (from the "Developing International Software for
12800         WIndows 95 and Windows NT" book) was missing the Hangul syllable
12801         block... Get the loaded font's charset correctly.
12802
12803         (Note that this, and the other *-win32.c files, still really are
12804         the old ones, the win32 subdirectory is not ready for compilation
12805         yet after the reorg.)
12806
12807 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
12808
12809         * gtk/gtkclist.c: Fix off-by-one bug in parameter
12810         check.
12811
12812 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
12813
12814         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
12815         on results of XQueryDeviceState().
12816
12817 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
12818
12819         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
12820         we need to accesss only ->children. We need an accessor
12821         for the children.
12822
12823         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
12824         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
12825         to get rid of gdkx.h include.
12826         
12827         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
12828         and random references to 'None'.
12829
12830         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
12831         Get rid of unused #include <gdk/gdkx.h>
12832
12833         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
12834         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
12835         gdkconfig.h.
12836
12837 1999-11-08  Tor Lillqvist  <tml@iki.fi>
12838
12839         * gdk/win32/gdkdraw.c
12840         * gdk/win32/gdkfont.c
12841         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
12842         following yesterday's changes. (Unrelated to Owen's reorg.)
12843
12844 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
12845
12846         * gdk/x11/gdkinput-gxi.c: Add missing include,
12847           fix GdkWindowPrivate => GdkDrawablePrivate.
12848
12849         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
12850
12851         * gdk/x11/Makefile.am (xinput_sources): Add missing
12852         backslash to fix building with --with-xinput=none
12853
12854 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
12855
12856         Move all X specific code into the x11/ directory.
12857         Aside from shuffling things around, did the following:
12858
12859        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
12860          gdk_arg_context_* - a simple argument parsing system
12861          in the style of popt.
12862
12863        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
12864          gdk/x11/gdkprivate-x11.h:
12865          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
12866          add ->klass and ->klass_data fields. The klass_data
12867          field points to an auxilliary structure that is
12868          windowing system dependent.
12869
12870        * gdk/gdkfont.c: Make most of the measurement functions
12871          simply wrappers around gdk_text_extents().
12872
12873        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
12874          _gdk_font_strlen() function that hides the weird
12875          behavior in gtk+-1.[02] where a string is interpreted
12876          differently for 8-bit and 16-bit fonts.
12877
12878        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
12879          to store common code for synthesizing double/triple
12880          press events.
12881         
12882        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
12883          Make all the function that modify an existing GC
12884          simply wrappers around gdk_gc_set_values().
12885          
12886        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
12887          for throwing out later.
12888
12889        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
12890          GdkImagePrivate and GdkColormapPrivate to have a
12891          windowing system dependent part (GdkFontPrivateX etc.)
12892          that "derives" from the system-independent part.
12893
12894        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
12895          Got rid of the included-source-files for XInput in
12896          favor of automake conditionals. (Which didn't exist
12897          when XInput support was originally added.)
12898
12899        * gdk/gdkrgb.c: Remove the visual id from the debugging
12900          statements since that is X11 specific; print out
12901          type/depth info instead.
12902          
12903
12904 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
12905
12906         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
12907         loading duplicates of hashed fonts.
12908
12909         * gdk/gdk.c (gdk_keysym_convert_case): rename
12910         gdk_XConvertCase to gdk_keysym_convert_case, allow
12911         results to be NULL in the GTK+ style.
12912
12913         * gdk/gdkcompat.h: Started compatibility header
12914         for renames.
12915
12916 1999-11-07  Tor Lillqvist  <tml@iki.fi>
12917
12918         * gdk/win32/gdkprivate.h: New font private structures, related to
12919         fontsets.
12920
12921         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
12922         gdk_font_list_free(). On X11, will just be wrappers to
12923         XListFonts() and XFreeFontNames(). On Win32, the code previously
12924         in gtkfontsel.c is now here.
12925
12926         New function gdk_font_xlfd_create(). On X11 will get the FONT
12927         property of the font (for GDK_FONT_FONTs), or call
12928         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
12929         builds a XLFD style name from the font information in the LOGFONT
12930         struct(s).
12931
12932         New function gdk_font_xlfd_free(), which correspondingly frees the
12933         string returned by gdk_font_xlfd_create().
12934
12935         Implement fontsets on Win32. Add a function that iterates over a
12936         wide char string and calls a callback function for each substring
12937         of wide chars from the same Unicode subrange (and thus probably
12938         available in the same real font).
12939
12940         Improve the XLFD emulation a bit.
12941
12942         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
12943
12944         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
12945         Beta3, WM_IME_CHAR messages don't seem to contain the composed
12946         multi-byte char as with the Active IMM on Win9x. Oh well, handle
12947         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
12948         ImmGetCompositionStringW() to get the composed Unicode chars.
12949
12950         * gdk/win32/gdkgc.c
12951         * gdk/win32/gdkdraw.c: Changes needed because of the font private
12952         struct changes.
12953
12954         * gdk/win32/gdk.def: Add the new functions.
12955
12956 1999-11-04  Tor Lillqvist  <tml@iki.fi>
12957
12958         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
12959         get the Platform SDK to get <dimm.h>.
12960
12961         * gdk/win32/gdkevents.c: More event handling fixes and
12962         simplification. Never generate motion events with is_hint true. We
12963         used to do that on bogus grounds earlier. Windows sends
12964         WM_MOUSEMOVE messages on button events even if the mouse hasn't
12965         moved, ignore these.
12966
12967         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
12968
12969         * gdk/win32/gdkglobals.c
12970         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
12971         the TrackMouseEvent function, and use it.
12972
12973         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
12974         char before calling WideCharToMultiByte in order to get a string
12975         for the window title.
12976
12977         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
12978
12979         * gdk/win32/gdk.def: Remove obsolete functions.
12980
12981         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
12982         /nodefaultlib and /defaultlib switches.
12983
12984         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
12985
12986 1999-10-31  Tor Lillqvist  <tml@iki.fi>
12987
12988         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
12989         EuroSign).
12990
12991         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
12992         same type as GdkWChar, especially on Win32.
12993
12994         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
12995
12996         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
12997         before passing to Windows GDI for drawing etc. Convert to the
12998         system default codepage before passing to Windows as window
12999         titles.
13000
13001         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
13002         support changing input locale on the fly.
13003
13004         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
13005         on-the-fly changes. Convert incoming characters from the current
13006         codepage to Unicode (and then to a UTF-8 multi-byte string) based
13007         on the current input language. Use keysym<->Unicode mapping tables
13008         and functions borrowed from xterm sources.
13009
13010         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
13011         editions of Win9x, use the ActiveX-based Active IMM (Input Method
13012         Manager) if available. IMEs and the Active IMM are available under
13013         the disguise of Chinese, Korean and Japanese support for IE and
13014         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
13015         support is present in all editions (as long as you install it).
13016
13017         Call DispatchMessage from gdk_events_queue() (and thus
13018         gdk_WindowProc()), instead of duplicating the code in
13019         gdk_WindowProc().
13020
13021         Reworked the grab handling and propagation code, factored out
13022         duplicated code snippets into separate functions. Other cleanups,
13023         too.
13024
13025         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
13026         the <dimm.h> header describing the Active IMM.
13027
13028         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
13029         just do the same as for "single" fonts.
13030
13031         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
13032         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
13033         the new keysyms from gdkkeysyms.h.
13034
13035         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
13036         fontset, so that gtkentry uses wide characters.
13037
13038         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
13039         GTk+'s system directory "gtk+", not "gtk".
13040
13041 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
13042
13043         * docs/gtkfaq.sgml: FAQ update
13044
13045 1999-10-21  Tor Lillqvist  <tml@iki.fi>
13046
13047         * gdk/win32/gdkprivate.h: Add more font private data.
13048
13049         * gdk/win32/gdkfont.c
13050         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
13051         fonts and strings. Now works much better. You still have to
13052         have a correct font selected, though. No fontset emulation yet.
13053
13054 1999-10-19  Tor Lillqvist  <tml@iki.fi>
13055
13056         * gtk/maketypes.awk: Use G_OS_WIN32.
13057
13058         * gtk/gtk.def: Add some missing entry points. Also some non-public
13059         ones, but PyGTK porter claims to need them.
13060
13061         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
13062         built-in type generation.
13063
13064 1999-10-14  Tor Lillqvist  <tml@iki.fi>
13065
13066         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
13067         GDK_FONT_FONT fonts (which is all we have for now, we don't
13068         emulate fontsets). The X11 version uses plain XDrawString in that
13069         case, too. The string passed to gdk_draw_text_wc seems to be in
13070         fact (at least, when used by gtkentry and gtktext) either in a
13071         single-byte charset, or a DBCS. Not Unicode.
13072
13073         This fixes the problem in gtkfontsel, where even if you had
13074         selected a font with a non-Latin1 charset (windows-greek, for
13075         instance), the preview still used Latin-1 glyphs.
13076
13077         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
13078         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
13079         (gdk_font_load): Recognize the demibold etc weights, even if we
13080         don't have the corresponding constants in the headers.
13081         (gdk_font_hash_insert): Use same hash mechanism as in the X11
13082         version. Should save font resources a bit, when we don't have
13083         multiple HFONTs for the same font.
13084
13085         * gdk/win32/gdkprivate.h: Add the names field as in the X11
13086         version.
13087
13088 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
13089
13090         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
13091         X values
13092
13093 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
13094
13095         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
13096         layout support (as mentioned on
13097         http://www.jcinteractive.com/gnome-ui/software/widgets/)
13098
13099 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
13100
13101         * gtk/fnmatch.c
13102         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
13103
13104 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
13105
13106         * configure.in (ALL_LINGUAS): Added Galician (gl)
13107
13108 1999-10-05  Tor Lillqvist  <tml@iki.fi>
13109
13110         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
13111
13112         * gdk/win32/gdkcompat.c: New file, actually provide an
13113         implementation for the deprecated functions. (Just temporarily.)
13114
13115         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
13116
13117         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
13118
13119         * gdk/win32/gdk.def gtk/gtk.def: Updates.
13120
13121 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
13122
13123         * configure.in: Added "uk" to ALL_LINGUAS.
13124         
13125 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
13126
13127         * configure.in: correct checking for BeOS check
13128
13129         * gdk/gdktypes.h
13130         * gtk/fnmatch.c
13131         * gtk/gtkfilesel.c
13132         * gtk/gtkitemfactory.c
13133         * gtk/gtkmain.[ch]
13134         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
13135
13136 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13137
13138         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
13139         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
13140         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
13141         by Bulgarian). 
13142
13143 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
13144
13145         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
13146         Fix a reference to window_private->destroyed.   
13147
13148         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
13149         (ugly) setting of an internal GdkWindow member to use
13150         a _slightly_ cleaner macro.
13151
13152         * gdk/gdkprivate.h: Split GdkWindowPrivate into
13153         GdkDrawablePrivate and GdkWindowPrivate.
13154         Add extra macros for accessing GDK_DRAWABLE_ components.
13155
13156         * *.[ch]: Massive adjustments for the above, use the
13157         new macros in a lot of places.
13158
13159 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
13160
13161         * gdk/gdktypes.h: Make GdkDrawable the base type,
13162         not GdkWindow.
13163
13164 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
13165
13166         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
13167
13168 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
13169
13170         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
13171
13172 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
13173
13174         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
13175         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
13176
13177         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
13178
13179         * docs/gtk-config.1: Now autogenerated.
13180         * docs/Changes-1.4.txt: started
13181         
13182 1999-10-03  Tor Lillqvist  <tml@iki.fi>
13183
13184         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
13185         to #ifdef also here.
13186
13187         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
13188         Owen did to the X11 backend.
13189
13190         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
13191         ScrollWindowEx when blitting inside a window, it can't be correct
13192         in the general case.
13193
13194         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
13195         WM_GETMINMAXINFO is easier.
13196
13197         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
13198         depth equal to the bitspixel value, not the visual's depth.
13199
13200         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
13201         to 24 even if the bitspixel value is 32.
13202
13203         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
13204         need to check for depth==32 when bpp==32, depth will always be 24.
13205
13206 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
13207
13208         * docs/Changes-1.4.txt: Started
13209         
13210         * gtk/Makefile.am (gdk_headers): Include all the new headers.
13211
13212         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
13213         
13214         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
13215         into C file.
13216         
13217         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
13218         header to gdkinputprivate.h.
13219
13220         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
13221         unused since before 1.2.
13222
13223 1999-09-30  Tor Lillqvist  <tml@iki.fi>
13224
13225         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
13226         expand possible hex escapes in the font family (put there by
13227         logfont_to_xlfd if the font name isn't a legal XLFD font family,
13228         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
13229         On Win32, add hex escapes here, too.
13230
13231 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
13232
13233         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
13234         to #ifdef GDK_WINDOWING_X11.
13235
13236 [ Merges from gtk-1-2 ]
13237
13238 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
13239
13240         * configure.in: fixed "GNU Make" check to pass with new make version
13241         3.77.95.
13242
13243 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
13244
13245         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
13246         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
13247         AM_PATH_GTK() macros don't get confused by the -pre1.
13248
13249 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13250
13251         * configure.in (REBUILD): Change check for perl5
13252           to check explicitely for v >= 5.002. (5.001
13253           does not work with our scripts.)
13254
13255 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
13256
13257         * configure.in: evaluate $PERL for the perl version check. added
13258         --disable-rebuilds to give the user an option to completely disable
13259         any source autogeneration rules.
13260
13261 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
13262
13263         * configure.in: evaluate $ac_make when checking for GNU Make.
13264
13265 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13266
13267         * docs/Makefile.am: added generation.txt.
13268
13269         * Makefile.am: require automake 1.4, build README from README.in and
13270         INSTALL from INSTALL.in in dist-hook.
13271         
13272         * README.in:
13273         * INSTALL.in: new files to autogenerate README and INSTALL from.
13274
13275         * configure.in: figure whether we have GNU Make
13276
13277         * docs/generation.txt: minor additions/corrections.
13278
13279 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13280
13281         * docs/gtkfaq.sgml: FAQ Update
13282
13283 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13284         
13285         * configure.in: Fix autoconf warnings about cross compilation by
13286         trying to provide sane defaults for AC_TRY_RUN.
13287
13288 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
13289
13290         * ltconfig
13291         * ltmain.sh: upgrade to libtool 1.3.3
13292
13293 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
13294
13295         * INSTALL: Indicate that the --with-glib= configure
13296         time flag is unsupported.
13297
13298 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
13299
13300         * docs/generation.txt: Added a file that gives
13301         documenation about the autogeneration process for
13302         various autogenerated files.
13303         
13304 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13305
13306         * configure.in (LIBS): Look for libgmodule in the
13307         right location.
13308
13309 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
13310
13311         * docs/gtk_tut.sgml: Removed references to
13312         code examples in my directory on gtk.org as
13313         they should all be in the tutorial now.
13314
13315         * docs/gtk_tut.sgml: Added sources for dial-test
13316         and scribble-xinput programs that were previously
13317         missing.
13318
13319 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
13320
13321         * TODO: Added entry about menu keyboard navigation, removed
13322         some finished items.
13323
13324 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
13325
13326         * acinclude.m4: Standardize on func_dgettext
13327         not func_gettext, so that the checks for dgettext
13328         actually are paid attention to.
13329
13330 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
13331
13332         * configure.in (LIBS): Add $INTLLIBS into $LIBS
13333         directly, rather than repeating the checks for
13334         gettext.
13335
13336         * INSTALL: Added information about gettext and
13337         NLS support.
13338
13339         * acinclude.m4 (LIBM): Check for dgettext, not
13340         just gettext. This should hopefully fix things wrt
13341         systems with old versions of GNU gettext installed.
13342
13343 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13344
13345         * configure.in (LIBS): Look for libgmodule in the
13346         right location.
13347
13348 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13349
13350         * autogen.sh: add --enable-maintainer-mode
13351
13352         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
13353
13354 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
13355
13356         * docs/gtk-config.1.in:
13357           docs/Makefile.am:
13358           configure.in: gtk-config is now generated.
13359
13360         * docs/gtk-config.1: Removed, now generated.
13361
13362 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
13363
13364         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
13365         handle CreateNotify itself, still put out a debuging message for
13366         --gdk-debug=events. made the ReparentNotify debugging message more
13367         verbose.
13368         wrap xcoords translation for ConfigureEvents into an error trap,
13369         a destroy event may already be pending, and in that case, the
13370         actuall coordinate values are not at all critical.
13371
13372 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
13373
13374         * gdk/gdkcc.c: Stop leaking the color_hash all over
13375         the place. Simplify and improve the logic.
13376
13377 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13378
13379         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
13380         for prototypes and function implementations consistent (reported
13381         by Tomas Ogren).
13382
13383 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
13384
13385         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
13386         send_event set in debugging output.
13387         (gdk_compress_exposures): default initialize the event so we don't
13388         operate on bogus values (namely send_event).
13389
13390 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13391
13392         * gdk/gdkwindow.c: When we receive an unexpected
13393         destroy notify on one of our windows, don't just
13394         warn about it, also mark our windows as destroyed.
13395
13396 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
13397
13398         * gdk/gdkfont.c (gdk_font_hash_insert): Add
13399           name => font and name => fontset hashes. The 
13400           name => fontset hash is a _big_ win since we
13401           weren't previously caching fontsets at all and loading
13402           fontsets is expensive. The name => font hash
13403           is less of a win, but it does save us from doing
13404           repeated XQueryFont calls on the same font.
13405
13406         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
13407           list so we can remove font/fontset from hash.
13408
13409 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13410
13411         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
13412           and slightly confusing test. [ XInternAtom (,,TRUE)
13413           will never return None ].
13414
13415 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
13416
13417         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
13418           gdk/gdkwindow.c (gdk_window_set_hints):
13419
13420         Don't omit setting the properties if flags == 0 -
13421         there may be an existing set of properties there
13422         already. (Very old bug. Would it be better to
13423         delete the property instead?)
13424
13425         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
13426           spelling error in comment.
13427
13428 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
13429
13430         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
13431           to avoid stomping over gdk_error_warnings.
13432
13433         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
13434           as (bits_per_pixel + 7) / 8. This gives the same
13435           result as before for multiples of 8, but actually
13436           a "reasonable" value for 1bit or 4bit displays.
13437
13438 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13439
13440         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
13441         GNU Make.
13442
13443 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13444
13445         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
13446         discarding configure events.
13447
13448 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13449
13450         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
13451         refcount is greater than zero.
13452
13453         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
13454
13455         * gdk/gdkfont.c (gdk_font_unref): Likewise.
13456
13457         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
13458
13459         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
13460
13461 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13462
13463         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
13464         that format 32 => sizeof(item) == 4. It really is
13465         sizeof(long).
13466
13467 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
13468
13469         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
13470         core dump at all on X IO errors, only core dump
13471         if --enable-debug for X errors.
13472
13473 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
13474
13475         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
13476         unknown window:" message. disabled ConfigureNotify discarding code,
13477         because it led to events being processed out of order.
13478
13479 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
13480
13481         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
13482
13483         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
13484         we export this function, supress error warnings and don't reset the
13485         error code in the first half of this function.
13486
13487         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
13488         code (instead of just -1) so gdk_error_trap_pop() reveals something
13489         actually informative about the error that happened.
13490
13491         * gdk/*.c:
13492         don't rely on gdk_error_code being -1 if an error occoured, but just
13493         gdk_error_code != 0.
13494
13495 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
13496
13497         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
13498         pointer *before* invoking the filter function, so we at least don't
13499         crash if a filter is removed that is currently executed. window filters
13500         *really* need to be made truely reentrant at some point.
13501
13502 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
13503
13504         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
13505         PropertyNotify debug messages.
13506
13507 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
13508         
13509         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
13510         
13511         * gdk/gdkim.c: Fix cut-and-paste errors for 
13512         x/y and PreeditAttributes/StatusAttributes.
13513
13514 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13515
13516         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
13517         G_MAXINT to 2^16 to alleviate overflow problems in
13518         various window managers.
13519
13520 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13521
13522         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13523         for fontsets.
13524
13525 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
13526
13527         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
13528         Initialize size_hints.x and size_hints.y because kwm
13529         brokenly pays attention to them.
13530         (Bug #1181 -  Lars Heete <hel@admin.de>)
13531
13532 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
13533
13534         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
13535         return value of gdk_list_visuals(). 
13536         (Bug #1193 - Morten Welinder <terra@diku.dk>)
13537
13538 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
13539
13540         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
13541         XSetIMValues to (void *) when comparing to NULL, to workaround
13542         the problem of some compilers barfing since older X headers don't
13543         have the prototype for it.
13544
13545 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
13546
13547         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
13548         for pseudocolor where colormap->colors was double
13549         allocated.
13550
13551         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
13552         color value in the hash table with the pixel filled
13553         in so when we do later hash table lookups, the color
13554         value is correct.
13555         
13556 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
13557
13558         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
13559         making the call
13560
13561 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
13562
13563         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
13564         pointed out by Morten Welinder <terra@diku.dk>.
13565
13566 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13567
13568         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13569           default filter from the list
13570
13571 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13572
13573         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13574           default filter from the list
13575
13576 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
13577
13578         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
13579
13580         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
13581         g_strdup_printf instead of calcing the length separately
13582
13583 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
13584
13585         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
13586         that we don't do in many other places. (Fixing duplicate 
13587         #include of config.h)
13588
13589         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
13590         Otherwise, #ifndef XINPUT_NONE check in the latter
13591         doesn't work. (Bug #546)
13592
13593 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
13594
13595         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
13596         "None" case insensitive.
13597
13598 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13599
13600         * gdk/gdkselection.c: 
13601         Add error traps so if the other end of the connection
13602         dies, we survive.
13603
13604 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13605
13606         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
13607         dest_xid field into two fields - one for the window
13608         to send in messages, one to indicate the last looked
13609         up window for caching purposes. This is needed, so
13610         that Leave messages get the correct window.
13611
13612 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
13613
13614         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
13615         Fix warning created by people mucking around
13616         with the gsource API.
13617
13618         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
13619         Change mapping between GIOCondition and GdkInputCondition
13620         to match the way the Linux kernel does it. This should
13621         fix problems where closed pipes were no longer signalling
13622         GDK_INPUT_READ on systems with a native poll().
13623
13624 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
13625
13626         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
13627         explicitly for the string "None" - it is in the XPM
13628         spec and some servers treat unknown colors in odd ways
13629         (like asking the user!)
13630
13631 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13632
13633         * gdk/gdkevents.c: made "->" into a "." of previous change so
13634         it compiles
13635
13636 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
13637
13638         * gdk/gdkevents.c (gdk_compress_exposures): Set the
13639         window field of the event structure before calling
13640         user filters.
13641
13642 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13643
13644         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
13645         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
13646
13647 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
13648
13649         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
13650         intermediate text property - prevents major memory
13651         leak when gdk_use_mb.
13652         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
13653
13654 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13655
13656         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13657         gtk-a-higuti-990322-[0-3]
13658
13659         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
13660         sizeof(wchar_t) != sizeof (GdkWChar)
13661
13662         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13663         that was causing -DX_LOCALE not to work.
13664
13665         * gtk/gtkrc.c (gtk_rc_init):
13666         X_LOCALE will never have LC_MESSAGES defined
13667
13668         * gdk/gdk.c (gdk_init_check):
13669         Remove --xim-preedit and --xim-status from argv properly.
13670
13671         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
13672         that the client window is present on the X server
13673         before we pass it to the input method.
13674
13675 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13676
13677         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
13678         if --display is specified on the command line, than
13679         the drag window will not be created on that display.
13680         
13681 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
13682
13683         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
13684         lookups with only_if_exists == TRUE were inserting
13685         bogus values into the atom cache.
13686
13687 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13688
13689         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
13690         then reset it to NULL.
13691
13692         * gdk/gdkcolor.c:
13693         (gdk_colors_free): 
13694         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
13695         key for g_hash_table_remove() in both functions, this prevents us
13696         from accessing possibly uninitialized portions of a GdkColor structure
13697         where we are only interested in its pixel value.
13698
13699 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13700
13701         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13702         font hash table, if we have a GdkFontPrivate entry for this font
13703         already, simply increment its reference count, provided by Olaf Dietsche
13704         <olaf.dietsche+list.gtk@netcologne.de>.
13705
13706 1999-09-21  Tor Lillqvist  <tml@iki.fi>
13707
13708         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
13709         just to be sure.
13710
13711         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
13712         unused variables, leftovers from the X11 version.
13713
13714         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
13715
13716         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
13717         downcase fields on X11.
13718
13719 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13720         
13721         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
13722         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
13723
13724 1999-09-17  Tor Lillqvist  <tml@iki.fi>
13725
13726         * gdk/win32/gdk.def: Add gdk_threads_mutex.
13727
13728         * gtk/makefile.msc: Correct path to libintl.
13729
13730         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
13731         use of gint vs. int, and gint vs. gboolean in headers and
13732         definitions. Use GtkType for the *_get_type functions. Note that
13733         these changes preserve binary compatibility.
13734
13735         * gdk/gdk.c
13736         * gdk/win32/gdk.c
13737         * gdk/gdk.h: Fix inconsistencies: gint vs int.
13738
13739         * gtk/gtkmain.c
13740         * gtk/gtkclist.c
13741         * gtk/gtkmenufactory.c
13742         * gtk/gtknotebook.c
13743         * gtk/gtkwidget.c: Fix inconsistencies, also gint
13744         vs. gboolean.
13745
13746         * gtk/gtkcolorsel.[ch]
13747         * gtk/gtkcombo.[ch]
13748         * gtk/gtkdrawingarea.[ch]
13749         * gtk/gtkgamma.[ch]
13750         * gtk/gtkhandlebox.[ch]
13751         * gtk/gtkhpaned.[ch]
13752         * gtk/gtkhruler.[ch]
13753         * gtk/gtkplug.[ch]
13754         * gtk/gtkpreview.[ch]
13755         * gtk/gtkruler.[ch]
13756         * gtk/gtksocket.[ch]
13757         * gtk/gtkstatusbar.[ch]
13758         * gtk/gtktoolbar.[ch]
13759         * gtk/gtkvbbox.[ch]
13760         * gtk/gtkvpaned.[ch]
13761         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
13762         functions.
13763
13764         * gtk/gtkgamma.h: Fix bug, missing () in call of
13765         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
13766
13767 1999-09-14  Tor Lillqvist  <tml@iki.fi>
13768
13769         * gdk/gdkcolor.c (gdk_colormap_new)
13770         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
13771         colormap->colors was allocated twice.
13772
13773         * gdk/win32/gdk.c: Remove some unused stuff.
13774
13775         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
13776         colormap.
13777
13778         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
13779         * gtk/gtklabel.h (gtk_label_get_type)
13780         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
13781         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
13782         in a couple of places, not guint.
13783
13784 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13785
13786         * configure.in,po/et.po: added Estonian language file
13787
13788 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13789
13790         * configure.in,po/da.po: added Danish file
13791
13792 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
13793
13794         * docs/gtkfaq.sgml: Minor FAQ Update
13795
13796 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
13797
13798         * docs/gtkfaq.sgml: FAQ update
13799
13800 1999-08-27  Tor Lillqvist  <tml@iki.fi>
13801
13802         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
13803         way to get window contents continually refreshed while resizing. I
13804         didn't like the effects myself, so it's not on by default.
13805
13806         * gdk/win32/gdkprivate.h: New flag variable
13807         gdk_event_func_from_window_proc, FALSE by default.
13808
13809         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
13810         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
13811         are passed --gdk-event-func-from-window-proc.
13812
13813         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
13814         and we have am event_func, call it instead of enqueing the event.
13815
13816 1999-08-23  Tor Lillqvist  <tml@iki.fi>
13817
13818         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
13819         Kelley: Set expose_count in GdkEventExposes correctly.
13820
13821         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
13822         MULTIPLE_WINDOW_CLASSES).
13823
13824         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
13825         for bug in NT, apparently NT *does* draw the end pixel, too, in
13826         LineTo with a one-pixel pen, so we don't have to do it ourselves.
13827
13828 1999-08-21  Tor Lillqvist  <tml@iki.fi>
13829
13830         Improvements by Hans Breuer: 
13831
13832         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
13833
13834         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
13835         CS_?REDRAW flags as they cause lots of (late) redraws when "show
13836         window contents while dragging" is turned on. Allocate at least
13837         one unique class for every GdkWindowType. If support for single
13838         window-specific icons is ever needed (eg. Dialog specific), every
13839         such window should get its own class.
13840
13841 1999-08-19  Tor Lillqvist  <tml@iki.fi>
13842
13843         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
13844         error that caused crashes.
13845
13846 1999-08-17  Tor Lillqvist  <tml@iki.fi>
13847
13848         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
13849         window, use ScrollWindowEx, and call UpdateWindow. This prevents
13850         bugs when for instance part of the window was outside the
13851         display. Thanks to Philippe Colantoni for finding and fixing this.
13852
13853 1999-08-16  Tor Lillqvist  <tml@iki.fi>
13854
13855         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
13856         endpoint calculations which were totally wrong. (A little RTFMing
13857         helps a lot ;-)
13858
13859         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
13860         from a separate directory, not from gettext, because of licensing
13861         issues (we want to use the LGPL version).
13862
13863         * README.win32: Mention the intl from glibc vs from gettext issue.
13864
13865 1999-08-13  Tor Lillqvist  <tml@iki.fi>
13866
13867         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
13868         in the key event handling: Now AltGr chars work again. Also,
13869         now Alt-digits are passed up as well as Control-digits.
13870         Pass keypad plus and minus as normal plus and minus.
13871
13872 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13873
13874         * docs/gtkfaq.sgml: FAQ Update
13875
13876 1999-07-25  Tor Lillqvist  <tml@iki.fi>
13877
13878         * README.win32
13879         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
13880         the Wintab SDK.
13881
13882         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
13883         OK, but getting closer. Guard against bogus tilt data from Wacom
13884         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
13885         enable easier building without Wintab.
13886
13887         * gdk/win32/gdkinput.h
13888         * gdk/win32/gdkevents.c 
13889         * gdk/win32/gdkwindow.c: Minor changes related related to above.
13890         
13891         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
13892         code. As we have just one visual on Win32, no sense to have it in a
13893         table, and no need for the hash table.
13894
13895         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
13896         better on white background.
13897
13898 1999-07-21  Tor Lillqvist  <tml@iki.fi>
13899
13900         * README.win32: Update gcc build instructions. Mention gettext is
13901         GPL.
13902
13903         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
13904         supported cursor size with GetSystemMetrics.
13905
13906         * gdk/win32/gdkfont.c
13907         * gtk/gtkfontsel.c: Guard against some font weight and charset
13908         symbols being undefined (in mingw32 headers).
13909
13910         * gdk/win32/makefile.cygwin
13911         * gtk/makefile.cygwin
13912         * gtk/gtkthemes.c: No longer need to have differently named
13913         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
13914
13915 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
13916
13917         * docs/gtkfaq.sgml: Long awaited FAQ update.
13918
13919 1999-07-15  Tor Lillqvist  <tml@iki.fi>
13920
13921         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
13922         it. Obscure bit manipulation needed.
13923
13924         * gdk/win32/gdkevents.c: Logging.
13925         
13926         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
13927         style (file name include compiler name) for theme engines.
13928
13929 1999-07-13  Tor Lillqvist  <tml@iki.fi>
13930
13931         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
13932
13933         * gdk/win32/gdkevents.c: Fix long-standing bug in key
13934         events. The key.string wasn't zero-terminated, still we strdup'ed
13935         it in gdk_event_copy(). Synthesize crossing events for button
13936         events before possible propagation.
13937
13938         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
13939
13940         * gdk/win32/makefile.cygwin
13941         * gtk/makefile.cygwin: Use new DLL naming style for the
13942         GCC-compiled ones.
13943
13944         * gdk/win32/makefile.msc
13945         * gtk/makefile.msc: Cosmetics mostly.
13946
13947         * gtk/gtk.def: Add missing entry points.
13948
13949         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
13950
13951 1999-07-09  Tor Lillqvist  <tml@iki.fi>
13952
13953         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
13954         or height is zero. Don't print a warning if Pie or Arc fails, they
13955         always fail (?) for very narrow ellipses.
13956
13957         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
13958         the part or the destination window corresponding to source area
13959         outside of the source drawable's boundary.
13960
13961         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
13962         anything if less than two points.
13963
13964         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
13965         return NULL. Gtk cut-and-paste inside a single program works
13966         better this way. (It always gets the clipboard contents from
13967         Windows, not from its own copy, which is cleared anyway. I can't
13968         say I fully understand what happens... Emulating the X selection
13969         and property stuff is a bit of a mess.)
13970
13971         * gdk/win32/gdkevents.c
13972         * gdk/win32/gdkproperty.c: A bit more verbose logging.
13973
13974         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
13975         that never got deleted). Revamp gdk_region_shrink.
13976
13977         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
13978         after use.
13979
13980         * gtk/gtk.def: Add some missing entry points.
13981
13982         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
13983         component.
13984
13985 1999-07-04  Tor Lillqvist  <tml@iki.fi>
13986
13987         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
13988         Control-digits specially.
13989
13990 1999-07-03  Tor Lillqvist  <tml@iki.fi>
13991
13992         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
13993
13994 1999-06-28  Tor Lillqvist  <tml@iki.fi>
13995
13996         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
13997         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
13998         finding this.)
13999
14000 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
14001
14002         * gtk+.spec.in: Corrected some typos in files section.
14003         
14004 1999-06-15  Tor Lillqvist  <tml@iki.fi>
14005
14006         * README.win32: Mention using GNU gettext.
14007         * config.h.win32: Enable NLS stuff.
14008         * gtk/makefile.msc: Use GNU gettext.
14009         * gdk/win32/gdkdnd.c: Minor header reorg.
14010         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
14011         cosmetics.
14012         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
14013         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
14014
14015 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
14016
14017         * acinclude.m4
14018         * config.guess
14019         * config.status
14020         * ltconfig
14021         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
14022
14023 1999-05-30  Tor Lillqvist  <tml@iki.fi>
14024
14025         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
14026         SafeAdjustWindowRectEx. Don't override all calls to
14027         AdjustWindowRectEx by it, but use it only in two places: When
14028         creating a new top-level window and when moving a top-level
14029         window.
14030
14031         Use screen coordinate rectangle, not client rectangle, in
14032         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
14033         when we try to place a window so that the decoration (mainly,
14034         title bar) isn't visible.
14035
14036         These changes fix the bug that showed up for instance as the
14037         GIMP's saved top-level windows moving right and down (by an amount
14038         equal to the window decoration) for each session. This bug showed
14039         up also in testgtk's "Saved Position".
14040
14041         gdk_window_resize also redone a bit.
14042
14043 1999-05-25  Tor Lillqvist  <tml@iki.fi>
14044
14045         * gtk/testgtkrc: Add (commented out) Windows-style theme
14046         include line.
14047
14048         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
14049
14050 1999-05-18  Tor Lillqvist  <tml@iki.fi>
14051
14052         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
14053         gdkx.h to a gdk subdirectory, so that applications can include
14054         these with <gdk/*.h> without trouble.
14055
14056         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
14057         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
14058         have their bitmap destroyed.
14059
14060         * gdk/win32/gdk.def: Add gdk_root_parent.
14061
14062 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
14063
14064         * configure.in
14065           gtk-config.in
14066           ltconfig
14067           ltmain.sh     
14068           gtk/Makefile.am: changes to compile nicely (with xlib) 
14069           on BeOS
14070
14071 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
14072
14073         * acinclude.m4
14074         * config.guess
14075         * config.sub
14076         * ltconfig
14077         * ltmain.sh: upgrade to libtool 1.3
14078
14079 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
14080
14081         * gtk/gtkclist.c:
14082         * gtk/gtkctree.c: merges from gtk-1-2
14083
14084 1999-04-25  Tor Lillqvist  <tml@iki.fi>
14085
14086         Support added for building using a GNU toolchain on Win32,
14087         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
14088
14089         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
14090         * config.h.win32: Changes for gcc.
14091         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
14092         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
14093         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
14094         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
14095         Protect shl stuff unavaiilable with mingw32 headers.
14096         * gdk/win32/gdkevents.c: Fix typo.
14097         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
14098         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
14099         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
14100         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
14101         the mingw32 headers.
14102         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
14103         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
14104         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
14105         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
14106         Test for NATIVE_WIN32, not _MSC_VER.
14107         * gtk/gtkmain.c: No use warning about developer version on Win32,
14108         there aren't any non-developer versions anyhow.
14109         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
14110         * gtk/makefile.msc: Use pthread from another directory. Minor other
14111         changes. 
14112
14113 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14114
14115         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14116           default filter from the list
14117
14118 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
14119
14120         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
14121          when gtk_widget_grab_default() is called for a widget that
14122          is not within a GtkWindow.
14123
14124 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
14125
14126         * docs/gtk_tut.sgml, examples/clist.c: use a
14127           scrolled window in the clist example. Minor
14128           tutorial fixes.
14129
14130 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
14131
14132         * docs/gtk_tut.sgml: Style check from David King
14133           <dking@youvegotmail.net>
14134
14135 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
14136
14137         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
14138         compile with unknown value of GDK_WINDOWING
14139
14140 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
14141
14142         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
14143         after the rule is fired.
14144         (install-exec-local): Install gdkconfig.h only if the contents are
14145         different from the currently installed gdkconfig.h.
14146
14147 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
14148
14149         * gdk/Makefile.am (configexecincludedir): Rename from 
14150         configincludedir so that gdkconfig.h will be installed 
14151         as part of `make install-exec'. 
14152
14153 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
14154
14155         * acinclude.m4
14156         * config.guess
14157         * config.sub
14158         * ltconfig
14159         * ltmain.sh: upgrade to libtool 1.2f
14160
14161         * autogen.sh: libtool is not required to autogen gtk+
14162
14163         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
14164         needed)
14165
14166 1999-03-18  Tor Lillqvist  <tml@iki.fi>
14167
14168         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
14169         declaring gdk variables exported/imported from the DLL. New image
14170         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
14171         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
14172         GDK_DRAG_PROTO_OLE2.
14173
14174         * gdk/gdk.h: Merge in Win32 version: Two new functions,
14175         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
14176         declared only for the Win32 version, but could be in the X11
14177         version as well. (Needed for a Xlib-less gdk_imlib.)
14178         gdk_color_hash should have only one parameter. Declare
14179         gdk_threads_mutex with GDKVAR.
14180         
14181         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
14182         just one parameter.
14183
14184         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
14185         per pixel, not bits.
14186
14187         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
14188         Fetch bpp (which means bits-per-pixel here) from another place on
14189         Win32. Accept also depth==32 (which we might get on Win32) with
14190         bpp==32.
14191
14192         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
14193         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
14194         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
14195         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
14196         in the backend-dependent directory, not in the common gdk
14197         directory.
14198
14199         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
14200         headers.
14201
14202 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
14203
14204         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
14205         want to use the Gtk+ devel version (which is true, and yes - even i am
14206         currently working with the 1.2.x branch). so everyone reading this, you
14207         probably want to issue
14208         cvs checkout -r glib-1-2 glib
14209         and
14210         cvs checkout -r gtk-1-2 gtk+
14211         as your next two comands.
14212
14213 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
14214
14215         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
14216         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
14217
14218         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
14219         file. strongly deprecated the GTK_HAVE_* macros, we provide
14220         GTK_CHECK_VERSION() for people that need to check for certain
14221         Gtk+ versions.
14222
14223         * gtk/gtkcompat.h: removed this from CVS.
14224         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
14225         idea right from the start, it just didn't seem like that back then.
14226
14227 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
14228
14229         * merges from gtk-1-2:
14230
14231 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
14232
14233         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
14234         item factory class has been created.
14235         (gtk_item_factory_parse_rc): likewise.
14236
14237         * gtk/gtkmenu.c:
14238         keep proper references for old_active_menu_item.
14239         (gtk_menu_reparent): unset the usize of the new parent,
14240         so the menu can sanely be size requested and we don't get nasty screen
14241         artefacts upon next reparentation.
14242         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
14243         enter notify. only synthesize enter notifies if the pointer really is
14244         inside the event window.
14245         (gtk_menu_popdown): use gtk_menu_shell_deselect().
14246         (gtk_menu_popup): move the background setting stuff into
14247         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
14248
14249         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
14250         gtk_menu_shell_select_item() to select the new item.
14251         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
14252         do the right thing for deselection as well.
14253
14254 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
14255
14256         * gtk/gtkwidget.[hc]:
14257         (gtk_widget_accelerators_locked): return whether a widget's accelerators
14258         are locked.
14259
14260         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
14261         existing accelerators if the widget's accelerators are locked.
14262
14263 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
14264
14265         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
14266
14267         * gtk/gtkmenu.c: truely forward key press and key release events to
14268         the menu widget from the toplevel or tearoff window. we can't simply
14269         connect to that, we need to stop further processing of the events as
14270         well.
14271
14272 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
14273
14274         * gtk/gtkmenu.c:
14275         (gtk_menu_key_press): pass event->keyval, event->state to
14276         gtk_accelerator_valid, instead of event->keyval twice.
14277         refuse to install single letter accelerators for menus that use
14278         single letter shortcuts.
14279
14280         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
14281         gtk_menu_ensure_uline_accel_group().
14282
14283         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
14284         which will always return an uline accel group, made
14285         gtk_menu_get_uline_accel_group() return NULL if the group isn't
14286         yet created.
14287
14288 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
14289
14290         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
14291
14292         * gtk/gtkclist.c (gtk_clist_column_title_passive):
14293         Leave button sensitive, trap  button_press, button_release,
14294         motion_notify, enter_notify and leave_notify events instead.
14295         (gtk_clist_column_title_active): disconnect event handler.
14296         (gtk_clist_drag_data_get): fixed memory leak. Reported by
14297         Guillaume Laurent <glaurent@worldnet.fr>
14298
14299 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
14300
14301         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
14302         width/height mixups.
14303
14304         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
14305         if needed.
14306
14307 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
14308
14309         * gtk/testgtk.c (create_item_factory): unref the item factory after
14310         window's destruction.
14311
14312         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
14313         count on the menu shell around the menu item's activation, since the
14314         signal emission may cause menu shell destruction.
14315
14316         * gtk/gtkitemfactory.c:
14317         the previous code leaked one accel group per menu. we use
14318         gtk_menu_get_uline_accel_group() now to fix that, and with that
14319         also create the underline accelerator group of the menus only if
14320         required (i.e. an underline accelerator has been specified).
14321         (gtk_item_factory_construct):
14322         (gtk_item_factory_create_item): removed code that would create an
14323         extra accel group for the menu (and leak references).
14324         (gtk_item_factory_create_item): adapted the underline accelerator
14325         installation code to properly feature gtk_menu_get_uline_accel_group().
14326
14327         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
14328         menu->accel_group, this may return NULL if the accelerator group
14329         hasn't been set yet.
14330         added gtk_menu_get_uline_accel_group() to retrive the underline
14331         accelerator group of the menu, this will be created on demand
14332         and proper care is taken about its reference count.
14333
14334         * gtk/gtkitemfactory.h:
14335         * gtk/gtkitemfactory.c:
14336         dumped the approach of keeping a widgets by action list on the
14337         factory since the factory<->widget destroy negotiation didn't work
14338         and would be hard to get going at all. instead we keep a list of
14339         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
14340         persistant throughout a program's life time).
14341         also, i removed the static const gchar *key_* variables, and made
14342         them inline strings (they weren't actually used anyways).
14343         (gtk_item_factory_add_item): update ifactory->items.
14344         (gtk_item_factory_destroy): destroy ifactory->items (and remove
14345         the item factory pointer from the remaining ifactory widgets).
14346         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
14347         list to find the widget.
14348         (gtk_item_factory_get_item): new function that works around
14349         gtk_item_factory_get_widget() limitations, this function will only
14350         return menu items, even for <Branch> entries.
14351
14352 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14353
14354         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14355         font hash table, if we have a GdkFontPrivate entry for this font
14356         already, simply increment its reference count, provided by Olaf Dietsche
14357         <olaf.dietsche+list.gtk@netcologne.de>.
14358
14359         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14360         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14361
14362 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
14363
14364         * gtk/gtkcontainer.c:
14365         (gtk_container_add_with_args):
14366         (gtk_container_addv):
14367         (gtk_container_add): before adding a child to a conatiner, make sure
14368         it is (default) constructed, this is neccessary because under certain
14369         circumstances the child will get relized and mapped immediatedly, in
14370         which case it has to be constructed already.
14371
14372 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
14373
14374         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
14375         values > 1 as TRUE also.
14376
14377 1999-03-16  Tor Lillqvist  <tml@iki.fi>
14378
14379         * README.win32: New file.
14380                 
14381         * configure.in: Check for lstat.
14382
14383         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
14384         completeness.
14385
14386         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
14387
14388         * gtk/gtk.def: Removed CRs.
14389
14390         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
14391         ..\gdk\win32).
14392
14393         * gdk/win32/makefile.msc: Correct upwards relative paths.
14394         
14395 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
14396
14397         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
14398           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
14399           it was connecting a void function to expose_event and the int
14400           returning function to the draw signal
14401
14402 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
14403
14404         * configure.in:
14405         Use correct path to libgmodule.la when ref'ing uninstalled copy
14406         of glib.  (Already in stable branch, Bug #417)
14407
14408 1999-03-15  Tor Lillqvist  <tml@iki.fi>
14409
14410         Win32 merge and general portability stuff:
14411                 
14412         * acconfig.h,configure.in: Check for <sys/time.h>.
14413
14414         * gdk/win32: New directory (actually, been there for a while).
14415         
14416         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
14417         NATIVE_WIN32, and use these. Always case fold on Win32. No
14418         backslashed escapes on native Win32.
14419
14420         * gtk/{gtk.def,makefile.msc}: New files.
14421
14422         * gtk/Makefile.am: Add above new files.
14423         
14424         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
14425         instead of <strings.h>.
14426
14427         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
14428         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
14429         <unistd.h> appropriately.
14430
14431         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
14432         Use ABS() (from <glib.h>) instead of abs().
14433         
14434         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
14435         of gtk (and thus glib) headers, so that WIN32 will be
14436         defined. With MS C, include <direct.h> for mkdir prototype.
14437
14438         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
14439         some casts, needed by MS C.
14440
14441         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
14442         implemented).
14443
14444         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
14445         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
14446         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
14447
14448         * gtk/gtkmain.h: Mark variables for export/import on Win32.
14449                 
14450         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
14451         the event is not a hint, or its window is not the slider. Needed
14452         on Win32, at least.
14453
14454         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
14455         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
14456         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
14457         a subdirectory of the Windows directory as gtk system
14458         configuration directory.
14459
14460         * gtk/gtkselection.c: No chunks on Win32.
14461
14462         * gtk/gtksocket.c: Not implemented on Win32.
14463
14464         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
14465
14466         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
14467
14468         * gtk/maketypes.awk: Declare variables with a macro that expands to
14469         necessary export/import magic in the case of Win32.
14470                 
14471         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
14472
14473 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
14474
14475         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
14476         since those were meant only for gdki18n.h.  
14477         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
14478         for widechar tests.
14479         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
14480
14481 1999-03-13  Tor Lillqvist  <tml@iki.fi>
14482
14483         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
14484         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
14485
14486         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
14487         installed) to CFLAGS.
14488
14489         * gdk/Makefile.am: Add rules for gdkconfig.h.
14490
14491         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
14492         APIs.
14493
14494         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
14495         gdkx.h anyway when compiling for X11.
14496         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
14497         general): Merge in Win32 version.
14498         
14499         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
14500         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
14501         expansion (if we don't have HAVE_PWD_H), allow for drive
14502         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
14503         included code from Craig Setera's port to Win32 (the one that uses
14504         X11, and the cygwin dll), even if it probably will be abandoned.
14505
14506         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
14507         the user entered one herself.  This way one can complete *.h and
14508         don't get matches on any .help files, for instance.
14509         
14510 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14511
14512         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14513         font hash table, if we have a GdkFontPrivate entry for this font
14514         already, simply increment its reference count, provided by Olaf Dietsche
14515         <olaf.dietsche+list.gtk@netcologne.de>.
14516
14517         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14518         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14519
14520 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14521
14522         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
14523         the number of calls to gdk_draw_point() (and thus to X) by
14524         clipping the points by hand.
14525
14526         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
14527         the clip parameter.
14528         (gtk_handle_box_paint): Only paint the handle if the expose area
14529         intersects it.
14530
14531 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14532
14533         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
14534
14535 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
14536
14537         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
14538         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
14539
14540 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14541
14542         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
14543          textmode (O_TEXT) for OS/2 version.
14544
14545 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
14546
14547         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
14548         GtkSpinButton, "input" and "output", to make the output more flexible.
14549         The user has to provide a mapping between adjustment->value and the
14550         output string (and vice versa, if the spin button is editable). 
14551         See testgtk for examples.
14552
14553 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
14554
14555         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
14556         new one.
14557         
14558         * configure.in: set gtk+ version to 1.3.0.