]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
Remove stale FIXME comment.
[~andy/gtk] / ChangeLog.pre-2-10
1 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
2
3         * gdk/gdkpango.h: Remove stale FIXME comment.
4
5 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
6
7         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
8         Fixed bug that returned NULL if a filename was selected.
9
10 2001-03-24  Havoc Pennington  <hp@pobox.com>
11
12         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
13         to contain the word "theme"
14
15 2001-03-24  Havoc Pennington  <hp@pobox.com>
16
17         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
18         slower but finer-grained
19         (gtk_hsv_focus): get initial focus on the ring or triangle 
20         according to tab direction
21
22         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
23
24 2001-03-23  Havoc Pennington  <hp@pobox.com>
25
26         * gtk/gtkhsv.c: make this somewhat key-navigable
27
28         * gtk/gtkfontsel.c: mnemonics
29
30         * gtk/gtkgamma.c: mnemonics
31
32         * gtk/gtkcolorsel.c: add mnemonics to labels
33
34 2001-03-22  Havoc Pennington  <hp@pobox.com>
35
36         Applied big patch from Seth Lytle to fix event handler return
37         values, slightly modified.
38
39         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
40         handled.
41         (gtk_calendar_key_press): return TRUE for GDK_space triggers
42         select_day
43
44         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
45         (gtk_clist_button_release): return TRUE if handled
46
47         * gtk/gtkcolorsel.c (mouse_release):
48         (palette_activate): 
49         (palette_press): 
50         (palette_new): 
51         (mouse_press): 
52         (get_screen_color): 
53         fixed return type (void to gboolean), return TRUE,
54         added GTK_SIGNAL_FUNC cast
55
56         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
57         (void to gboolean), and return TRUE
58         (gtk_combo_button_release): changed return value to TRUE after
59         gtk_grab_add on combo->popwin
60
61         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
62         collapse or expand
63
64         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
65         button/motion
66
67         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
68         press/release and motion that trigger act
69
70         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
71
72         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
73         for GDK_Return
74         
75         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
76         (gtk_list_button_release): return TRUE if selection
77
78         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
79         press
80
81         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
82         (gtk_menu_shell_button_release): chain parent_menu_shell retval
83
84         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
85         nothing triggered
86         (gtk_notebook_button_release): return TRUE if we do anything
87
88         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
89         (gtk_spin_button_button_release): return TRUE or chained retval
90
91         * gtk/gtktext.c (gtk_text_button_press): 
92         (gtk_text_button_release): return TRUE
93         (gtk_text_key_press): remove redundant retval code
94         
95         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
96         and sensitive
97         (gtk_tree_item_subtree_button_click): changed type to gint, and return
98         TRUE if sensitive
99
100         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
101         return TRUE
102
103 2001-03-23  Havoc Pennington  <hp@redhat.com>
104
105         * gtk/testgtk.c: fix warnings
106
107         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
108
109         * gtk/gtktextview.c: fix warnings
110
111         * gtk/gtktext.c (find_cursor_at_line): fix warning
112
113         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
114
115         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
116         of this function
117
118         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
119         fix warning
120
121         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
122
123         * gtk/gtkfontsel.c: fix warning
124
125         * gtk/gtkcolorsel.c: fix warnings
126
127 2001-03-23  Havoc Pennington  <hp@redhat.com>
128
129         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
130
131         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
132
133         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
134         and deprecated gtk_check_menu_item_set_show_toggle().
135         
136         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
137
138         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
139
140         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
141
142 2001-03-23  Havoc Pennington  <hp@redhat.com>
143
144         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
145         some docs
146
147 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
148
149         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
150         this.
151
152         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
153         set_cell to set_value
154
155         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
156         set_cell to set_value
157
158 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
159
160         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
161         fix braino.
162         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
163         support.
164
165         * gtk/gtktreeview.c: Addition of initial sortable support.
166
167         * gtk/gtktreestore.c: Addition of initial sortable support.
168
169         * gtk/gtkliststore.c: Addition of initial sortable support.
170
171         * gtk/gtkmarshal.list: yet another marshaller.
172
173         * gtk/gtktreedatallist.[ch]: shared code between the store models
174         for handling sorting headers.
175
176 2001-03-22  Havoc Pennington  <hp@redhat.com>
177
178         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
179         (gtk_container_unset_focus_chain): Add ability to override the 
180         focus chain for a container explicitly
181
182 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
183
184         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
185         added PROP_MNEMONIC_WIDGET.
186
187         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
188         (gtk_window_remove_mnemonic): 
189         (gtk_window_add_mnemonic): fixed assertions.
190         (gtk_window_activate_mnemonic): constrain modifier checks to those
191         permitted by gtk_accelerator_get_default_mod_mask().
192         got rid of gtk_window_get_default_accel_group().
193
194         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
195         activatable widgets either by focussing or a warning.
196         added a signal accumulator to ::activate_mnemonic which stops the
197         emission once a handler returned TRUE.
198
199 2001-03-22  Havoc Pennington  <hp@pobox.com>
200
201         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
202         the stock item label
203
204         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
205
206         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
207
208         * demos/gtk-demo/*.c: Add mnemonics all over the place
209
210         * gtk/gtklabel.h: mark parse_uline deprecated
211
212 2001-03-21  Alexander Larsson  <alexl@redhat.com>
213
214         * gtk/gtkitemfactory.[ch]:
215         Add support for stock and normal imagemenuitems.
216         
217         * gtk/testgtk.c:
218         Add some tests for mnemonics, stock toolbars, stock
219         and image menuitems in itemfactory and gdk_window_scroll.
220
221 2001-03-21  Alexander Larsson  <alexl@redhat.com>
222
223         * gtk/gtkbutton.[ch]:
224         * gtk/gtkdialog.c:
225         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
226         removed accel_group argument. Renamed gtk_button_new_accel() to
227         gtk_button_new_with_mnemonic() and removed accel_group argument.
228
229         * gtk/gtkcheckbutton.[ch]:
230         New function gtk_check_button_new_with_mnemonic().
231
232         * gtk/gtkentry.c:
233         Override activate_mnemonic and just grab focus.
234
235         * gtk/gtkitemfactory.c:
236         Don't add menu uline accel group, instead use mnemonics support.
237
238         * gtk/gtklabel.[ch]:
239         New support for mnemonics.
240
241         * gtk/gtkmarshal.list:
242         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
243
244         * gtk/gtkmenu.[c]:
245         * gtkmenushell.c:
246         Use mnemonics instead of accel groups for uline
247         support in menu items.
248         Removed gtk_menu_get_uline_accel_group() and
249         gtk_menu_ensure_uline_accel_group().
250
251         * gtk/gtkmenuitem.c:
252         Override activate_mnemonic to handle switching between
253         menu items if there are collisions.
254         
255         * gtk/gtknotebook.c:
256         Connect to activate_mnemonic on the tab_label, so that
257         activating it switches to that notebook page.
258
259         * gtk/gtkwidget.[ch]:
260         Add activate_mnemonic signal. New function
261         gtk_widget_activate_mnemonic() to emit it.
262         Default implementation does activate/grab_focus.
263
264         * gtk/gtkwindow.[ch]:
265         Add support for mnemonics in windows.
266         New functions:
267         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
268         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
269
270         * gtk/testgtk.c:
271         Update to function name changes.
272         
273 2001-03-21  Alexander Larsson  <alexl@redhat.com>
274
275         * gtk/gtkimagemenuitem.[c]:
276         Add gtk_image_menu_item_new_from_stock()
277
278 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@webwynk.net>
279
280         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
281         Fix buglet in meeting.
282
283 2001-03-19  Havoc Pennington  <hp@redhat.com>
284
285         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
286         add a bunch of accessor functions. This is because we have
287         reasonable expectations of extending what fields it contains in
288         the future.
289
290         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
291         changes
292
293         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
294         GtkIconSource   
295
296 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
297
298         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
299         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
300
301         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
302           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
303           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
304           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
305         Change float to double everywhere with the exception of 0<->1.0 alignment
306         and GtkCurve.
307
308 2001-03-19  Tor Lillqvist  <tml@iki.fi>
309
310         * gdk/win32/gdkdrawable-win32.c
311         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
312         output.
313
314         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
315         gdkwin32.h.
316
317 2001-03-18  Tor Lillqvist  <tml@iki.fi>
318
319         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
320         print_event_state, print_event): Use preprocessor macro to make
321         code more compact. Print also GDK_WINDOW_STATE events.
322         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
323         
324         * gtk/gtk.def
325         * gtk/makefile.mingw.in: Update.
326
327         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
328         to catch also Cygwin.
329
330 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
331
332         * gtk/gtkspinbutton.[hc]: added rc-style argument
333         GtkSpinButton::shadow_type.
334         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
335         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
336         rc-style settings.
337
338         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
339
340         * gtk/gtkwidget.c: quark cleanups.
341
342         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
343         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
344         to create_rc_style() (we don't do cloning in standard OO sense).
345         added per rc style properties.
346         
347         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
348         property values and for caching those. some cleanups.
349         
350         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
351         
352         * gtk/gtksettings.[hc]: new file for global rc-file properties
353         (at least currently, should get extended to support X properties
354         and other communication mechanisms).
355         
356         * gtk/gtkwidget.[hc]: added style property support:
357         (gtk_widget_class_install_style_property_parser): install style
358         property pspec with parser function for rc-file values other
359         than LONG, DOUBLE or STRING.
360         (gtk_widget_class_install_style_property): same as above without
361         parser (parsers are going to be needed quite infrequently).
362         (gtk_widget_style_get_property): retrive style property value.
363         (gtk_widget_style_get_valist): same as above with varargs support,
364         has NOCOPY semantics.
365         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
366
367 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
368
369         * demos/gtk-demo/main.c (row_activated_cb): modified to use
370         "row_activated" signal.
371
372         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
373         stupidity.  Lets actually pass in the row with this signal...
374
375 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
376
377         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
378
379         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
380
381         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
382         everything into the ::destroy function, and freed a lot more.
383
384 2001-03-16  Havoc Pennington  <hp@redhat.com>
385
386         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
387         instead of gint16, to avoid overflow issues, since sizes > 16-bit
388         are now allowed.
389
390 2001-03-16  Havoc Pennington  <hp@redhat.com>
391
392         * Applied patch from Nils Barth (bug # 51041) to 
393         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
394         in various places.
395
396 2001-03-15  Havoc Pennington  <hp@redhat.com>
397         
398         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
399         for properties to set on the tag.
400
401         * gtk/testtext.c: fixups to reflect create_tag change
402         
403         * gtk/gtktexttag.c (gtk_text_tag_set_property):
404         background/foreground stipple are objects, not boxed.
405
406         * demos/gtk-demo/textview.c: intellihancing
407
408 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
409
410         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
411         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
412
413 2001-03-16  Alexander Larsson  <alexl@redhat.com>
414
415         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
416         Fix sign error with queued region translations.
417
418 2001-03-15  HideToshi Tajima  <tajima@happy>
419
420         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
421         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
422         * gtk/gtkentry.c (update_im_cursor_location): 
423         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
424         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
425         set_cursor_pos to set_cursor_location in GtkInputContext class
426
427 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
428
429         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
430         the location of the cell relative to its area.
431         * gtk/gtkcell*: modified for above change
432         * gtk/gtktreeview.c: modified for above change.
433
434 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
435
436         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
437          (gtk_tree_view_finalize): actually unref the model.  Thanks to
438         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
439
440 2001-03-14  Havoc Pennington  <hp@redhat.com>
441
442         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
443         
444         * gtk/gtk.h: remove gtkdata.h
445
446         * gtk/Makefile.am: remove gtkdata
447         
448         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
449         not "disconnect" on the adjustments.
450         
451         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
452         GtkData
453
454         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
455         not GtkData
456
457         * configure.in: handle case where X render exists, but Pango lacks
458         Xft support.
459
460 2001-03-15 Alexander Larsson  <alexl@redhat.com>
461
462         * gtk/gtktoolbar.[ch]:
463         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
464         to add stock items to toolbars.
465
466         * gtk/Makefile.am:
467         Remove ../gdk/gdkim.h from gdk_headers.
468
469 2001-03-15  Sven Neumann  <sven@gimp.org>
470
471         * gdk/gdkim.h: removed
472         
473         * gdk/gdkprivate.h
474         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
475
476 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
477
478         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
479         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
480         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
481         set_cursor_pos() virtual method
482
483         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
484         (gtk_im_context_xim_set_cursor_pos): add implementation for
485         set_cursor_pos() method
486
487         * gtk/gtkentry.c (recompute_idle_func): set current cursor
488         position to input methods
489
490 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
491
492         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
493         code a lot.
494
495         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
496         g_mem_chunk.
497         (_gtk_tree_data_list_alloc): use g_mem_chunk.
498         (_gtk_tree_data_list_node_to_value): Fix to switch on
499         G_TYPE_FUNDAMENTAL.
500         (_gtk_tree_data_list_value_to_node): Fix to switch on
501         G_TYPE_FUNDAMENTAL.
502         (_gtk_tree_data_list_node_copy): Fix to switch on
503         G_TYPE_FUNDAMENTAL.
504
505 2001-03-12  Havoc Pennington  <hp@redhat.com>
506
507         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
508         to convert to new property API. Also, change default_width and
509         default_height get_property to return 0 as the flag value for
510         "unset"; -1 is not a valid value for these fields.
511
512 2001-03-12  Havoc Pennington  <hp@redhat.com>
513
514         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
515         enum with registration for icon sizes, instead of strings.
516
517         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
518         gtkwidget.c: Fix to reflect GtkIconSize
519         
520 2001-03-12  Alexander Larsson  <alexl@redhat.com>
521
522         Make GtkFB compile and link.
523         
524         * gdk/linux-fb/gdkdrawable-fb2.c:
525         window->mapped to GDK_WINDOW_IS_MAPPED(). 
526         
527         * gdk/linux-fb/gdkwindow-fb.c:
528         window->mapped to GDK_WINDOW_IS_MAPPED(). 
529         Added gdk_window_shape_combine_region.
530         Added assorted placeholders for unimplemented new GdkWindow API calls.
531
532 2001-03-12  Alexander Larsson  <alexl@redhat.com>
533
534         * gtk/gtkfilesel.c:
535         Add more test when converting filenames from/to utf-8.
536         Don't allow entering text in the filename entry which isn't allowed in
537         a filename. Just beep instead.
538
539 2001-03-12  Alexander Larsson  <alexl@redhat.com>
540
541         * gtk/gtkclist.c:
542         Scroll using gdk_window_scroll(). Don't wait for exposes.
543         Move the column headers in an order that makes them flash less.
544
545 2001-03-10  Hans Breuer  <hans@breuer.org>
546
547         * gdk/gdk.def : updated
548
549         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
550         to offseting the clip_mask at the right place
551
552         * gdk/win32/gdkwindow-win32.c : don't create background brushes
553         for all the gdkClasses, especially not for the input_only case.
554         Otherwise flickering wont be avoidable, because we don't get
555         WM_ERASEBKGND message for these windows.
556
557         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
558         and fixed massive redraw problems apparently triggered by Alexanders 
559         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
560         but it seems to work quite well :-)
561
562         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
563         prototype
564
565 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
566
567         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
568         (gtk_list_store_set_cell): Fix a stupid typo.
569
570 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
571
572         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
573         select_all not work if you're in SINGLE mode (it doesn't make that
574         much sense, anyway.)
575
576         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
577         handle types more sanely.
578         (_gtk_tree_data_list_value_to_node): handle types more sanely.
579         (_gtk_tree_data_list_node_copy): handle types more sanely.
580
581         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
582         GValue better. Converts the type as well.
583
584         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
585         GValue better. Converts the type as well.
586
587 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
588
589         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
590         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
591         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
592         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
593
594         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
595         gdk_im/gdk_ic.
596
597 2001-03-09  Hans Breuer  <hans@breuer.org>
598
599         * gdk/gdk.def : updated
600
601         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
602         for their palette
603
604         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
605         removing
606
607         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
608         removing and implemented Havoc's GdkWindow state functions; 
609         stick/unstick only as no-op, cause I don't know how to emulate 
610         on win32 ...
611
612         * gtk/gtk.def : updated
613
614         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
615
616         * gtk/gtktypeutils.c : #include <string.h>
617
618         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
619
620 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
621
622         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
623         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
624         not a boxed.
625
626 2001-03-09  Alexander Larsson  <alexl@redhat.com>
627
628         * docs/Changes-2.0.txt:
629         Document expose event->region change and that gtk_widget_event
630         doesn't allow passing expose events.
631
632         * gdk/gdkevents.h:
633         Add region to expose event.
634         
635         * gdk/gdkevents.c:
636         Handle event->region in gdk_event_copy() and gdk_event_free().
637
638         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
639         Generate expose_event->region when creating expose events.
640
641         * gdk/x11/gdkevents-x11.c:
642         Generate expose events with regions when translating X events.
643
644         * gtk/gtkcontainer.[ch]:
645         Default expose handler that propagates expose events to NO_WINDOW
646         children. New function gtk_container_propagate_expose()
647
648         * gtk/gtkwidget.[ch]:
649         Moved gtk_widget_event implementation to gtk_widget_event_internal.
650         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
651         expose events. New function gtk_widget_send_expose() to send expose
652         events. New function gtk_widget_region_intersect() to calculate
653         window/region intersections.
654         
655         * gtk/gtkmain.c (gtk_main_do_event):
656         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
657         Use gtk_widget_send_expose() to send expose events.
658         
659         * gtk/gtkbin.c:
660         * gtk/gtkbox.c:
661         * gtk/gtkfixed.c:
662         * gtk/gtkimagemenuitem.c:
663         * gtk/gtklist.c:
664         * gtk/gtkpacker.c:
665         * gtk/gtktable.c:
666         * gtk/gtktree.c:
667         Remove expose handler, using the default container implementation
668         instead.
669         
670         * gtk/gtkbutton.c:
671         * gtk/gtkcheckbutton.c:
672         * gtk/gtkeventbox.c:
673         * gtk/gtkfixed.c:
674         * gtk/gtkhandlebox.c:
675         * gtk/gtklayout.c:
676         * gtk/gtklistitem.c:
677         * gtk/gtkmenu.c:
678         * gtk/gtkmenubar.c:
679         * gtk/gtkmenuitem.c:
680         * gtk/gtknotebook.c:
681         * gtk/gtkoptionmenu.c:
682         * gtk/gtkpaned.c:
683         * gtk/gtkscrolledwindow.c:
684         * gtk/gtktogglebutton.c:
685         * gtk/gtktoolbar.c:
686         * gtk/gtktreeitem.c:
687         * gtk/gtkviewport.c:
688         Chain expose handler to parent class handler. Use
689         gtk_container_propagate_expose() to propagate exposes.
690
691         * gtk/gtkclist.c (check_exposures):
692         * gtk/gtktext.c (process_exposes):
693         Use gtk_widget_send_expose instead of gtk_widget_event.
694
695 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
696
697         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
698
699 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
700
701         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
702         unref the nodes.   Fixes bug #50058.
703
704         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
705         "::ref_iter" to "::ref_node".
706         (gtk_tree_model_unref_node): change "::unref_iter" to
707         "::unref_node". Fixes bug #50064.
708
709 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
710
711         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
712         support for invisible cells.
713          (gtk_tree_view_bin_expose): ditto
714
715 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
716
717         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
718         on gobjects.
719
720         * tests/testtreefocus.c (main): New test file.
721
722         * tests/testtreeview.c: update to latest glib changes.
723
724         * tests/testtreecolumns.c: update to latest glib changes.
725
726 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
727
728         * gtk/testgtk.c: re-enabled event watcher emission hooks.
729
730 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
731
732         * *.c: added accumulator data argument to g_signal_newc()
733         functions.
734
735         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
736         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
737         * gtk/treestoretest.c (make_window):
738         s/g_signal_connect/g_signal_connectc/.
739
740         * gtk/gtktextbuffer.c: completed signal arg fixups,
741         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
742
743 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
744
745         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
746         G_CONST_RETURN.
747
748         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
749         ::hierarchy-changed signal when a widget changes
750         from anchored to unanchored or vice versa.
751         (anchored means 
752          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
753         Use a private flag to keep track of this efficiently.
754
755 2001-03-07  Havoc Pennington  <hp@redhat.com>
756
757         * gtk/testgtk.c (create_spins): uglify so that size request gets
758         tested.
759
760         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
761         request on values for upper/lower, completes #6152
762
763 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
764
765         * Makefile.am: Remove gtk-config-2.0 again.
766         (Grrrr, pkg-config. And stops make loops.)
767
768 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
769
770         * gtk/gtksignal.[hc]: removed old emission hook API.
771         
772         * docs/Changes-2.0.txt: fixed sections.
773         
774         * gtk/gtktextbuffer.c: signal arg fixups.
775
776 2001-03-07  Havoc Pennington  <hp@redhat.com>
777
778         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
779
780         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
781         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
782         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
783         validation and the redraw which is higher priority than the
784         validation.
785
786 2001-03-07  Havoc Pennington  <hp@redhat.com>
787
788         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
789         (gtk_entry_set_property): remove trailer
790
791         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
792         (gtk_entry_get_width_chars): new functions, to set size request to 
793         a given number of characters
794
795         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
796
797         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
798         (gtk_dialog_get_has_separator): new function
799         (run_delete_handler): fix to not emit "response" signal
800         because we already did in the delete event handler installed
801         at dialog creation time.
802         
803         * gtk/gtkdialog.h: add a has_separator property,
804         add GTK_DIALOG_NO_SEPARATOR flag
805
806 2001-03-07  Havoc Pennington  <hp@redhat.com>
807
808         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
809         off decorations for a window.
810
811         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
812         changes
813
814         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
815         to get location of PangoLayout inside the label, closes #51198
816
817         * gtk/testgtk.c (create_bbox): fix up button box usage
818
819         * gtk/testcalendar.c (create_calendar): fix up button box usage
820
821         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
822
823         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
824
825         * gtk/gtkhbbox.h: deprecations
826
827         * gtk/gtkvbbox.h: deprecations
828
829         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
830         emulate deprecated gtk_button_box_get_spacing
831
832         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
833         the "set global default" functions
834         (struct _GtkButtonBox): remove "spacing" field, use the one from 
835         GtkBox base class
836
837         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
838
839         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
840         render the icon, return the missing image icon.
841
842         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
843         image icon if the load fails.   
844
845         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
846         when no image is found; should be the Netscape "missing image"
847         icon eventually but for now is a random image
848
849         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
850         role for the session manager
851
852         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
853
854         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
855         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
856
857         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
858
859 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
860
861         * gtk/*.c: marshaller fixes.
862         
863         * gtk/gtkmarshal.list: extreme cleanup.
864
865         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
866         param spec for now.
867
868         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
869         where appliable.
870
871         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
872         special cased autogenerated boxed types from gtktypebuiltins_ids.c
873         which are not reference counted:
874         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
875         PangoFontDescription, GtkTreeIter and GtkTreePath.
876
877 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
878
879         * gtk/gtktreeselection.h: 
880         * gtk/gtktreemodel.c:
881         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
882         file should be included directly, and gobject/gmarshal.h
883         as well as gtk/gtkmarshal.h even can't be included directly.
884
885         * Makefile.am: grr, install gtk-config-2.0.
886
887         * gtk/testgtk.c:
888         * gtk/simple.c:
889         * gtk/gtkmenu.c:
890         * gtk/gtkitemfactory.c: use g_object_connect() instead of
891         passing "*signal*::*" args to gtk_widget_set().
892         
893         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
894         
895         * gtk/*.c: removed trailer arg from property setters and getters.
896         macro fixups.
897
898 2001-03-07  Alexander Larsson  <alexl@redhat.com>
899
900         * gtk/gtklabel.c (set_markup): Removed warning
901
902 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
903
904         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
905         field to allow you to hide cell renderers.
906
907         * gtk/gtkcellrenderer.c: Add support for invisible cells.
908
909         * gtk/gtktreeview.c: Add support for invisible cells.
910
911 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
912
913         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
914         Add "clicked" signal back to columns.
915
916         * ChangeLog: remove conflict markers.
917
918 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
919
920         * gtk/gtkbutton.c: Add animation of activation by, on 
921         activate, pressing the button, and adding a timeout that 
922         releases the button after 250ms or on key release and
923         emits ::clicked. (#51501)
924
925         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
926         action area, we connect to ::clicked instead of ::activate
927         so the dialog stays up through the animation.
928
929 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
930
931         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
932         check the ignore_enter flag for the menu shell that
933         the item is actually a child of, not for attached
934         submenus. (#51536)
935
936 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
937
938         * gtk/gtkmain.c (gtk_propagate_event): Only do special
939         special key-press grab handling for widgets within
940         GtkWindows. Otherwise, fall through to normal case.
941
942         This prevents key events being sent twice to GtkInvisible
943         widgets, which can cause all sorts of mischief.
944
945 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
946
947         * gtk/gtkmain.c (gtk_propagate_event): When a grab
948         widget is in effect, give the grab widget a first
949         crack at KEY_PRESS/RELEASE events. (#424)
950
951 2001-03-06  James Henstridge  <james@daa.com.au>
952
953         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
954         offset for the window_state_event to point at window_state_event
955         rather than no_expose_event.
956
957 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
958
959         * gtk/gtkimmodule.h: fix busted /* comment */
960
961 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
962
963         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
964         object properties.
965
966 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
967
968         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
969         add object properties.
970
971         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
972         to add object properties.
973
974         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
975         object properties.
976
977         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
978         add object properties.
979
980         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
981         object properties.
982
983 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
984
985         * gtk/gtktreemodel.c: renamed "child_toggled" to
986         "has_child_toggled".
987
988         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
989         handle new signal name.
990
991         * gtk/gtktreestore.c: Updated to handle new signal name.
992         * gtk/gtklisttore.c: Updated to handle new signal name.
993         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
994
995 2001-03-05  Alexander Larsson  <alexl@redhat.com>
996
997         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
998         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
999
1000 2001-03-05  Michael Natterer  <mitch@gimp.org>
1001
1002         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
1003         pixbuf-engine coincidentially also failed to make one of it's
1004         parent_class pointers static, causing overwriting of GtkLabel's
1005         parent_class pointer in pixbuf_style_class_init().
1006         (Will commit the fix to the pixbuf-engine too).
1007
1008 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1009
1010         * gdk/gdkwindow.h:
1011         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
1012         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
1013         gdk_window_set_icon_list for net wmspec functionality.
1014
1015         * gdk/x11/gdkwindow-x11.c:
1016         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
1017         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
1018         gdk_window_set_icon_list.
1019         Added gdk_wmspec_change_state helper function and used it in the code.
1020         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
1021
1022         * gtk/gtkdialog.c (gtk_dialog_init):
1023         Set GDK_WINDOW_TYPE_HINT_DIALOG.
1024
1025         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
1026         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
1027
1028         * gtk/gtkwindow.c:
1029         new function gtk_window_set_type_hint.
1030         On realize, set type hint and modal hint.
1031
1032         * gtk/gtkwindow.h:
1033         Added type_hint field and gtk_window_set_type_hint.
1034
1035 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1036
1037         * gtk/gtklabel.[ch]:
1038         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
1039         New function gtk_label_get_accel_keyval () to get the underline accelerator
1040         of the label. Setting the label pattern overrides other attributes.
1041
1042 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
1043
1044         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
1045         Added missing initializers to gtk_rc_style_init().
1046
1047 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
1048
1049         * gtk/gtktextview.c: fixed bug #51097 about setting 
1050         gtk_text_view_set_border_window_size() if the widget is 
1051         already realized.
1052
1053 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
1054
1055         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
1056
1057         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
1058         comment. Won't do to have duplicated doc comments between
1059         the platform subdirs.
1060
1061 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
1062
1063         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
1064           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
1065
1066         Detectable auto-repeat - make a repeating key generate
1067         press/press/press/release instead of press/release pairs.
1068
1069         If we have Xkb and XkbSetDectableAutoRepeat supports
1070         that, we do it that way. Otherwise, when we get
1071         a release event, we check ahead with XPending to see
1072         if the next key is a KeyPress with the same keycode
1073         and timestamp. (Not 100% reliable, but pretty close.)
1074           
1075 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1076         
1077         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1078         special key-press grab handling for widgets within
1079         GtkWindows. Otherwise, fall through to normal case.
1080  
1081         This prevents key events being sent twice to GtkInvisible
1082         widgets, which can cause all sorts of mischief.
1083  
1084 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1085  
1086         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1087         widget is in effect, give the grab widget a first
1088         crack at KEY_PRESS/RELEASE events. (#424)
1089  
1090 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
1091
1092         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
1093         to extend the selection. (Roughly based on patch
1094         from Jay Cox, #50939)
1095
1096         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
1097         to properly handle previous GDK_BUTTON_PRESS. 
1098         (Patch from Jay Cox, #50938)
1099
1100         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
1101         '\0' back along with the deleted text. (#51148)
1102
1103 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
1104
1105         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
1106         the group when extracting it from the X keyboard event.
1107
1108         * modules/input/Makefile.am modules/input/imipa.c: 
1109         Simple module for entering IPA. (Do we need a 
1110         gtk-stupid-input-tricks CVS module?)
1111
1112 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
1113
1114         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
1115         const.
1116
1117         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
1118
1119         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
1120         is no focus widget for the dialog currently, grab the focus as well
1121         as the default.
1122
1123         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
1124         the action area's children to iterate through, not the
1125         dialog's children.
1126
1127 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
1128
1129         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
1130         Add plug-socket tests. (Won't work worth a darn until I commit
1131         the rest of the plug-socket changes, but no reason these
1132         can't go into CVS now.)
1133
1134 2001-03-02  Havoc Pennington  <hp@redhat.com>
1135
1136         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
1137         _gdk_region_get_xrectangles()
1138
1139         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
1140
1141         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
1142
1143         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
1144         function, contributed by Ron Steinke    
1145
1146         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
1147         gdk_net_wm_supports
1148
1149         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
1150         New function, contributed by Ron Steinke
1151
1152         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
1153         used to line up the text in the entry when using the entry for
1154         editable sheet cell hacks
1155
1156         * gtk/testgtk.c (create_entry): test the activate_default setting
1157         on GtkEntry
1158
1159         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
1160         cause the entry to activate the default button for a dialog when 
1161         activated
1162         (gtk_entry_get_activates_default): new function
1163
1164 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
1165
1166         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
1167         Hwang to move call to sync_selection() up a few lines
1168         to before the row list is modified, to fix crash when
1169         removing rows in the undo_selection list.
1170
1171         (Test case provided by Daniel Elstner:
1172
1173         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
1174
1175 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
1176
1177         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
1178         of tree->root_tree in parent_set rather than _map(), 
1179         fixing #50892 in a bit better manner.
1180
1181 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
1182
1183         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
1184
1185 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
1186
1187         * gtk/gtkstyle.c : Remove duplicate fwd decl for
1188         gtk_default_draw_shadow.
1189
1190 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
1191
1192         * gdk/gdkimage.c (gdk_image_new): Remove excess 
1193         warning, make warnings more verbose, treat a error
1194         in shmat as permanent, and don't try again.
1195         (#51163, Ed Randall.)
1196
1197 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
1198
1199         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
1200         delay for the first click before starting to scroll.
1201         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
1202
1203         * gtk/gtktext.c: GtkText should have I-beam cursor. 
1204         (based on gtk-enf-990513-1.patch, Eric Fisher.)
1205
1206 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
1207
1208         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
1209         cleanup to remove some references to unused
1210         ->xoffset, ->yoffset.
1211
1212 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
1213
1214         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
1215         mask. (#51039, fix from Martin Maierhofer)
1216
1217 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
1218
1219         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
1220         for unshifted + and shifted = for non-us keyboards.
1221         Make <Control>+ and <Control>- work as well as 
1222         <Control>KP_Plus, <Control>KP_Minus for recursive
1223         open/close.  (#2682, René Seindal)
1224
1225 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
1226
1227         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
1228         the active menu item before deactivating the menu,
1229         so gtk_menu_popdown doesn't change the history. (#50964)
1230         
1231 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
1232
1233         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
1234         draw lines with text_gc rather than black_gc.
1235         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
1236
1237 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
1238
1239         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
1240         Move handling of buttons fully in gtktreeviewcolumn.  This code is
1241         less interrelated then it was, but it still requires the
1242         GtkTreeView to map it.
1243
1244         * test/testtreecolumn.c: Now I can add a column to one view,
1245         remove it, add it to the another view, remove it, then re-add it
1246         to the first.  Nifty.
1247
1248 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
1249
1250         * docs/tutorial/gtk-tut.sgml: Minor corrections
1251
1252 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
1253
1254         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
1255         GtkRowReference.
1256
1257 2001-02-28  Havoc Pennington  <hp@redhat.com>
1258
1259         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
1260         draw_default
1261         (gtk_widget_draw_focus): remove this function; we could instead
1262         make it just gtk_widget_draw(), but in most cases I think the
1263         result would be broken user code, so think it's better to have
1264         that code not compile and get fixed
1265         (gtk_widget_draw_default): ditto
1266
1267         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
1268         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
1269         
1270         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
1271         widgets lose/get the default, instead of calling draw_default
1272         
1273         * docs/Changes-2.0.txt: note about all this
1274
1275         Then fixed every widget in GTK, I won't list all the filenames.
1276
1277 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
1278
1279         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
1280         _gtk_tree_row_reference_deleted.
1281         (inserted_callback): Proxy out to
1282         _gtk_tree_row_reference_inserted.
1283         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
1284         get around signal emission ordering problem.
1285
1286         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1287         fix to work with SINGLE 
1288         (_gtk_tree_selection_internal_select_node): Major sanitization on
1289         selections.  SINGLE now seems to work.
1290
1291         * tests/Makefile.am: add testtreecolumn.c:
1292
1293         * tests/testtreecolumn.c: New test.  Mostly points out selection
1294         bugs currently, but will test columns later.
1295
1296         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
1297         selection bug.  I hate touching this code -- it's scary.
1298
1299 2001-02-26  Havoc Pennington  <hp@redhat.com>
1300
1301         * gtk/testgtk.c: test the window state stuff
1302
1303         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
1304         window come to the user's attention as if it were just created
1305         (gtk_window_iconify): new function
1306         (gtk_window_deiconify): new function
1307         (gtk_window_stick): new function
1308         (gtk_window_unstick): new function
1309         (gtk_window_maximize): new function
1310         (gtk_window_unmaximize): new function
1311
1312         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
1313
1314         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
1315
1316         * gdk/x11/gdkevents-x11.c: create window state events when
1317         appropriate
1318         (gdk_wmspec_supported): new function
1319
1320         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
1321         iconification before showing the window
1322         (gdk_window_deiconify): new function
1323         (gdk_window_stick): new function
1324         (gdk_window_unstick): new function
1325         (gdk_window_maximize): new function
1326         (gdk_window_unmaximize): new function
1327
1328         * gdk/gdkwindow.c: store the window state in the window; 
1329         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
1330         window->mapped.
1331         (gdk_window_get_state): return the current window state
1332
1333         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
1334         (gdk_event_get_state): handle GDK_WINDOW_STATE
1335         (gdk_synthesize_window_state): function to create the window state
1336         events
1337
1338         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
1339         event, for changes to "window state" such as maximized, sticky, 
1340         etc.
1341         
1342         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
1343         focuses a window
1344
1345         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
1346         finds out if we support a given WM spec hint
1347
1348 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
1349
1350         * docs/faq/gtk-faq.sgml: New question re memory leaks.
1351
1352 2001-02-25  Hans Breuer  <hans@breuer.org>
1353
1354         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
1355         cause we want to loose those prototypes only in the latter case
1356
1357         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
1358         GdkPixmapImplWin32 because it itsn't derived from it. Use the
1359         impl member variable instead
1360
1361         * gtk/gtk.def : updated
1362
1363         * gtk/gtklist.c : 
1364         * gtk/gtkmenus.c : include <string.h> for memset ()
1365
1366         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
1367         for everthing built here, but for gtk-x.x.dll only. This solves
1368         problem of indifferent gtk type definitions
1369
1370 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
1371
1372         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
1373
1374 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
1375
1376         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
1377         column that is exposed.
1378
1379         (_gtk_tree_view_update_size): Changed name from set_size, and
1380         changed function to do more work, and not force people calling it
1381         to figure out the size.  Simplifies a lot of code elsewhere.
1382
1383 2001-02-23  Alexander Larsson  <alexl@redhat.com>
1384
1385         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
1386         return solid masks for xpms that have no transparent color.
1387         This makes the ..._create_from_xpm... API backwards
1388         compatible.
1389
1390 2001-02-23  Tor Lillqvist  <tml@iki.fi>
1391
1392         * README.win32: Update. Mention the gtk-1-3-win32-production
1393         branch.
1394
1395         * gdk/win32/bdfcursor.c: New file. A program that generates
1396         xcursors.h. Thanks to Stefan Ondrejicka.
1397
1398         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
1399         compact format.
1400
1401         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
1402
1403         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
1404         function, uses xcursors.h.
1405         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
1406         cursor from inline data instead of using LoadCursor() to generate
1407         it from a resource.
1408
1409         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
1410         event, must check the Windows message for mouse button state, as
1411         the GDK event state might not have been built if it is
1412         undelivered. Remove one goto.
1413
1414         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
1415         SetCursor() if the current cursor as returned by GetCursor() is
1416         the window's previous cursor. The ChildWindowFromPoint() test
1417         apparently didn't work correctly.
1418
1419         * gdk/win32/rc/*.cur: Remove.
1420
1421         * gdk/win32/rc/gdk.rc.in: Remove cursors.
1422
1423         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
1424
1425         * gtk/makefile.{mingw,msc}.in: Updates.
1426
1427 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
1428
1429         * gtk/gtktreemodel.h: add functions for signal emission.
1430
1431         * gtk/gtktreestore.c: move to use above functions instead of
1432         g_signal_emit.
1433
1434         * gtk/gtkliststore.c: ditto
1435
1436 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
1437
1438         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
1439         GObject instead of GtkObject.
1440
1441         * gtk/gtkliststore.c: ditto.
1442
1443         * gtk/gtktreemodelsort.c: ditto.
1444
1445         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
1446         GtkTreeModelIface, instead of in each model.
1447
1448 2001-02-21  Havoc Pennington  <hp@redhat.com>
1449
1450         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
1451         unbreak this function
1452
1453         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
1454         properties
1455
1456         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
1457         properties
1458
1459         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
1460         properties
1461
1462         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
1463         mean unset the max length
1464
1465 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
1466
1467         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
1468         Changed name to be set_cell_data_func to make it clear what
1469         the functino does.  Close bug #51069.
1470
1471 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
1472
1473         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
1474         have memory actually freed.  Keeps box running longer.
1475
1476 2001-02-21  Alexander Larsson  <alexl@redhat.com>
1477         
1478         * gtk/gtkseparatormenuitem.[ch]:
1479         Added new menu separator item. The drawing and size handling
1480         is still done in GtkMenuItem, but the API is a bit more sane.
1481         
1482         * gtk/Makefile.am:
1483         Add gtkseparatormenuitem.[ch].
1484
1485         * gtk/gtk.h:
1486         Add gtkseparatormenuitem.h.
1487         
1488         * gtk/gtkentry.c:
1489         * gtk/gtkmenufactory.c:
1490         * gtk/gtktextview.c:
1491         Use the new API for menu separators.
1492         
1493         * demos/gtk-demo/menus.c (create_menu):
1494         Add some GtkSeparatorMenuItem demo code.
1495
1496 2001-02-20  Havoc Pennington  <hp@redhat.com>
1497
1498         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
1499         Lee Mallabone
1500
1501         * gtk/gtkarrow.c: Convert to new property API, patch from 
1502         Lee Mallabone
1503
1504 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
1505
1506         * tests/testtreeview.c (toggled_callback): fix to reflect change
1507         in GtkTreeModelStore.
1508
1509 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
1510
1511         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
1512         function to create an icon set from a pixbuf.
1513
1514 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1515
1516         * gtk/gtkcellrenderertext.[ch]:
1517         Add a "markup" property.
1518
1519         * gtk/treestoretest.c:
1520         Use the markup property, remove some leftover stuff from
1521         GtkTreeModelMapping.
1522
1523 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1524
1525         * gtk/gtklabel.c (gtk_label_set_selectable):
1526         Queue a redraw if the selectable setting was changed.
1527
1528 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1529
1530         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
1531         Actually copy the whole gc, not just the public parts.
1532         
1533         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1534         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
1535         labels.
1536
1537 2001-02-19  Havoc Pennington  <hp@pobox.com>
1538
1539         * gdk/gdkwindow.c: docs
1540
1541         * gdk/gdkrgb.c: docs
1542
1543         * gdk/gdkregion-generic.c: docs
1544
1545         * gdk/gdkgc.c (gdk_gc_set_values): docs
1546
1547         * gdk/gdkdraw.c: docs
1548
1549         * gdk/gdkdrawable.h: deprecate drawable get/set data
1550
1551 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
1552
1553         * demos/gtk-demo/dialog.c: Add simple new demo.
1554
1555 2001-02-19  Havoc Pennington  <hp@redhat.com>
1556
1557         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
1558         insert_child_anchor signal, bug #50245
1559
1560         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
1561         from create_child_anchor, so the anchor is passed in
1562
1563         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
1564         (_gtk_widget_segment_new): have the child anchor object passed in, 
1565         instead of creating it.
1566
1567         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
1568         to gtk_text_buffer_get_modified
1569
1570 2001-02-19  Havoc Pennington  <hp@redhat.com>
1571
1572         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
1573         changed GLib without fixing GTK
1574
1575         * gtk/gtkrange.h: Rename all the stupid implementation detail 
1576         functions to have an underscore in front. Most of them should 
1577         probably just go away, but for starters don't export them.
1578         Bug #50482
1579
1580 2001-02-19  Havoc Pennington  <hp@redhat.com>
1581
1582         * gdk/gdkcolor.h: test was backward, so deprecated functions were
1583         excluded by default
1584
1585         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
1586         clean up the old code a bit
1587
1588         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
1589         inconsistent state
1590
1591         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
1592         draw inconsistent state
1593
1594         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
1595         (create_menu): add inconsistent test
1596
1597         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
1598         new function
1599         (gtk_check_menu_item_get_inconsistent): new function
1600         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
1601         state (using etched in for now)
1602
1603         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
1604         draw inconsistent state
1605
1606         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
1607         function, used when the user has selected a range of stuff in
1608         different states
1609         (gtk_toggle_button_get_inconsistent): accessor for that
1610         (gtk_toggle_button_paint): draw inconsistent state (etched in?
1611         don't know what else to do)
1612
1613 2001-02-19  Hans Breuer <hans@breuer.org>
1614
1615         * gtk/gtk.def : updated exported symbols
1616
1617         * gtk/makefile.msc.in : updated
1618
1619         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
1620         a colormap, when invoked from testgtk::entry. I'm not sure where
1621         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
1622         avoids immediate crashing ...
1623
1624         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
1625         any objections ?
1626
1627         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
1628         0 parameter. At least msvc doesn't like macros with var args. 
1629         I simply removed the extra 0, was it a feature or a typo ?
1630
1631         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
1632         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
1633         because the value assignment to the internal struct wasn't working.
1634         I'm not absolutely sure. The problem could have been resolved by
1635         changing the "func" declartion in the struct, but was the pointer
1636         to the function pointer intended ?
1637
1638         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
1639
1640         * gdk/gdk.def : updated exported symbols
1641
1642         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
1643         only use SetDIBitsToDevice if there is a palette at the drawable
1644         and the image is GDK_VISUAL_PSEUDO_COLOR
1645
1646         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
1647
1648         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
1649
1650         * gdk/*/makefile.msc : updated
1651
1652 2001-02-19  Havoc Pennington  <hp@redhat.com>
1653
1654         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
1655         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
1656
1657         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
1658         (gdk_key_repeat_restore): nuke
1659
1660         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
1661         (gdk_init_check): no atexit func
1662
1663         * gdk/gdkrgb.h: mark some stuff deprecated
1664
1665         * gdk/gdkcolor.h: mark some stuff deprecated
1666         
1667         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
1668
1669         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
1670
1671 2001-02-16  Havoc Pennington  <hp@redhat.com>
1672
1673         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
1674         scroll steps.
1675
1676         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
1677         steps, and add Ctrl-arrow shortcuts for paging visually as with
1678         HScale, since Page Up and Page Down move logically.
1679
1680         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
1681         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
1682         
1683         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
1684         steps
1685         (gtk_range_scroll): handle the visual steps
1686
1687         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
1688         scroll steps
1689
1690         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
1691         steps, not the logical ones.
1692
1693         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
1694         (scroll_vertical): handle up/down steps
1695
1696 2001-02-19 Alexander Larsson  <alexl@redhat.com>
1697
1698         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
1699         Copy data and free data with free().
1700
1701         * gdk-pixbuf/gdk-pixbuf.c:
1702         * gdk-pixbuf/io-jpeg.c:
1703         * gdk-pixbuf/io-png.c:
1704         Use g_try_malloc/g_free instead malloc/free.
1705         
1706         * gdk-pixbuf/test-gdk-pixbuf.c:
1707         Must... initialize... gobject...
1708         
1709         * gdk-pixbuf/pixops/timescale.c:
1710         * gtk/gtkcalendar.c:
1711         Use g_malloc instead of malloc.
1712         
1713 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
1714
1715         * gtk/testgtkrc:
1716         Comment out property assignments, these don't work yet.
1717
1718 2001-02-17  Havoc Pennington  <hp@pobox.com>
1719
1720         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
1721         bit.
1722
1723 2001-02-17  Havoc Pennington  <hp@pobox.com>
1724
1725         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
1726         shadowed variables that had broken size request in some cases,
1727         leading to bogus tooltips (#50996)
1728
1729 2001-02-06  Jon K Hellan  <hellan@acm.org>
1730
1731         Implement fast browsing of tooltips, bug #50619
1732         
1733         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
1734         and last_popdown
1735         
1736         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
1737         use_sticky_delay and last_popdown.
1738         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
1739         time of popdown.
1740         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
1741         is NULL.
1742         (gtk_tooltips_recently_shown): New static function.  Return true
1743         if < sticky_delay has elapsed since last popdown.
1744         (gtk_tooltips_event_handler): Display window after sticky_delay
1745         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
1746         since last popdown.
1747         
1748 2001-02-17  Havoc Pennington  <hp@pobox.com>
1749
1750         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
1751         instead of (). #6394
1752
1753         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
1754         G_CONST_RETURN, make it return by reference, #50473
1755         
1756 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
1757
1758         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
1759         generated ENTER_NOTIFY event with 0, otherwise not explicitely
1760         setup fields contain garbage (e.g. subwindow, breaking
1761         gdk_drawable_ref() upon event copy).
1762         (gtk_menu_stop_navigating_submenu_cb): same here.
1763
1764         * gtk/gtklist.c (gtk_list_vertical_timeout): 
1765         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
1766         * gtk/gtkclist.c (vertical_timeout): 
1767         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
1768         default-zero-intialization for unions to memset(,0,), as unions are
1769         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
1770         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
1771
1772         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
1773         g_closure_sink() warning.
1774
1775         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
1776         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
1777         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
1778         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
1779         
1780 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
1781
1782         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
1783         gtk_*_store_get, and moved to GtkTreeModel.
1784
1785         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
1786
1787         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
1788
1789         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
1790
1791         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
1792         set the func.
1793
1794         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1795         freeze/thaw notify between setting all the properties for a cell.
1796
1797         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
1798
1799 2001-02-15  Havoc Pennington  <hp@redhat.com>
1800
1801         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
1802         the X coordinates so they're with respect to the line, rather than 
1803         with respect to the layout.
1804
1805         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
1806         Mallabone
1807
1808         * gtk/testgtk.c (create_range_controls): add vscale tests, 
1809         and inverted test
1810
1811         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
1812         #50806
1813
1814         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
1815
1816         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
1817         gtk_text_iter_is_end
1818
1819         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
1820         rename gtk_text_buffer_get_end_iter
1821
1822         * gtk/testgtk.c (create_labels): Add test for selectable
1823
1824         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
1825         the selection stuff. This code is kind of broken since it doesn't 
1826         use the theme engine.
1827
1828         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
1829         fix infinite loop and y offset problem
1830         (gdk_draw_layout_line_with_colors): fix foreground color handling
1831
1832         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
1833         that makes the label selectable.
1834         
1835         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
1836         layout when the style is set, since fonts etc. could have changed.      
1837
1838 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
1839
1840         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
1841
1842         * gtk/gtktreemodelsimple.[ch]: removed.
1843
1844 2001-02-16  Alexander Larsson  <alexl@redhat.com>
1845
1846         * gtk/gtktreemodelmapping.[ch]:
1847         New files. Implement GtkTreeModelMapping.
1848         
1849         * gtk/Makefile.am:
1850         Add gtktreemodelmapping.[ch].
1851         
1852         * gtk/gtk.h:
1853         Add gtktreemodelmapping.h
1854
1855         * gtk/treestoretest.c:
1856         Test the GtkTreeModelMapping
1857
1858 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
1859
1860         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
1861         have a demo, we might as well pass in real values.  Thanks to
1862         clahey for pointing this out.
1863
1864 2001-02-14  Havoc Pennington  <hp@pobox.com>
1865
1866         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
1867         "static" to a private function
1868         (gtk_image_menu_item_class_init): remove destroy handler,
1869         add "image" object property
1870
1871 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
1872
1873         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
1874         Add a shortcut if the window and the current clip_region doesn't
1875         overlap. This is needed when there are a lot of windows in a
1876         window. The layout test in testgtk is a good test.
1877
1878         * gdk/linux-fb/gdkwindow-fb.c:
1879         Whitespace fix.
1880
1881 2001-02-13  Sven Neumann  <sven@convergence.de>
1882
1883         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
1884
1885 2001-02-13  Alexander Larsson  <alexl@redhat.com>
1886
1887         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
1888         Don't reference last_cursor if it is null. Fixes crash when rotating
1889         the screen before having moved the mouse.
1890
1891         * gdk/linux-fb/gdkcc-fb.c: Zapp!
1892
1893         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
1894
1895         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
1896         when using 90 or 270 degrees rotation.
1897
1898 2001-02-12  Havoc Pennington  <hp@pobox.com>
1899
1900         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
1901         it always set the foreground, even if we were only using
1902         a stipple.
1903         (gdk_draw_layout_line_with_colors): new function, allow
1904         override colors
1905         (gdk_draw_layout_with_colors): new function, allow override
1906         colors
1907         (gdk_pango_layout_line_get_clip_region): function to get the clip
1908         region for a logical text range
1909         (gdk_pango_layout_get_clip_region): get the clip region for a
1910         logical text range
1911
1912         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
1913         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
1914         the right number of arguments.
1915
1916         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
1917         enhance the function to check that node data corresponds to a 
1918         view still belonging to the tree.
1919
1920         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
1921         GtkTreePath
1922         (gtk_tree_view_inserted): ditto
1923         (gtk_tree_view_child_toggled): ditto
1924
1925         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
1926         simplify this code.
1927
1928         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
1929         a PangoAttrList
1930
1931         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
1932
1933         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
1934
1935         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
1936         size in the size request 
1937         (gtk_menu_bar_size_allocate): consider toggle size here
1938
1939         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
1940         that displays a widget in the toggle slot
1941
1942         * gtk/testgtk.c: test GtkImageMenuItem
1943
1944         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
1945         
1946         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
1947         request and allocation
1948
1949         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
1950
1951         * gtk/gtkcheckmenuitem.c
1952         (gtk_check_menu_item_toggle_size_request): ditto
1953         
1954 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
1955
1956         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
1957         reference.
1958
1959         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
1960         and refuse to initialize GTK+ if they fail.
1961
1962 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
1963
1964         * configure.in: Add check for gtk-doc version.
1965
1966 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
1967
1968         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
1969         where the xpad/ypad was only being used on one side!
1970
1971 2001-02-11  Tor Lillqvist  <tml@iki.fi>
1972
1973         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
1974         function, copied from X11 version.
1975
1976         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
1977         DestroyCursor failures. The reason for the problem (despite the
1978         inconsistent messages from GetLastError()) was that
1979         DestroyCursor() cannot be called while a cursor is set in a
1980         window. Set the new cursor first and then destroy the old one.
1981         Thanks to jpe@archaeopteryx.com.
1982
1983         * gdk/win32/gdkcc-win32.c: Remove.
1984
1985         * gdk/win32/Makefile.am: Remove from here, too.
1986         
1987         * gdk/gdk.def
1988         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
1989
1990         * gtk/gtk.def
1991         * gtk/makefile.mingw.in: Updates.
1992
1993 2001-02-08  Havoc Pennington  <hp@redhat.com>
1994
1995         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
1996         add a widget to a bin that already has a child.
1997
1998         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
1999
2000         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
2001         
2002         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
2003
2004         * gdk/gdk.h: remove gdkcc.h
2005
2006         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
2007
2008         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
2009         GdkPixbuf, since the previous implementation was GdkColorContext
2010         dependent.
2011
2012         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
2013         
2014 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
2015
2016         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
2017         a sane value!
2018
2019 2001-02-08  Havoc Pennington  <hp@redhat.com>
2020
2021         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
2022         lighten them.
2023
2024 2001-02-08  Havoc Pennington  <hp@redhat.com>
2025
2026         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
2027         validation idle
2028
2029         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
2030         cell renderer
2031
2032         * demos/pixbuf-demo.c (timeout): remove deprecated
2033         gtk_widget_draw
2034
2035         * demos/testpixbuf-save.c (main): remove deprecated
2036         gtk_drawing_area_size
2037
2038         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
2039         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
2040         at the start of the allocation.
2041         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
2042         unsetup or NULL model.
2043
2044         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
2045         even/odd/sorted cells in the tree view.
2046
2047         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2048         bugfixes
2049
2050         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
2051         backgrounds with draw_flat_box using different detail for even/odd
2052         rows.
2053
2054         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
2055         row, so we can draw the alternating colors thing
2056
2057         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
2058         property from a synonym property, notify for the synonym.
2059         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
2060         (gtk_text_tag_get_property): Always return the font, even if
2061         all its fields aren't set
2062
2063         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
2064         store the attr list; it leaves us with no way to change attributes
2065         in _render according to the render flags, and no way to implement
2066         get_property. Instead store all the specific text attributes. 
2067         Separate whether an attribute is enabled from its value. Sync all
2068         properties with GtkTextTag, make them all consistent, etc.
2069
2070         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
2071         renderers can highlight the sort row/column     
2072
2073         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
2074         accessor functions to get values; this has the side effect of
2075         showing up which accessor functions were missing. Added those.
2076
2077         * gtk/gtktreeviewcolumn.h: Replace set_justification with
2078         set_alignment, to be consistent with GtkLabel, GtkMisc
2079
2080         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
2081         arrow.
2082
2083         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
2084
2085         * gtk/gtktreesortable.h: updates in here
2086
2087 2001-02-07  Sven Neumann  <sven@convergence.de>
2088
2089         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
2090         pango dimensions after painting the background. We used to draw
2091         gigantic flat boxes here.
2092
2093 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
2094
2095         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
2096         error introduced with earlier commit) (pointed out by
2097         Ollie Lho)
2098
2099 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
2100
2101         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
2102         which are no longer necessary.
2103
2104 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
2105
2106         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
2107
2108 2001-02-04  Tor Lillqvist  <tml@iki.fi>
2109
2110         * gdk/gdk.def
2111         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
2112         Provide dummy implementations.
2113
2114 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
2115
2116         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
2117
2118         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
2119         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
2120         deprecated this function.
2121
2122         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
2123         argument.
2124
2125 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
2126
2127         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
2128
2129 2001-02-03  Havoc Pennington  <hp@pobox.com>
2130
2131         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
2132         Mikael Hermansson with patch from Mikael (if there was a toggle
2133         start one after the first character in the range, this function
2134         was broken). Bug #50380
2135
2136 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
2137
2138         * configure.in: Remove confusing comment about X11.
2139
2140 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
2141
2142         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
2143         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
2144         
2145 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
2146
2147         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
2148         it breaks things on BSD. If you want to compile GTK+ with
2149         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
2150         when configuring, since GTK+ simply can't be "pure ANSI" 
2151         in the header files it uses. (#8170, Greg Hudson)
2152
2153 2001-02-02  Havoc Pennington  <hp@redhat.com>
2154
2155         * gtk/gtkwindow.c: docs
2156
2157         * gtk/gtkwidget.c: docs
2158         (gtk_widget_set_colormap): add a reference to the colormap
2159         (gtk_widget_get_default_colormap): add a reference to the colormap
2160
2161         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
2162
2163         * gtk/gtktextiter.c: docs
2164
2165         * gtk/gtkmain.c (gtk_propagate_event): docs
2166
2167         * gtk/gtkpaned.c (gtk_paned_get_position): docs
2168         (gtk_paned_set_position): docs
2169
2170         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
2171         sort interface, no implementation yet.
2172
2173         * demos/testpixbuf.c (new_testrgb_window): replace
2174         gtk_drawing_area_size() with gtk_widget_set_usize()
2175
2176         * demos/testpixbuf-drawable.c (main): ditto
2177         
2178         * gtk/testgtk.c: remove use of GtkStatusbarMsg
2179
2180         * gtk/gtktextbuffer.c: docs
2181
2182         * gtk/gtkstock.c: docs
2183
2184         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
2185
2186         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
2187
2188         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
2189         
2190         * gtk/gtkimage.c: add some docs in here
2191         (gtk_image_size_request): change name of
2192         gtk_widget_render_stock_icon
2193         (gtk_image_get_icon_set): don't dup returned string
2194         (gtk_image_get_icon_set): don't dup returned string
2195
2196         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
2197         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
2198         and gtkiconfactory.h functions
2199
2200         * gtk/gtkiconfactory.c: add some docs in here
2201
2202         * gtk/gtkmain.c (gtk_get_default_language): document
2203         (gtk_get_current_event): document
2204         (gtk_get_current_event_state): document
2205         (gtk_get_event_widget): document
2206
2207         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
2208
2209         * gtk/gtkcontainer.c: Add some documentation
2210         (gtk_container_add): give a more explanatory warning on adding an
2211         already-parented widget, this is kind of a FAQ and also a common
2212         typo that's easier to debug with a nice warning 
2213
2214         * gtk/gtkcellrenderertoggle.c
2215         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
2216         adding this, it's useless
2217         (gtk_cell_renderer_toggle_set_active): remove
2218         (gtk_cell_renderer_toggle_get_radio): add
2219
2220         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
2221         the NULL cell renderer, that doesn't make any sense to me. 
2222
2223         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
2224         demo code should never use deprecated features.
2225
2226         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
2227         code should never use deprecated features.
2228
2229         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
2230         gtk_widget_queue_clear_area deprecated
2231
2232         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
2233         deprecated
2234
2235         * gtk/gtklabel.h: mark gtk_label_get() deprecated
2236
2237         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
2238         a GdkImage deprecated, replaced by new consistently-named
2239         functions       
2240
2241         * gtk/gtkmain.h: Mark gtk_exit() deprecated
2242
2243         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
2244
2245         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
2246         deprecated
2247
2248         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
2249         so it won't appear in docs and confuse people.
2250
2251         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
2252
2253         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
2254         macros deprecated. (can't mark the type itself deprecated, since
2255         GtkProgressBar is not deprecated and we need the type decl to use
2256         GtkProgressBar)
2257
2258         * gtk/gtkpixmap.h: Mark deprecated
2259
2260         * gtk/gtkoldeditable.h: Mark deprecated
2261
2262         * gtk/gtklist.h: Mark deprecated
2263
2264         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
2265         for anything anymore.
2266
2267         * gtk/gtkctree.h: Mark deprecated
2268
2269         * gtk/gtkclist.h: Mark deprecated
2270
2271         * gtk/gtkpreview.h: Mark deprecated
2272
2273         * gtk/gtkpacker.h: Mark deprecated
2274
2275         * gtk/gtktipsquery.h: Mark deprecated
2276
2277         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
2278
2279         * gtk/gtkvruler.h: Add comment that it will move out of GTK
2280
2281         * gtk/gtkhruler.h: Add comment that it will move out of GTK
2282
2283         * gtk/gtkruler.h: Add comment that it will move out of GTK
2284
2285         * gtk/gtkgamma.h: Add comment that it will move out of GTK
2286
2287         * gtk/gtkcurve.h: Add comment that it will move out of GTK
2288
2289 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
2290
2291         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
2292         gdk_colormap_sync private since it was never exported
2293         in a header file.
2294
2295         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
2296         colormap->colors[] for StaticGray, StaticColor colormaps.
2297
2298         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
2299         was being used as if it was image->bits_per_pixel.
2300
2301         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
2302         for the image in the GdkImage structure since it isn't
2303         reconstructable, and we need it to handle packed types
2304
2305         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
2306         the assumption that on Win32 image->bits_per_pixel == image->depth,
2307         always.
2308
2309         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
2310
2311         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
2312         warning message if no converter can be found. 
2313
2314 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
2315
2316         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
2317         chars to isupper() / tolower(). (#567)
2318
2319         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
2320         to clear up 64-bit warnings. (#567)
2321
2322 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
2323
2324         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
2325         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
2326
2327         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
2328         since some people set $(libdir) separately. (#1290, David Kaelbling)
2329
2330 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
2331
2332         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
2333         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
2334         MAXPATHLEN, but the code here depends on a fixed value.)
2335         (#4524)
2336
2337 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
2338
2339         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
2340         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
2341
2342 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
2343
2344         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
2345         viewable there is no way that moving the node will cause the 
2346         focus row to become not viewable, so omit check on the visibility
2347         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
2348
2349 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
2350
2351         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
2352         selection before inserting new text.
2353
2354 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
2355
2356         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
2357         Make the sensitivity of the reparented child track that of
2358         the original parent menu item. (#34218, David Hodson)
2359
2360         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
2361         the case where the current item is destroyed properly.
2362
2363         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
2364         some edge cases with child-less menuitems.
2365         
2366 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
2367
2368         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
2369         key pop down window. (#12074, Jon K Hellan)
2370
2371 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
2372
2373         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
2374         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
2375         The solution here isn't perfect - you get an extraneous
2376         emission of "toggle", which could conceivably confuse an app,
2377         but better than the current situation. LXR search seems to
2378         indicate that no apps in GNOME CVS connect to "toggle".
2379
2380 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
2381
2382         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
2383         gtk_public_h_sources to directly here to avoid warning when
2384         building srcdir != builddir. (#9656)
2385
2386 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
2387
2388         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
2389         handlers in gtkrange.c return the proper values (TRUE == handled)
2390         (#10316).
2391
2392         This is just the tip of the iceberg, but gtkrange.c is the
2393         most common place where the propagation is problematical,
2394         and also a place where it is almost certainly safe to change
2395         this in the stable branch.
2396
2397         (You don't want right click popups on a range control or anything...)
2398
2399 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
2400
2401         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
2402         area on focus out, even if a background pixmap isn't set.
2403         (#13941)
2404         
2405 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
2406
2407         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
2408         to deal with setting the shape properly when scrolling arrows are
2409         turned on, but not visible because there is sufficient space.
2410         (#13432)
2411
2412 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
2413
2414         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
2415         items with submenus, destroy the item along with the submenu.
2416         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
2417         properly.
2418
2419         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
2420         later.
2421
2422 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
2423
2424         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
2425         the focus widget sometimes wasn't drawn with the default if there
2426         was no default widget.
2427
2428         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
2429         unreference pixmaps. 
2430
2431         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
2432         for some extra safety.
2433
2434 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
2435
2436         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
2437         the text of a cell to the old pointer value better, by
2438         copying the new text before freeing the old text. Some code
2439         cleanup. (#8079, Karl Nelson)
2440
2441 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
2442
2443         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
2444         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
2445
2446 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
2447
2448         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
2449         item from a menu, check to see if it matches 
2450         menu->old_active_menu_item, and if so, unref and clear
2451         old_active_menu_item (Patch from Pavel Cisler)
2452
2453         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
2454         menu_shell->active_menu_item, if it is the child being
2455         removed. (Patch based on that of Gene Ragan, #50337)
2456
2457 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
2458
2459         * gdk/linux-fb/gdkselection-fb.c: 
2460         * gdk/linux-fb/gdkcolor-fb.c: 
2461         * gdk/linux-fb/gdkdrawable-fb2.c: 
2462         * gdk/linux-fb/gdkfont-fb.c: 
2463         * gdk/linux-fb/gdkim-fb.c: 
2464         * gdk/linux-fb/gdkinput.c: 
2465         * gdk/linux-fb/gdkkeyboard-fb.c: 
2466         * gdk/linux-fb/gdkmain-fb.c: 
2467         * gdk/linux-fb/gdkrender-fb.c: 
2468         A bunch of whitespace cleanup.
2469         
2470 2001-01-30  Havoc Pennington  <hp@pobox.com>
2471
2472         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
2473         #ifdef GTK_ENABLE_BROKEN.
2474
2475         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
2476         GTK_ENABLE_BROKEN just before including the broken headers.
2477         
2478         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
2479         deprecated types registered.
2480
2481         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
2482         we have to test the broken stuff.
2483
2484         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
2485         
2486 2001-01-30  Havoc Pennington  <hp@redhat.com>
2487
2488         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
2489         here where prev pointer was set to the wrong thing
2490
2491         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
2492         (gtk_tree_path_is_descendant): new function
2493
2494         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
2495         cached length
2496         (gtk_list_store_get_iter): don't modify iter if we can't get the
2497         path.
2498
2499         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
2500         
2501         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
2502         GtkTreeDragDest
2503
2504         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
2505         was causing segfault
2506
2507         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
2508         pointer to NULL
2509
2510         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
2511
2512         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
2513         on returning FALSE
2514         (gtk_list_store_iter_children): ditto
2515         (gtk_list_store_iter_nth_child): ditto
2516         (gtk_list_store_iter_nth_child): ditto
2517         (gtk_list_store_iter_parent): ditto
2518
2519         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
2520         on iter->user_data != NULL instead of silently accepting it.
2521         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
2522         we are returning TRUE.
2523         (gtk_tree_store_iter_children): ditto
2524         (gtk_tree_store_iter_nth_child): ditto
2525         (gtk_tree_store_iter_parent): ditto
2526         (gtk_tree_store_insert): remove handling of parent->user_data ==
2527         NULL, replace with parent == NULL       
2528
2529         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
2530         and a comment explaining things
2531
2532         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
2533         interface support to GtkTreeStore.
2534
2535         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
2536         FALSE if no prev, fix
2537
2538         * gtk/gtktreeview.c (set_source_row): use a row reference
2539         (set_dest_row): use a row reference
2540
2541 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
2542
2543         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
2544         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
2545         (gtk_tree_selection_select_iter): The same as above.
2546
2547 2001-01-26  Havoc Pennington  <hp@redhat.com>
2548
2549         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
2550         which holds a handle to a specific row (particular set of values
2551         in the model, i.e. pointer-identity row).
2552
2553         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
2554         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
2555         Still need to use it for the src/dest row saved on the drag context.
2556
2557 2001-01-26  Havoc Pennington  <hp@redhat.com>
2558
2559         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
2560
2561         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
2562         not offset by TREE_VIEW_HEADER_HEIGHT
2563         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
2564         TREE_VIEW_HEADER_HEIGHT
2565
2566         * configure.in (included_loaders): for me, --with-included-loaders
2567         generates the error "the specified loader yes does not exist",
2568         i.e. the arg defaults to "yes", so change test for value ""
2569         to test for value "yes", and include all loaders in that case.
2570
2571         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
2572
2573         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
2574         handle TREE_VIEW_VERTICAL_SEPARATOR
2575         (gtk_tree_view_bin_expose): fix to consider the row offset as
2576         pointing halfway into vertical separator.       
2577         (gtk_tree_view_draw_node_focus_rect): ditto
2578
2579         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
2580         --gtk-debug=updates, which causes gdk_window_set_debug_updates
2581         (TRUE) to be called.
2582
2583         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
2584         debug mode where the invalid region is colored in on invalidate,
2585         so you can see the flicker and know whether your redraw code is 
2586         doing a good job.
2587
2588         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
2589         tree window coordinates (clip rect is in tree window coords)
2590
2591         * gtk/Makefile.am: add gtktreednd.[hc]
2592
2593         * gtk/gtkliststore.c: implement gtktreednd interfaces.
2594
2595         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
2596         drag-and-drop data operations on a model (so we can set up tree
2597         drag-and-drop automatically)
2598
2599         * gtk/testgtk.c: Add a window to change sensitivity in the
2600         GtkLabel test; add a way to change the entry frame in GtkEntry
2601         test
2602
2603         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
2604         (gtk_entry_get_has_frame): new functions to remove the frame
2605         around an entry
2606         (gtk_entry_size_request): shrink requisition if no frame
2607         (gtk_entry_draw_focus): don't draw frame if no frame
2608
2609         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
2610         checks inside a cell renderer
2611         (gtk_default_draw_option): ditto for options
2612
2613         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
2614         children from the alignment, not the button
2615         (gtk_tree_view_column_init): ref/sink the column, to emulate
2616         GObject refcounting.
2617
2618         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
2619         
2620         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2621         Use theme functions to draw the toggles 
2622
2623         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
2624
2625         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
2626         GdkPangoAttrEmbossed to use in rendering insensitive text
2627
2628         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
2629
2630         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
2631         using new GDK features
2632         
2633 2001-01-24  Alexander Larsson  <alexl@redhat.com>
2634
2635         * gtk/gtkimage.c:
2636         Splitted gtk_image_clear into gtk_image_clear() and
2637         gtk_image_reset(). Call gtk_image_clear() in ::destroy
2638         to avoid leaks.
2639
2640         * gtk/gtklabel.c (set_markup):
2641         Don't leak text.
2642
2643         * gtk/gtktextlayout.c:
2644         Always free display->shaped_objects.
2645
2646         * gtk/testgtk.c (create_clist):
2647         Don't leak custom style.
2648
2649 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2650
2651         * gtk/gtkcolorsel.c (grab_color_at_mouse):
2652         Don't leak image. Simplify using gdk_colormap_query_color().
2653         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
2654
2655         * linux-fb/gdkcolor-fb.c:
2656         Implemented gdk_colormap_query_color.
2657
2658 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2659
2660         * linux-fb/gdkcursor-fb.c:
2661         Don't leak built-in cursors.
2662
2663         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
2664         Don't leak tmp_points.
2665
2666         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
2667         Don't modify desc. Don't leak font if the PangoFont
2668         isn't found.
2669         
2670         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
2671         Free dash_list.
2672
2673         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
2674         Don't leak string.
2675         
2676 2001-01-20  Havoc Pennington  <hp@pobox.com>
2677
2678         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
2679         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
2680         me, matches Pango
2681
2682 2001-01-22  Havoc Pennington  <hp@redhat.com>
2683
2684         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
2685
2686         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
2687
2688         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
2689         Remove, move back to gdk-pixbuf
2690
2691         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
2692         to all the word functions
2693
2694         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
2695         before doing anything on NULL layout or if we don't have the focus
2696
2697         * gtk/testtext.c (fill_example_buffer): "justification"
2698
2699         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
2700         to be called "justification" not "justify"
2701
2702         * demos/gtk-demo/textview.c (create_tags): "justification"
2703         
2704         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
2705
2706 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2707
2708         * gdk/gdkwindow.c (gdk_window_invalidate_region):
2709         Don't leak visible_region. Use visible_region instead of region.
2710         
2711         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2712         Don't do extra gdk_drawable_ref(). This is not X.
2713         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
2714         gdk_fb_focused_window is ref:ed.
2715         (gdk_fb_window_send_crossing_events): Watch out for destroyed
2716         windows.
2717
2718 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2719
2720         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
2721         Don't leak the PangoFontDescriptor.
2722
2723 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
2724
2725         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
2726         when not realized.
2727         (gtk_tree_view_scroll_to_cell): Make work when not realized.
2728         (gtk_tree_view_realize): add scroll_to support
2729         (gtk_tree_view_finalize): add a finalize method.  Populate.
2730         (gtk_tree_view_insert_column): ref and sink the column.
2731         (gtk_tree_view_append_column): ref and sink the column.
2732         (gtk_tree_view_queue_draw_node): New function to handle redrawing
2733         individual nodes.  Should make the code much more efficient, if
2734         actually used.
2735
2736 2001-01-19  Havoc Pennington  <hp@redhat.com>
2737
2738         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
2739         byte_offset variable was being used to mean both "offset into
2740         layout" and "offset into buffer line" which was no longer true
2741         with addition of preedit string; fix
2742
2743 2001-01-19  Havoc Pennington  <hp@redhat.com>
2744
2745         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
2746
2747         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
2748         function
2749
2750         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
2751         implement
2752
2753         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
2754         scroll_to_cell, matches TextView scroll functions better
2755         (gtk_tree_view_tree_to_widget_coords): new function
2756         (gtk_tree_view_widget_to_tree_coords): new function
2757         (gtk_tree_view_get_visible_rect): new function
2758         (gtk_tree_view_get_path_at_pos): accept negative coordinates
2759         (gtk_tree_view_draw_node_focus_rect): new function moved from
2760         draw_focus, also, use width of bin_window as width of the focus
2761         rect
2762         (gtk_tree_view_expand_row): fix bug where it didn't recognize
2763         already-expanded rows
2764         (gtk_tree_view_get_cell_rect): new function
2765         (gtk_tree_view_get_path_at_pos): return the click position
2766         relative to the passed-in cell
2767         (gtk_tree_view_set_expander_column): new function
2768
2769         * configure.in: remove gtk-config-2.0 chmod
2770
2771         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
2772         and properly handle drags with targets we don't understand
2773         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
2774         scrolling anyway
2775         (gtk_text_view_drag_drop): stop scrolling here though, and set the
2776         mark invisible
2777
2778         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
2779         function
2780         (gtk_drag_dest_get_target_list): new function
2781         (gtk_drag_dest_set_target_list): new function
2782         
2783         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
2784
2785         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
2786         related to drag-and-drop
2787
2788 2001-01-19  Alexander Larsson  <alexl@redhat.com>
2789
2790         * gdk/linux-fb/gdkprivate-fb.h:
2791         Define EMULATE_GDKFONT.
2792         Add extra pango_font stuff to GfkFontPrivate.
2793         
2794         * gdk/linux-fb/gdkdrawable-fb2.c:
2795         * gdk/linux-fb/gdkfont-fb.c:
2796         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
2797         emulation using PangoFont.
2798
2799 2001-01-17  Havoc Pennington  <hp@pobox.com>
2800
2801         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
2802         all the non-deprecated set_foo functions. Added missing object
2803         properties, and added g_object_notify() to setters. 
2804         Wrote docs.
2805         
2806 2001-01-18  Tor Lillqvist  <tml@iki.fi>
2807
2808         * gtk/gtkmain.c
2809         * gtk/gtkrc.c: (Win32) Use the new
2810         g_win32_get_package_installation_(sub)directory() functions.
2811
2812         * config.h.win32.in: New file.
2813         
2814         * config.h.win32: Removed.
2815
2816         * configure.in: Output config.h.win32.
2817
2818         * Makefile.am: Add it to EXTRA_DIST.
2819
2820         * gtk/gtk.def: Update.
2821
2822 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
2823
2824         * gtk/gtklabel.c (gtk_label_size_request): Set the
2825         attributes onto the PangoLayout even if they are newly
2826         created from label->pattern.
2827
2828 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
2829
2830         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
2831
2832         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
2833         structures in functions. Fixes bug where gtk_dataset_*
2834         was accidentally still being used in one place, causing
2835         every dest side event to be treated independently.
2836
2837         * gtk/gtkdnd.c: Remove last vestages of handling
2838         ::draw (fixes warning)
2839         
2840         * gtk/gtkentry.[ch]: Add drag and drop support.
2841
2842         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
2843         new function gtk_check_drag_threshhold() for checking
2844         to check if (dx,dy) has exceeded the threshhold for starting
2845         a drag and use it everywhere.
2846
2847 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
2848
2849         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
2850         add -I{includedir}/gtk-2.0.
2851
2852         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
2853         gdk/gdk-pixbuf.h: Doc fixups.
2854         
2855         * gtk/gtkobject.h: Remove trailing , from enum
2856
2857 2001-01-17 Alexander Larsson <alexl@redhat.com> 
2858
2859         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
2860         Doh! Mixed up x and y.
2861
2862         * gdk/linux-fb/gdkglobals-fb.c:
2863         Removed gdk_fb_pointer_grab_window_events,
2864         added _gdk_fb_pointer_grab_owner_events and
2865         _gdk_fb_keyboard_grab_owner_events.
2866
2867         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
2868         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
2869         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
2870         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
2871         Send crossing events after ungrab finished.
2872         (gdk_keyboard_grab): Set ..._owner_events
2873         (type_masks): Move out of function.
2874         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
2875         gdk_fb_keyboard_event_window): New functions, return the
2876         window an event should be targeted at. Handles grabs and
2877         event propagation. Can return NULL.
2878         (gdk_event_make): Remove event_mask checking. Now always
2879         returns an event.
2880                 
2881         * gdk/linux-fb/gdkkeyboard-fb.c:
2882         * gdk/linux-fb/gdkproperty-fb.c:
2883         * gdk/linux-fb/gdkselection-fb.c:
2884         Use new event_window/gdk_event_make() behaviour.
2885         
2886         * gdk/linux-fb/gdkmouse-fb.c:
2887         Use new event_window/gdk_event_make() behaviour.
2888         Only send motion events if in the same window.
2889         If grabbed, use cursor from window if sibling of grabbed
2890         window, and cursor from grabbed window otherwise.
2891
2892         * gdk/linux-fb/gdkprivate-fb.h:
2893         Update gdk_fb_window_send_crossing_events, gdk_event_make
2894         and grab varaible declarations. Add gdk_fb_*_event_window().
2895
2896         * gdk/linux-fb/gdkwindow-fb.c:
2897         Use new event_window/gdk_event_make() behaviour.
2898         Keep correct track of focus window.
2899         (gdk_window_set_events): Set all specific button motion masks
2900         if GDK_BUTTON_MOTION_MASK set.
2901
2902         * gtk/gtkdnd.c (gtk_drag_update):
2903         Free info->last_event if gdk_drag_motion returned FALSE.
2904
2905 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2906
2907         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
2908         Eliminate redraws when input-only windows are shown or
2909         hidden. Thanks to jpe@archaeopteryx.com.
2910
2911 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
2912
2913         * docs/faq/gtk-faq.sgml: FAQ update:
2914           - Update to bugzilla
2915           - Add GTK+ and security/SUID/SGID
2916           - Add DnD question
2917
2918 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
2919
2920         * gdk/linux-fb/gdkdnd-fb.c:
2921         Some cleanups.
2922         
2923 2001-01-15  Havoc Pennington  <hp@pobox.com>
2924
2925         * tests/testtreeview.c: add test stuff for CellRendererToggle
2926
2927         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
2928         accessor
2929
2930         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
2931         only toggle on button press (would do release like GtkButton, but
2932         we'd need implicit grab code for treeview cells)
2933
2934 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2935
2936         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
2937
2938         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
2939         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
2940
2941         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
2942         to g_{locale,filename}_{to,from}_utf8 to match current API.
2943
2944         * gtk/makefile.msc.in (gtk_OBJECTS)
2945         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
2946
2947         * gtk/gtk.def: Update.
2948
2949 2001-01-15  Tor Lillqvist  <tml@iki.fi>
2950
2951         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
2952         implementaion that more closely mimics the events that an X server
2953         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
2954         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
2955         with nested preview widgets, for instance, more responsive when
2956         you move the mouse quickly into them.
2957         (find_window_for_pointer_event): Make it actually compile.
2958         (gdk_event_translate): Set send_event to the value of
2959         InSendMessage (). This doesn't really mean the same as X11's
2960         send_event flag, but is close enough, says jpe@archaeopteryx.com
2961
2962 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2963
2964         * gdk/linux-fb/gdkdnd-fb.c:
2965         Implemented drag and drop.
2966         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
2967         when it tries to free and then copy the same event (info->last_event).
2968         I am not sure about why this happens, but will continue looking.
2969
2970 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2971
2972         * gdk/linux-fb/gdkwindow-fb.c:
2973         Use gdk_window_invalidate_rect instead of
2974         gdk_window_invalidate_rect_clear to minimise flashing.
2975         When hiding windows you need to clear the root window though.
2976
2977 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2978
2979         * gdk/linux-fb/gdkdrawable-fb2.c:
2980         For optization, add an full_shapes argument to gdk_fb_clip_region.
2981         If this is false, only the cliprects of the shapes are used.
2982
2983         * gdk/linux-fb/gdkprivate-fb.h:
2984         Export gdk_fb_window_peek_shape.
2985         Add full_shapes to gdk_fb_clip_region.
2986
2987         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2988         When moving a window, don't clear everything under the it, just the
2989         root window. Makes stuff faster and flash less.
2990         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
2991         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
2992         offset of the shape.
2993         
2994
2995 2001-01-12  Havoc Pennington  <hp@redhat.com>
2996
2997         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
2998         current invalid region, fixes redraw bug while scrolling the 
2999         text widget
3000
3001         * gtk/gtktextview.c, gtk/gtktextview.h:
3002         Rearrange the scrolling/validation/etc. code in a major way, 
3003         so it seems to make sense to me. Probably isn't genuinely that
3004         much better, but...
3005
3006         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
3007         notifies
3008
3009         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
3010
3011 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
3012
3013         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
3014         Hide mouse pointer while rotation. Show it afterwards.
3015
3016 2001-01-12  Alexander Larsson  <alexl@redhat.com>
3017
3018         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
3019         windows in consideration when generating clip region.
3020
3021         * gdk/linux-fb/gdkfb.h:
3022         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
3023
3024         * gdk/linux-fb/gdkprivate-fb.h:
3025         Add shape to GdkWindowFBDatat.
3026         exported gdk_fb_window_get_abs_shape().
3027         removed gdk_fb_draw_lines declaration.
3028
3029         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
3030         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
3031         send focus changes when there is a grabbed window.
3032         (gdk_window_get_pointer): Handle shaped windows.
3033         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
3034         (gdk_fb_window_peek_shape): Returns the shape for a window,
3035         handles GDK_FB_USE_CHILD_SHAPE.
3036         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
3037         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
3038         (gdk_window_shape_combine_mask): Implement.
3039
3040         * gtk/gtkwindow-decorate.c:
3041         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
3042         setting the shape of a window makes the window transparent.
3043
3044 2001-01-11  Havoc Pennington  <hp@redhat.com>
3045
3046         * gtk/gtktreemodelsimple.h: Oops, broke some macros
3047
3048 2001-01-10  Havoc Pennington  <hp@redhat.com>
3049
3050         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
3051         add this function, bug 40251
3052
3053         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
3054         of type macro   
3055
3056 2001-01-11  Alexander Larsson  <alexl@redhat.com>
3057
3058         * acconfig.h:
3059         Added ENABLE_SHADOW_FB
3060
3061         * configure.in:
3062         Added --disable-shadowfb
3063
3064         * gdk/linux-fb/gdkcursor-fb.c:
3065         Update shadowfb when updating cursor
3066
3067         * gdk/linux-fb/gdkdrawable-fb2.c:
3068         Added wrappers for shadowfb that calls  the normal drawable
3069         methods, but calls gdk_shadow_fb_update(bounding box) when
3070         GdkWindows are drawed to.
3071         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
3072         which also returns the bounding box.
3073
3074         * gdk/linux-fb/gdkfb.h:
3075         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
3076
3077         * gdk/linux-fb/gdkgeometry-fb.c:
3078         Update shadowfb when scrolling window.
3079
3080         * gdk/linux-fb/gdkglobals-fb.c:
3081         Add _gdk_fb_screen_angle.
3082         
3083         * gdk/linux-fb/gdkkeyboard-fb.c:
3084         Test code for screen rotation. Shift-F2 in the xlate driver
3085         rotates the screen.
3086
3087         * gdk/linux-fb/gdkmain-fb.c:
3088         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
3089
3090         * gdk/linux-fb/gdkmouse-fb.c:
3091         Use fb_width/height instead of modeinfo.xres/yres.
3092
3093         * gdk/linux-fb/gdkprivate-fb.h:
3094         Added fb_men, fb_width, fb_height & fb_stride. When using
3095         shadow fb these can differ from the framebuffer stuff.
3096         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
3097         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
3098         _gdk_fb_screen_angle. Removed CM, RP.
3099
3100         * gdk/linux-fb/gdkrender-fb.c:
3101         Added code for shadowfb handling and screen rotation using
3102         shadowfb.
3103
3104         * gdk/linux-fb/gdkwindow-fb.c:
3105         Use fb_mem, fb_stride, fb_width, fb_height.
3106         Added recompute_rowstride to reset the rowstride of all windows.
3107         Added gdk_fb_recompute_all() which recomputes rootwindow size,
3108         window abs positions and window rowstrides. Usefull when the
3109         rotation has changed.
3110
3111 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
3112
3113         * docs/faq/gtk-faq.sgml: update to make web site updating easier
3114
3115 2001-01-10  Havoc Pennington  <hp@redhat.com>
3116
3117         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
3118         where sibling == iter
3119         (gtk_tree_store_insert_after): handle sibling == iter
3120         (gtk_tree_store_prepend): remove stamp checks
3121         (gtk_tree_store_insert_before): ditto
3122         (gtk_tree_store_append): ditto
3123         (gtk_tree_store_get_path): ditto
3124         (gtk_tree_store_get_value): ditto
3125         (gtk_tree_store_iter_has_child): ditto
3126         (gtk_tree_store_iter_n_children): ditto
3127         (gtk_tree_store_iter_nth_child): ditto
3128         (gtk_tree_store_insert_after): ditto
3129         (gtk_tree_store_is_ancestor): ditto
3130         (gtk_tree_store_iter_depth): ditto
3131         (gtk_tree_store_insert_before): assert that sibling's parent is
3132         the same as the passed-in parent
3133         (gtk_tree_store_insert_after): assert that sibling's parent is
3134         the same as the passed-in parent
3135
3136         
3137         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
3138         function to get the first iterator in a model
3139         
3140         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
3141         conventionally the "root" in this sense is just NULL afaict.
3142
3143         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
3144         where sibling == iter
3145         (gtk_list_store_insert_after): handle case where sibling == iter
3146
3147         * tests/testtreeview.c (run_automated_tests): fairly lame basic
3148         automated tests for ListStore, TreeStore
3149
3150         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
3151         (gtk_list_store_insert): update tail pointer, and fix it to work
3152         (gtk_list_store_insert_before): update tail pointer, and fix it to work
3153         (gtk_list_store_append): use tail to be faster
3154         (gtk_list_store_prepend): fix it, update tail pointer
3155         (gtk_list_store_insert_after): fix it, update tail pointer
3156
3157         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
3158         the list
3159
3160 2001-01-09  Havoc Pennington  <hp@redhat.com>
3161
3162         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
3163         is NULL due to a pending resize
3164
3165         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
3166         column width to values less than 1
3167
3168         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
3169         width to be between min/max width, and still set the width 
3170         even if autosize is turned on, so the tree view can use this 
3171         function in order to autosize.
3172         (gtk_tree_view_column_init): set initial width to 1 not 0
3173
3174         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
3175         setter function to modify column width, so we get notification
3176         (gtk_tree_view_insert_iter_height): ditto
3177         (gtk_tree_view_calc_size): ditto
3178         (gtk_tree_view_check_dirty): ditto
3179
3180         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
3181         properties to change all the interesting attributes of the tree
3182         view column.
3183         (gtk_tree_view_column_set_header_clickable): rename set_clickable
3184         (gtk_tree_view_column_get_clickable): add
3185         (gtk_tree_view_column_set_cell_renderer): don't unset the current
3186         attributes; assume a cell renderer with equivalent object
3187         properties has been swapped in. Do g_object_notify().
3188         (gtk_tree_view_column_set_visible): g_object_notify
3189         (gtk_tree_view_column_get_sizing): rename from get_col_type
3190         (gtk_tree_view_column_set_sizing): g_object_notify
3191         (gtk_tree_view_column_set_width): add g_object_notify
3192         (gtk_tree_view_column_set_min_width): ditto
3193         (gtk_tree_view_column_set_max_width): ditto
3194         (gtk_tree_view_column_set_title): ditto
3195         (gtk_tree_view_column_set_clickable): ditto
3196         (gtk_tree_view_column_set_widget): ditto
3197         (gtk_tree_view_column_set_justification): ditto
3198
3199 2001-01-09  Havoc Pennington  <hp@redhat.com>
3200
3201         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
3202         there are no rows in the model
3203
3204         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
3205         NULL, then return the start of the list
3206
3207         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
3208         if we can't get any rows from an empty model 
3209
3210         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
3211         extraneous * after function pointer typedef usage
3212
3213         * Makefile.am: don't specify full path to cp and rm
3214
3215         * gtk/gtkcellrenderertextpixbuf.c
3216         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
3217         NULL before dereferencing, fixes a segfault that happened from
3218         time to time
3219
3220         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
3221         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
3222         and reindent the function
3223         (gtk_cell_renderer_pixbuf_get_size): indentation
3224
3225         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
3226         we quit it
3227         (gtk_dialog_add_buttons_valist): add g_return_if_fail
3228         (gtk_dialog_set_default_response): New function, to set default
3229         button
3230         (gtk_dialog_set_response_sensitive): New function, to set 
3231         sensitivity of buttons
3232
3233         * gtk/gtkcellrendererpixbuf.c
3234         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
3235         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
3236
3237         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
3238         handle any G_TYPE_OBJECT subclass, not just the base class, and 
3239         also boxed types.
3240         (_gtk_tree_data_list_value_to_node): ditto
3241
3242         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
3243         --gtk-debug=tree
3244
3245         * gtk/gtkmain.c: add GTK_DEBUG_TREE
3246
3247         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
3248
3249 2001-01-09  Tor Lillqvist  <tml@iki.fi>
3250
3251         * gdk/win32/gdkevents-win32.c: Implement better mouse
3252         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
3253         (find_window_for_pointer_event): New function.
3254         (gdk_event_translate): Use it when handling mouse events.
3255
3256 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
3257
3258         * configure.in:
3259         Added --with-included-loaders option
3260
3261         * gdk-pixbuf/Makefile.am:
3262         * gdk-pixbuf/gdk-pixbuf-io.c:
3263         Add support for including selected gdk-pixbuf loaders only.
3264
3265         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
3266         gtk_window_set_has_frame):
3267         Added inline documentation.
3268
3269         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
3270         * docs/reference/gdk/tmpl/windows.sgml:
3271         Added inline documentation.
3272
3273 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
3274
3275         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
3276         realizing buttons that have already been realized.
3277
3278 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
3279
3280         * tests/testtreeview.c (main): Show menu items before adding to
3281         option menu.
3282
3283         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
3284         around if we kill them.
3285
3286         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
3287         Return if we pass in a NULL model.
3288
3289 2001-01-08  Havoc Pennington  <hp@redhat.com>
3290
3291         * tests/testtreeview.c: hack on this some
3292
3293         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
3294         gtk_tree_store_set_valist, v is for arrays, valist for varargs
3295         list
3296         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
3297
3298         * gtk/gtkliststore.h: Add varargs set() and get() convenience
3299         functions
3300
3301 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3302
3303         * gtk/gtkwindow-decorate.[hc]:
3304         * gtk/Makefile.am:
3305         New files. Contains an implementation of a minimal WM for
3306         linux-fb.
3307
3308         * gtk/gtkwindow.h:
3309         Add the possibility for GtkWindows to specify a frame. This
3310         is used for the window decoration code, but could concievably
3311         be used for X programs too (xmms style windows).
3312         GtkWindow->frame is the toplevel window if the window is framed.
3313         The signal frame_event gets all events that are targeted to
3314         GtkWindow->frame.
3315         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
3316         
3317         * gtk/gtkwindow.c:
3318         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
3319         Call out to gtkwindow-decorate.c for WM support in linx-fb.
3320
3321 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3322
3323         * docs/README.linux-fb:
3324         Correct filename ~/.pangoft2_aliases
3325
3326         * gdk/gdkwindow.h:
3327         Added new function gdk_window_get_decorations.
3328
3329         * gdk/linux-fb/gdkfb.h:
3330         Removed _gdk_window_get_decorations declaration.
3331         Renamed _gdk_window_set_child_handler to
3332         gdk_fb_window_set_child_handler.
3333
3334         * gdk/linux-fb/gdkwindow-fb.c:
3335         Renamed _gdk_window_set_child_handler to
3336         gdk_fb_window_set_child_handler.
3337
3338         * gdk/x11/gdkwindow-x11.c:
3339         New function gdk_window_get_mwm_hints().
3340         Implemented gdk_window_get_decorations.
3341
3342         * docs/reference/gdk/tmpl/windows.sgml:
3343         * docs/reference/gdk/gdk-sections.txt:
3344         Added gdk_window_get_decorations docs.
3345         
3346 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
3347
3348         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
3349         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
3350         gdk_fb_window_send_crossing_events):
3351         Possibly send focus events when the mouse moves from one
3352         window to another.
3353
3354 2001-01-07  Tor Lillqvist  <tml@iki.fi>
3355
3356         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
3357         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
3358         to match current API.
3359
3360         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
3361         environment variable is set, don't call g_error when on a
3362         palettized (PseudoColor) display. Some people want to use GTK+ 
3363         in 256-colour mode even though works only partially.
3364
3365         * gdk/gdk.def
3366         * gtk/gtk.def
3367         * gtk/makefile.mingw.in: Update.
3368
3369 2001-01-05  Havoc Pennington  <hp@redhat.com>
3370
3371         * tests/testtreeview.c: hack on this a bit
3372
3373         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
3374         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
3375
3376         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
3377         was spelled incorrectly
3378         (GTK_IS_TREE_MODEL_SIMPLE): ditto
3379
3380         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
3381         from gtk_tree_view_set_headers_active   
3382
3383         * gtk/gtktexttag.c:
3384         (gtk_text_tag_get_property): handle PROP_DIRECTION
3385         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
3386         properties, bug 40235
3387
3388         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
3389         forward_to_line_end
3390
3391 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
3392
3393         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
3394         modules/input/gtkimcontextxim.c: Adapt to new prototypes
3395         for unicode,locale,filename conversion functions.
3396
3397 2001-01-05  Havoc Pennington  <hp@redhat.com>
3398
3399         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
3400         broken if called on the first position in the buffer.
3401
3402         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
3403         forward_to_delimiters to be called only if we aren't already at
3404         the delimiters.
3405
3406 2001-01-05  Havoc Pennington  <hp@redhat.com>
3407
3408         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
3409
3410 2001-01-05  Alexander Larsson  <alexl@redhat.com>
3411
3412         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
3413         colormap in here. Sync from X port.
3414         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
3415         Sync from X port.
3416         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
3417         This happens now and then, and i don't think it is a bug.
3418         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
3419         != endpoint.
3420         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
3421         GDK_LINE_SOLID.
3422
3423         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
3424         some of the fields filled in at least.
3425
3426         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
3427         miLineArcD is no more, remove it from the function definition.
3428
3429 2001-01-04  Havoc Pennington  <hp@redhat.com>
3430
3431         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
3432         this
3433
3434         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
3435         user_data instead of tree_node
3436
3437         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
3438         TREE_VIEW_COLUMN_SIZE
3439
3440         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
3441         "size" field to "width" finishes bug 40061
3442
3443         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
3444         for bitfields, bug 40268
3445
3446 2001-01-04  Havoc Pennington  <hp@redhat.com>
3447
3448         Rename some stuff:
3449         
3450         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
3451
3452         s/GtkModelSimple/GtkTreeModelSimple/g;
3453         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
3454         s/gtk_model_simple/gtk_tree_model_simple/g;
3455         s/gtkmodelsimple/gtktreemodelsimple/g;
3456
3457         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
3458
3459         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
3460         s/column_set_col_type/column_set_sizing/g;
3461
3462         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
3463         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
3464
3465         s/GtkCellRendererType/GtkCellRendererState/g;
3466         
3467         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
3468         (gtk_cell_renderer_toggle_class_init): change "state" property to
3469         "active", to match GtkToggleButton
3470         (gtk_cell_renderer_toggle_get_active): new function, bug
3471         40269
3472         (gtk_cell_renderer_toggle_set_active): new function
3473         (gtk_cell_renderer_toggle_set_property): route changes to toggle
3474         state through gtk_cell_renderer_set_active
3475
3476 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
3477
3478         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
3479         temporarily until they work again.  Brought up to date with
3480         changes in the model.
3481         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
3482         model.
3483
3484 2001-01-04  Havoc Pennington  <hp@redhat.com>
3485
3486         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
3487         equal to the line length, then position iterator before paragraph 
3488         separators. Fixes crash reported by Mikael Hermansson when
3489         pressing left arrow from the start of a line.   
3490
3491         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
3492         about byte indexes off the end
3493         (iter_set_from_char_offset): add g_error about char offsets
3494         off the end
3495
3496 2001-01-03  Havoc Pennington  <hp@redhat.com>
3497
3498         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
3499
3500         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
3501         of private functions; remove inclusion of private headers.
3502
3503         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
3504         function, so we don't need private functions in gtktextdisplay.c
3505
3506         * gtk/gtktextiterprivate.h: underscore-ification
3507
3508         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
3509         to instead say "only useful to implement widgets"
3510
3511         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
3512         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
3513         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
3514
3515         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
3516         This function was completely broken
3517
3518         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
3519
3520         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
3521
3522         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
3523
3524         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
3525
3526         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
3527
3528         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
3529
3530         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
3531         gtk_paint_layout
3532
3533         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
3534         gtk_paint_layout
3535
3536         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
3537         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
3538         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
3539         which were not implemented.     
3540
3541         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
3542         insert_pixbuf signal. Rename delete_text to delete_range since it
3543         also deletes pixbufs and child anchors. This almost closes bug
3544         40245 (still need to deal with child anchors)
3545
3546         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
3547         insert_pixbuf, change signal names as appropriate, change types of
3548         signals taking marks/tags to have the specific type, not just
3549         G_TYPE_OBJECT
3550         
3551         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
3552         closes bug 40051
3553
3554         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
3555         unnecessary remove_contents() call
3556         (gtk_option_menu_class_init): add a "changed" signal, closes
3557         bug 40039
3558         (gtk_option_menu_update_contents): emit "changed" if the 
3559         active menu item changes
3560
3561         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
3562         cast to GtkObject, reported by Jonas Borgstrom
3563         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
3564         we can't do stuff with side effects in finalize. Instead, spew a
3565         warning if the loader isn't closed.
3566
3567         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
3568         colormap in here, non-X ports probably need to sync to this change
3569
3570         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
3571         assertion that colormap != NULL, you can set the colormap to NULL
3572         if you like.
3573         
3574         * Makefile.am: remove gtk-config-2.0
3575
3576         * configure.in: Use pkg-config to locate GLib. Remove
3577         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
3578         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
3579         Use pkg-config to locate Pango. Output correct Pango libs to
3580         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
3581
3582         * Makefile.am (pkgconfig_DATA): install only target-specific pc
3583         files
3584         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
3585         X11 pc files
3586
3587         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
3588         unref from here
3589
3590 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
3591
3592         * configure.in:
3593         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
3594
3595 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
3596
3597         * gtk/gtktextlayout.c
3598         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
3599         variable when moving back onto a single line.
3600
3601 2001-01-01  Havoc Pennington  <hp@redhat.com>
3602
3603         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3604
3605         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3606
3607         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
3608         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
3609
3610 2001-01-01  Havoc Pennington  <hp@redhat.com>
3611
3612         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
3613
3614         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
3615         GtkTextAttributes
3616
3617         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
3618         #40246
3619         (gtk_text_attributes_copy_values): rename from 
3620         gtk_text_attributes_copy
3621         (gtk_text_attributes_copy): a more standard GTK copy function, 
3622         which returns a new object
3623
3624 2001-01-01  Havoc Pennington  <hp@redhat.com>
3625
3626         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
3627         
3628         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
3629         don't fill in tree_view->priv->selection, kind of an unexpected
3630         side effect
3631
3632         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
3633         gtkintl.h
3634         
3635         * gtk/gtkcellrenderer.c: Remove definition of _ and include
3636         gtkintl.h
3637         (gtk_cell_renderer_get_property): remove calls to g_value_init
3638
3639         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
3640         gtkintl.h
3641
3642         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
3643         and include gtkintl.h
3644         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
3645         property names
3646
3647         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
3648         GtkTreeSelection
3649         (_gtk_tree_selection_new_from_with_view): rename, return
3650         GtkTreeSelection
3651         (_gtk_tree_selection_set_tree_view): rename with uscore
3652         (gtk_tree_selection_get_selected): fill in the "model" out param
3653         first, so it gets filled in even if we return at the top of the 
3654         function
3655         (gtk_tree_selection_real_select_all): add a comment and an else{}
3656         to clarify this a bit
3657         (gtk_tree_selection_real_unselect_all): add the same else{}
3658
3659         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
3660         set_tree_view to have underscore prefixes, move them to the
3661         private header, fix return type of new_with_tree_view
3662         (struct _GtkTreeSelection): mark struct
3663         fields private  
3664
3665         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
3666         GtkTreeModelFlags, not a guint
3667         (gtk_tree_path_prev): return gboolean not gint
3668         (gtk_tree_path_up): return gboolean not gint
3669
3670         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
3671         return GtkTreeModelFlags, not a guint
3672
3673         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
3674         that child model is non-null before unrefing it
3675         (g_value_int_compare_func): make this a qsort compare func, not 
3676         a boolean predicate
3677
3678         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
3679         (add -umn to the end), and mark it unimplemented
3680         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
3681         I don't see what it's for - doesn't the model always sort itself?
3682         (gtk_tree_model_sort_set_compare): this had the wrong signature
3683
3684         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
3685         Fix the docs to say that it destructively replaces existing
3686         attributes (previously said that it added attributes).
3687         (gtk_tree_view_column_set_visible): canonicalize bool before
3688         equality testing. Also, check for realization before
3689         hiding/showing the tree_column->window; if this window could exist
3690         before realization, then it's busted and needs fixing, we can't 
3691         create GDK resources pre-realization. Also, remove
3692         superfluous queue_resize(), since set_size() does that for us.
3693         (gtk_tree_view_column_set_col_type): check realization before 
3694         using tree_column->window
3695
3696         * gtk/gtktreedatalist.c: fix filename in copyright notice
3697
3698 2000-12-31  Havoc Pennington  <hp@pobox.com>
3699
3700         * gtk/gtktextview.c: Rearrange all the
3701         scroll-while-dragging-or-selecting code to be different, not
3702         necessarily better. ;-)
3703         (gtk_text_view_scroll_to_mark): Change this
3704         function to take within_margin as a fraction instead of a pixel
3705         value, and to take alignment arguments (indicating where to align 
3706         the mark inside the visible area)
3707         
3708         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
3709         to GtkObject
3710
3711         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
3712         behavior so that offsets past the end of the line are not 
3713         allowed, and an offset equal to the line length moves the iterator
3714         to the next line
3715         (gtk_text_iter_set_line_index): make parallel change
3716         (gtk_text_iter_get_bytes_in_line): add this function
3717         
3718         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
3719         of byte indexes off the end of the line; byte index at the end of
3720         the line now returns FALSE and doesn't fill in the requested
3721         values, byte index past the end of the line is an error.  Also,
3722         don't allow -1 offset anymore, since its meaning is unclear.
3723
3724         This change exposes some bug in visual cursor motion, where we
3725         end up with a huge invalid byte index; needs fixing. Symptom of 
3726         bug is a crash when you hit up arrow.
3727         
3728         (_gtk_text_line_char_locate): match the change to byte_locate
3729
3730         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
3731         from start of line properly. fixes bug reported by Mikael
3732         Hermansson where backspace would delete all text before the
3733         cursor.
3734
3735 2000-12-30  Tor Lillqvist  <tml@iki.fi>
3736
3737         * gdk/win32/gdkwindow-win32.c
3738         (gdk_window_impl_win32_get_visible_region): New function, as in
3739         the X11 backend.
3740         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
3741         instead of duplicating the same code here.
3742
3743         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
3744         GDK_COLORMAP macro.
3745
3746         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
3747         destroy function.
3748         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
3749         access that.
3750
3751         * gtk/gtk.def: Update.
3752
3753         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
3754
3755 2000-12-30  Havoc Pennington  <hp@pobox.com>
3756
3757         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
3758         colormap on input only windows, to avoid special cases all over
3759         the code for these windows.
3760
3761 2000-12-26  Tor Lillqvist  <tml@iki.fi>
3762
3763         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
3764         we are on a palettized display ("PseudoColor" in X11), as the code
3765         for that doesn't work anyway, and never has.
3766
3767 2000-12-22  Alexander Larsson  <alexl@redhat.com>
3768
3769         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
3770         Don't use isprint() for chars > 255.
3771
3772 2000-12-21  Havoc Pennington  <hp@redhat.com>
3773
3774         * tests/testtreeview.c: more work
3775
3776 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3777
3778         * docs/README.linux-fb:
3779         Update the docs to the new pangoft2 way.
3780
3781 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3782
3783         * configure.in:
3784         For linux-fb get the pangoft2 cflags and libs. This needs a recent
3785         pango version.
3786         Remove modules/linux-fb/Makefile.
3787
3788         * gdk/linux-fb/gdkdrawable-fb2.c:
3789         Render glyphs using freetype.
3790
3791         * gdk/linux-fb/gdkfb.h:
3792         Add new fb-specific functions needed for managing windows.
3793
3794         * gdk/linux-fb/gdkmain-fb.c:
3795         Remove gdk_font_init/fini() calls.
3796
3797         * gdk/linux-fb/gdkpango-fb.c:
3798         Remove old implementation. Use pangoft2 instead.
3799
3800         * gdk/linux-fb/gdkprivate-fb.h:
3801         Remove PangoFBFont and related stuff.
3802
3803         * gdk/linux-fb/gdkwindow-fb.c:
3804         Implement drawable->get_visible_region.
3805         Implement support for _gdk_window_set_child_handler () and
3806         _gdk_window_get_decorations().
3807
3808         * modules/Makefile.am:
3809         Remove linux-fb subdir.
3810
3811         * modules/linux-fb/*:
3812         Removed all.
3813         
3814 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
3815
3816         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
3817         calls, as they are no longer needed.
3818
3819         * gtk/gtktreemodelsort.c: Fix up the comparison code.
3820         
3821         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
3822         figure out how to emit a signal on an interface.
3823
3824 2000-12-20  Havoc Pennington  <hp@redhat.com>
3825
3826         * tests: new directory to contain tests, gtk/test* should move
3827         here sometime (with appropriate on-cvs-server hackery)
3828
3829         * tests/testtreeview.c, tests/Makefile.am: a test
3830         
3831         * configure.in (AC_OUTPUT): add tests/Makefile
3832
3833         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
3834         and "invisible_set" which were missing
3835
3836         * gtk/gtkrbtree.h: some cheesy indentation fix
3837         
3838 2000-12-20  Alexander Larsson  <alexl@redhat.com>
3839
3840         * gtk/gtkinvisible.c (gtk_invisible_realize):
3841         Attach the style to the window so that the style it is not
3842         leaked when unrealizing the window.
3843
3844 2000-12-18  Havoc Pennington  <hp@redhat.com>
3845
3846         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
3847         begin/end user action where appropriate
3848         (gtk_text_view_commit_handler): add begin/end user action
3849
3850         * gtk/gtktextbuffer.c: add begin/end user action signals, and
3851         bracket interactive operations with begin/end user action pair.
3852         
3853         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
3854         "interactive" arg from insert_text and delete_text signals.
3855         Add begin_user_action, end_user_action signals
3856         (gtk_text_buffer_begin_user_action): 
3857         (gtk_text_buffer_end_user_action): New functions to delimit 
3858         a user-visible action
3859
3860         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
3861         signals.
3862         
3863 2000-12-18  Havoc Pennington  <hp@redhat.com>
3864
3865         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
3866         was pretty non-working.
3867
3868         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
3869         by passing the length to g_utf8_validate().
3870
3871 2000-12-16  Havoc Pennington  <hp@pobox.com>
3872
3873         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
3874         Port to GObject, can go back in gdk-pixbuf after setting up 
3875         a gdk-pixbuf-marshal.h header over there.
3876
3877         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
3878         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
3879         args
3880         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
3881         set
3882         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
3883         here, do it when we create the buttons later
3884         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
3885         (gtk_tree_view_map): paranoia checks that column->button is shown 
3886         and unmapped
3887         (gtk_tree_view_size_request): only request visible children.
3888         Move header size calculation in here, for cleanliness, and 
3889         to maintain invariants for child widgets if we eventually 
3890         let users set different children inside the buttons
3891         (gtk_tree_view_map_buttons): factor out code to map buttons,
3892         since it was being called several times
3893         (gtk_tree_view_size_allocate_buttons): move_resize the drag
3894         windows instead of just moving them; their height may change 
3895         if we allow random widgets in there, or the theme changes.
3896         (gtk_tree_view_size_allocate): move button size allocation 
3897         above emitting the scroll signals, to ensure a sane state when we
3898         hit user code
3899         (gtk_tree_view_button_release): remove queue_resize after
3900         tree_view_set_size(), set_size() will handle any resize queuing
3901         that's needed
3902         (gtk_tree_view_focus_in): just queue a draw, don't fool with
3903         draw_focus goo
3904         (gtk_tree_view_focus): use gtk_get_current_event() and
3905         gdk_event_get_state()
3906         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
3907         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
3908         semicolon
3909         (gtk_tree_view_create_button): show the button here
3910         (gtk_tree_view_button_clicked): actually emit the clicked signal
3911         on the column
3912         (_gtk_tree_view_set_size): return right away if the size is
3913         unchanged, as a cheesy optimization
3914         (gtk_tree_view_setup_model): rename set_model_realized to 
3915         setup_model to match the flag that indicates whether we've 
3916         called it
3917         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
3918         exist, because set_scroll_adjustment does that and it shouldn't
3919         matter what order you call these in
3920         (gtk_tree_view_get_vadjustment): ditto
3921         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
3922         for paranoia
3923         (gtk_tree_view_set_headers_visible): call
3924         gtk_tree_view_map_buttons() instead of using cut-and-paste code
3925         (gtk_tree_view_append_column): clarify whether the return value
3926         is the count of columns before or after, and do the increment 
3927         separately from the return statement so you can tell from the code.
3928         (gtk_tree_view_remove_column): ditto
3929         (gtk_tree_view_insert_column): ditto
3930         (gtk_tree_view_get_column): remove g_return_if_fail for columns
3931         outside the existing range, the docs say that outside-range
3932         columns are allowed, so we handle them as documented. (Presumably
3933         this allows a nice loop with column != NULL as test.)
3934         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
3935         mean (left/right/center etc.).
3936         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
3937         (gtk_tree_view_expand_row): add docs
3938         (gtk_tree_view_collapse_row): add docs
3939
3940         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
3941         function to emit the clicked signal on a column
3942         
3943         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
3944         state of an event
3945         (gdk_event_get_time): don't treat GDK_SCROLL 
3946         as a button event, remove default case from switch so gcc 
3947         will whine if we don't explicitly handle all event types
3948
3949         * gtk/gtktreeselection.h: added some FIXME 
3950         
3951         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
3952         "columns" to "n_columns" and "column" to "columns" for clarity
3953
3954 2000-12-16  Havoc Pennington  <hp@pobox.com>
3955         
3956         * gtk/gtktextiter.c: General cleanup of the log attr iteration
3957         stuff. This should make e.g. the delete key work again in the
3958         text widget...
3959         (gtk_text_iter_forward_cursor_positions): handle negative count
3960         (gtk_text_iter_backward_cursor_positions): handle negative count
3961         (gtk_text_iter_forward_word_ends): handle negative count
3962         (gtk_text_iter_backward_word_starts): handle negative count
3963
3964         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
3965         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
3966         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
3967         GObject. No doubt will cause breakage.
3968
3969         * demos/gtk-demo/textview.c: remove hacks around
3970         non-GObject-ification of the text objects
3971
3972         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
3973         the text tag
3974         
3975 2000-12-14  Havoc Pennington  <hp@pobox.com>
3976
3977         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
3978         that we have Xrender
3979
3980 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
3981
3982         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
3983         Add two virtualized functions gdk_drawable_get_clip_region - to
3984         get the clip region when drawing.
3985         
3986         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
3987         use invalidate_region.
3988
3989         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
3990         region.
3991
3992         * acconfig.h configure.in: Check for Xft. For now, assume
3993         that if Xft is found, Pango was compiled with Xft support
3994         as well.
3995
3996         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
3997         gdk_colormap_query_color().
3998         
3999         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
4000         with Xft if appropriate.
4001
4002         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
4003         a pangoxft context if we have XFT and the environment
4004         variable GD_USE_XFT is set.
4005         
4006         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
4007         and also possibly an XftDraw structure.
4008
4009         * gtk/gtkfontsel.c: Handle the case where the font from the
4010         style doesn't match any of the fonts a bit better.
4011         
4012         * gtk/testgtk.c: Add tabs between directional segments for
4013         hebrew/arabic test. (Not really necessary, just a little
4014         prettier.)
4015
4016 2000-12-14  Havoc Pennington  <hp@redhat.com>
4017
4018         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
4019         reading a file
4020
4021 2000-12-14  Havoc Pennington  <hp@redhat.com>
4022
4023         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
4024         unused call to get_last_line()
4025
4026         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
4027         here until boxed is working (and maybe after that - we should
4028         really not gratuitously break old code)
4029
4030         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
4031         specific types for font_desc and tabs args, move them to
4032         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
4033         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
4034
4035         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
4036         use GTK_TYPE_POINTER for signal signatures as a hack-around
4037
4038         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
4039         PangoTabArray
4040
4041         * gtk/gtktextlayout.c (line_display_iter_to_index): 
4042         make static
4043         (line_display_index_to_iter): make static
4044
4045         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4046         to marshal a string not a boxed
4047
4048         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
4049
4050         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
4051         since the UTF-8 isn't validated yet
4052
4053         * gtk/gtktextsegment.c (char_segment_check_func): don't require
4054         lines to end in '\n'
4055         
4056         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
4057         forward_to_delimiters, and grapheme boundaries
4058         (gtk_text_view_delete_from_cursor): properly handle non-newline
4059         delimiters, and grapheme boundaries
4060
4061         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
4062         to gtk_text_iter_forward_to_delimiters, and make it work properly
4063         if empty lines end with a character other than '\n'
4064
4065         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
4066         position
4067
4068 2000-12-15  Tor Lillqvist  <tml@iki.fi>
4069
4070         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
4071
4072         * gtk/gtk.def
4073         * gdk/gdk.def: Update.
4074
4075         * gdk/win32/gdkmain-win32.c
4076         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
4077         gdkmain-win32.c here.
4078
4079         * gdk/win32/makefile.mingw.in (all): No need to make
4080         gdk-win32res.o here, the makefile one step up will call us to make
4081         it.
4082
4083         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
4084         gdkkeys-win32.
4085
4086         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
4087
4088         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
4089         call to g_source_add().
4090
4091         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
4092         leak. Thanks to Andreas Kemnade.
4093
4094 2000-12-13  Havoc Pennington  <hp@pobox.com>
4095
4096         * gtk/gtktextbtree.h: Remove double _ in front of some functions
4097
4098         * gtk/gtktext*.[hc]: update accordingly
4099         
4100 2000-12-13  Havoc Pennington  <hp@pobox.com>
4101
4102         * gtk/gtktextbtree.h: Put _ in front of every function in this 
4103         header file
4104
4105         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
4106
4107 2000-12-13  Alex Larsson  <alexl@redhat.com>
4108
4109         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
4110         Add support for ps2 intellimouse.
4111
4112         * gdkkeyboard-fb.c:
4113         Move shift-F1 repaint handling to xlate handler only.
4114         
4115         * docs/README.linux-fb:
4116         Add imps2 to docs.
4117         Document the new refresh keys.
4118         
4119 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
4120
4121         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
4122
4123         * gtk/gtkbox.c: change property types from (u)long to (u)int for
4124         ::position and ::padding.
4125
4126         * gtk/gtkcontainer.c: make ::border_width an INT property.
4127
4128         * gtk/gtkpacker.c: make ::position an INT property.
4129
4130         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
4131         guard against NULL h/v scrollbars, since this is used at construction
4132         time.
4133
4134         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
4135         internal gtk_clist_constructor().
4136
4137         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
4138         gtk_ctree_constructor().
4139
4140         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
4141         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
4142
4143         * docs/reference/Makefile.am: fun stuff, disabled docs generation
4144         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
4145
4146         * gtk/gtkwidget.[hc]:
4147         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
4148         and gtk_widget_get().
4149         (gtk_widget_new): use g_object_new_valist().
4150         (gtk_widget_set): use g_object_set_valist().
4151
4152         * gtk/gtkobject.[hc]:
4153         removed gtk_object_arg_get_info(), gtk_object_getv(),
4154         gtk_object_query_args(), gtk_object_newv(),
4155         gtk_object_class_add_signals(),
4156         gtk_object_class_user_signal_new(),
4157         gtk_object_class_user_signal_newv(),
4158         gtk_object_arg_set(), gtk_object_arg_get(),
4159         gtk_object_args_collect(),
4160         gtk_object_default_construct(),
4161         gtk_object_constructed(),
4162         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
4163         removed nsignals, signals and n_args members from GtkObjectClass.
4164         (gtk_object_new): use g_object_new_valist().
4165         (gtk_object_set): use g_object_set_valist().
4166         (gtk_object_get): use g_object_get_valist().
4167         
4168         * gtk/gtkcompat.h: define gtk_object_default_construct().
4169         
4170         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
4171         g_object_new().
4172
4173         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
4174         fucntions, cleaned up method assignments (make sure your structures
4175         are setup properly before calling out). removed all GTK_CONSTRUCTED
4176         hacks ;)
4177
4178 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
4179
4180         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
4181         off-by-one error in checks. (Dave Lambert)
4182
4183 2000-12-12  Alexander Larsson  <alexl@redhat.com>
4184
4185         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
4186         Don't free gdk_fb_keyboard twice.
4187
4188 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
4189
4190         * gtk/testgtk.c:
4191         (create_tooltips): 
4192         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
4193         use GObject swapped_signal:: properties instead.
4194
4195         * gtk/gtkcellrenderertoggle.c: 
4196         * gtk/gtkcellrenderertextpixbuf.c: 
4197         * gtk/gtkcellrenderertext.c: 
4198         * gtk/gtkcellrendererpixbuf.c: 
4199         * gtk/gtkcellrenderer.c:
4200         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
4201         missing warnings for invalid property ids, install properties
4202         with g_object_class_install_property() now.
4203         
4204         * gtk/gtksignal.c:
4205         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
4206         
4207 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
4208         
4209         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
4210         to determine if a window is the focus widget within
4211         its toplevel.
4212
4213         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
4214         to be boolean.
4215
4216         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
4217         of the case where the container CAN_FOCUS to here instead
4218         of having it in each individual move-the-focus place.
4219
4220         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
4221         focusing to be geometric in a much more obvious sense. Arrowing
4222         around is still non-intuitive because it isn't perfect and
4223         because entries, etc, grab the arrow keys, but it at least
4224         usually will do what you expect now.
4225         
4226         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
4227         file.
4228
4229         * gtk/gtknotebook.c: Change tabs to be a single item in
4230         the focus chain. Make movement of focus on tabs with arrow
4231         keys wrap around.
4232         
4233         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
4234         CHECK_FIND_CHILD macro to give informative error messages
4235         instead of silent returns.
4236
4237         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
4238         flag since we handle GdkReturn on the tabs.
4239
4240         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
4241         windows rather than sending expose events directly.
4242
4243         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
4244         definition for GtkNotebookPage into .c file, since it is private.
4245
4246         * gtk/testgtk.c (create_notebook): Add option for 
4247         testing borderless notebook.
4248
4249         * gtk/testgtk.c (page_switch): Removed egregious poking
4250         around in GTK+ internals.
4251
4252         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
4253
4254         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
4255         properly through gtk_clist_focus. Make the title headers a
4256         single item in the tab-focus chain, and make left-right wrap
4257         around.
4258
4259         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
4260         focus method so that wrapping around works properly.
4261
4262         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
4263         that is handled for the widget now. 
4264
4265 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
4266
4267         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
4268         widgets as TOPLEVEL.
4269
4270         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
4271         TOPLEVEL widgets are containers.
4272
4273         * gtk/gtkinvisible.h: Remove useless include.
4274
4275 2000-12-11  Havoc Pennington  <hp@redhat.com>
4276
4277         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
4278         Handle chopping off \r\n and 0x2029 in addition to \n before
4279         passing to PangoLayout
4280
4281         * gtk/gtkimcontextsimple.c
4282         (gtk_im_context_simple_get_preedit_string): 
4283         return an empty string if no match is pending
4284
4285         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
4286         assertion that the returned preedit string was sane
4287
4288         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
4289         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
4290         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
4291
4292 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
4293
4294         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
4295         Fix up finalizer to chain to its parent.
4296
4297 2000-12-11  Alexander Larsson  <alexl@redhat.com>
4298
4299         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
4300         Clearified the difference between the keyboard types. Wrote a note
4301         about the magic sysrq key to get out of raw mode.
4302
4303 2000-12-09  James Henstridge  <james@daa.com.au>
4304
4305         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
4306         member to hold masks for detecting the start of a protocol packet.
4307         (mouse_devs): add packet start masks for ps2 and ms device types.
4308         Left the mask for fidmour blank, as I have no idea what it should
4309         be.
4310         (handle_mouse_io): skip bytes until we get to the start of a
4311         packet.  My Logitech mouse seems to be passing an extra NULL pad
4312         byte, and GPM does a similar thing here.
4313         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
4314         this is the ms mouse driver.
4315         (gdk_fb_mouse_ms_packet): fix up button handling, which was
4316         completely broken except for button1.  It was checking the wrong
4317         bit in the packet for the status of the right mouse button, and
4318         wrongly assuming right == button2 rather than 3.  I fixed that and
4319         also added support for middle button (button2).
4320
4321 2000-12-08  Havoc Pennington  <hp@redhat.com>
4322
4323         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
4324         that cause a segfault on text insertion
4325
4326         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
4327         warning
4328
4329         * gtk/gtktextiter.c (test_log_attrs): use
4330         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
4331
4332         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
4333         Get log attrs for a line, using a cache stored on the buffer
4334         
4335         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
4336         reported by Jeff Franks
4337
4338 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4339
4340         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
4341         /dev/ttyS0 -> /dev/mouse
4342
4343 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4344
4345         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
4346         Added dummy gdk_fontset_load.
4347
4348 2000-12-08  Alexander Larsson  <alexl@redhat.com>
4349
4350         * docs/README.linux-fb:
4351         * docs/Makefile.am:
4352         Initial GtkFB docs.
4353         
4354         * gdk/linux-fb/Makefile.am:
4355         Define GDK_DATA_PREFIX.
4356
4357         * gdk/linux-fb/gdkmain-fb.c:
4358         Fix typo.
4359         Change default display to /dev/fb0.
4360
4361         * gdk/linux-fb/gdkpango-fb.c:
4362         Add $(prefix)/share/fonts/ to font path.
4363         
4364 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4365
4366         * gdk/linux-fb/gdkkeyboard-fb.c:
4367         New file containing the abstracted keyboard driver. Most code
4368         taken from gdkinput-ps2.c
4369
4370         * gdk/linux-fb/gdkinput-ps2.c:
4371         Removed file.
4372         
4373         * gdk/linux-fb/Makefile.am:
4374         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
4375
4376         * gdk/linux-fb/gdkcolor-fb.c:
4377         display->fb was renamed to display->fb_fd.
4378
4379         * gdk/linux-fb/gdkcursor-fb.c:
4380         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4381
4382         * gdk/linux-fb/gdkinput.c:
4383         Moved gdk_input_init here from gdkinput-ps2.c
4384
4385         * gdk/linux-fb/gdkmain-fb.c:
4386         display->fb was renamed to display->fb_fd.
4387         Now the tty and the console is opened here instead
4388         of in the keyboard driver. Also check GDK_VT to see what
4389         tty to open.
4390         Move gdk_beep () here from gdkinput-ps2.c
4391         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4392
4393         * gdk/linux-fb/gdkmouse-fb.c:
4394         Add header.
4395         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4396         Return correct keyboard modifiers.
4397         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
4398
4399         * gdk/linux-fb/gdkprivate-fb.h:
4400         Add tty and vt info to display.
4401         Add orignal modeinfo storage to display
4402         Update global functions
4403
4404         * gdk/linux-fb/gdkwindow-fb.c:
4405         Added gdk_fb_window_find_focus().
4406         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4407
4408 2000-12-07  Havoc Pennington  <hp@pobox.com>
4409
4410         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
4411         function, noticed by Alex
4412
4413 2000-12-06  Elliot Lee  <sopwith@redhat.com>
4414
4415         * configure.in: Detect freetype properly
4416
4417         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
4418         above.
4419
4420 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4421
4422         * gdk/linux-fb/Makefile.am:
4423         Add gdkmouse-fb.c
4424         
4425         * gdk/linux-fb/gdkmouse-fb.c:
4426         New file. Abstracted the mouse drivers a bit.
4427
4428         * gdk/linux-fb/gdkcursor-fb.c:
4429         The cursor hide/show functions was moved here from gdkinput-ps2.c.
4430
4431         * gdk/linux-fb/gdkinput-ps2.c:
4432         Removed old mouse handling code. Moved cursor handling code
4433         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
4434         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
4435         gdk_mouse_get_info.
4436
4437         * gdk/linux-fb/gdkmain-fb.c:
4438         Pass NULL pointers for x,y in gdk_mouse_get_info call.
4439
4440         * gdk/linux-fb/gdkprivate-fb.h:
4441         Removed public gdk_fb_find_common_ancestor, added and renamed
4442         functions for the new mouse handling code.
4443
4444         * gdk/linux-fb/gdkwindow-fb.c:
4445         Moved gdk_fb_window_send_crossing_events here. added global
4446         variable gdk_fb_window_containing_pointer. made
4447         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
4448         renamed to gdk_mouse_get_info.
4449
4450 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4451
4452         * gdk/linux-fb/gdkevents-fb.c:
4453         Update to match latest gmain/gsource changes.
4454
4455         * gdk/linux-fb/gdkinput-ps2.c:
4456         Bogus gdk_keymap_get_entries_for_keycode implementation so that
4457         it links. Will be implemented later.
4458
4459 2000-12-03  Havoc Pennington  <hp@pobox.com>
4460
4461         * gdk/Makefile.am: add gdkkeys.[hc]
4462
4463         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
4464         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
4465
4466         * acconfig.h, configure.in: add checks and command line options
4467         for XKB
4468
4469         * gdk/x11/gdkkeys-x11.c: Implement the above functions
4470         
4471         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
4472         and group in the key event
4473
4474         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
4475         field with the low-level hardware key code, and a group
4476         field with the keyboard group
4477
4478         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
4479         and declare a couple globals used for keymap handling
4480         
4481         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
4482         hold down Shift-Control and type a hex number to get a Unicode 
4483         character corresponding to the hex number
4484         (gtk_im_context_simple_get_preedit_string): Fix cursor position
4485         (return bytes not chars)
4486
4487 2000-12-05  Elliot Lee  <sopwith@redhat.com>
4488
4489         * gdk/gdkcolor.h: Make GdkColor specify element sizes
4490         to avoid waste on 64-bit platforms.
4491
4492 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
4493
4494         * INSTALL: Fix link to PNG home, remove reference
4495         to fribidi.
4496
4497         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
4498         
4499         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
4500         tested.)
4501
4502         * gtk/gtkcheckmenuitem.c: Permanently turn on
4503         always_show_toggle.
4504
4505         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
4506         be NULL. (Vladimir Klebanov, #26545)
4507
4508         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
4509         some signed/unsigned comparison problems. (#6510,
4510         David Kaelbling)
4511
4512         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
4513         return type to boolean (Oskar Liljeblad, #18648)
4514
4515 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4516
4517         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
4518         Remove bogus colormap setting.
4519
4520 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4521
4522         * gdk/linux-fb/gdkcolor-fb.c:
4523         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
4524
4525         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
4526         Must set colormap.
4527         
4528 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
4529
4530         * docs/tutorial/gtk-tut.sgml: DND updates
4531
4532 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
4533
4534         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4535         Remove old debug g_warning().
4536         (gdk_fb_draw_drawable): The src argument can be either a wrapper
4537         or an implementation, just pass the implementation to draw_drawable_2.
4538         
4539         * gdk/linux-fb/gdkprivate-fb.h:
4540         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
4541
4542         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4543         clear and invalidate area when window is destroyed.
4544         (send_map_events): Remove old commented out code.
4545
4546 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4547
4548         * gdk/linux-fb/gdkpango-fb.c:
4549         Use italic instead of oblique in font aliases.
4550         
4551         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
4552         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
4553         other unsupported functions.
4554
4555 2000-12-04  Havoc Pennington  <hp@redhat.com>
4556
4557         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
4558
4559         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
4560
4561         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
4562
4563         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
4564         hack to avoid infinite loops (synthetic expose event) - 
4565         Owen has more appropriate fixes in a branch he'll check in later.
4566
4567         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
4568         separator, CR, and CRLF as line ends
4569
4570         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
4571         into lines using pango_find_paragraph_boundary(); other bits of
4572         the widget are still going to be broken if the boundary isn't '\n'
4573         though
4574
4575 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4576
4577         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
4578         multiply.
4579
4580         * gdk/linux-fb/gdkpango-fb.c:
4581         Copied some 26.6 scaling macros from pango to clean up the rounding.
4582         (pango_fb_font_get_glyph_info): Correct sign on x value.
4583
4584         * gdk/linux-fb/gdkprivate-fb.h:
4585         Removed unreferenced external functions.
4586
4587         * modules/linux-fb/Makefile.am: Use ` instead of '.
4588
4589         * modules/linux-fb/basic.c:
4590         Remove dead code. In particular the dummy lang engine which broke all
4591         pango layouts in GtkFB. Don't include tables-big.i anymore.
4592
4593         * modules/linux-fb/tables-big.i:
4594         Upgrade to latest version from pango. Left for reference, basic_ranges
4595         moved to basic.c.
4596         
4597 2000-12-04  Havoc Pennington  <hp@redhat.com>
4598
4599         Fix bugs Alex found:
4600         
4601         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
4602         to "draw"
4603
4604         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
4605
4606         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
4607
4608         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
4609         implementation in here, apparently the expose() implementation was
4610         dead code.
4611
4612 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4613
4614         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4615         Return positive descent.
4616
4617 2000-12-02  Havoc Pennington  <hp@pobox.com>
4618
4619         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
4620         method and signal
4621         
4622         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
4623         calls gdk_window_process_updates() to push the exposes through
4624         (gtk_widget_class_init): No more draw signal, no
4625         gtk_widget_real_draw()  
4626         
4627         * gtk/gtkbin.c (gtk_bin_draw): remove
4628
4629         * gtk/gtkbox.c (gtk_box_draw): remove
4630
4631         * gtk/gtkbutton.c (gtk_button_draw): remove
4632
4633         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
4634
4635         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
4636
4637         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
4638
4639         * gtk/gtkclist.c (gtk_clist_draw): remove
4640
4641         * gtk/gtkentry.c (gtk_entry_draw): remove
4642
4643         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
4644
4645         * gtk/gtkfixed.c (gtk_fixed_draw): remove
4646
4647         * gtk/gtkframe.c (gtk_frame_draw): remove
4648
4649         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
4650
4651         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
4652
4653         * gtk/gtklayout.c (gtk_layout_draw): remove
4654
4655         * gtk/gtklist.c (gtk_list_draw): remove
4656
4657         * gtk/gtklistitem.c (gtk_list_item_draw): remove
4658
4659         * gtk/gtkmenu.c (gtk_menu_draw): remove
4660
4661         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
4662
4663         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
4664
4665         * gtk/gtknotebook.c (gtk_notebook_draw): remove
4666
4667         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
4668
4669         * gtk/gtkpacker.c (gtk_packer_draw): remove
4670
4671         * gtk/gtkrange.c (gtk_range_draw): remove
4672
4673         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
4674
4675         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
4676
4677         * gtk/gtktable.c (gtk_table_draw): remove
4678
4679         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
4680
4681         * gtk/gtktext.c (gtk_text_draw): remove
4682
4683         * gtk/gtktextview.c (gtk_text_view_draw): remove
4684
4685         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
4686
4687         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
4688
4689         * gtk/gtktree.c (gtk_tree_draw): remove
4690
4691         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
4692
4693         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
4694
4695         * gtk/gtkviewport.c (gtk_viewport_draw): remove
4696
4697         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
4698
4699         * gtk/gtkvscale.c (gtk_vscale_draw): remove
4700
4701         * gtk/gtkwindow.c (gtk_window_draw): remove
4702
4703 2000-20-01  Anders Carlsson  <andersca@gnu.org>
4704
4705         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
4706         a GtkToggleButton is both insensitive and active, it was being
4707         drawn by the GtkButton draw handler which doesn't check the
4708         state. Now it's calling gtk_toggle_button_paint instead.
4709         
4710 2000-12-01  Havoc Pennington  <hp@redhat.com>
4711
4712         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
4713         dangling pointers to the appearance attributes from the 
4714         line display
4715
4716         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
4717         width/height to mean "full width/height of drawable"
4718
4719         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
4720         click to select word/line
4721         
4722         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
4723         when getting log attrs. Get a slice, so that pixmaps and stuff
4724         are properly handled.
4725
4726         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
4727         paste into the selection (replaces selection now, previously
4728         crashed or added to selection). Reveals longstanding btree bug -
4729         select multiple lines, middle-click on the selection, boom. This
4730         isn't related to my changes though.
4731
4732         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
4733         PangoLogAttrs changes
4734         (gtk_entry_move_backward_word): ditto
4735
4736         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
4737         functions return bool whether the iter moved onto a
4738         dereferenceable position.
4739  
4740         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
4741         functions for motion in terms of display lines.
4742
4743         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
4744         get the buffer a mark is inside
4745         
4746 2000-12-01  Alexander Larsson  <alexl@redhat.com>
4747
4748         * gdk/linux-fb/Makefile.am:
4749         * modules/linux-fb/Makefile.am:
4750         Freetype 2 final uses freetype-config
4751
4752         * gdk/linux-fb/gdkpango-fb.c:
4753         Upgrade to use Freetype 2 final.
4754         More flexible support for font aliases, this also fixes a bug with
4755         GtkFontSelector, as the aliases must be visible in the font/family list,
4756         or GtkFontSelector reads uninitialized memory.
4757
4758 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
4759
4760         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
4761         XGetIMValues to properly terminate variable argument list, and do
4762         NULL return check for ic_values and xim_styles.
4763
4764         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
4765         Restore preedit state after XmbResetIC().
4766         
4767         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
4768         XvaCreateNestedList() should take XvaNestedList, but not
4769         XvaNestedList*.
4770
4771         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
4772         preedit_draw_callback, preedit_caret_callback): Match
4773         "preedit-changed" signal name to "preedit_changed" to be
4774         consistent to the spec.
4775
4776         * gtk/gtkimcontextsimple.c (check_table):
4777         Match "preedit-changed" to "preedit_changed" to be consistent
4778         to the spec.
4779
4780 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
4781
4782         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
4783         gc->clip_region == NULL>
4784
4785 2000-11-30  Tor Lillqvist  <tml@iki.fi>
4786
4787         Changes by Hans Breuer:
4788         
4789         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
4790         Dont't use negative width and height as max_hints. This fixes
4791         Owen's recent testgtk changes for win32.
4792
4793         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
4794         gdk_win32_hdc_release): These are exported and may be called with
4795         other drawable types than our GdkDrawableImplWin32 (?).
4796
4797         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
4798         so always #define USE_BACKING_STORE.
4799
4800         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
4801         of printf for debugging output.
4802
4803         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
4804         
4805         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
4806
4807         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
4808         declaration.
4809
4810         * gtk/gtktexttypes.h: Ditto.
4811
4812         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
4813         (GDK_VoidSymbol) also if in case of arg check failure.
4814
4815         * gtk/gtkimcontextsimple.c
4816         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
4817         position to the pointer, but to the variable it points to.
4818
4819         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
4820
4821         * gtk/gtk.def: Updates.
4822
4823 2000-11-29  Elliot Lee  <sopwith@redhat.com>
4824
4825         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
4826         GTK_TYPE_TREE_MODEL.
4827
4828 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4829
4830         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
4831         Set the size of the font from the description.
4832         (gdk_text_width): Gross hack that calculates the width
4833         of text by text_length * size/2. This is necessary because
4834         GtkLabel does some ugly gtk_string_width call to calculate
4835         an good size.
4836         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
4837
4838 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
4839
4840         * docs/tutorial/gtk-tut.sgml: DND updates
4841
4842 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4843
4844         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
4845         If you pass width or height == 0 to gdk_window_clear_area they
4846         should be calculated from the window size.
4847
4848 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4849
4850         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
4851         a grab, but no grab-cursor, use the cursor from the grabbed
4852         window. (gdk_fb_window_send_crossing_events): Send normal
4853         enter/leave notifications if grab and owner_events == TRUE.
4854
4855 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4856
4857         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4858         Do implicit button grabs, even if the window doesn't
4859         want the event.
4860         (gdk_fb_window_send_crossing_events): If there is a
4861         grab, only the grabbed window gets normal enter/leave
4862         notifications. On ungrab go from grabbed window to current.
4863         Don't send any notification to b when propagating from c -> b.
4864         If setting a grab on window, don't set prev_window.
4865         (handle_mouse_input): Send enter/leave events to the window the
4866         mouse is over, not the grabbed one.
4867         
4868 2000-11-28  Elliot Lee  <sopwith@redhat.com>
4869
4870         * gdk/gdkregion-generic.c: Zap warning.
4871         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
4872         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
4873
4874 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
4875
4876         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
4877         The cursor should be hidden if it is part of either the
4878         source or destination region. Not only if it is in both.
4879         (gdk_window_set_transient_for): Silence warnings.
4880
4881 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4882
4883         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
4884         The default mode in X is Pie Arcs, therefore that is
4885         what Gtk+ uses.
4886
4887 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4888
4889         * gdk/linux-fb/gdkinput-ps2.c:
4890         Implement correct EnterNotify/LeaveNotify:
4891         (gdk_fb_window_send_crossing_events): New function that sends
4892         all GdkCrossingEvents from the last mouse-window to the specified
4893         destination.
4894         (gdk_fb_window_visibility_crossing): Removed function.
4895         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
4896         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
4897         instead of gdk_window_get_pointer() for better readability.
4898
4899         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
4900         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
4901
4902         * gdk/linux-fb/gdkprivate-fb.h:
4903         removed gdk_fb_window_visibility_crossing, added
4904         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
4905
4906         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
4907         New function that finds the least common ancestor of two windows.
4908         (gdk_window_show, gdk_window_hide):
4909         Use gdk_fb_window_send_crossing_events.
4910         (gdk_fb_window_move_resize): Send configure events to toplevel
4911         windows. Use gdk_fb_window_send_crossing_events.
4912
4913 2000-11-27  Havoc Pennington  <hp@redhat.com>
4914
4915         * gtk/gtkprivate.h (enum): Remove a trailing comma
4916
4917 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
4918
4919         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
4920         the "changed" callback of the adjustment.  We need to redraw the
4921         spin button's arrows when the adjustment's range changes.
4922         (adjustment_changed_cb): Draw the arrows.
4923         (gtk_spin_button_value_changed): Draw the arrows.
4924
4925 2000-11-23  Alexander Larsson  <alexl@redhat.com>
4926
4927         * gdk/linux-fb/gdkselection-fb.c:
4928         Initial selection implementation.
4929
4930         * gtk/gtkselection.c:
4931         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
4932         requestor in gtk_selection_request.
4933         
4934         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
4935         Added gdk_selection_property atom.
4936
4937         * gdk/linux-fb/gdkprivate-fb.h:
4938         Export _gdk_selection_window_destroyed.
4939         Removed mask_off_x/y from GdkCursorPrivateFB.
4940         Removed hbearing, added top, left to PangoFBGlyphInfo.
4941
4942         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4943         Call _gdk_selection_window_destroyed
4944         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
4945         the root window has been created.
4946         (static_dx_hack, static_dy_hack, compare_draw_rects,
4947         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
4948         in region. They are already sorted. Instead just traverse them in
4949         reverse if draw_direction < 0.
4950         
4951         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4952         Double-clicks must be sent after the normal button_press.
4953         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
4954         
4955         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
4956         Pass _gdk_fb_screen_gc instead of NULL.
4957
4958         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
4959         Initialize gdk_selection_property.
4960         (gdk_event_make): Remove unused code.
4961
4962         * gdk/linux-fb/gdkcursor-fb.c:
4963         Make the pixmap for the cursor the same size as the mask. Also remove
4964         the mask_off_x/y fields in GdkCursorPrivateFB and combine
4965         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
4966         Now the whole cursor is visible.
4967
4968         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4969         Fix bug where xdest+height instead of ydest+height was used
4970         to calculate if the source and dest overlapped. This fixes the
4971         redraw bug when the main window in testgtk was scrolled when
4972         partially covered by a tall window.
4973         Copy rectangles in region in order depending on draw_direction.
4974         Also moved the draw_direction flipping of start_y and end_y into
4975         the gc functions, as this might not be what all of them want.
4976         (gdk_fb_draw_lines): Support dashed lines.
4977         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
4978         so that the text is positioned correctly (was 1 pixel high).
4979
4980         gdk/linux-fb/gdkgc-fb.c:
4981         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
4982         all lines were drawn a pixel to short. Also checked the default of
4983         the rest of the values, and they're the same as X now.
4984
4985         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
4986         Clean up pixel positioning of the glyphs. Just use bgy->top and
4987         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
4988         to all divisions to get correct rounding behaviour.
4989
4990         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
4991         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
4992         Moved start_y/end_y flip into draw_drawable implementations.
4993         Flip also x rendering when draw_direction < 0.
4994         Remove unneccesary multiply with draw_direction.
4995
4996 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
4997
4998         * docs/tutorial/gtk-tut.sgml:
4999           - get rid of gtk_toggle_button_toggled FUD
5000           - start DND section - needs work - based on:
5001                 http://wolfpack.twu.net/docs/gtkdnd/
5002
5003 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5004
5005         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5006         Correct calculation of font metrics. Now GtkEntrys have sane
5007         size.
5008
5009 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5010
5011         * gdk/gdktypes.h:
5012         Add new type GdkSpan
5013         
5014         * docs/reference/gdk/gdk-sections.txt,
5015         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
5016         gdk/gdkregion.h:
5017         Implement and document gdk_region_spans_intersect_foreach.
5018
5019         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
5020         Add new file gdkrender-fb.c which contains all core
5021         rendering code.
5022         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
5023         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
5024         (optimized rectangle fillers).
5025
5026         * gdk/linux-fb/gdkdrawable-fb2.c:
5027         Move all rendering code to gdkrender-fb.c.
5028         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
5029         Use the new span intersection functions in gdk_fb_fill_spans.
5030         gdk_fb_draw_rectangle() clips filled rectangles and calls
5031         gc->fill_rectangle with the result.
5032         gdk_fb_fill_spans() gets extra argument "sorted".
5033
5034         * gdk/linux-fb/gdkevents-fb.c:
5035         Remove unused includes and defines.
5036         New function gdk_fb_get_time() to get correct time for events.
5037
5038         * gdk/linux-fb/gdkinput-ps2.c:
5039         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
5040         Make sure to set the time of all events.
5041
5042         * gdk/linux-fb/gdkmain-fb.c:
5043         Use gdk_fb_get_time ().
5044
5045         * gdk/linux-fb/gdkprivate-fb.h:
5046         New virtual GC calls: fill_span & fill_rectangle.
5047         Export gdk_fb_get_time().
5048         gdk_fb_fill_spans() gets extra argument "sorted".
5049
5050         * gdk/linux-fb/mi*.c:
5051         Use GdkSpan instead of GdkRectangle.
5052         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
5053         from XFree 4 source)
5054         
5055 2000-11-22    <jrb@redhat.com>
5056
5057         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
5058         reversing the order in an if statement will do.  Doing so managed
5059         to make the treemodelsort half work.  Other half will follow after
5060         I get the insert function fully fixed.
5061
5062 2000-11-21  Elliot Lee  <sopwith@redhat.com>
5063         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
5064         more than 2 bits. Besides, I need to implement an evil hack. :)
5065
5066 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
5067
5068         * docs/tutorial/gtk-tut.sgml: minor corrections
5069
5070 2000-11-20  Jonathan Blandford <jrb@redhat.com>
5071         * gtk/gtktreemodelsort.h: Add convertion functions to let you
5072           convert to and from relative path's and iters.
5073
5074         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
5075           testing sorting functions a bit better.  Currently broken -- will
5076           fix in morning.
5077
5078 2000-11-20  Havoc Pennington  <hp@redhat.com>
5079
5080         * gtk/gtkwidget.c: Documented a bunch of functions in here
5081         (gtk_widget_realize): Warn if you try to realize
5082         a widget with no parent that isn't a toplevel
5083         (gtk_widget_intersect): return a gboolean
5084
5085 2000-11-20  Havoc Pennington  <hp@redhat.com>
5086
5087         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
5088         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
5089         scrolling to be implemented in GDK to finish. Also, right now
5090         we just size_allocate all children on every layout change,
5091         which is pretty lame. Test commented out of testtext.c, 
5092         until it works better.
5093
5094 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
5095
5096         * gdk/linux-fb/gdkdrawable-fb2.c:
5097         Removed unused arguments from gdk_fb_drawable_get_pixel().
5098
5099         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
5100         Renamed fidur specific mouse packet data in MouseDevice to
5101         generic. Used it in ps2 mouse handling code to avoid blocking
5102         reads.
5103
5104 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
5105
5106         * demos/gtk-demo/main.c: Changed to have the list become
5107         non-italic when the demo window is destroyed through an external
5108         event (like a close button).  Doing so found three bugs in the
5109         widget.
5110
5111         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
5112
5113         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
5114         we actually set the cell.
5115
5116         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
5117
5118         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
5119         free a leaked path.  Thanks memprof.
5120
5121 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
5122
5123         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
5124         off-by-one error when destroying allocated segments
5125         on failure. (Elliot)
5126
5127 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
5128
5129         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
5130         memleaks found by Evan Martin.
5131
5132 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
5133
5134         * Released 1.3.2
5135         
5136         * NEWS: Updates for 1.3.2
5137
5138 2000-11-17  Tor Lillqvist  <tml@iki.fi>
5139
5140         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
5141         but in general for window system specific events.
5142
5143         * gtk/gtk.def
5144         * gtk/makefile.mingw.in
5145         * gtk/makefile.msc.in: Update.
5146         
5147         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
5148
5149 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
5150
5151         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
5152         distribute gtk.immodules.
5153
5154         * gtk/Makefile.am (install-data-local): Don't install the
5155         gtk.immodules file created for the uninstalled modules;
5156         instead run gtk-query-immodules after install
5157
5158 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
5159
5160         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
5161         -rpath to the right install location.
5162
5163         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
5164         -export-dynamic.
5165
5166         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
5167         properly.
5168
5169 2000-11-15  Havoc Pennington  <hp@pobox.com>
5170
5171         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
5172         patch from Mikael Hermansson to temporarily stop blinking while
5173         the user is using the keyboard to type or navigate. 
5174
5175         Also, when blinking, stay on for longer than we stay off. Also,
5176         return from start_cursor_blink if !cursor_visible, to save
5177         checking that flag all over the place before we call
5178         start_cursor_blink.
5179
5180 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
5181
5182         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
5183         only contain a "fontset" line, which is now ignored.
5184
5185         * gtk/gtkentry.c (gtk_entry_button_release): Make 
5186         double-click-to-select-word work.
5187         
5188 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
5189
5190         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
5191         Don't move back one char when we are actually at the end of the 
5192         paragraph.
5193
5194 2000-11-15  Robert Brady  <robert@suse.co.uk>
5195
5196         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
5197         'o' < 'p'.
5198         
5199         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
5200         bind_textdomain_codeset.
5201
5202         (gtk_init_check): Make the warning about translating default:LTR
5203         sterner.
5204         
5205 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
5206
5207         * **/Makefile.am : remove unecessary rules for win32-specific
5208         config-substituted targets. If you want these rules, use
5209         --enable-maintainer-mode (called automatically by autogen.sh).
5210         Stops a lot of unneccessary make-time warnings.
5211
5212         * gtk/gtktext{layout,display}.c: Factor in total width as
5213         well as screen when figuring alignment for word-wrap as well as
5214         no wrap; this is necessary to handle lines that cannot be wrapped
5215         at all.
5216
5217 2000-11-15  Havoc Pennington  <hp@redhat.com>
5218
5219         * gtk/testtext.c: Implement essential color cycling feature
5220
5221 2000-11-15  Havoc Pennington  <hp@redhat.com>
5222
5223         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
5224         when we invalidate the main window.
5225
5226         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
5227         GtkTextView will now invalidate the side windows for us when text
5228         changes.
5229
5230 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
5231
5232         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
5233         unconditionally, since we may need to update the horizontal
5234         scrollbars even if the height didn't change.
5235
5236         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
5237         the extra attrs, since some of them affect size.
5238
5239         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
5240         x_offset correctly.
5241
5242 2000-11-15  Havoc Pennington  <hp@redhat.com>
5243
5244         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
5245         don't move the first line out into the margin, instead move the
5246         whole paragraph in order to make space for the first line within 
5247         the margin
5248
5249 2000-11-15  Havoc Pennington  <hp@redhat.com>
5250
5251         * gtk/gtktextview.c (changed_handler): offset redraw rect by
5252         xoffset in addition to yoffset, so horizontal scrolling doesn't
5253         break redraws
5254
5255 2000-11-15  Havoc Pennington  <hp@redhat.com>
5256
5257         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
5258         from the cursor
5259         (render_layout_line): fix reversed test that caused weird
5260         underlines to get drawn
5261
5262 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5263
5264         * gdk/linux-fb/gdkprivate-fb.h:
5265         Fix debug macros.
5266         
5267 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5268
5269         * gdk/linux-fb/gdkprivate-fb.h:
5270         Added virtual functions set_pixel, get_color,
5271         fill_span and draw_drawable to the GC.
5272         Added global _gdk_fb_screen_gc to use instead of
5273         NULL when drawing to the screen.
5274         Added _gdk_fb_gc_calc_state() prototype.
5275
5276         * gdk/linux-fb/gdkgc-fb.c:
5277         Call _gdk_fb_gc_calc_state() on any gc state change.
5278
5279         * gdk/linux-fb/gdkglobals-fb.c:
5280         Add _gdk_fb_screen_gc
5281                 
5282         * gdk/linux-fb/gdkdrawable-fb2.c:
5283         _gdk_fb_gc_calc_state() calculates best functions
5284         for the GC state and depth.
5285         Moved bpp specialized code to separate functions.
5286         Added optimized 24 bpp AA draw_drawable.
5287
5288         * gdk/linux-fb/gdkevents-fb.c:
5289         Silence gcc warning.
5290
5291         * gdk/linux-fb/gdkimage-fb.c:
5292         Use _gdk_fb_screen_gc
5293
5294         * gdk/linux-fb/gdkwindow-fb.c:
5295         Init and use _gdk_fb_screen_gc
5296
5297         * gdk/linux-fb/mitypes.h:
5298         Remove unused types.
5299
5300 2000-11-14  Havoc Pennington  <hp@pobox.com>
5301
5302         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
5303         to pixels
5304
5305 2000-11-14  Havoc Pennington  <hp@pobox.com>
5306
5307         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
5308
5309         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
5310         unknown char, no real reason we were using a variable. 
5311         Remove gtk_text_unknown_char variable. Fix all the text widget
5312         files accordingly.
5313
5314         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
5315         since the Unicode spec seems to prefer that character for our
5316         purposes.
5317
5318 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
5319
5320         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
5321         value of g_getenv() isn't freeable, so g_strdup it.
5322
5323         * modules/input/inuktitut.c: Inuktitut input method.
5324
5325         * modules/input/Makefile.am: Build this.
5326         
5327 2000-11-14  Elliot Lee  <sopwith@redhat.com>
5328
5329         * gtk/Makefile.am: Install gtk.immodules, needed for operation
5330         of gtk programs.
5331
5332 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
5333
5334         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
5335         reversed > that was causing Home to go to end of previous line.
5336
5337         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
5338         modified-keypresses (leave for bindings.)
5339
5340         * modules/input/Makefile.am: Remove useless -export-dynamic
5341         from module LDFLAGS.
5342
5343 2000-11-14  Havoc Pennington  <hp@redhat.com>
5344
5345         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
5346         higher.
5347
5348         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
5349         account. Also, render rise, underline, background, etc. for
5350         pixbufs as well as text. Also, draw underlines one pixel higher.
5351
5352         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
5353         PangoAttribute for the rise, so it gets drawn properly. Also,
5354         add the GtkTextAppearance attribute for pixbuf/widget segments
5355         as well; we should go ahead and have rise, underline, background,
5356         stipple work for those
5357
5358         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
5359         Pango
5360
5361 2000-11-15  Tor Lillqvist  <tml@iki.fi>
5362
5363         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
5364
5365         * gtk/gtk.def: Update.
5366
5367         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
5368         included.
5369         (gtk_rc_get_im_module_file): Use run-time installation directory
5370         on Win32.
5371
5372         * gdk/win32/rc/gdk.rc: Remove.
5373         * gdk/win32/rc/gdk.rc.in: New file.
5374         * gdk/win32/rc/Makefile.am: New file
5375         * gdk/win32/Makefile.am: Corresponding changes.
5376
5377         * gtk/gtk.rc: Remove.
5378         * gtk/gtk-win32.rc.in: New file.
5379         * gtk/Makefile.am: Corresponding changes.
5380
5381         * configure.in: Corresponding changes.
5382
5383         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
5384         has a built gtkcompat.h. Developers using CVS code on Win32 can
5385         hand-edit it from gtkcompat.h.in.
5386
5387         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
5388         gtkcompat.h from gtkcompat.h.win32.
5389
5390 2000-11-14  Havoc Pennington  <hp@redhat.com>
5391
5392         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
5393         to default to GDK_ACTION_MOVE if the drag is within a single
5394         widget. Defaults to GDK_ACTION_COPY between widgets.
5395
5396 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
5397
5398         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
5399
5400         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
5401
5402         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
5403         srcdir != builddir
5404
5405         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
5406
5407         * configure.in (GTK_VERSION): Up to 1.3.2
5408
5409         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
5410         gtkimcontextxim.h
5411
5412         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
5413         missing doc comment.
5414
5415 2000-11-14  Alexander Larsson  <alexl@redhat.com>
5416
5417         * modules/linux-fb/basic.c:
5418         Use the glib iconv wrappers.
5419
5420 2000-11-13  Havoc Pennington  <hp@pobox.com>
5421
5422         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
5423         still more bugs.
5424
5425         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
5426         scroll the GdkWindows before realization.
5427
5428 2000-11-13  Havoc Pennington  <hp@redhat.com>
5429
5430         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
5431         where GC didn't always get updated properly
5432
5433         * demos/gtk-demo/textview.c (create_tags): Use subattributes
5434         of fonts instead of setting the entire font
5435
5436         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
5437         setting entire font
5438
5439         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
5440
5441         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
5442         a bunch of individually-settable font attributes. You can still 
5443         use the "font" and "font_desc" args, they just set all the font
5444         attributes at once.
5445
5446 2000-11-13 Elliot Lee <sopwith@redhat.com>
5447
5448         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
5449
5450 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
5451
5452         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
5453         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
5454
5455         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
5456         work better.
5457
5458 2000-11-13  Havoc Pennington  <hp@redhat.com>
5459
5460         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
5461         the module file.
5462
5463         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
5464         dest->language
5465
5466         * gtk/testtext.c: Test pixels above/below/inside paragraphs
5467         settings
5468
5469         * gtk/gtktextview.c: Implement object args and setters/getters for
5470         all the aspects of the GtkTextAttributes that are not set from
5471         GtkWidget attributes. This is spacing, justification, margins,
5472         etc.
5473
5474         (gtk_text_view_set_arg)
5475         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
5476         args
5477         (gtk_text_view_class_init): Add args for justify, left_margin,
5478         right_margin, indent, and tabs
5479         
5480
5481         * gtk/gtktextlayout.c (set_para_values): fix to display indent
5482         attribute properly
5483
5484         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
5485         replace with indent attribute
5486
5487         * gtk/gtktextlayout.c (set_para_values): multiply indent by
5488         PANGO_SCALE
5489
5490         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
5491         rearranging code to do that
5492         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
5493         i.e. don't subtract the top_margin first, just to keep
5494         all margin-futzing in one place.
5495
5496         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
5497
5498         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
5499         special case of last line, Pango now handles this itself.
5500         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
5501         Y coordinate
5502         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
5503         (find_display_line_above): wasn't moving the byte index as it
5504         iterated over lines, so always returned byte 0. Also, port to use
5505         PangoLayoutIter.
5506         (find_display_line_below): same problem as
5507         find_display_line_above. Also, port to use PangoLayoutIter.
5508
5509 2000-11-13  Alexander Larsson  <alexl@redhat.com>
5510
5511         * gdk/linux-fb/*.[ch]:
5512         Massive reindent to gtk+ standard. My hands hurt.
5513
5514         * gdk/linux-fb/gdkcolor-fb.c:
5515         Move GdkColorPrivateFB from inherited to windowing_data
5516
5517         * gdk/linux-fb/gdkcursor-fb.c:
5518         _gdk_cursor_new_from_pixmap made static
5519
5520         * gdk/linux-fb/gdkdnd-fb.c:
5521         GdkDragContextPrivate moved to windowing_data
5522
5523         * gdk/linux-fb/gdkdrawable-fb2.c:
5524         Removed endian.h, use glib endianness macros instead
5525         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
5526         and GDK_DRAWABLE_IMPL_FBDATA
5527
5528         * gdk/linux-fb/gdkfont-fb.c:
5529         Add empty gdk_font_load(). Needed for linking of Gtk+.
5530
5531         * gdk/linux-fb/gdkimage-fb.c:
5532         Removed endian.h, use glib endianness macros instead
5533         Moved GdkImagePrivateFB to windowing_data
5534         gdk_image_new_bitmap didn't always allocate enough
5535         memory.
5536
5537         * gdk/linux-fb/gdkinput-ps2.c:
5538         Added semi-working support for MS serial mice.
5539
5540         * gdk/linux-fb/gdkprivate-fb.h:
5541         s/GdkWindowPrivate/GdkWindowObject/
5542         Removed GdkWindowPrivate typedef
5543         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
5544         Removed GDK_DRAWABLE_P
5545         Move GdkColorPrivateFB from inherited to windowing_data
5546         Moved GdkImagePrivateFB to windowing_data
5547
5548         * gdk/linux-fb/gdkvisual-fb.c:
5549         Removed some unused debug code.
5550
5551         * gdk/linux-fb/gdkwindow-fb.c:
5552         Use stock cursors instead of including X headers.
5553         s/GdkWindowPrivate/GdkWindowObject/
5554
5555         * gdk/linux-fb/mitypes.h:
5556         Removed unused types.
5557
5558         * modules/linux-fb/basic.c:
5559         Use the pango fribidi wrappers.
5560
5561 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5562
5563         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
5564         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
5565         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
5566         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
5567         GEqualFunc where applicable.
5568         
5569         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
5570         pango_font_description_equal as changed in pango.
5571         
5572         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
5573
5574         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
5575
5576         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
5577
5578         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
5579
5580         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
5581
5582         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
5583
5584         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
5585         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
5586
5587         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
5588         gtk_rc_styles_compare -> gtk_rc_styles_equal.
5589
5590 2000-11-12  Havoc Pennington  <hp@pobox.com>
5591
5592         * demos/gtk-demo/Makefile.am (democodedir): change demo install
5593         dir to datadir/gtk+-2.0/demo
5594
5595         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
5596         sorts of text widget and Pango font bugs. Urgh.
5597
5598         * demos/gtk-demo/Makefile.am (demos): Add textview.c
5599
5600         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
5601         tree that you should double click to see the demo. Fix 
5602         types of variables to reflect changed return values from 
5603         GtkTreeStore and GtkTreeViewColumn constructors.
5604
5605         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
5606         newly-created buffer to prepare for GObject semantics
5607
5608         * gtk/testtext.c: don't leak the buffer with GObject semantics
5609
5610         * gtk/testtextbuffer.c: ditto
5611         
5612 2000-11-12  Havoc Pennington  <hp@pobox.com>
5613
5614         Rename this testgtk to gtk-demo to avoid confusion, and 
5615         install it so people can use it as a supplement to 
5616         the documentation.
5617         
5618         * demos/gtk-demo: Moved from demos/testgtk
5619
5620         * demos/testgtk: Removed
5621
5622         * configure.in: make Makefile in gtk-demo
5623         
5624         * demos/gtk-demo/Makefile.am: Install sample source to 
5625         datadir/gtk-demo (maybe there's a better place?), and 
5626         rename the binary to gtk-demo
5627         
5628         * demos/gtk-demo/main.c (load_file): Load installed sample
5629         source if source isn't found in pwd.
5630
5631 2000-11-09  Havoc Pennington  <hp@pobox.com>
5632
5633         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
5634         argument to set the char displayed when visibility == FALSE
5635         (gtk_entry_create_layout): If !entry->visible, replace 
5636         all chars with the "invisible char"
5637
5638         * gtk/testgtk.c: Test the invisible_char deal
5639         
5640 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
5641
5642         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
5643         can't get a native font in the right encoding.
5644
5645 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
5646
5647         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
5648         respectively.
5649
5650 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
5651
5652         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
5653         Fix warning when moving between paragraphs.
5654
5655         * gtk/gtkentry.[ch]: Change move => move_cursor, 
5656         delete => delete_from_cursor, insert => insert_at_cursor
5657
5658 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
5659
5660         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
5661
5662         * modules/input/imthai-broken.c: A Thai input method for use if
5663         Thai keys are really generating Latin1 keysyms.
5664
5665         * modules/input/Makefile.am: Build these.
5666
5667 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
5668
5669         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
5670         g_filename_{to,from}_utf8 now takes an extra parameter.
5671
5672         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
5673         strftime into UTF-8.
5674
5675         (column_from_x, gtk_calendar_paint_day_names): Support RTL
5676         calendars.
5677
5678         (gtk_calendar_paint_day_names): Draw day names in the right 
5679         place.
5680         
5681 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
5682
5683         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
5684         problem with using result of g_get_charset() backwards -
5685         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
5686
5687         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
5688         negative min_width/height and max_width/height to
5689         mean "requisition"; this allows setting a window
5690         to be user-resizable in only one direction easily.
5691
5692         * gtk/testgtk.c (create_main_window): Remove hard-coded
5693         usize - set a default size in the vertical direction.
5694
5695 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
5696
5697         * gtk/gtkrange.c: Add some missing casts. Support 
5698         2 and 3 button clicks on the arrows to mean 
5699         "move by pages" and "jump to end". (Like gtkspinbutton)
5700
5701 2000-11-12 Hans Breuer <Hans@Breuer.Org>
5702
5703         * gdk/win32/makefile.msc : reflect build module changes
5704
5705         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
5706         from GdkPixmap*, cast implementation member instead.
5707
5708         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
5709         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
5710         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
5711         more Gdi functions return value checking. 
5712         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
5713         GdkImagePrivateWin32 *.
5714
5715         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
5716         menus useable again. Add #pragma message to keep reminded on this issue.
5717         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
5718         windows. This allows to enable backing store on Win32!
5719
5720         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
5721         in drawable is of impl type. Correct specific type checks appropriate.
5722  
5723         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
5724         GDK_WINDOW_DESTROYED before allocating new resources.
5725
5726         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
5727
5728         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
5729         (gdk_window_foreign_new) initialize parent handle.
5730         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
5731
5732         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
5733         Let the GDI invalidate the window on MoveWindow call to fix scrolling
5734         problems (e.g. main buttons in testgtk). 
5735
5736 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
5737
5738         * gtk/gtkentry.c (gtk_entry_key_press): Call 
5739         gtk_widget_activate for GDK_Return.
5740
5741         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
5742         of preedit cursor position.
5743
5744 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
5745
5746         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
5747         static.
5748
5749 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
5750
5751         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
5752         out support for multiple locales; that simple doesn't
5753         work reliably with current Xlib
5754
5755         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
5756         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
5757         Add support for positioning the cursor within the preedit string.
5758
5759 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
5760
5761         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
5762         at XIM input method module.
5763
5764         * gtk/gtktextview.c: Check for bindings after passing
5765         events to im context filter.
5766
5767 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
5768
5769         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
5770         empty attribute lists properly.
5771
5772 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
5773
5774         * gtk/queryimmodules.c (main): Return non-zero exit
5775         status if errors were encountered querying any
5776         modules.
5777
5778         * modules/input/Makefile.am (moduledir): remove
5779         leftover bin program target.
5780
5781         * docs/make-todo: Fix typo in error message.
5782
5783 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
5784
5785         * configure.in: Add modules/input/Makefile
5786
5787 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
5788
5789         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
5790         don't include gtkthemes.h.
5791
5792         * gtk/testgtk.c gtk/testtext.c: Set environment variables
5793         to point
5794
5795         * gtk/Makefile.am: Add new .c and .h files, build 
5796         gtk-query-immodules and use it to create a gtk.immodules
5797         file for use of test programs.
5798
5799         * gtk/gtkpreview.c: remove extra blank line.
5800
5801 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
5802
5803         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
5804         Add the ability to add extra tables beyond the default
5805         one, and also the ability to have compose sequences 
5806         that are prefixes of other compose sequences. 
5807
5808         * gtk/gtkimcontextsimple.c: Export a preedit string which
5809         consists of possible candidates for keystrokes that have
5810         been entered but not yet committed.
5811
5812         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
5813         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
5814
5815         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
5816         Add a function to add input-method switching menu items
5817         to a menu.
5818
5819         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
5820         when switching input methods.
5821
5822         * gtk/gtkimcontextsimple.[ch]: Change the format of
5823         the compose table to allow compose tables of different
5824         lengths / sequence.
5825
5826 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
5827
5828         * gtk/gtkimmodule.[ch]: Support routines for loading
5829         GtkIMContext implementations dynamically at runtime.
5830
5831         * modules/input/imcyrillic-translit.c: A sample input
5832         method (based on GtkIMContextSimple with an extra table),
5833         which demonstrates preedit strings and the module
5834         system for input modules
5835
5836         * gtk/queryimmodules.c: Program to query the available
5837         input modules and write the results into a file.
5838          
5839         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
5840         extra config options "im_module_file" (cache file for
5841         input method modules), and "im_module_path" - path
5842         to look for modules when generating cache file.
5843
5844         This doesn't scale.
5845
5846 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
5847
5848         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
5849         generic code from gtkthemes into a new abstraction
5850         GtkModule which has the logic for implementing
5851         a loadable module which implements a number of 
5852         GObject types.
5853
5854 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
5855
5856         * gtk/gtkeditable.[ch]: Convert GtkEditable from
5857         a class into an interface  
5858         
5859         * gtk/gtkoldeditable.[ch]: Move the old editable
5860         implementation into here, so legacy widgets can
5861         still rely on the implemenation. GtkOldEditable
5862         exports GtkEditable. Make selection handling
5863         code use new text conversion functions (and
5864         handle UTF-8 as a side-effect). Use GtkClipboard
5865         for CLIPBOARD.
5866
5867         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
5868         Adopt to match above changes.
5869
5870         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
5871         avoid GtkOldEditable implementation. Restructure
5872         to reduce number of places that modify state directly.
5873         Move to GtkBindingSet. Display the preedit string.
5874         Queue recomputation of PangoLayout and scroll position
5875         to improve effiency of doing complex changes naively.
5876         Add a menu with cut/copy/paste and input method selection.
5877
5878 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
5879
5880         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
5881         to set preedit string and attributes; display preedit string by
5882         inserting string and attributes at cursor when creating the
5883         GtkTextLineDisplay.
5884
5885         * gtk/gtktextlayout.c: Move all conversions between byte
5886         positions in PangoLayout and GtkTextIter into new functions
5887         line_display_iter_to_index/index_to_iter that properly
5888         handle the preedit string.
5889
5890         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
5891         it to return const char * (eventually will end up
5892         as GCONST char *, most likely.)
5893
5894         * gtk/gtktextview.[ch]: Handle the preedit string, call
5895         gtk_im_context_reset() as necessary, add a menu to switch
5896         input methods.
5897         
5898         * gtk/gtktextlayout.[ch]: Remove useless
5899         gtk_text_layout_get_log_attrs() function.
5900
5901 2000-11-11  Tor Lillqvist  <tml@iki.fi>
5902
5903         * gdk/gdk.def
5904         * gtk/gtk.def: Update.
5905
5906         * gdk/win32/*.c: Add last argument to g_type_register_static()
5907         calls.
5908
5909         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
5910
5911         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
5912         generated by older wheel mouse drivers. Get the correct y
5913         coordinate from WM_MOUSEWHEEL messages.
5914
5915         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
5916         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
5917         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
5918         Debugging functions.
5919
5920         * gdk/win32/gdkprivate-win32.h: Declare them.
5921
5922         * gdk/win32/gdkinput-win32.h: Add declaration for
5923         gdk_input_window_destroy().
5924
5925         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
5926
5927 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
5928
5929         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
5930         function to help handle keeping things in sync.
5931
5932 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
5933
5934         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
5935         BOXED marshallers.
5936
5937         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
5938         (gtk_list_store_class_init): use the new BOXED marshallers.
5939
5940         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
5941         new_with_values to new_with_types.
5942         (gtk_tree_store_get_column_type): add this.
5943         (gtk_tree_store_class_init): use the new BOXED marshallers.
5944
5945         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
5946         mirror some POINTER marshallers.
5947
5948 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
5949
5950         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
5951         allow more interesting iterators.  Also, made the lifecycle of
5952         iterators more explicit.
5953
5954         * gtk/gtktreemodelsort.[ch]: New model for sorting.
5955
5956         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
5957         types.
5958
5959 2000-11-09  Alexander Larsson  <alexl@redhat.com>
5960
5961         * demos/testgtk/menus.c:
5962         Changes to make the new testgtk compile after
5963         gtk_menu_append was removed.
5964
5965         * gdk/linux-fb/gdkdrawable-fb2.c
5966         (gdk_fb_get_depth, gdk_fb_get_visual,
5967         gdk_drawable_impl_fb_class_init): Implement
5968         these drawable functions. Now GtkImages work again.
5969
5970         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
5971
5972         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
5973         
5974         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
5975         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
5976         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
5977         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
5978
5979 2000-11-08  Havoc Pennington  <hp@pobox.com>
5980
5981         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
5982         visible_set args, don't know where these had gone, I thought they
5983         used to be there
5984
5985         * gtk/testtext.c: Add a menu item to apply invisibility tag;
5986         now we can test the feature and see that it's totally broken.
5987
5988 2000-11-08  Havoc Pennington  <hp@pobox.com>
5989
5990         Make DND copy pixbufs and tags when source and target share a 
5991         tag table.
5992         
5993         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
5994         in-process GTK_TEXT_BUFFER_CONTENTS target
5995         (gtk_text_view_drag_data_received): Paste from
5996         GTK_TEXT_BUFFER_CONTENTS if we receive it.
5997
5998 2000-11-08  Alexander Larsson  <alexl@redhat.com>
5999
6000         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
6001         API changes.
6002
6003         * gtk/gtkmenu.c: Add support for scrolling menus.
6004         Remove gtk_menu_append/prepend/insert, these have been moved to
6005         gtkcompat.h as #defines.
6006
6007         * gtk/gtkcompat.h.in:
6008         Add compatibility #defines for gtk_menu_append/prepend/insert
6009
6010         * gtk/gtkmenu.h: Add data needed for scrolling menus.
6011         GtkMenuPositionFunc gets an extra argument push_in.
6012         gtk_menu_append/prepend/insert removed.
6013         
6014         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
6015         positioning behaviour to fit to scrolling menus.
6016
6017         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
6018         into menuitem->submeny. That is wrong, and broke torn
6019         off submenus of torn off menus, since they were unrealized
6020         when the first menu was unrealized.
6021
6022         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
6023         gtk_menu_shell_select_item() since these need to be overridden in
6024         GtkMenu.
6025
6026         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
6027         positioning behaviour to fit to scrolling menus.
6028         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
6029         the current item so that it is prelighted when the menu pops up.
6030         This is a workaround to the fact that the menu doesn't get the
6031         initial enter event (due to grabs).
6032
6033         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
6034         s/gtk_menu_append/gtk_menu_shell_append/
6035
6036         * gtk/gtknotebook.c:
6037         s/gtk_menu_insert/gtk_menu_shell_insert/
6038
6039         * gtk/testgtk.c (create_menu, create_menus):
6040         Create the first menu with 50 items so that menu scrolling
6041         can be tested.
6042         
6043         
6044         Patch from Jonathan Blandford  <jrb@redhat.com>
6045
6046         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
6047         system to handle size requests.  First, we ask what the size of
6048         the toggle is.  Then, when allocating the size, we allocate the
6049         toggle_size first.  This way we can have multiple menu-item
6050         classes w/o needing a seperate class for each.
6051
6052         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
6053         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
6054
6055         * gtk/gtkcheckmenuitem.c
6056         (gtk_check_menu_item_toggle_size_request): New function to handle
6057         the toggle size-request.
6058
6059 2000-11-07  Havoc Pennington  <hp@redhat.com>
6060
6061         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
6062         Half-ass somewhat fix this function, so that scrolling to the
6063         insertion point works. Pango hacking is in the future to really
6064         fix it.
6065
6066         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
6067         length of data, no longer used.
6068
6069         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
6070         method contents in here, get rid of destroy method
6071         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
6072         that were backward. Remove debug spew.
6073         (cut_or_copy): Make the clipboard work with insert_range to
6074         preserve tags and pixbufs, not just the primary selection.
6075
6076 2000-11-07  Havoc Pennington  <hp@redhat.com>
6077
6078         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
6079         to gtk_text_mark_get_visible
6080
6081         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
6082         bug that was generating an invalid iterator
6083
6084         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
6085         ensure_char_offsets() in front of code placing the iter in an
6086         invalid state.
6087
6088         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
6089         make override_location arg const
6090         (paste): Replace the selection if we paste into the 
6091         current selection
6092
6093         * gtk/gtkselection.h: Remove "GtkSelectioData"
6094         (struct _GtkSelectionData): move the definition here.
6095
6096         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
6097         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
6098
6099         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
6100
6101         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
6102         (gtk_text_buffer_insert_range_interactive): implement
6103         (gtk_text_buffer_get_tags): Remove, replaced by
6104         gtk_text_iter_get_tags()
6105
6106         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
6107         limit parameter, to avoid infinite linear scan.
6108         (gtk_text_iter_backward_search): Add search limit
6109         (gtk_text_iter_forward_find_char): Add search limit
6110         (gtk_text_iter_backward_find_char): Add search limit
6111
6112 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
6113
6114         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6115         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
6116         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
6117         gdk/linux-fb/gdkwindow-fb.c:
6118         use g_object_new() instead of g_type_create_instance() which
6119         is a private function for fundamental type implementations.
6120
6121         * gdk/linux-fb/gdkinput-ps2.c:
6122         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
6123         instead just store the current modifier state. Add a (somewhat broken)
6124         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
6125         Rename exported function gdk_input_ps2_get_mouseinfo to
6126         gdk_input_get_mouseinfo.
6127
6128         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
6129         gdk/linux-fb/gdkwindow-fb.c:
6130         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
6131         
6132
6133 2000-11-02  Havoc Pennington  <hp@redhat.com>
6134
6135         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
6136         use stock buttons. Should be 100% source compatible, appropriate
6137         filesel fields now point to dialog->vbox and dialog->action_area.
6138         On the bizarre side, dialog->action_area and filesel->action_area
6139         are not the same widget.
6140         (gtk_file_selection_init): Put some padding around the selection
6141         entry, so it isn't touching the GtkDialog separator.    
6142
6143         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
6144         use stock buttons, etc. Should also be source compatible.
6145         Set the dialog default title in _init not _new().
6146         
6147         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
6148         Use stock buttons; don't put a button box inside the existing
6149         dialog button box. Don't bother with push/pop colormap anymore.
6150
6151         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
6152         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
6153         for message dialog, and necessary for the font selection and color
6154         selection with help and apply buttons.
6155         
6156         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
6157         to the created button widget. Set GTK_CAN_DEFAULT on the button.
6158         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
6159         between buttons, put less padding around the action area.
6160         (gtk_dialog_run): Exit on unmap rather than on destroy. 
6161         This will also exit the loop if the widget is hidden.
6162         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
6163         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
6164         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
6165         special-case delete event.
6166
6167         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
6168         formatting
6169         
6170 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
6171
6172         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
6173         button to temporarily disable position recording in the
6174         "saved position" test.
6175
6176 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
6177
6178         * gtk/gtkthemes.c: added compat code that temporarily implements
6179         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
6180         going to be revamped by owen's upcoming GtkModule patches, but
6181         untill then people want gtk to build, right? ;)
6182
6183 2000-11-04  Havoc Pennington  <hp@pobox.com>
6184
6185         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
6186         list
6187
6188         * docs/Changes-2.0.txt: Add note about
6189         gtk_container_get_toplevels()
6190
6191         * gtk/gtktextview.h: formatting
6192         
6193         * gtk/gtktextview.c: don't start descriptions with "Returns",
6194         confuses gtk-doc
6195
6196 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
6197
6198         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
6199         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
6200
6201 2000-11-03  Havoc Pennington  <hp@redhat.com>
6202
6203         * gtk/gtktexttagtable.c: Docs
6204         (gtk_text_tag_table_size): return a signed int
6205
6206         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
6207         (gtk_text_tag_event): make the event_object a GObject
6208
6209         * gtk/gtktextview.c: Write API docs for all functions.
6210
6211         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
6212         for gtk_text_view_get_window_type() called on one of the private
6213         windows.
6214
6215         * gtk/gtktextview.c: Instead of accessing text_view->buffer
6216         directly, call get_buffer() which demand-creates a default
6217         buffer. So gtk_text_view_new() can be used to create a view with a
6218         default buffer in it, if you just want an empty text box users can
6219         put data in. Useful for GUI builders also.
6220
6221 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
6222
6223         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
6224         the charset encodign portion MUST be in lowercase.
6225         * gtk/gtkrc.az: added file for Azeri language
6226
6227 2000-11-03  Havoc Pennington  <hp@redhat.com>
6228
6229         Get widgets working on the btree/buffer side. Display of them 
6230         still doesn't work.
6231         
6232         * gtk/gtktextview.c: start implementing child widget stuff
6233
6234         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
6235
6236         * gtk/gtktextlayout.c: handle embedded widgets
6237
6238         * gtk/gtktextdisplay.c: handle embedded widgets
6239
6240         * gtk/gtktextchild.c: Implement all the child anchor goo
6241
6242         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
6243         function
6244
6245         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
6246         (insert_pixbuf_or_widget_segment): abstract out common portions of 
6247         creating a child anchor or a pixbuf segment.
6248         (gtk_text_btree_create_child_anchor): new function
6249         (gtk_text_btree_unregister_child_anchor): new function
6250
6251         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
6252         allocate_child signal on GtkTextLayout
6253
6254         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
6255         values
6256         (gtk_text_iter_get_child_anchor): new function
6257
6258         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
6259         default handler for the changed signal, which calls
6260         gtk_text_buffer_set_modified(), instead of just always emitting
6261         changed then calling set_modified() manually. I guess this is
6262         maybe more flexible. It seems logical.
6263
6264 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
6265
6266         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
6267         now.
6268
6269         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
6270
6271 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
6272
6273         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
6274         been marked static.
6275
6276 2000-11-02  Havoc Pennington  <hp@redhat.com>
6277
6278         * gtk/testgtk.c (create_labels): had a test backward
6279
6280         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
6281         fields, so the dest GC ends up with the correct clip origin, 
6282         etc. Fixes a bug where colored labels didn't redraw 
6283         properly.
6284
6285 2000-11-02  Alexander Larsson  <alexl@redhat.com>
6286
6287         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6288         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
6289         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
6290         Add last argument to t_type_register_static call.
6291         
6292         * gdk/linux-fb/gdkdrawable-fb2.c:
6293         Add last argument to t_type_register_static call.
6294         export the get_image drawable virtual function.
6295
6296         * gdk/linux-fb/gdkimage-fb.c:
6297         Add last argument to t_type_register_static call.
6298         rename gtk_image_get to _gdk_fb_get_image and
6299         export it for use by gdkdrawable-fb2.
6300
6301         * gdk/linux-fb/gdkprivate-fb.h:
6302         export _gdk_fb_get_image.
6303
6304         * gdk/linux-fb/gdkselection-fb.c:
6305         Add new api call stubs.
6306
6307         * gtk/Makefile.am:
6308         Missing ( in linux-fb part.
6309
6310         * modules/linux-fb/Makefile.am:
6311         Must link with gdk_pixbuf or get unresolved symbol.
6312
6313 2000-11-01  Havoc Pennington  <hp@pobox.com>
6314
6315         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
6316         GTK_TYPE_TEXT_ITER and BOXED marshallers
6317
6318         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
6319
6320         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
6321         
6322         * gtk/gtk-boxed.defs: add GtkTextIter
6323
6324         * gtk/gtkmarshal.list: Add marshallers for text widget that 
6325         properly use OBJECT and BOXED
6326
6327 2000-11-01  Havoc Pennington  <hp@redhat.com>
6328
6329         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
6330
6331         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
6332         before returning it. 
6333         
6334 2000-11-01  Havoc Pennington  <hp@redhat.com>
6335
6336         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6337         Clip the rectangle to be rendered to the drawable, since
6338         get_from_drawable() requires a region within the drawable
6339
6340 2000-11-01  Havoc Pennington  <hp@redhat.com>
6341
6342         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
6343         from coordinates.
6344
6345 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
6346
6347         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
6348         it isn't NULL.
6349
6350 2000-11-01  Havoc Pennington  <hp@pobox.com>
6351
6352         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
6353         on a label
6354         (gtk_label_finalize): unref the attr list if any.
6355
6356         * gtk/testgtk.c (create_get_image): close test on second click
6357         (make_message_dialog): close dialog if it exists
6358
6359         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
6360
6361         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
6362         gdk-pixbuf
6363
6364         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
6365         from Pango markup format
6366         (gtk_label_set_markup_with_accel): ditto but with accelerator
6367         parsing
6368
6369         * gtk/gtkimage.c (gtk_image_expose): reformatting.
6370
6371         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
6372         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
6373         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
6374         call gdk_window_get_origin().
6375
6376         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6377         implement GDK_PIXBUF_ALPHA_FULL
6378         
6379 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
6380
6381         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
6382         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
6383         g_signal_handlers_disconnect_matched to block/unblock and disconnect
6384         multiple handlers respectively, instead of only treating the
6385         first handler found (bug reported by owen).
6386
6387 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
6388
6389         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
6390
6391         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
6392
6393         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
6394         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
6395         gtk/gtktreeviewcolumn.h: Fixed inline docs.
6396
6397         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
6398         widget.  Needs writing someday.
6399
6400         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
6401         the docs.
6402
6403 2000-10-30  Havoc Pennington  <hp@redhat.com>
6404
6405         * gtk/gtktextview.h, gtk/gtktextview.c:
6406         Rename delete_at_cursor delete_from_cursor, and 
6407         move to move_cursor.
6408
6409 2000-10-30  Havoc Pennington  <hp@redhat.com>
6410
6411         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
6412         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
6413         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
6414         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
6415         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
6416         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
6417         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
6418         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
6419         gtktexttypes.h, gtktextview.c, gtktextview.h:
6420
6421         Massive reindentation and reformatting. Arg alignment and comments
6422         still need fixing in various places.
6423
6424 2000-10-30  Havoc Pennington  <hp@redhat.com>
6425
6426         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
6427         to be named insert_at_cursor and delete_at_cursor so C++ can
6428         handle them.
6429
6430 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6431
6432         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
6433         to get a double directory separator in case the home directory
6434         ends with one. This would cause trouble especially on Windows,
6435         where the path will be confused with the syntax for an an UNC
6436         (network share) path \\server\share\path.
6437         (gtk_rc_add_initial_default_files): Ditto.
6438
6439 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
6440
6441         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
6442
6443         * gtk/gtktextview.c: Use correct marshallers.
6444
6445 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
6446
6447         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
6448         use new iter stuff, and added all the appropriate signals et al.
6449
6450         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
6451         code is internal to gtk only.
6452
6453 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6454
6455         * gtk/gtk.def
6456         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
6457         glib-genmarshal etc.
6458
6459 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
6460
6461         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
6462         parallel builds.
6463
6464 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
6465
6466         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
6467
6468 2000-10-27  Robert Brady  <robert@suse.co.uk>
6469
6470         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
6471         en_GB (British), ia (Interlingua).
6472
6473 2000-10-26  Havoc Pennington  <hp@redhat.com>
6474
6475         * gtk/gtktextiter.c (my_strrstr): fix constness warning
6476
6477         Fixed output of:
6478         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
6479         
6480         * gtk/gtktextsegment.c (char_segment_new): rename
6481         (_char_segment_new_from_two_strings): rename
6482         (_toggle_segment_new): rename
6483         
6484         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
6485         (make_clipboard_widget): make it static
6486         (text_get_func): static
6487         (text_clear_func): static
6488
6489         * gtk/gtkcolorsel.c (adjustment_changed): make this function
6490         static
6491         (hex_changed): make it static
6492         (hsv_changed): make it static
6493         (opacity_entry_changed): make it static
6494
6495         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
6496         (toggle_segment_check_func): rename with _gtk
6497
6498         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
6499         (_widget_segment_new): rename
6500         (_widget_segment_add): rename
6501         (_widget_segment_remove): rename
6502         (_widget_segment_ref): rename
6503         (_widget_segment_unref): rename
6504
6505         * gtk/gtktextmark.c (_mark_segment_new): Rename
6506         _gtk_mark_segment_new   
6507
6508 2000-10-26  Havoc Pennington  <hp@redhat.com>
6509
6510         * gtk/gtkmarshal.list: add new marshallers used by the text widget
6511         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6512         types
6513
6514         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
6515         marshaller types
6516
6517         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
6518         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
6519         license on these files.
6520
6521         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
6522         work.
6523
6524         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
6525         runtime random number different for each tree, instead of 
6526         a constant I made up.
6527
6528 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
6529
6530         * gtk/Makefile.am: buncha cleanups, kludged build sources
6531         dependencies with a Makefile: oldest-source-stamp dependancy
6532         for the moment. automake is really fighting us here, with
6533         intentionally not allowing user-defined rules or dependancies
6534         prior to it's -include $(DEP_FILES) statement. sucks rocks!
6535
6536         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
6537         to public headers. tehy have a comment stating that they are
6538         "semi-public" aren't included by gtk.h and if enums popup there,
6539         they can be /*< skip >*/-ed.
6540
6541         * gtk/gtktextlayout.h: 
6542         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
6543         added LGPL... <SIGH>
6544
6545 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
6546
6547         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
6548         GtkTreeIter.  Added iterators everywhere.
6549
6550         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
6551
6552         * gtk/gtktreeviewselection.c: Changed to use the iterators.
6553
6554         * gtk/gtktreestore.c: Changed to use the iterators.
6555
6556         * gtk/gtkliststore.c: Commented out the code.  Will convert to
6557         iterators tomorrow.
6558
6559         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
6560         iterators tomorrow.
6561
6562         * gtk/treestoretest.c: Changed to use iterators.
6563
6564         * demos/testgtk/main.c: Moved to use the new iterator system.
6565
6566 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
6567
6568         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
6569         localization misbehaviour.
6570
6571         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
6572         a useless type without copy/free.
6573
6574         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
6575         of GTK_TYPE_CTREE_NODE.
6576
6577 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
6578
6579         * gtk/gtksignal.c:
6580         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
6581         applicable.
6582
6583         * gtk/gtk-boxed.defs (GtkSelectionData): specify
6584         gtk_selection_data_copy and gtk_selection_data_free
6585         do GtkSelectionData work as params in signals.
6586
6587 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
6588
6589         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
6590         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
6591         couldn't they at least give it a non-standard name?
6592         
6593         * gtk/gtktextlayout.c: arg! yet another implementation of
6594         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
6595
6596         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
6597         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
6598         home. now i know this _is_ a conspiracy.
6599
6600         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
6601         ::state-changed.
6602
6603         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
6604         (gtk_accel_group_create_add): marshaller signature fixups.
6605
6606         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
6607         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
6608
6609         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
6610         anymore.
6611
6612 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
6613
6614         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
6615         due to the signal system changes, it wouldn't build currently. to
6616         be fixed soon.
6617
6618         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
6619
6620         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
6621         so it needs gtk_marshal_VOID__ENUM() instead of
6622         gtk_marshal_NONE__UINT().
6623
6624         * gdk/gdk*.c: adapted type registration functions.
6625
6626         * gtk/gtkbindings.c:
6627         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
6628         gone.
6629
6630         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
6631
6632         * gtk/gtkobject.c:
6633         (gtk_object_destroy):
6634         (gtk_object_shutdown): fixed recursion guards. basically we have to
6635         catch the case where any of GObject.shutdown() or gtk_object_destroy()
6636         is called during ::destroy, and avoid recursion there.
6637
6638         * gtk/gtktypeutils.c:
6639         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
6640         boxed_copy/boxed_free. this needs a more general solution based on a
6641         publically installed code-generator utility.
6642
6643         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
6644         glib's gobject has support for that now.
6645         define GtkSignalMarshaller in terms of GSignalCMarshaller.
6646
6647 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
6648
6649         * gtk/gtksignal.[hc]:
6650         * gtk/gtkmarshal.[hc]:
6651         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
6652         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
6653         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
6654         care of that.
6655
6656         * *.c: marshaller name fixups.
6657
6658         * gtk/gtkmarshal.list: added a comment briefing the format.
6659
6660 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
6661
6662         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
6663         compatibility macros here now. more specifically, most of
6664         the API is preserved (yes, _most_, nonwithstanding the
6665         following exceptions listed, the API is stil lHUGE ;)
6666         things that got removed completely:
6667         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
6668         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
6669         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
6670         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
6671         gtk_signal_remove_emission_hook().
6672         non-functional functions variants:
6673         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
6674         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
6675         not supported anymore.
6676         (gtk_signal_compat_matched): new internal function to aid
6677         implementation of the compatibility macros, it  provides
6678         functionality to block/unblock/disconnect handlers based
6679         on func/data.
6680
6681         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
6682
6683         * *.c: adaptions to new type registration API signatures.
6684
6685 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
6686
6687         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
6688
6689 2000-10-25  Robert Brady  <robert@suse.co.uk>
6690
6691         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
6692         gdk_property_delete): If window == NULL, assume the root window.
6693         (restoring the behaviour that was in 1.2).
6694         
6695         * gtk/testtext.c (save_buffer): Allow creation of new files when
6696         saving.
6697
6698         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
6699         calls to read().
6700
6701 2000-10-25  Tor Lillqvist  <tml@iki.fi>
6702
6703         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
6704
6705         * gdk/win32/gdkdrawable-win32.c
6706         * gdk/win32/gdkimage-win32.c
6707         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
6708         X11 backend.
6709
6710         * gdk/win32/gdkcc-win32.c
6711         * gdk/win32/gdkcolor-win32.c
6712         * gdk/win32/gdkfont-win32.c
6713         * gdk/win32/gdkinput-win32.c
6714         * gdk/win32/gdkmain-win32.c
6715         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
6716
6717 2000-10-24  Havoc Pennington  <hp@redhat.com>
6718
6719         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
6720         it a static function
6721
6722         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
6723         redraw text when a tag is applied to it.
6724
6725         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
6726         (gtk_text_tag_affects_nonsize_appearance): private functions to
6727         see if a tag requires various kinds of redraw/layout to be queued
6728         up.
6729
6730         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
6731
6732         * gtk/testtext.c (fill_example_buffer): Put the cursor 
6733         at the start of the buffer, so search works by default
6734
6735         * gtk/gtktextiter.c (lines_match): init match_start always
6736
6737         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
6738         function, get iter at a line + a byte index
6739
6740         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
6741         to set byte position within a line
6742         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
6743
6744 2000-10-23  Havoc Pennington  <hp@redhat.com>
6745
6746         * gtk/testtext.c: Re-enable the "find" dialog
6747
6748         * gtk/testgtk.c: Add test for gdk_drawable_get_image
6749         
6750         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
6751         the arguments to gdk_draw_drawable were in the wrong order
6752         (gdk_window_paint_init_bg): This function was ignoring the
6753         init_region, instead of clipping to it, so the entire backing
6754         pixmap was cleared on every begin_paint()
6755         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
6756         was in here again, the loop kept using the same GtkWindowPaint
6757         over and over.
6758         (gdk_window_begin_paint_region): Fix a bug where we had two
6759         x_offset instead of x_offset and y_offset
6760
6761         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
6762         before we get the image.
6763         (gdk_draw_drawable): get the composite before we draw the drawable.
6764         (gdk_drawable_real_get_composite_drawable): default
6765         get_composite_drawable implementation that returns the drawable 
6766         itself
6767
6768         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
6769         get_composite_drawable virtual function
6770
6771         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
6772         list-walking bug
6773
6774         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
6775         make this work if the source drawable is a GdkDrawableImplX11
6776         instead of a public drawable type. This is really broken; the
6777         problem is that GdkDrawable needs a virtual method get_xid(), but
6778         of course that doesn't work in practice. Enter RTTI.
6779
6780         Also, improve mismatched depth message.
6781
6782         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
6783         GdkPixmap
6784
6785         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
6786         install _gdk_x11_get_image as our implementation of get_image
6787         
6788         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
6789         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
6790
6791         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
6792         gdk_drawable_get_image
6793
6794         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
6795
6796         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
6797         get_image
6798
6799         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
6800         trailing semicolon after for loop
6801
6802 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
6803
6804         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
6805         where font_desc for widget's context lagged widget's font_desc by
6806         one step.
6807
6808 2000-10-22  Tor Lillqvist  <tml@iki.fi>
6809
6810         * gdk/win32/gdkgc-win32.c
6811         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
6812
6813         * gtk/makefile.mingw.in
6814         * gtk/gtk.def: Updates.
6815
6816         * gtk/testgtk.c: sleep() is called _sleep in MS's C
6817         library.
6818
6819         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
6820
6821         * gtk/makefile.msc: Remove
6822
6823         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
6824
6825         * gtk/Makefile.am: Add it.
6826
6827         * configure.in: Generate it.
6828
6829         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
6830         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
6831         something even if not implemented, to satisfy picky MSVC.
6832
6833         Patches by Hans Breuer:
6834         
6835         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
6836         SetBkMode() and SetTextAlign() before calling
6837         pango_win32_render().
6838
6839         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
6840         Set hcliprgn to NULL after destroying it.
6841         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
6842
6843         * gdk/win32/gdkgeometry-win32.c
6844         (_gdk_windowing_window_queue_antiexpose): More effective
6845         implementation.
6846
6847         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
6848         depth as default, not the visual's.
6849
6850         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
6851         against empty title.
6852
6853         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
6854         IMAGE_PRIVATE_DATA.
6855
6856         * gdk/win32/gdkimage-win32.c: Use it.
6857
6858 2000-10-22  Robert Brady  <robert@suse.co.uk>
6859
6860         * configure.in: Check for bind_textdomain_codeset
6861
6862         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
6863         present, make use of it.
6864
6865         Add a translatable string "default:LTR" which, if translated
6866         to "default:RTL", will cause the default direction to be
6867         Right-to-Left.
6868
6869         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
6870         direction if marked as flippable.
6871
6872         * gtk/gtkhscale.c: Mark widget as flippable.
6873         
6874 2000-10-04  Havoc Pennington  <hp@redhat.com>
6875
6876         * gtk/testgtk.c (create_buttons): create some stock buttons
6877         with the default accel group
6878         (create_image): test some new GtkImage features
6879         (make_message_dialog): test GtkMessageDialog
6880         (create_modal_window): fix someone's bizzarro indentation
6881
6882         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
6883         GTK_WIN_POS_CENTER_ON_PARENT. 
6884         Add "destroy with parent" setting, which means the window goes
6885         away with its transient parent.
6886         (gtk_window_get_default_accel_group): get the default accel group
6887         for the window.
6888         (gtk_window_set_destroy_with_parent): set/unset destroy with
6889         parent flag
6890         (gtk_window_read_rcfiles): invalidate icon set caches
6891         after reloading rcfiles 
6892
6893         * gtk/gtkenums.h (GtkWindowPosition): add
6894         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
6895         on its parent window when the dialog is mapped for the first time.
6896
6897         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
6898         a simple message dialog class
6899         
6900         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
6901         handler to emit response signal, and maybe later it would
6902         honor a hide_on_delete flag - though that isn't there yet.
6903         Set border width on the vbox to 2, so we get some padding.      
6904         Use a button box for the action area.
6905         (gtk_dialog_key_press): synthesize a delete event if Esc
6906         is pressed and the GtkWidget key press handler didn't 
6907         handle the escape key.
6908         (gtk_dialog_new_with_buttons): new function creates a dialog
6909         with some default buttons in it.
6910         (gtk_dialog_add_action_widget): add an activatable widget
6911         as a button in the dialog - you can also add a non-activatable
6912         widget by accessing the action area directly.
6913         (gtk_dialog_add_button): add a simple button - stock ID or 
6914         label - to the action area
6915         (gtk_dialog_response): emit response signal
6916         (gtk_dialog_run): block waiting for the dialog, return 
6917         the response. Override normal delete_event behavior, so that 
6918         delete_event does nothing inside gtk_dialog_run().
6919
6920         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
6921         emitted when an action widget is clicked or the dialog gets
6922         delete_event
6923
6924         * gtk/gtk.h: add gtkmessagedialog.h
6925
6926         * gtk/Makefile.am: add gtkmessagedialog.[hc]
6927
6928 2000-10-18  Havoc Pennington  <hp@redhat.com>
6929
6930         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
6931         where any number of empty lines would get skipped
6932
6933         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
6934         edge.
6935
6936         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
6937         warning about invalid iterators (explain more thoroughly)
6938         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
6939
6940         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
6941         big
6942
6943         * demos/*.c: Add error handling
6944
6945         * gtk/gtktextbuffer.c: don't modify const iterators
6946
6947         * gtk/gdk-pixbuf-loader.c: Add full error handling here
6948
6949         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
6950         on file load
6951
6952         * gtk/gtkiconfactory.c: Update to reflect addition of error
6953         handling to gdk-pixbuf loaders
6954
6955 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
6956
6957         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
6958         move to new modularized testgtk.
6959
6960 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
6961
6962         * gtk/gtktreeview.c: Draw the arrows correctly.
6963
6964         * gtk/gtktreemodel.c: Added user docs.
6965
6966         * gtk/gtk.h: remove gtktreedatalist.h.
6967
6968         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
6969         parent when generating my type.
6970
6971         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
6972         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
6973
6974 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6975
6976         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
6977         GtkTreeModel from object to interface.
6978
6979 2000-10-16  Havoc Pennington  <hp@redhat.com>
6980
6981         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
6982         compilation
6983
6984 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6985
6986         * gtk/gtktreeselection.c: Add API documentation to all public
6987         functions.
6988
6989         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
6990         functions.
6991
6992 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
6993
6994         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
6995         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
6996         docs to all public functions.
6997
6998         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
6999         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
7000         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
7001         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
7002         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
7003         issue.
7004
7005 2000-10-14  Robert Brady  <robert@suse.co.uk>
7006
7007         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
7008
7009 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
7010
7011         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
7012         values other then G_TYPE_STRING.
7013         * gtk/gtktreeselection.c: Minor commenting updates.
7014         * gtk/gtktreeview.c: Format updates.
7015
7016 2000-10-09  Tor Lillqvist  <tml@iki.fi>
7017
7018         * README.win32: Update.
7019
7020         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
7021         lines that had been deleted by mistake (?).
7022
7023         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
7024         also the case fg==white and bg==black (but still not randomly
7025         coloured cursors). Thanks to Wolfgang Sourdeau.
7026
7027         * gdk/win32/*.c: Silence gcc -Wall.
7028
7029         * gtk/gtk.def: Add missing entry points.
7030
7031         Fixes by Hans Breuer:
7032
7033         * gdk/makefile.msc
7034         * gdk/win32/makefile.msc: Update.
7035
7036         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
7037         some MSVC thing, presumably), cause breakpoint on failures. Add
7038         GDK_NOR case. Call g_log_set_always_fatal.
7039
7040         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
7041         should be pased by reference.
7042         
7043         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
7044         
7045         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
7046
7047         * gdk/win32/gdkevents-win32.c
7048         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
7049
7050         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
7051         implementation object.
7052
7053         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
7054         not just windows.
7055         
7056         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
7057         Use the wrapper object.
7058         
7059 2000-10-06  Havoc Pennington  <hp@redhat.com>
7060
7061         * Makefile.am (SRC_SUBDIRS): contrib subdir
7062
7063         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
7064         so it can be used in Xlib version
7065
7066         * demos/testpixbuf.c (update_timeout): error checking from 1.0
7067         tree
7068
7069         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
7070         change from 1.0 tree that returns first frame of animation
7071         if the loaded file is an animation.
7072
7073         * contrib: add new directory to hold stuff that comes with GTK+
7074         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
7075         
7076         * configure.in: add contrib/*
7077
7078 2000-10-05  Havoc Pennington  <hp@redhat.com>
7079
7080         * demos/testpixbuf-save.c: add pixbuf save test
7081
7082         * demos/Makefile.am: add testpixbuf-save.c
7083
7084 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
7085
7086         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
7087         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
7088         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
7089         * gtk/gtktreeselection.[ch]: Replaced
7090         "node_selected"/"node_unselected" signal with "selection_changed"
7091         signal.
7092
7093 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7094
7095         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
7096         tree widget.
7097
7098 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7099
7100         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
7101         drawing.
7102
7103 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
7104
7105         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
7106         Move list pointer forwards before removing item from
7107         list. (Crash reported by Salmaso Raffaele)
7108
7109         * gdk/gdkwindow.h: Remove spurious trailing ,
7110
7111         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
7112         dependencies on uninstalled libraries, sorry folks.
7113
7114 2000-10-04  Havoc Pennington  <hp@redhat.com>
7115
7116         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
7117         gtk/gtkiconfactory.c: Fix copyrights    
7118
7119         * demos/testpixbuf.c: add inline pixbuf test
7120         
7121 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
7122
7123         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
7124         Add gdk_window_iconify.
7125
7126         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
7127         (gdk_window_set_geometry_hints): Add win_gravity
7128         to geometry structure.
7129
7130         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
7131         Implement _NET_WM_PING.
7132
7133         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
7134         Set _NET_WM_PID on the client leader.
7135
7136         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
7137         Handle UTF-8 better.
7138
7139         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
7140         UTF-8 better, set _NET_WM_NAME as well. Only set
7141         icon name if it hasn't previously been explicitely 
7142         set.
7143
7144 2000-10-03  Havoc Pennington  <hp@redhat.com>
7145
7146         * gtk/testtextbuffer.c: clean up trailing whitespace,
7147         add extensive tests for tag toggle iteration.
7148         
7149         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
7150         distance
7151
7152         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7153         optimize case where the tag root is on level 1
7154         (gtk_text_line_previous_could_contain_tag): attempt to implement
7155         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
7156         functionality
7157
7158         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
7159         Implement this, though not very efficiently.
7160
7161         * gtk/gtktextiterprivate.h: reformat
7162
7163         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
7164         iterator
7165
7166         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
7167         this to properly revalidate the iterators.
7168
7169         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
7170         properly at the end of the line (and therefore on empty lines)
7171
7172         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
7173         maybe we should return a value...
7174
7175 2000-10-03  Tor Lillqvist  <tml@iki.fi>
7176
7177         * config.h.win32: Guard definition of alloca(). glib.h now handles
7178         that.
7179
7180         * gdk/gdk.def
7181         * gtk/gtk.def: Add new entry points.
7182
7183         Changes just to make GTK+ build without errors on Win32. No hope
7184         of it working in its current state, though...:
7185         
7186         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
7187         some functions from the X11 backend, just to make GTK+ build.
7188
7189         * gdk/makefile.mingw.in
7190         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
7191         number. Add new object files.
7192
7193         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
7194         GetMessageTime to get timestamp (where on X11 uses
7195         gdk_x11_get_server_time()).
7196
7197 2000-10-02  Havoc Pennington  <hp@pobox.com>
7198
7199         * gtk/gtktextview.c: text_window_* weren't static and should have
7200         been.
7201         Start work on child widgets; not yet complete, syncing to 
7202         office computer.
7203
7204         * gtk/gtktextchild.h: change this to contain a public interface,
7205         starting work on child interfaces.
7206         * gtk/gtktextchildprivate.h: move private interfaces here
7207
7208         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
7209
7210         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
7211         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
7212         gtk/gtktextmark.c: copyright notices
7213
7214         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
7215         internal functions      
7216
7217         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
7218         internal function
7219
7220         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
7221         Reformatting    
7222
7223 2000-09-30  Havoc Pennington  <hp@pobox.com>
7224
7225         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
7226         NULL start/end pointers
7227
7228         * gtk/gtktextbuffer.c: Write some docs
7229         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
7230         NULL, so you can just check whether there's a selection.        
7231
7232         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
7233         cleanup_line or segments_changed ourselves, it gets done 
7234         in unlink_segment
7235
7236         * gtk/gtktextmark.h:
7237         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
7238         
7239         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
7240
7241         * gtk/gtktextmark.c: delete some more old Tk cruft
7242
7243         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
7244         mark before removing it, so we can emit MARK_DELETED with a valid
7245         pointer.
7246         (gtk_text_buffer_mark_set): hold ref across signal emission
7247
7248         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
7249         whining about attempts to delete special marks
7250
7251         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
7252         underscore, since it's internal.
7253
7254         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
7255         now implemented in terms of iterators in gtktextiter.h
7256
7257         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
7258         New function, destructively sets contents of buffer. Also 
7259         a convenient way to clear the buffer by setting text to ""
7260
7261         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
7262         multiline string literal
7263
7264         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
7265         text changes.
7266
7267         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
7268         is not dereferenceable
7269         (gtk_text_iter_forward_lines): fix return value
7270
7271 2000-09-29  Havoc Pennington  <hp@redhat.com>
7272
7273         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
7274
7275         * gtk/gtktextview.c: Implement drag thresholding; change functions 
7276         that set border window size to have nicer name
7277         (gtk_text_view_mark_set_handler):  Fix this to have the 
7278         right signature.
7279
7280         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
7281
7282         * gtk/testtext.c: Update with API changes, put line numbers on 
7283         both sides.
7284         
7285         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
7286         with this
7287
7288         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
7289         pixbuf; delete a big block of #if 0 Tk code
7290
7291         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
7292         insert_pixmap with insert_pixbuf
7293
7294 2000-09-29  Martin Baulig  <baulig@suse.de>
7295
7296         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
7297         confusion with the GdkPixbuf of the GNOME 1.x platform.
7298
7299 2000-09-29  Havoc Pennington  <hp@pobox.com>
7300
7301         * gtk/gtktextview.c: Implement the side windows.
7302
7303         * gtk/testtext.c: Implement simple line numbering in the 
7304         left side window; seems to make scrolling sloooow. Oops.
7305         Also, cursor blink is for some reason causing redraws
7306         of the line numbers. Should investigate...
7307
7308 2000-09-28  Havoc Pennington  <hp@redhat.com>
7309
7310         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
7311         scrolling child windows, and draw focus rectangle properly.
7312         
7313         (gtk_text_view_buffer_to_window_coords):
7314         Coordinate transformation to deal with all these freaking windows
7315         and offsets
7316         (gtk_text_view_window_to_buffer_coords): transform the other way
7317
7318         * gtk/testtext.c (create_buffer): Update to match Pango API change
7319
7320         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
7321         anonymous tags
7322         (foreach_unref): don't emit remove signal from finalize, just
7323         set tag's parent to NULL
7324
7325 2000-09-26  Havoc Pennington  <hp@redhat.com>
7326
7327         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
7328         Fix some warnings       
7329
7330 2000-09-26  Havoc Pennington  <hp@redhat.com>
7331
7332         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
7333         headers into the private header list
7334
7335         * Makefile.am (pkgconfig_DATA): install pkg-config files
7336
7337         * configure.in: add pkg-config files
7338
7339         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
7340
7341         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
7342         outstanding icon caches on theme change.
7343
7344         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
7345         important types:
7346
7347         (GtkIconSource): Specification for creating a pixbuf 
7348         appropriate for a direction/state/size triplet from 
7349         a source pixbuf or filename
7350
7351         (GtkIconSet): List of GtkIconSource objects that are used to
7352         create the "same" icon (e.g. an OK button icon), and cache for
7353         rendered icons
7354
7355         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
7356         up the icon set for a given stock ID.  GTK maintains a stack of
7357         GtkIconFactory to search, and applications or libraries can add
7358         additional icon factories on top of the stack
7359         
7360         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
7361         the set of GtkIconSource specified for a given stock ID into 
7362         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
7363         RcStyle, under the specified stock ID.
7364
7365         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
7366         render_icon used to derive a GdkPixbuf from a GtkIconSource.
7367         This allows people to theme how prelight, insensitive, etc. are
7368         done.
7369
7370         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
7371         icon factories for a style, and return the resulting 
7372         icon set if any.
7373
7374         (gtk_style_render_icon): Render an icon using the render_icon 
7375         method in the GtkStyleClass.
7376
7377         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
7378         Use the style for a given widget to look up a stock ID, get the
7379         icon set, and render an icon using the render_icon method 
7380         of the style
7381
7382         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
7383         (contains information about a stock item), the built-in stock item
7384         IDs, and functions to add/lookup stock items.
7385
7386         * gtk/stock-icons/*: Stock icons that come with GTK
7387
7388         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
7389         a button based on a GtkStockItem
7390         (gtk_button_new_accel): Takes a uline string and accel group, and
7391         installs the accelerator.
7392
7393         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
7394         image-display widget.
7395
7396 2000-09-25  Havoc Pennington  <hp@redhat.com>
7397
7398         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
7399
7400         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
7401         Fix a bug when removing node data, we didn't properly 
7402         re-splice the linked list after removing the data.
7403
7404         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
7405         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
7406
7407         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
7408
7409         * gtk/gtktextlayout.c (set_para_values): Set tab array 
7410         for the layout from the GtkTextTag.
7411
7412         * gtk/gtktexttypes.h: delete tab and search cruft, 
7413         remove g_convert() in favor of GLib version
7414
7415         * gtk/gtktexttypes.c: remove tab implementation from here,
7416         move to Pango
7417
7418         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
7419         tab stuff using new PangoTabArray from Pango
7420
7421         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
7422         unused border_width stuff
7423
7424 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
7425
7426         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
7427         glib) and now useless utf_to_latin1() latin1_to_utf()
7428
7429         * gtk/gtktextview.[ch]: Change ::move_insert and
7430         ::delete_text action signals to ::move and ::delete;
7431         create the signals with the right enumeration type,
7432         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
7433         C-v bindings, change Home, End to move to beginning/end
7434         of line, Add C-Home C-End to move to beginning/end
7435         of buffer. Change ::cut_text to ::cut_clipboard, etc;
7436         combine ::scroll_text into ::move; use new GtkSelectionData
7437         functions to simplify DND text handling.
7438         
7439         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
7440         deletion enumerations here, rename enumeration values to 
7441         be consistently plural.
7442
7443         * gtk/gtktextbuffer.c: Use new clipboard interfaces
7444         for cut/copy/paste and primary selection.
7445
7446         * gtk/gtktextbuffer.[ch]: Remove excess time and
7447         'interactive' arguments from cut/copy/paste;
7448         rename cut to cut_clipboard, etc; remove
7449         gtk_text_buffer_get_clipboard_contents().
7450
7451         * gtk/gtktextlayout.[ch]: Add 
7452         gtk_text_layout_move_iter_to_line_end() to move the iter to 
7453         line ends.
7454
7455         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
7456         Functions to set or get a UTF-8 string on the selection
7457         data.
7458
7459         * gtk/gtkclipboard.[ch]: New, simplified selection handling
7460         interfaces.
7461
7462         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
7463         created widgets - one of these is useless if we don't.
7464
7465         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
7466         a public function clear all targets registered for the
7467         widget.
7468
7469         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
7470         Never call gtk_widget_realize() - that was just asking
7471         for bizarre side-effects.
7472
7473         * gtk/gtkselection.c (gtk_selection_owner_set): Call
7474         gdk_selection_owner_set even if the widget is the
7475         same so that we reliably update the timestamp on
7476         the server.
7477
7478         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
7479         gdk_x11_get_server_time() function.
7480         
7481         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
7482         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
7483         Add some tricky filtering on serial numbers for
7484         selection clear events to fix up long-standard
7485         race condition FIXME's in gtkselection.c.
7486
7487         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
7488         routines to convert from utf8 to compound text or
7489         STRING and from a text property to UTF-8.
7490
7491         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
7492         a convenience function gdk_get_current_event_time().
7493
7494         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
7495         and free selection_data->data properly
7496
7497 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
7498
7499         * gtk/gtkthemes.c: Remove some unecessary includes.
7500
7501 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
7502
7503         * gtk/gtktextdisplay.c
7504         * gtk/gtktextlayout.c
7505         * gtk/gtktexttag.c
7506         * gtk/gtktexttag.h
7507         * gtk/testtext.c: Change the overstrike property to strikethrough,
7508         to closer match pango.
7509
7510 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
7511
7512         * gtk/gtktextview.c: Fix up visibility so that focus,
7513         cursor_visible and blink interact properly.  Reenable cursor blink
7514         which had been roughly disabled. Make blink and focus
7515         properly per-view.
7516
7517         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
7518         Add a flag for whether to display insertion cursor and
7519         a function to set the flag.
7520
7521         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
7522         get_line_y() to get_line_yrange(), to be a bit more generally
7523         useful.
7524
7525 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
7526
7527         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
7528           do stop_navigating_submenu, to clear last timeout properly.
7529           Also in gtk_menu_motion_notify move ignore_enter above
7530           the conditional to make it always happen as suggested by Owen
7531
7532 2000-09-07  Tor Lillqvist  <tml@iki.fi>
7533
7534         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
7535
7536         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
7537         w32api headers.
7538
7539         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
7540         declarations.
7541
7542         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
7543         (gdk_win32_get_colormap): A line had been deleted by mistake.
7544
7545         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
7546         (gdk_event_translate): Handle more virtual keycodes to be able to
7547         generate GDK events for Control-comma, Control-period, etc.
7548
7549         * gtk/gtk.def: Add some missing entry points.
7550
7551 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
7552
7553         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
7554         Doc comment fixing. (Mostly non-matching parameter names.)
7555
7556         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
7557         comments a little to avoid looking like a doc comment.
7558
7559         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
7560         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
7561         conversions be changed to GError?)
7562
7563         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
7564         Move private #defines into .c file.
7565
7566         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
7567         order of argument addition, remove duplicates.
7568
7569         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
7570         parent class is FrameClass, not BinClass.
7571
7572         * gtk/gtk.h: Add gtkinvisible, which was missing.
7573         (It's occasionalyl useful for client apps, if seldom.)
7574
7575         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
7576         #define.
7577
7578 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
7579
7580         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
7581         coordinates when creating window, instead of GDK-space
7582         coordinates. (Avoid BadValue on too large windows.)
7583
7584 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7585
7586         * configure.in (use_mmx_asm): Remove conftest* after use along the
7587         lines of AC_TRY_COMPILE.        
7588         
7589         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
7590         of g_dirname, which is deprecated.
7591         (gtk_rc_parse_any): Removed calls to
7592         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
7593
7594         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
7595         Removed calls to g_hash_table_{freeze,thaw}, as they are
7596         deprecated now.
7597
7598         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
7599         instead of g_basename.
7600         
7601 2000-09-04 Elliot Lee <sopwith@redhat.com>
7602         
7603         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
7604         ANSI warning.
7605
7606 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
7607
7608         * gtk/gtkwidget.h:  Add some documenting comments about 
7609           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
7610           just as owen said on irc.
7611
7612         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
7613           set HAS_DEFAULT.  Only set it if there isn't another window
7614           holding it (a focus window which RECEIVES_DEFAULT) and only unset
7615           it if the widget is not the focused window with RECEIVES_DEFAULT.
7616           This fixes weird double default bugs in dialogs which has things
7617           call gtk_window_set_default at times.
7618
7619 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
7620
7621         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
7622         Nils Barth and David Santiago to improve submenu
7623         navigation. The patch does this by creating a triangular
7624         region from the point where the pointer leaves the
7625         menu to the submenu.  While the pointer is in
7626         that region and a timeout has not expired, events 
7627         that would cause the active submenu to change are
7628         ignored.
7629
7630 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
7631
7632         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
7633         moving a toplevel window immediately after sizing it would
7634         result in it being sized back to the old size since 
7635         impl->width, impl->height aren't updated until we hear
7636         back from the server. There is still a (longstanding) bug
7637         here that gdk_window_get_size() will give the wrong size
7638         until we do hear back.
7639
7640 2000-08-31  Havoc Pennington  <hp@redhat.com>
7641
7642         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
7643         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
7644         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
7645         Rename GtkTextStyleValues to GtkTextAttributes
7646
7647 2000-08-31  Havoc Pennington  <hp@pobox.com>
7648
7649         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
7650         for rapid testing whether an iterator is the end iterator
7651         (gtk_text_btree_new): init end line cache
7652         (gtk_text_line_is_last): use fast cached line to 
7653         see if we're the last line.
7654         (get_last_line): use cached line here too, should 
7655         speed up some random unrelated code.
7656         
7657 2000-08-30  Havoc Pennington  <hp@pobox.com>
7658
7659         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
7660         signals.
7661
7662         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
7663         delete_text signals. This allows the signals to be used for
7664         implementing undo.
7665
7666         * gtk/gtktextbuffer.c: Change signal handler signatures; 
7667         provide "interactive" argument when emitting insert_text or
7668         delete_text signal.
7669         
7670 2000-08-30  Havoc Pennington  <hp@pobox.com>
7671
7672         * gtk/gtktextbuffer.c: Docs
7673
7674 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
7675
7676         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
7677         from switch statements, since Tor removed the enumeration
7678         value.
7679         
7680         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7681         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
7682
7683 2000-08-29 Elliot Lee <sopwith@redhat.com>
7684         * */*.h: Use G_GNUC_CONST.
7685
7686 2000-08-27  Havoc Pennington  <hp@pobox.com>
7687
7688         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
7689         minor indentation fixes, inserted some FIXME about stuff I
7690         realized was broken while documenting it.
7691         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
7692         GTK convention  
7693
7694 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
7695
7696         * gtk/testgtk.c (create_styles): Fix double free of
7697         font desc.
7698
7699 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7700
7701         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
7702         
7703         * gtk/testgtk.c (create_styles): Add a test for modifying
7704         the style through gtk_widget_modify_*.
7705
7706         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
7707         a function to get the current modifier style.
7708
7709         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
7710         of the passed in GtkRcStyle instead of ref'ing it.
7711
7712         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
7713
7714 2000-08-20  Tor Lillqvist  <tml@iki.fi>
7715
7716         * gdk/gdkimage.h
7717         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
7718         shared memory image+pixmap GdkImage type, or
7719         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
7720         I am dropping that.
7721
7722         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
7723         actually call gtk_init_abi_check(), passing also
7724         sizeof(GtkWindow). Ditto for gtk_init_check(). 
7725
7726         * gtk/gtk.def
7727         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
7728         New functions, used to check that the GTK+-using code has been
7729         compiled using the correct compiler and switches. In particular,
7730         with gcc one has to use the -fnative-struct switch as GTK+ is
7731         compiled with that.
7732
7733 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
7734
7735         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
7736         ->prev fields when merging lists. (Found simultaneously
7737         by Pawel Salek and Jakub Jelinek)
7738
7739 2000-08-12  Tor Lillqvist  <tml@iki.fi>
7740
7741         * gdk/gdk.def
7742         * gtk/gtk.def: Add missing entries.
7743
7744         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
7745         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
7746
7747         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
7748         function. Dummy implementation at this point.
7749
7750         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
7751         rules. Undefine GTK_COMPILATION when compiling the test programs.
7752         
7753         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
7754
7755 2000-08-11  Tor Lillqvist  <tml@iki.fi>
7756
7757         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
7758         to convert back and forth from UTF-8 and the "system" (or "current
7759         locale") charset when necessary. Indentation/spacing cleanup.
7760
7761 2000-08-10  Havoc Pennington  <hp@redhat.com>
7762
7763         * Makefile.am (snapshot): Change the format of the snapshot
7764         version to match glib
7765
7766         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
7767         from EXTRA_DIST since it doesn't seem to exist
7768
7769 2000-08-10  Tor Lillqvist  <tml@iki.fi>
7770
7771         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
7772         version of the directory name (not the UTF-8 one) when building
7773         the path name to stat().
7774
7775 2000-08-03  Elliot Lee  <sopwith@redhat.com>
7776
7777         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
7778         PANGO_ATTR_SHAPE set.
7779
7780 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
7781
7782         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
7783         Peter Osterlund to simplify the code while keeping the
7784         functionality the same.
7785
7786 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
7787
7788         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
7789         is_viewable() test further inside the function, since removing the 
7790         window from the redraw list without clearing ->update_area
7791         was also very broken.
7792
7793 2000-08-02  Tor Lillqvist  <tml@iki.fi>
7794
7795         * configure.in: Check for <unistd.h>.
7796
7797 2000-08-01  Martin Baulig  <baulig@suse.de>
7798
7799         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
7800         to display the message that this is a development version of GTK+.
7801
7802 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
7803
7804         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
7805         was depending on widget->allocation instead of the width of text_area,
7806         which was incorrect for subclasses like GtkSpinButton.
7807
7808         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
7809         with width == 1 tests that should be width == -1.
7810
7811 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
7812
7813         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
7814         (broken, Elliot, every single window blank on X) custom code with call
7815         to gdk_window_is_viewable() which a) prevents code duplicate and
7816         b) works. 
7817
7818 2000-07-31  Elliot Lee  <sopwith@redhat.com>
7819
7820         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
7821         to get the GDK_PARENT_ROOT() macro to work.
7822         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
7823         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
7824         of, windows that aren't shown.
7825         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
7826         pointer grab stuff.
7827
7828 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
7829
7830         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
7831           s/gtk_main_iteration/g_main_iteration/
7832
7833           Did this already in change:
7834                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
7835           don't know how it got reverted.
7836
7837 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
7838
7839         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
7840         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
7841
7842         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
7843         not gdk_pixbuf.
7844
7845 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
7846
7847         * configure.in,po/{sp,sr}.po: Added Serbian files
7848
7849 2000-07-30  Tor Lillqvist  <tml@iki.fi>
7850
7851         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
7852
7853         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
7854         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
7855         GIOChannel implementation.
7856
7857         * gdk/win32/gdkinput.c
7858         * gdk/win32/gdkpango-win32.c: Update license name here, too.
7859
7860         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
7861         definition to match prototype.
7862
7863         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
7864
7865 2000-07-27  Elliot Lee  <sopwith@redhat.com>
7866
7867         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
7868         function, to allow handling image formats that cannot be detected
7869         by looking at content alone.
7870
7871 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
7872
7873         * docs/tutorial/*.gif *.jpg *.eps
7874           Update these to the same look-n-feel.
7875           Why does including images in DocBook suck so badly?
7876
7877 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
7878
7879         * gtk/gtktable.c: applied patch from Phil Thompson
7880         <phil@river-bank.demon.co.uk> that enables space settings for
7881         the last row/columns as well.
7882
7883 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
7884
7885         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
7886         updates the license headers to the GNU Lesser General Public License,
7887         as well as updating the copyright year to 2000.
7888
7889 2000-07-26  Robert Brady  <rwb197@zepler.org>
7890
7891         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
7892           and po/Makefile, was installing and looking for them under gtk20
7893           and gtk2 respectively.
7894
7895 2000-07-25  Havoc Pennington  <hp@redhat.com>
7896
7897         * gtk/testtext.c: Comment out some stuff that depends on the rest
7898         of my patches.
7899
7900 2000-07-25  Havoc Pennington  <hp@redhat.com>
7901
7902         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
7903         buffer
7904
7905 2000-07-25  Havoc Pennington  <hp@redhat.com>
7906
7907         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
7908         widget changes.
7909
7910         * gtk/gtktextview.h: To be consistent with usage of "line"
7911         throughout the API to mean "newline-terminated thingy", change
7912         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
7913         to MOVEMENT_LINE.
7914
7915         (GtkTextView): Add flags for default editability, and whether to
7916         show the cursor. Add functions to get/set that. Add 
7917
7918         (gtk_text_view_get_iter_location): new function
7919
7920         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
7921         gtktextlayout.h
7922         (g_convert): Add g_convert temporarily, will go in glib in a bit
7923         
7924         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
7925         GtkTextTagTableForeach instead of brokenly using GHFunc.
7926         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
7927
7928         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
7929         moved to public header.
7930
7931         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
7932         "invisible", since "elide" was a bad name.
7933         (gtk_text_tag_get_priority): Added
7934
7935         (GtkTextStyleValues): put this in public header, along with
7936         functions to use it.
7937
7938         * gtk/gtktextmarkprivate.h: Include more headers, since we no
7939         longer include gtktextbtree.h.
7940
7941         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
7942         gtk_text_mark_deleted
7943
7944         * gtk/gtktextlayout.h: Don't include the "really private" headers,
7945         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
7946         to make this possible. Now we only need to install
7947         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
7948         (However the Makefile.am isn't changed yet because of the
7949         logistics of merging gtk-hp-patches piecemeal)
7950
7951         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
7952         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
7953         gtk_text_iter_get_line is now used in the public API for a
7954         different purpose.
7955
7956         * gtk/gtktextiter.h: Clean up function names to be more
7957         consistent. Always call char offset "offset" and byte index
7958         "index". A "line" is always a line number. 
7959
7960         (gtk_text_iter_is_last): new function, more efficient than 
7961         the existing way to check
7962         (gtk_text_iter_is_first): new function, also more efficient
7963
7964         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
7965
7966         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
7967         gtk_text_iter_forward_char, etc.
7968
7969         (gtk_text_iter_forward_to_tag_toggle): Renamed from
7970         forward_find_tag_toggle, since this isn't a linear search
7971
7972         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
7973
7974         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
7975         New functions, search for a buffer substring.
7976
7977         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
7978         interactive and default editable (since we need to store that info
7979         until we receive the selection data).
7980
7981         Remove all the _at_char and at_line etc. versions of functions;
7982         only have iterator versions.
7983
7984         Add _interactive() versions of functions, that consider the
7985         editability of text. (FIXME add interactive flag to the 
7986         insert/delete signals per Darin's suggestion)
7987
7988         (gtk_text_buffer_get_tag_table): new function, demand-creates the
7989         tag table if necessary
7990
7991         Remove declaration of gtk_text_buffer_get_iter_from_string
7992
7993         (_gtk_text_buffer_get_btree): private/internal function, added.
7994         
7995
7996         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
7997         (gtk_text_line_is_last): new function
7998
7999 2000-07-25  Havoc Pennington  <hp@redhat.com>
8000
8001         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
8002         using GtkProgressBar. See Changes-2.0.txt for details.
8003
8004         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
8005         "pulse_step" which are the equivalent of
8006         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
8007         Implement new API.
8008         
8009         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
8010         (use_text_format) to mark whether text set on the progress bar is
8011         a format string. Deprecate entire GtkProgress interface.
8012
8013         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
8014         (gtk_progress_build_string): make this a no-op if use_text_format
8015         is FALSE
8016
8017         * docs/Changes-2.0.txt: Describe progress bar changes.
8018
8019 2000-07-25  Tor Lillqvist  <tml@iki.fi>
8020
8021         * Makefile.am: Include the build directory.
8022
8023         * configure.in: Generate build/Makefile, build/win32/Makefile,
8024         gdk/, gdk/win32/, and gtk/makefile.mingw.
8025
8026         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
8027         Add GETTEXT_PACKAGE.
8028         
8029         * gdk/gdk.def
8030         * gtk/gtk.def: Updates.
8031
8032         * gdk/gdkfont.h
8033         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
8034         need them any longer.
8035
8036         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
8037
8038         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
8039         PANGOWIN32_LIBS and gdk_pixbuf.
8040
8041         * gdk/win32: Compiles, but no doubt doesn't work at all.
8042
8043         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
8044
8045         * gdk/win32/gdkinput.c: New file, temporarily.
8046         
8047         * gdk/win32/gdkinput-win32.h: New file
8048
8049         * gdk/win32/gdkinputprivate.h: Remove.
8050
8051         * gdk/win32/gdkpango-win32.c: New file.
8052
8053         * gtk/makefile.mingw.in: New file
8054
8055         * gtk/makefile.cygwin: Removed
8056         
8057         * gtk/Makefile.am: Update accordingly.
8058
8059         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
8060         made externally visible.
8061
8062         * gtk/gtkmain.c: Use it.
8063         
8064         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
8065         is enough.
8066
8067         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
8068
8069 2000-07-24 Elliot Lee <sopwith@redhat.com>
8070         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
8071         individual backends already.
8072         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
8073         again. Yes, there really is a good reason for this, if you are using the gdkregion
8074         internals, and if you're not, why do you care?
8075         * gdk/gdkwindow.c: Fix inverted condition
8076         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
8077         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
8078         * gtk/gtkrange.c: Redraw trough when moving.
8079         * gtk/gtktypeutils.c: Fix warning by adding const cast.
8080         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
8081
8082 2000-07-23  Tor Lillqvist  <tml@iki.fi>
8083
8084         * configure.in: Check for mkstemp and sigsetjmp. Output
8085         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
8086
8087         More work on GDK for Win32. Still in an intermediate state.
8088
8089         * gdk/makefile.cygwin
8090         * gdk/win32/makefile.cygwin: Removed.
8091         
8092         * gdk/makefile.mingw.in
8093         * gdk/win32/makefile.mingw.in: New files.
8094
8095         * gdk/Makefile.am
8096         * gdk/win32/Makefile.am: Generate and distribute them.
8097
8098         * gdk/win32/gdkwindow-win32.h
8099         * gdk/win32/gdkdrawable-win32.h
8100         * gdk/win32/gdkpixmap-win32.h: New files.
8101
8102         * gdk/win32/gdkcolor-win32.c
8103         * gdk/win32/gdkcursor-win32.c
8104         * gdk/win32/gdkdrawable-win32.c
8105         * gdk/win32/gdkgc-win32.c
8106         * gdk/win32/gdkimage-win32.c
8107         * gdk/win32/gdkprivate-win32.h
8108         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
8109         Rename fields and variables called xcursor, xid, etc (these names
8110         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
8111
8112 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
8113
8114         * gtk/gtkentry.[ch]: Fix some problems with vertical
8115         alignment.
8116
8117         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
8118         char/byte confusion.
8119
8120 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
8121
8122         * gtk/gtktextview.c (changed_handler): Fix bug where
8123         redraw wasn't being done properly when height of
8124         dirty region changed.
8125
8126         * demos/Makefile.am: Remove various references to
8127         -lgmodule
8128
8129 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
8130
8131         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
8132         PangoAttrShape to reserve space for pixmaps, add 
8133         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
8134         in the display functions.
8135         
8136         * gtk/testgtk.c (create_layout): Set some more exotic
8137         scrolled window options
8138
8139         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
8140         Add function to set the shadow type of a window, to allow
8141         putting a shadow around widgets such as GtkLayout or GnomeCanvas
8142         which don't draw their own frame.
8143
8144 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
8145
8146         * docs/tutorial/package-db-tutorial.sh: New file for
8147           packaging DocBook format tutorial
8148
8149 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
8150
8151         * docs/tutorial/gtk-tut.sgml: Minor updates
8152
8153         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
8154
8155 2000-07-19  Tor Lillqvist  <tml@iki.fi>
8156
8157         * gtk/gtksignal.c: Fix C++ comment.
8158
8159         * gtk/gtkimmulticontext.c
8160         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
8161         don't return value from void functions.
8162
8163         * gtk/gtk.def: Add gtk_rc_style_unref.
8164
8165 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8166
8167         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
8168         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
8169         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
8170         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
8171         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
8172         gtk/gtktypeutils.h: Include files outside of the extern "C"
8173         block. Makes some C++ compiler happy. Reported by Denis Vakatov
8174         <vakatov@peony.nlm.nih.gov>.
8175
8176 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
8177
8178         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
8179           Completes first pass. Hurrah!
8180
8181 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
8182
8183         * docs/tutorial/gtk-tut.sgml: More clean ups.
8184
8185 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
8186
8187         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
8188         paint the background of the text area which was accidentally
8189         removed at some point.
8190
8191         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
8192           
8193          - Move most of the functionality from the theme vtable
8194            into GtkRcStyleClass and GtkStyleClass. The moved
8195            vtable functions were changed a bit in the move to
8196            work better in their new home.
8197
8198          - Get rid of the engine and engine_data fields from
8199            GtkRcStyle and GtkStyle; instead the theme
8200            engine derives theme-specific subclasses of GtkRcStyle
8201            and GtkStyle
8202
8203          - Add extra dlsym() found entry point to themes,
8204            theme_create_rc_style().
8205
8206         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
8207         in gtk_style_real_copy.
8208
8209         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
8210         to register a type associated with an engine. (The engine
8211         won't be unloaded as there is an instance of the type.)
8212
8213
8214 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
8215
8216         * docs/tutorial/gtk-tut.sgml: Clean ups.
8217
8218 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
8219
8220         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
8221           of cleaning up to do.
8222
8223 2000-07-15  Tor Lillqvist  <tml@iki.fi>
8224
8225         * gdk/testgdk.c: New file, quick hack to test backends for
8226         pixel-by-pixel correctness of the most simple graphic operations.
8227
8228 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
8229
8230         * Really release 1.3.1
8231         
8232         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
8233         include structure.
8234
8235 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
8236
8237         * Released 1.3.1
8238
8239 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
8240
8241         * gtk/gtktextlayout.c: use FALSE for size_only most
8242         of the time when calling gtk_text_layout_get_line_display()
8243         to avoid causing double reshapes when a redraw follows
8244         immediately after.
8245
8246 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
8247
8248         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
8249         appropriate region and gdk_window_process_updates() so trough
8250         updating doesn't lag behind the window being scrolled.
8251
8252         * gdk/gdkgc.c: Make parent_class pointer static.
8253          
8254 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
8255
8256         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
8257         include <string.h>.
8258          
8259         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
8260         cut-and-paste error in computing memory offset for 4 channels.
8261
8262 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
8263
8264         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
8265         gtk_rc_append_default_pixmap_path(), since it wasn't
8266         adding an interesting path and we don't have a meaningful
8267         default for this value.
8268
8269 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
8270
8271         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
8272         gtk-config to gtk-config-2.0 move gtk_.m4 to
8273         gtk-2.0.m4
8274
8275         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8276         gdk/Makefile.am demos/Makefile.am: Change 
8277         library names to libgtk-1.3.la, etc, so that we
8278         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
8279
8280         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8281         gdk/Makefile.am gdk/x11/Makfile.am
8282         Move include files into /usr/include/gtk-2.0, 
8283         /usr/lib/gtk-2.0/include/
8284          
8285         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
8286         gtk/gtkintl.h: Change package for gettext from 
8287         gtk+ to gtk20. Put hack in autogen.sh to modify
8288         po/Makefile.in.in after gettextize to make this
8289         possible.
8290
8291         * gtk+.spec: Some updates, not tested.
8292
8293         * gdk-pixbuf/Makefile.am: Move loaders into
8294         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
8295
8296         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
8297         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
8298         to THEMENAME/gtk-2.0/. Move engine directory  to
8299         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
8300         
8301 2000-07-12  Tor Lillqvist  <tml@iki.fi>
8302
8303         Win32 changes, still doesn't build though.
8304
8305         * gdk/makefile.cygwin
8306         * gdk/win32/makefile.cygwin
8307         * gtk/makefile.cygwin: Updates.
8308
8309         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
8310         default values for fg and bg pixel as X11 does (0 and 1), not
8311         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
8312         Use 0 for pen width by default (treated as 1 anyway later, but for
8313         apps that might check the value in the GdkGC).
8314         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
8315         interface to gdk_gc_predraw and _postdraw.
8316
8317         * gdk/win32/gdkwin32.h
8318         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
8319
8320         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
8321         extraneous semicolon.
8322
8323         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
8324
8325         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
8326         not the Win32 bitspixel value.
8327
8328         * gdk/win32/gdkcc-win32.c:
8329         * gdk/win32/gdkcolor-win32.c 
8330         * gdk/win32/gdkprivate-win32.h
8331         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
8332         GDK object structure.
8333
8334 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
8335
8336         * docs/tutorial/gtk_tut_12.es.sgml (name): 
8337         * docs/tutorial/gtk_tut_it.sgml (name): 
8338         * docs/tutorial/gtk_tut_fr.sgml (name): 
8339         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
8340         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
8341
8342 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
8343
8344         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
8345           small changes.
8346
8347 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
8348
8349         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
8350         a bug here, never been here and never fixed anything ;(
8351         (don't segfault if tree->root_tree is NULL, which happens prior
8352         to widget realization, but puke instead).
8353
8354 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
8355
8356         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
8357         add the necessary tokens.
8358
8359         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
8360         (gtk_rc_style_to_style): copy thicknesses.
8361         (gtk_rc_init_style): apply thicknesses.
8362         (gtk_rc_parse_style): parse xthickness and ythickness.
8363
8364         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
8365
8366         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
8367         (gdk_window_new): 
8368         (_gdk_windowing_window_init): 
8369         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
8370         (gdk_pixmap_create_from_data): 
8371         (gdk_bitmap_create_from_data): 
8372         (gdk_pixmap_new): 
8373         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8374         (gdk_image_new): 
8375         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
8376         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
8377         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
8378         (gdk_colormap_get_system): 
8379         (gdk_colormap_new): 
8380         * gdk/gdkwindow.c (gdk_window_init): 
8381         * gtk/gtkstyle.c (gtk_style_new):
8382         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
8383         * gdk/gdkpixmap.c (gdk_pixmap_init): 
8384         * gtk/gtkrc.c (gtk_rc_style_new):
8385         use g_object_new() instead of g_type_create_instance() which
8386         is a private function for fundamental type implementations.
8387
8388 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
8389
8390         * configure.in: Add check for db2html
8391
8392 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
8393
8394         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
8395         hack to set glib_debug_objects based on gtk_debug_flags.
8396
8397 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
8398
8399         * INSTALL.in: Update the Prerequisites section.
8400
8401         * Makefile.am demos/Makefile.am docs/Makefile.am
8402         docs/tutorial/Makefile.am gdk/x11/Makefile.am
8403         gdk/linux-fb/Makefile.am: Dist fixes
8404
8405 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
8406
8407         * NEWS: 10,000 foot view of 1.3.1 changes.
8408
8409 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
8410
8411         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
8412         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
8413         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
8414         gdk/x11/gdkmain-x11.c: 
8415
8416         Patch from George Lebl to add a GdkGrabStatus enumeration to use
8417         as a return value of gdk_*_grab(). Previously, we just
8418         returned the X11 values directly.
8419
8420 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
8421
8422         * gdk/x11/Makefile.am: Patch from George Lebl to 
8423         install all the headers in the right place.
8424
8425 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
8426
8427         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
8428           initial conversion to DocBook.
8429
8430 2000-07-04  Tor Lillqvist  <tml@iki.fi>
8431
8432         * README.win32: Improve a bit.
8433
8434         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
8435         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
8436         Alt+0nnn on the numpad (used to enter characters by numeric code
8437         from current DOS or ANSI codepage) working correctly, as in other
8438         Windows apps.
8439
8440         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
8441         same argument validity tests as in X11 version.
8442         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
8443
8444         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
8445         definitions in case missing from headers.
8446
8447         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
8448         destroy the window-specific cursor.
8449         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
8450         calling GetModuleHandle(NULL).
8451         (gdk_window_set_cursor): Reworked to always copy the passed cursor
8452         with CopyCursor before setting it as the window-specific
8453         cursor. It is OK for the caller to destroy the GdkCursor (and thus
8454         also its Windows cursor) after calling this function. Destroy any
8455         previous window-specific cursor.
8456
8457 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
8458
8459         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
8460         font charset is iso8859-1, not iso-8859-1.
8461
8462 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
8463
8464         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
8465         Use g_get_charset() instead of g_get_codeset().
8466
8467         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
8468         Comment out some strdup'ing functions to keep timj
8469         happy until we finish fighting this out.
8470
8471 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
8472
8473         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
8474         <= width or height.
8475
8476         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
8477         from 1.2 for parent/child states.
8478
8479         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
8480         of typos.
8481
8482         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
8483         event structures, replace with a generic axes field. Replace 
8484         deviceid/sourec with GdkDevice *device.
8485
8486         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
8487         to extract particular axis use value from event. (Also
8488         can be used for normal X/Y.)
8489
8490         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
8491         allow for arbitrary number of axes, namespace everything
8492         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
8493         everywhere.
8494
8495         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
8496         Get rid of the gdk_input_vtable setup if favor of simply
8497         defining the functions in gdkinput-none/gxi/xfree.c in
8498         a similar fashion to the way that the port structure is 
8499         done.
8500
8501         * gtk/gtkdnd.c: Fix fields of synthesized button press event
8502         for new event structures. 
8503
8504         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
8505         new device interfaces.
8506
8507 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
8508
8509         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
8510         set the initial text.
8511
8512         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
8513         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
8514         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
8515         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
8516
8517         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8518         pango_layout_set_font_description to simplify.
8519
8520 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
8521
8522         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8523         pango_layout_set_font_description to simplify.
8524
8525 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
8526
8527         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
8528         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
8529         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
8530
8531         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
8532         PANGO_PIXELS() macro.
8533
8534 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
8535
8536         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
8537         that returns a PangoContext owned by the widget and updated to
8538         match future changes in the widget. Also, make 
8539         gtk_widget_create_pango_layout() use this context. If we ever
8540         add a ::changed signal to PangoContext, this will make things
8541         much more convenient. 
8542
8543         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
8544         in the appropriate places instead of destroying the layouts and
8545         creating new ones.
8546
8547         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
8548         in a few strategic places.
8549
8550 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
8551
8552         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
8553         gtk_widget_size_request() on reparented child, if one. Otherwise,
8554         queue_resize() on the child never results in it getting size-requested
8555         at all.
8556
8557         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
8558         in option menus, so that (with luck) people won't copy it into
8559         their apps in the future.
8560
8561         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
8562         to gtk_option_menu_calc_size. This isn't perfect, but should fix
8563         a lot of problems with changing the size of the menu's menu
8564         items after adding it to the option menu.
8565
8566         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
8567
8568         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
8569         the text direction for a widget changes.
8570
8571         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
8572         ::direction_changed to get rid of various hacks.
8573
8574 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
8575
8576         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
8577         name.
8578
8579 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
8580
8581         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
8582         flag to the structure. Do not call XFreePixmap on pixmaps created
8583         by gdk_pixmap_foreign_new().
8584
8585 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
8586
8587         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
8588         value using GdkRGB functionality given GdkColormap and GdkColor.
8589         (name not final, waiting for inspiration.)
8590         
8591         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
8592         set the foreground/background of a GC using the GC's colormap
8593         and GdkRGB. (name not final, waiting for inspiration.)
8594
8595         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
8596         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
8597
8598         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
8599         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
8600         purely a function of the corresponding colormap. Make
8601         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
8602
8603         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
8604         gdk_pixbuf_*create_from_xpm_* in terms of
8605         gdk_pixbuf_new_from_xpm_data(), move into platform independent
8606         code.
8607
8608         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
8609         advantage of the new draw_rgb_32_image_dithalign.
8610
8611         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
8612
8613         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
8614         on each created GC.
8615
8616         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
8617
8618         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
8619         which we initialize from the drawable when the GC is created,
8620         if the drawable has a colormap.
8621
8622         * gdk/x11/gdkgc-x11.c: include string.h for memset.
8623
8624         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
8625
8626         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
8627
8628 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
8629
8630         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
8631         actually returning expose events, make sure to set
8632         the count field properly.
8633
8634         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
8635         accidentally reintroced bug which always cleared
8636         the graphics_exposures value. 
8637
8638 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
8639
8640         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
8641
8642 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
8643
8644         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
8645
8646 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
8647
8648         * docs/faq/gtk-faq.sgml: Start of Section 6.
8649
8650 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
8651
8652         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
8653         
8654         (Fixes problem with drawing childless frames. Pointed out
8655         by and a first patch from Anders)
8656         
8657         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
8658         compute a child_allocation, even if we don't have a child.
8659
8660         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
8661         Always chain to the parent's impl, even if we don't have a child.
8662
8663 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8664
8665         * gdk/gdkrgb.c: If possible, create only a single shm segment and
8666         use multiple parts of it instead of creating a bunch of separate
8667         segments, since the maximum number of segments per system is not
8668         large. (This might be worth backporting to GTK+-1.2.x if we make a
8669         new release )
8670
8671         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
8672         structure in preparation for per-colormap GdkRGB.
8673
8674         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
8675         to False when we get EINVAL from shmget so that the caller of
8676         gdk_image_new can retry with a smaller segment size.
8677
8678 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
8679
8680         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
8681
8682 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
8683
8684         * configure.in: make the current version number 1.3.1 (binary age 0,
8685         interface age 0).
8686         
8687         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
8688         gtkcompat.h is all we want.
8689
8690         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
8691         GLib primitive types. fixed g_type_register_fundamental() argument
8692         ordering.
8693
8694         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
8695         compiles.
8696
8697         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
8698         object code cleanup, comment trigraph fixes, etc...
8699
8700 2000-06-23  Havoc Pennington  <hp@redhat.com>
8701
8702         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
8703         instead of making up a bogus name for first_para_mark
8704
8705         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
8706         0 as a context ID
8707
8708 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
8709
8710         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
8711
8712 2000-06-21  Havoc Pennington  <hp@pobox.com>
8713
8714         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
8715         we didn't check window->bg_pixmap != GDK_NO_BG.
8716
8717         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
8718         gdk-pixbuf
8719
8720 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
8721
8722         * docs/faq/gtk-faq.sgm: Move file to here.
8723           TODO: Update Makfile.am 
8724
8725 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
8726
8727         * docs/gtk-faq.sgm: Add Section 2
8728
8729 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
8730
8731         * docs/gtk-faq.sgm: New file. Start of DocBook
8732           version of the FAQ.
8733
8734 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
8735
8736         * configure.in (GDK_PIXBUF_MAJOR): Define version
8737         numbers for GDK_PIXBUF_*, as they get substituted
8738         into a header file. Need to consider versioning
8739         for gdk-pixbuf more carefully later.
8740
8741 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
8742
8743         Work with srcdir != builddir.   
8744         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
8745         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
8746         * demos/testpixbuf.c: Likewise.
8747         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
8748         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
8749         <gdk/x11/gdkx.h>.
8750         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
8751         "gdk-pixbuf.h".
8752         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
8753
8754 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
8755
8756         * TODO.xml: Change 1.4 version numbers to 2.0.
8757
8758 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
8759
8760         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
8761         fixups to GTK+ standard.
8762
8763 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
8764
8765         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
8766         gdk-pixbuf.
8767
8768         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
8769         fixups for GObject.
8770
8771         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
8772         gdk-pixbuf with GDK dependencies moved into GDK.
8773         
8774         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
8775         move gdk-pixbuf-loader here until GObject has signals.
8776
8777         * demos/: New directory of demos. Move demos from
8778         gdk-pixbuf here.
8779
8780         * demos/pixbuf-init.c: Small bit of code to check for
8781         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
8782         set GDK_PIXBUF_MODULEDIR appropriately.
8783
8784         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
8785         define which no longer makes sense.
8786
8787 2000-06-21  Havoc Pennington  <hp@redhat.com>
8788
8789         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
8790         gtk_get_default_language
8791
8792         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
8793         new function to get the default language
8794
8795         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
8796         s/gtk_text_view_style_values/gtk_text_style_values/
8797
8798         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
8799         Add a "language" field to tags.
8800
8801         (gtk_text_tag_set_arg): Fix bug in setting
8802         "bg_full_height_set" tag.
8803
8804 2000-06-21  Havoc Pennington  <hp@redhat.com>
8805
8806         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
8807         in the interfaces
8808
8809         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
8810         stuff instead when possible.
8811
8812         * gtk/gtktexttypes.h: Delete some unused constants
8813
8814         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
8815         testtextbuffer.c: use glib instead of custom unicode routines
8816
8817 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
8818
8819         * docs/es/: Removed mistakenly added generated sgml
8820
8821         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
8822         Remove outdated info files.
8823
8824         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
8825         Moved tutorial files into subdir
8826
8827         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
8828         subdir.
8829
8830         * docs/man/gtk_button.pod: Remove. (contents will be
8831         integrated into gtk-reference button page.)
8832
8833         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
8834         docs/faq/Makefile.am: Adjust for new organization
8835
8836 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
8837
8838         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
8839         not $(MKINSTALLDIRS)
8840
8841 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
8842
8843         * gtk/testgtk.c (create_text): Finish the job Elliot started
8844         of removing font setting test for text widget. (Since text widget
8845         and GdkFont are not deprecated, and cause portability problems.)
8846
8847 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
8848
8849         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
8850         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
8851         Remove use of libunicode in favor of new GLib functions.
8852
8853         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
8854         nano-x, framebuffer. The X11 include is just a hack until we get
8855         the necessary functions in gdkcolor.h, so there is no reason to
8856         add other includes of platforms.
8857
8858         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
8859         window bigger than the screen change.
8860
8861         * gtk/testgtk.c: Revert some random changes from Elliot
8862         that had no particular point and were causing testgtkrc
8863         not to function correctly.
8864         
8865         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
8866         because GdkSegment and GdkRegionBox have the same fields,
8867         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
8868         results in clearer code.
8869
8870         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
8871         gdk_input_translate_coordinates): Fix missed GdkObjectification
8872
8873 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8874
8875         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
8876         * gtk/gtk{plug,socket}.h: Missed commits from previous.
8877
8878 2000-06-20  Havoc Pennington  <hp@redhat.com>
8879
8880         * modules/linux-fb/Makefile.am: Make this compile
8881         without framebuffer enabled
8882
8883         * gdk/linux-fb/Makefile.am: Add conditional to not build
8884         framebuffer unless specified in configure
8885
8886         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
8887         the size of the target instead of source if -1 was passed for
8888         width/height
8889
8890         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
8891         width/height confusion.
8892
8893 2000-06-19  Havoc Pennington  <hp@redhat.com>
8894
8895         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
8896         GDK_DRAWABLE_XID. In the future, we probably want to make it
8897         faster with G_DISABLE_CHECKS turned on.
8898
8899 2000-06-14  Havoc Pennington  <hp@redhat.com>
8900
8901         * gdk/Makefile.am: add gdkpixmap.c
8902
8903         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
8904         s/gdk_image_init/_gdk_windowing_image_init
8905
8906         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
8907         ref/unref
8908
8909         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
8910
8911         * gdk/gdkcompat.h: remove GdkWindowType compat, since
8912         GdkWindowType is now non-deprecated; 
8913         change gdk_window_get_type() compat to be
8914         gdk_window_get_window_type().
8915
8916         * gdk/gdkdnd.h: make GdkDragContext a GObject.
8917
8918         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
8919         virtual GObject. Make all functions call into the vtable.
8920         Move gdk_image_put() guts in here. Remove GdkDrawableType
8921         and gdk_drawable_get_type(), these are now GdkWindow-specific.
8922         draw_image, get_depth, get_size, set_colormap, get_colormap,
8923         get_visual added to the vtable.
8924         
8925         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
8926         GObject. Virtualize everything. 
8927         (gdk_gc_new_with_values): remove check for destroyed window,
8928         because now GdkWindow::create_gc will check this.
8929         (gdk_gc_set_values): New function to set GC values, this 
8930         was already implemented but wasn't in the header
8931
8932         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
8933
8934         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
8935         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
8936         remove _gdk_window_class; add _gdk_window_impl_get_type() and
8937         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
8938         _gdk_windowing_window_init, rename gdk_image_init to
8939         _gdk_windowing_image_init.
8940         
8941         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
8942         (gdk_draw_layout): Remove check for destroyed window, 
8943         because all the drawable methods already check it.
8944         
8945         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
8946         Add gdkpixmap.c which contains implementation of GdkDrawable
8947         virtual table (by chaining to a platform-specific implementation
8948         object).
8949         
8950         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
8951         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
8952         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
8953         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
8954         GdkColormapPrivate. 
8955
8956         * gdk/gdktypes.h: #include <glib-object.h>
8957
8958         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
8959         Move most functionality to platform-specific implementation
8960         object. GdkWindow itself now handles the backing store, then
8961         chains to the platform-specific implementation.
8962         (gdk_window_get_window_type): return GdkWindowType of the window.
8963         (gdk_window_peek_children): New routine, returns the children of 
8964         a GdkWindow
8965         (gdk_window_get_children): Was in X11-specific code and did 
8966         XQueryTree. Changed to simply return a copy of window->children; 
8967         so it can go in cross-platform code.
8968         
8969         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
8970
8971         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
8972         GdkColormap; just changed to use the new private data instead
8973         of casting to GdkColormapPrivate.
8974
8975         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
8976         gdk_cursor_new().
8977
8978         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
8979         (private data member in the GObject). 
8980         (xdnd_manager_source_filter): Function had broken 
8981         error handling, fix it (use gdk_error_trap_push).
8982
8983         * gdk/x11/gdkdrawable-x11.c: This file now implements
8984         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
8985         base class is purely for the convenience of the X port,
8986         and not part of the interface to cross-platform GDK.
8987
8988         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
8989         
8990         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
8991         specific to X, and returned by the create_gc virtual method
8992         of GdkDrawableImplX11. 
8993         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
8994         rather than gchar, this was also changed in the GdkGC vtable.
8995         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
8996         mask is 0, return immediately, instead of checking every flag.
8997         This is faster, and keeps us from segfaulting if values is NULL
8998         and the mask contains some nonzero flags.
8999
9000         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
9001         GdkWindow.
9002
9003         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
9004         GdkWindowPrivate is gone.
9005
9006         * gdk/x11/gdkim-x11.c: rename things that got renamed.
9007
9008         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
9009         remove the image_put stuff that got transferred to GdkDrawable.
9010         
9011         * gdk/x11/gdkinput.c: renamings
9012
9013         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
9014
9015         * gdk/x11/gdkpixmap-x11.c: GObject conversion
9016
9017         * gdk/x11/gdkprivate-x11.h: indentation fixes
9018
9019         * gdk/x11/gdkproperty-x11.c: renamings
9020
9021         * gdk/x11/gdkselection-x11.c: renamings
9022
9023         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
9024         implements the platform-specific "impl" object.
9025         Moved gdk_window_get_children to gdk/gdkwindow.c
9026
9027         * gdk/x11/gdkx.h: Remove all the private structs and private datas
9028         that no longer exist. Add declaration of GdkGCX11 object here.
9029         Fix all the macros to still work. 
9030
9031         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
9032         GdkDragContext from the boxed types since they are now GObjects.
9033
9034         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
9035         moved xthickness/ythickness into the instance. GtkStyleClass
9036         functions are now in the standard vtable for GtkStyle, so you have
9037         to create a GObject subclass to write a theme engine.
9038         (gtk_style_copy): fixed a leaked PangoFontDescription
9039         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
9040         can be the standard GObject function.
9041         
9042         * Throughout GTK:
9043         s/style->klass->[xy]thickness/style->[xy]thickness
9044         s/pango_layout_unref/g_object_unref/
9045
9046         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
9047         
9048         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
9049         accessing GDK internals.
9050
9051         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
9052         accessing GDK internals.
9053
9054 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9055
9056         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
9057
9058         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
9059         problem by calculating event position relative to the trough
9060         rather than the slider.
9061         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
9062
9063         * gdk/gdkgc.h: Add GDK_NOR.
9064
9065         * configure.in, Makefile.am: Add modules top level dir
9066         * configure.in: Only use pangox library if building x11 target.
9067         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
9068
9069 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9070
9071         * gtk/gtkcolorsel.c: Change private class member to be named
9072         private_data throughout the file.
9073
9074         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
9075         private_data to avoid clashing with keyword.
9076
9077 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9078
9079         * gdk/gdkdnd.h: Add comment to remove warning.
9080
9081 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
9082
9083         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
9084         Byelorussian language; changed the Makefile and file names 
9085         to reflect that.
9086
9087 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
9088
9089         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
9090         rather than gdk_window_hide; this makes things work
9091         correctly if the window is programmatically hidden while
9092         iconified.
9093
9094 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
9095
9096         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
9097         cut and paste typo where wrong pixmap was being
9098         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
9099
9100 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
9101
9102         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
9103         Add helper function to compute format / bytes 
9104         relationship. Use in a couple places to fix up
9105         errors which assume 8 * format.
9106
9107         * gtk/gtkselection.c (gtk_selection_request): Use 32
9108         rather than 8 * sizeof (GdkAtom), to work correctly
9109         on Alpha.
9110
9111 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
9112
9113         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
9114         libgtk.la
9115         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
9116         versions
9117
9118         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
9119         checking macros return NULL since the function has a return value.
9120
9121 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
9122
9123         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
9124         GTK+ from building at all.
9125
9126         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
9127
9128 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
9129
9130         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
9131         gtk/Makefile.am: make it possible to configure gtk for different
9132         targets on the same platform. The library name is now 
9133         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
9134         flag. Only the x11 target compiles right now.
9135         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
9136         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
9137         * gdk/nanox/gdk*generic*: delete generic region code.
9138         * gdk/linux-fb/gdk*generic*: delete generic region code.
9139         * README.nanox: update information.
9140         
9141 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
9142
9143         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
9144         prepend not append. (Pointed out by Brett Hall.)
9145
9146 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
9147
9148         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
9149
9150 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
9151
9152         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
9153         need this later, and this makes sure that the atexit for
9154         glib gets called after that for GDK, so atexits are
9155         properly ordered for object leak checking.
9156
9157         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
9158
9159         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
9160         pango_x_shutdown_display()
9161
9162         * gtk/simple.c (main): Close window on destroy.
9163
9164 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
9165
9166         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
9167         to treat initial creation different from setting with 
9168         regards to the graphics-exposures parameter, so add a parameter
9169         indicating whether this is initial or not.
9170
9171 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
9172
9173         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
9174         to sort of work by adding an extra return_exposes arg
9175         to gdk_event_translate() - it might be better to simply
9176         deprecate the function altogether and force people to rewrite
9177         without it. gdk_window_scroll() handles most of it, and where
9178         gdk_window_scroll() doesn't work, simply redrawing more does.
9179
9180         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
9181         assertion.
9182
9183         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
9184
9185         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
9186         bunch of pretty much useless /* Print debugging info */ comments 
9187         which had drifted away from the code they were commenting.
9188
9189 2000-06-02  Havoc Pennington  <hp@pobox.com>
9190
9191         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
9192         is in working order.
9193         
9194         * gtk/testtext.c: Change to reflect anonymous mark API
9195
9196         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
9197
9198         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
9199         field, which was unused.
9200
9201         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
9202         saves some typing.
9203
9204         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
9205
9206         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
9207         flag on the insertion point and selection bound
9208
9209         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
9210         make mark-manipulation functions take a GtkTextMark* instead of a
9211         mark name.
9212         
9213         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
9214         GtkTextMarkBody; will be used to detect attempts to delete
9215         the permanent marks (insert and selection bound)
9216
9217         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
9218
9219 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
9220
9221         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
9222         flag to on.
9223
9224         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
9225         Honor DOUBLE_BUFFRED_FLAG
9226
9227         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
9228         function to set the DOUBLE_BUFFERED flag.
9229
9230         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
9231         or not exposes done on the widget should be double-buffered.
9232
9233         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
9234         to be what would be expected. (Fixes problem with a
9235         g_return_if_fail() validating a TextDirection enumeration)
9236
9237 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
9238
9239         * gtk/gtkwidget.c: Remove all references to 
9240         offscreen flag which was no longer used.
9241
9242         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
9243
9244         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
9245         for non-null label_widget->parent.
9246
9247         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
9248         which no longer was used.
9249
9250         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
9251
9252         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
9253         for null arguments.
9254
9255         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
9256         check for destroyed windows.
9257
9258 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
9259
9260         * gtk/gtkimmulticontext.c: Add a finalize method and unref
9261         the slave context there.
9262
9263         * gtk/gtkinvisible.[ch]: Make reference counting behavior
9264         identical to GtkWindow.
9265
9266 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
9267
9268         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
9269         pangox to here, so we can write them independent of rendering
9270         system, using GDK primitives.
9271
9272         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
9273         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
9274         since we have a rendering-system independent implementation in
9275         terms of draw_glyphs().
9276         
9277         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
9278         function to render a single line.
9279
9280         * gdk/x11/gdkpango.c: Move the guts of this file mostly
9281         into ../gdkpango.c, which simplifies things, since we
9282         don't have to deal with raw X gc's.
9283
9284 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
9285
9286         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
9287         get the logical attributes for a given GtkTextLine.
9288
9289 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
9290
9291         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
9292         g_locale_get_codeset() to g_get_codeset() change.
9293
9294 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
9295
9296         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
9297         descriptions.
9298
9299         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
9300         the entry.
9301
9302         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
9303         redoing (vastly simplifying) for Pango. Still needs quite
9304         a bit of work. (Size selection is currently poor. List of 
9305         predefined sizes is not a good idea, since all of these
9306         sizes won't necessarily be distinct.)
9307
9308 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
9309
9310         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
9311         CODESET results for LANG=C.
9312
9313 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
9314
9315         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
9316         which takes a stringized pango font description;
9317         ignore the older 'font' and 'fontset' declarations.
9318
9319         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
9320         field with a GdkFont derived via gdk_font_from_description(),
9321         for compatibility. (Should we just remove it entirely?
9322         Probably too much compatibility breakage, but people
9323         should be migrating to the new Pango stuff as quickly
9324         as possible.)
9325
9326 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
9327
9328         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
9329
9330 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
9331
9332         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
9333         redoing; there are some bugs in size allocation right
9334         now, the semi-existant distinction between header / day
9335         fonts was removed, but, with Pango, could actually
9336         be made functional in a nice way.
9337         
9338         * gtk/testcalender: Move calender from examples into this
9339         directory as a test program. (We really need to restrcture
9340         testgtk into a whole directory full of tests for every
9341         widget or functionality group, separated into multiple .c
9342         files.)
9343
9344 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
9345
9346         * gtk/testgtk.c (file_exists): Fix stupid typo that
9347         was keeping RC file from being loaded.
9348
9349         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
9350         RC file font code.
9351
9352 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
9353
9354         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
9355         Add function to load a GdkFont from a PangoFontDescription.
9356
9357 2000-05-29  Tor Lillqvist  <tml@iki.fi>
9358
9359         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
9360         variable should be of type GdkEventPrivate.
9361
9362 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
9363
9364         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
9365         to have any widget for the label, use a GtkLabel widget
9366         to display the text. (Based partially on a patch from
9367         Anders Carlson.)
9368
9369         (Quite a bit of code reorganization - strip 90% of the
9370         guts out of gtkaspectframe and add a single virtual
9371         func to GtkFrameClass - compute_child_allocation.)
9372
9373 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
9374
9375         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
9376         (Removed clist->row_center_offset field because caching
9377         it wasn't saving time or code, added private function
9378         _gtk_clist_create_cell_layout()).
9379
9380 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
9381
9382         * gtk/gtkaccellabel.c: Pangoized.
9383
9384         * gtk/[hv]ruler.c: Pangoized
9385
9386 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
9387
9388         * gtk/gtkfilesel.c (gtk_file_selection_init):
9389         Use gtk_clist_set_column_auto_resize() to remove need
9390         need for manual column width computations.
9391
9392 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
9393
9394         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
9395         ensuring Pango correctness, and considerably simplifying the
9396         code.
9397         
9398         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
9399
9400         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
9401         getting of numbers of lines.
9402
9403         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
9404         to the actual requested width of the lable, not to the wrap
9405         width we set.
9406
9407         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
9408
9409         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
9410           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
9411
9412         * gtk/gtktextview.c: Fix structure inheritance.
9413
9414         * gtk/gtkprogressbar.c: Pangoize.
9415
9416 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
9417
9418         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
9419         in a function.
9420
9421         * gtk/gtktextlayout.c (find_display_line_above): Fixed
9422         bug with computing line tops.
9423
9424         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
9425
9426 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9427
9428         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
9429         and y_offset coordinates to do what we need now. (The offset between
9430         buffer and layout coordinates has been reintroduced, but is a 
9431         bit different than before.)
9432
9433         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
9434         handle the adjustments ourselves, and scroll as necessary using
9435         the new gdk_window_scroll().
9436         
9437         The advantage of this is that when we are incrementally revalidating,
9438         we are essentially rearranging things around the visible portion
9439         of the screen. With the old setup, the visible portion of the
9440         screen was moved around in the layout, so scrolling and redrawing
9441         to track that caused jumping of the display. Since we now
9442         control the scrolling ourselves, we can suppress this and
9443         only redraw when things actually change.
9444
9445 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
9446
9447         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
9448         the region not just redisplay it after-all, since we store the
9449         cursors in the LineDisplay. (Ugly interactions here between
9450         GtkLayout and GtkTextBTree here.)
9451         
9452         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
9453
9454 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9455
9456         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
9457         Added function to scroll contents of a window while keeping the
9458         window constant. Works by XCopyArea or guffaw-scrolling depending
9459         on the details of how the window is set up. (guffaw-scrolling
9460         still needs to be filled in.)
9461
9462 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
9463
9464         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
9465         move the debugging that was tied to a global variable
9466         to that.
9467
9468         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
9469
9470         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
9471         validated flag, in line data instead of setting height/width to
9472         -1. This allows us to perform operations with partially invalid
9473         buffer (using the old size for invalid lines) and thus to do
9474         incremental vaidation. Keep height/width aggregates up to date
9475         when deleting text and rebalancing the tree.
9476
9477         * gtk/gtktextbtree.[ch]: Add functions validate a line
9478         (gtk_text_btree_validate_line), and to validate up
9479         to a number of pixels (gtk_text_btree_validate).
9480
9481         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
9482         that indicates that something is changed and a revalidation
9483         pass is needed. Change ::need_repaint to ::changed, and
9484         make it take old and new yranges instead of a rectangle.
9485
9486         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
9487         the line_data_destroy() function from 
9488         gtk_text_btree_add_view() to a virtual function in 
9489         GtkTextLayout
9490
9491         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
9492         since we are handling partial repaints in a different fashion
9493         now.
9494
9495         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
9496         of the selection instead of queueing a repaint on the
9497         entire widget.
9498
9499         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
9500         get_selection_bounds() down to btree, make the function
9501         in buffer a wrapper around the btree function.
9502
9503         * gtk/gtktextlayout.[ch]: Add functions to check if the
9504         layout is valid and to recompute either a range of pixels
9505         aroudn a line or a certain total number of pixels.
9506
9507         * gtk/gtktextlayout.[ch]: Cache a single line display;
9508         now that we only redraw the needed portions, the hit rate
9509         for this cache is quite high.
9510         
9511         * gtk/gtktextview.[ch]: Keep track of the first paragraph
9512         on the screen so that when re-laying-out the buffer, we can
9513         keep the same place. This requires connecting to ::value_changed
9514         on the adjustments
9515
9516         * gtk/gtktextview.[ch]: Add idle functions to revalidate
9517         the buffer after we receive an ::invalidated signal.
9518         
9519 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
9520
9521         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
9522         to max of allocation and layout size, not just to the
9523         layout size.
9524
9525         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
9526         Invalidate window so it gets redrawn properly.
9527
9528         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
9529         to mean the entire window.
9530
9531         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
9532         into public header.
9533
9534 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
9535
9536         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
9537         to get the name of a mark.
9538
9539         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
9540         to find the paragraph from a y position.
9541
9542 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
9543
9544         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
9545         nodes have width/height >= 0, not > 0.
9546
9547 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
9548
9549         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
9550         Add a size_only flag, so when we only need the size, we don't create
9551         useless appearance attributes.
9552
9553         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
9554         duplicate setting of font description.
9555
9556         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
9557
9558 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9559
9560         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9561         EXTRA_DIST. It does not work well when the file that
9562         everything depends on is not in the tarball.
9563
9564 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9565
9566         * gtk/testgtk.c: Some hacks and fixes so that it basically
9567         works when not sitting in the GTK+ build tree.
9568
9569 2000-05-03  Havoc Pennington  <hp@redhat.com>
9570
9571         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9572         Properly determine the ordering of the tag root and the current
9573         line within the tree. Previous algorithm only worked if the tag
9574         root's immediate parent was the common root of both the current
9575         line and the tag root.
9576
9577 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
9578
9579         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
9580         alignment.
9581
9582         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
9583         the widget text directional dynamically.
9584
9585         * gtk/gtktextview.[ch]: Added functions to get and set default
9586         wrap mode.
9587
9588 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
9589
9590         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
9591         in cursor location computation.
9592
9593 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
9594
9595         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
9596         vadjusment values properly when layout gets smaller.
9597
9598         * gtk/gtktextview.c (need_repaint_handler): Areas being
9599         passed in are far completely inaccurate, and sometimes
9600         too small, so, for now, just queue a redraw on the
9601         whole visible region.
9602
9603 2000-04-25  Havoc Pennington  <hp@redhat.com>
9604
9605         * gtk/gtktextbtree.c (summary_destroy): new function to 
9606         destroy tag summary nodes
9607         (gtk_text_line_next_could_contain_tag): this function was 
9608         totally broken if the line passed in wasn't below the tag
9609         root. Fix it.
9610         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
9611         "wildcard" case, we have to do a linear scan. Blah.
9612         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
9613         we have to do the linear scan
9614         (tag_removed_cb): When a tag is removed from the tag table, 
9615         remove the GtkTextTagInfo node from the btree.
9616         (gtk_text_btree_spew): Implement the spew function, for 
9617         our debugging pleasure.
9618
9619 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
9620
9621         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
9622         a problem with referring to the wrong buffer.
9623
9624         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
9625
9626         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
9627         font description to gtk_style_new() - otherwise things
9628         don't work without a .gtkrc file.
9629
9630         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
9631         tags table if we create it ourself, too.
9632
9633         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
9634         it was conflicting with XKB modifiers.
9635
9636         * gtk/gtktextview.[ch]: Add simple support for 
9637         GtkIMContext.
9638
9639 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
9640
9641         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
9642         with deletion from last commit.
9643
9644 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
9645
9646         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
9647         in the context from the current locale.
9648         
9649         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
9650         context, not hardcoded value.
9651
9652         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
9653         not logical.
9654
9655 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9656
9657         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
9658         attributes - that doesn't handle partial-glyph selection
9659         properly. Instead use new pango_layout_line_get_x_ranges()
9660         functionality to draw the selection.
9661
9662         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
9663         now properly handles out-of-range coordinates.
9664
9665         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
9666
9667         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
9668         public.
9669
9670         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
9671         for paragraphs opposite to the base direction of the widget.
9672
9673         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
9674
9675         * gtk/gtktextlayout.c: Don't split segments on marks, since that
9676         causes Arabic words to reshape as you cursor through.
9677
9678         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
9679         cursor position when moving vertically with the arrow keys and
9680         scrolling with page-up/page-down. (Arrow keys save only the X,
9681         scrolling saves both X and Y.)
9682
9683         This means you can line-up / line-down or page-up / page-down
9684         without losing your place, and also that moving vertically
9685         with the cursor keys keeps the same X position, not the same
9686         character count:
9687
9688         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
9689         arrow keys move by display lines, not paragraphs.
9690
9691 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9692
9693         * gtk/gtklayout.c: Make sure that the bin window is at least
9694         as big as the allocation. (Should we also make sure that the
9695         bin window is big enough to completely cover widget->window?)
9696
9697         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
9698         function to get the onscreen rectangle.
9699
9700         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
9701         for offsets in window coordinates.
9702
9703 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
9704
9705         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
9706         confusion.
9707
9708         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
9709         from the widget direction.
9710
9711         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
9712         Add a "direction" attribute.
9713
9714         * gtk/gtktextview.c: global s/tkxt/text_view/.
9715
9716         * gtk/testtext.c: Added long block of text in Arabic, to test out
9717         the direction attributes. (Some problems with the shaping system
9718         for arabic become obvious - like the fact the cursor splits words
9719         into unjoined pieces.)
9720
9721 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
9722
9723         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
9724
9725         * gtk/gtktextlayout.c: Fix up alignment.
9726
9727         * gtk/testtext.c: Add some tests for centering, wrapping.
9728
9729 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
9730
9731         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9732         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
9733         If we wrote GTK+-specific layout-render function this could just replace
9734         the draw_layout() operation in the vtable.
9735
9736         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
9737         pango_layout_get_cursor_pos() and use that function.
9738
9739         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
9740         is a non-static symbol.
9741
9742         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
9743         with gtk_text_btree_find_line_by_y()
9744
9745         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
9746         renderer that handles GtkTextAppearance attributes.
9747
9748         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
9749
9750           - Move the values in the style that don't affect geometry into a
9751             GtkTextAppearance structure.
9752           - Change underline to take a PangoUnderline and "font" a string
9753             representation of a font description
9754           - Add a "font_desc" attribute which takes a FontDescription structure.
9755
9756         * gtk/gtktextlayout.[ch]:
9757
9758           - Get rid of the display-line list per each line. Instead, we
9759             generate, on demand, a GtkTextLineDisplay structure which]
9760             contains a PangoLayout * and other necesary information
9761             (offsets, cursor locations) for displaying a paragraph.
9762           - Get rid of the code to wrap lines, create display chunks,
9763             etc. Instead, we just go through a paragraph and convert
9764             it into the necessary inputs to a PangoLayout.
9765           - Implement a new attribute type, GtkTextAttrAppearance. This
9766             holds a GtkTextAppearance, and is used to pass colors, 
9767             stipple, etc, through from the layout to the display without
9768             having to use lots and lots of individual attributes.
9769           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
9770             in terms of PangoLayout functions.
9771         
9772         * gtk/gtktextview.c: 
9773          
9774           - Handle passing the necessary PangoContext to the layout
9775           - Some fixups in painting to deal with the automatic backing store
9776             and offsetting of GTK+-1.4
9777           - Add a style_set handler so that the default style reacts
9778             properly to theme changes.
9779         
9780         * gtk/gtktext?*.[ch]: Random code-style fixes.
9781
9782         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
9783
9784 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
9785
9786         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
9787         in original form preparatory to Pango-ization and gdkimcontext-ization.
9788
9789 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
9790
9791         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
9792         so that we can derive from gtkimcontext in language bindings properly.
9793
9794 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
9795
9796         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
9797         Add a compose table including (almost) all the compose combinations
9798         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
9799         data in the XIM implementation.
9800
9801         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
9802         Moved functions to convert keyvalues from and to unicode here from
9803         the win32 port and made them public.
9804
9805 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9806
9807         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
9808
9809 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
9810
9811         * gtk/gtkimcontext.[ch]: Base class for new input context system
9812
9813         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
9814         the real input context implementation to be loaded from modules
9815         and switched on the fly.
9816
9817         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
9818         context that just does direct keysymbol => unicode translation.
9819
9820         * gtk/gtkentry.[ch]: Start switching editing over to using
9821         GtkInputContext. (No handling of preedit yet.)
9822
9823 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
9824
9825         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
9826         many substitutions. (klass should not be subsituted.)
9827
9828 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
9829
9830         * configure.in: Add checks for Pango
9831
9832         * configure.in docs/Makefile.am: Add test for sgml2html
9833         and allow 'make dist' without building html, but print out
9834         warnings in that case. (For making snapshots)
9835
9836         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
9837         Add Pango libraries and C flags
9838
9839         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9840         Add function (gdk_draw_layout) to draw a pango layout.
9841
9842         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
9843         for getting Pango contexts for GDK.
9844
9845         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
9846
9847         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
9848         editing.
9849
9850         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
9851         keysym => unicode translations. More languages can be added
9852         here, but real input-method support is needed.
9853
9854         * docs/Changes-1.4.txt: Added note about entry behavior.
9855         
9856         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
9857         to set the reading direction for a widget and the global direction.
9858         Add test which allows toggling the global direction. Two private
9859         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
9860
9861         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
9862           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
9863
9864         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
9865
9866         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
9867         underlining now handled by Pango.
9868
9869         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
9870         to RCStyle and Style. (Having both this and the old font name and GdkFont 
9871         is temporary.)
9872
9873         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
9874         convenience functions for creating contexts and layouts for widgets.
9875
9876         * gtk/testgtk.c: Enhance label tests with multilingual labels.
9877
9878 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
9879
9880         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
9881         titles to be active, even if they aren't visible.
9882         (gtk_clist_column_titles_passive):  Ditto.
9883
9884 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
9885
9886         * gtkmenu.c:
9887         * gtkmenu.h:
9888         * gtktypeutils.h: Spelling/grammar fixes in comments.
9889
9890 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
9891
9892         * gdk/nanox/*.h: add missing header files.
9893
9894 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
9895
9896         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
9897         send_event to TRUE.
9898         (gtk_drawing_area_size): queue a resize.
9899
9900 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
9901
9902         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
9903         the handlers, also invalidate them. bug nailed down by Karl Nelson
9904         <kenelson@ece.ucdavis.edu>.
9905
9906 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
9907
9908         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
9909         "(nil)" foundries, patch from Grigorios Magklis.
9910
9911         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
9912         on non-available fonts, based on a patch by Grigorios Magklis
9913         <maglis@cs.rochester.edu>.
9914
9915 2000-05-18  Elliot Lee  <sopwith@redhat.com>
9916
9917         * gdk/x11/gdkregion-generic.c: If a region does not have any
9918         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
9919         instead of GDK_OVERLAP_RECTANGLE_IN.
9920
9921 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
9922
9923         * gtk/gtklayout.c (gtk_layout_map): Remove references to
9924         OFFSCREEN, as it is no longer necessary.
9925
9926 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
9927
9928         * gtk/gtkcolorsel.c: Patch from David Santiago
9929         <mrcooger@cyberverse.com> to change things so that the 
9930         indicator of the active palette entry is done independently,
9931         not via the focus, since it should always be visible.
9932
9933 2000-05-17  Tor Lillqvist  <tml@iki.fi>
9934
9935         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
9936         refcount leaks as in the X11 backend.
9937
9938         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
9939         cosmetics.
9940
9941         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
9942         backend. Add _gdk_windowing_window_destroy().
9943
9944         * gtk/gtkcolorsel.c: Include correct backend-specific header.
9945         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
9946         either, but these probably do exist on nanox?)
9947         
9948         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
9949         which isn't necessarily defined by <math.h>.
9950
9951         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
9952         ancestry past GtkObject.
9953
9954         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
9955         from DLL on Win32.
9956
9957         * gtk/gtk.def: Update corresponding to recent changes.
9958
9959         * gtk/makefile.{cygwin,msc}: Updates.
9960
9961 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
9962
9963         * docs/Changes-1.4.txt: A bit of editing.
9964
9965         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
9966         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
9967         to clear the update area for the window, and clear it
9968         when hiding a window.
9969
9970         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
9971         if window destroyed.
9972
9973         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
9974
9975         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
9976         gdk_window_destroy() to the generic code, since there was a lot of 
9977         window-system-independent logic it in. Add a function:
9978         
9979          _gdk_window_destroy() 
9980
9981         to the internal API to destroy a window without unreferencing it.
9982         Add a function:
9983
9984          _gdk_windowing_window_destroy()
9985
9986         That does the windowing-system-dependent part of destroying 
9987         the window.
9988
9989 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
9990
9991         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
9992
9993 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
9994
9995         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
9996         Make gtk_widget_shape_combine_mask() keep a reference count on
9997         the pixmap since it keeps it around.
9998
9999 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
10000
10001         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
10002         leak.
10003
10004         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
10005         leak with event filters.
10006
10007 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
10008
10009         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
10010         signal handlers with the right data arguments. (Fixes
10011         some warnings when a widget was repeatedly set as a drag
10012         destination.)
10013
10014         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
10015         window so we can avoid avoid setting the DND properties on the
10016         toplevel window repeatedly.
10017
10018 2000-05-13  Tor Lillqvist  <tml@iki.fi>
10019
10020         * gdk/win32/gdkwin32.h: Define more message types missing from
10021         mingw headers.
10022
10023         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
10024         call gdk_window_destroy_notify(). It was never called. This
10025         probably meant that the GdkWindow was never freed. Thanks Owen for
10026         noticing (!).
10027
10028         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
10029         window as destroyed before calling DestroyWindow(). DestroyWindow()
10030         causes a call to the window procedure (gdk_WindowProc), which
10031         calls gdk_event_translate(), which calls
10032         gdk_window_destroy_notify(), which gets confused unless the window
10033         is set as destroyed.
10034
10035         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
10036         this function to indicate it's win32 only. Put inside #ifdef
10037         G_ENABLE_DEBUG.
10038
10039         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
10040         debugging function. (gdk_event_translate:) Add a default branch
10041         that uses the above function to print debug messages with all
10042         Windows messages symbolically.
10043
10044         * gdk/win32/gdkprivate-win32.h: Declare it, and
10045         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
10046
10047 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
10048
10049         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
10050         public header file.
10051
10052 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
10053
10054         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
10055
10056         * gtk/gtktext.c: made the adjustments no-construct args, simply
10057         provide default adjustments.
10058         (gtk_text_destroy): release adjustments.
10059
10060         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
10061         adjustment argument non-construct.
10062
10063         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
10064         instead of in finalize.
10065         (gtk_progress_get_text_from_value): 
10066         (gtk_progress_get_current_text): 
10067         (gtk_progress_set_value): 
10068         (gtk_progress_get_percentage_from_value): 
10069         (gtk_progress_get_current_percentage): 
10070         (gtk_progress_set_percentage): 
10071         (gtk_progress_configure): ensure an adjustment is present.
10072
10073 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
10074
10075         * gtk/gtkcolorsel.[hc]:
10076         * gtk/gtkcolorseldialog.[hc]:
10077         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
10078         their parent implementation, use bit fields for boolean values, don't
10079         create unused widgets, usage of glib types, braces go on their own
10080         lines, function argument alignment, #include directives etc. etc. etc..
10081
10082         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
10083
10084 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
10085
10086         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
10087
10088         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
10089         of NULL.
10090
10091         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
10092         to freed data.
10093         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
10094
10095         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
10096         to NULL when the toplevel is getting destroyed.
10097         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
10098         (gtk_menu_destroy): 
10099         (gtk_menu_init): store the information of whether we have to
10100         readd the initial child ref_count during destruction in a new
10101         GtkMenu field needs_destruction_ref_count.
10102
10103         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
10104         here, those reading: learn from my mistake! ;)
10105         in order for set_?adjustment to support a default adjustemnt if
10106         invoked with an adjustment pointer of NULL, the code read (pseudo):
10107         if (v->adjustment) unref (v->adjustment);
10108         if (!adjustment) adjustment = adjustment_new ();
10109         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
10110         now imagine the first unref to actually free the old adjustment and
10111         adjustment_new() creating a new adjustment from the very same memory
10112         portion. here, the latter comparision will unintendedly fail, and
10113         all hell breaks loose.
10114         (gtk_viewport_set_hadjustment):
10115         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
10116         after unreferencing it.
10117
10118         * gtk/gtkcontainer.[hc]: removed toplevel registration
10119         functions: gtk_container_register_toplevel(),
10120         gtk_container_unregister_toplevel() and
10121         gtk_container_get_toplevels() which had wrong semantics
10122         anyways: it didn't reference and copy the list.
10123
10124         * gtk/gtkwindow.c: we take over the container toplevel registration
10125         bussiness now. windows are registered across multiple destructions,
10126         untill they are finalized. the initial implicit reference count
10127         users are holding on windows is removed with the first destruction
10128         though.
10129         (gtk_window_init): ref & sink and set has_user_ref_count, got
10130         rid of gtk_container_register_toplevel() call. add window to
10131         toplevel_list.
10132         (gtk_window_destroy): unref the window if has_user_ref_count
10133         is still set, got rid of call to
10134         gtk_container_unregister_toplevel().
10135         (gtk_window_finalize): remove window from toplevel list.
10136         (gtk_window_list_toplevels): new function to return a newly
10137         created list with referenced toplevels.
10138         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
10139
10140         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
10141         adjustment a non-construct arg.
10142         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
10143         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
10144         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
10145
10146         * gtk/gtkrange.c: added some realized checks.
10147         (gtk_range_destroy): get rid of the h/v adjustments in the
10148         destroy handler instead of finalize. remove timer.
10149         (gtk_range_get_adjustment): demand create adjustment.
10150
10151         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
10152         we simply create them on demand now and get rid of them in
10153         the destroy handler.
10154         (gtk_viewport_destroy): get rid of the h/v adjustments in the
10155         destroy handler instead of finalize.
10156         (gtk_viewport_get_hadjustment): 
10157         (gtk_viewport_get_vadjustment): 
10158         (gtk_viewport_size_allocate): demand create h/v adjustment
10159         if required.
10160
10161         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
10162         gtk_widget_real_destroy () functionality.
10163         (gtk_widget_real_destroy): reinitialize with a new style, instead
10164         of setting widget->style to NULL.
10165
10166 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
10167
10168         * gtk/gtkcalendar.c:
10169         * gtk/gtkbutton.c: ported _get_type() implementation over to
10170         GType, either to preserve memchunks allocation facilities,
10171         or because Gtk+ 1.0 GtkTypeInfo was still being used.
10172
10173         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
10174         over. prepare for ::destroy to be emitted multiple times.
10175         removed reference tracer magic. chain into GObjectClass.shutdown()
10176         to emit ::destroy signal.
10177
10178         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
10179         fundamental.
10180
10181         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
10182         cludge.
10183
10184         * gtk/gtksocket.c:
10185         * gtk/gtkplug.c:
10186         * gtk/gtklayout.c:
10187         * gtk/gtklabel.c:
10188         * gtk/gtkargcollector.c:
10189         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
10190         not being a fundamental anymore, and to work with the new
10191         type system (nuked fundamental type varargs clutter).
10192
10193         * gtk/*.c: install finalize handlers in the GObjectClass
10194         part of the class structure.
10195         changed direct GTK_OBJECT()->klass accesses to
10196         GTK_*_GET_CLASS().
10197         changed direct object_class->type accesses to GTK_CLASS_TYPE().
10198
10199         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
10200         GType. made most of the GTK_*() type macros and Gtk* typedefs
10201         simple wrappers around macros and types provided by GType.
10202         most notably, a significant portion of the old API vanished:
10203         GTK_TYPE_MAKE(),
10204         GTK_TYPE_SEQNO(),
10205         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
10206         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
10207         GTK_TYPE_ARGS,
10208         GTK_TYPE_CALLBACK,
10209         GTK_TYPE_C_CALLBACK,
10210         GTK_TYPE_FOREIGN,
10211         GtkTypeQuery,
10212         gtk_type_query(),
10213         gtk_type_set_varargs_type(),
10214         gtk_type_get_varargs_type(),
10215         gtk_type_check_object_cast(),
10216         gtk_type_check_class_cast(),
10217         gtk_type_describe_tree(),
10218         gtk_type_describe_heritage(),
10219         gtk_type_free(),
10220         gtk_type_children_types(),
10221         gtk_type_set_chunk_alloc(),
10222         gtk_type_register_enum(),
10223         gtk_type_register_flags(),
10224         gtk_type_parent_class().
10225         replacements, where available are described in ../docs/Changes-1.4.txt.
10226         implemented compatibility functions for the remaining API.
10227
10228         * configure.in: depend on glib 1.3.1, use gobject module.
10229
10230 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
10231
10232         * TODO.xml: Various updates to current status.
10233
10234 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
10235
10236         * gtk.m4: Print out version when test succeeds.
10237
10238 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
10239
10240         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
10241         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
10242         
10243         (Original triangle color selector from Simon Budig
10244         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
10245         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
10246         Santiago <mrcooger@cyberverse.com>)
10247
10248         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
10249         out into a separate widget.
10250
10251         * gtk/testgtk.c: Add some checkbuttons for toggling palette
10252         and opacity controls.
10253
10254 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
10255
10256         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
10257         snuck in prematurely.
10258
10259 2000-05-07  Tor Lillqvist  <tml@iki.fi>
10260
10261         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
10262         had deleted a ! operator by mistake, which caused
10263         GDK_SELECTION_CLEAR events never to be generated, which caused
10264         only the first copy to the clipboard from an gtkeditable to
10265         actually cause a copy to the Windows clipboard.
10266
10267 2000-05-06  Tor Lillqvist  <tml@iki.fi>
10268
10269         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
10270         compilation, too. Current mingw gcc distributions include the
10271         necessary headers. Also the necessary IIDs are now in mingw
10272         headers/libraries, and own definitions unnecessary.
10273
10274         More hacking on OLE2 DND, still doesn't work though, and thus
10275         ifdeffed out.
10276
10277         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
10278         here, too.
10279
10280 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
10281
10282         * gdk/nanox/*: nano-X port work in progress.
10283         * gdk/simple.c: simple test for Gdk.
10284         * README.nanox: notes about the port: read this first!
10285         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
10286         with nano-X.
10287
10288 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
10289
10290         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
10291         gdk_window_clear() into common code, implement in terms of
10292         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
10293         not redirected to the backing rectangle.
10294
10295 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10296
10297         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10298         EXTRA_DIST. It does not work well when the file that
10299         everything depends on is not in the tarball.
10300
10301 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
10302
10303         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
10304         with recursion where process_updates() is called from
10305         an expose handler. (GtkTextView is highly broken in
10306         doing this, but it should work, so it is a nice test
10307         case.)
10308
10309 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10310
10311         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
10312         handle the case where updates are queued during processing of
10313         updates.
10314
10315 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10316
10317         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
10318         window is on gdk_display - use that instead of segfaulting.
10319
10320 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
10321
10322         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
10323         broken and require an empty arg, give it to them.
10324
10325 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
10326
10327         * gtk/gtklabel.h: indentation fixes.
10328
10329 2000-05-02  Tor Lillqvist  <tml@iki.fi>
10330
10331         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
10332         draw too narrow or too low arcs, they seem to fail, at least with
10333         some display drivers.
10334
10335         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
10336
10337         Large changes to the Win32 backend, partially made necessary by
10338         the changes to the backend-independent internal
10339         structures. Attempts to implement similar backing store stuff as
10340         on X11. The current (CVS) version of the Win32 backend is *not* as
10341         stable as it was before the no-flicker branch was merged. A
10342         zipfile with that version is available from
10343         http://www.gimp.org/win32/. That should be use by "production"
10344         code until this CVS version is usable. (But note, the Win32
10345         backend has never been claimed to be "production quality".)
10346
10347         * README.win32: Add the above comment about versions.
10348
10349         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
10350
10351         * gdk/gdk.def: Update.
10352
10353         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
10354         presumably be replaced by some more better mechanism as 1.4 gets
10355         closer to release shape.
10356
10357         * gdk/makefile.{cygwin,msc}: Update.
10358
10359         * gdk/win32/*.c: Correct inclusions of the backend-specific and
10360         internal headers. Change code according to changes in these. Use
10361         gdk_drawable_*, not gdk_window_* where necessary.
10362
10363         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
10364         our old DND.
10365
10366         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
10367         to interpret single characters as UTF-8. Thanks to Hans Breuer.
10368         Use correct function name in warning messages.
10369
10370         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
10371         GSourceFuncs gdk_event_prepare and gdk_event_check.
10372         (gdk_event_get_graphics_expose): Do implement, use
10373         PeekMessage. Thanks to Hans Breuer.
10374         (event_mask_string): Debugging function to print an GdkEventMask.
10375         (gdk_pointer_grab): Use it.
10376
10377         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
10378         (old) book I used claimed was Hangul actually is CJK Unified
10379         Ideographs Extension A. Also, Hangul Syllables were missing.
10380         Improve logging.
10381
10382         * gdk/win32/gdkgc-win32.c: Largish changes.
10383
10384         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
10385         g_win32_getlocale() from GLib, and not setlocale() to get current
10386         locale name.
10387
10388         * gdk/win32/gdkprivate-win32.h
10389         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
10390         gdkwin32.h, similarily as in the X11 backend.
10391
10392         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
10393         assignment was used instead of equals in if test. Thanks to Hans
10394         Breuer.
10395
10396         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
10397         the X11 version.
10398
10399         * gdk/win32/makefile.{cygwin,msc}
10400         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
10401         path to the Win32 headers that works also with the mingw compiler.
10402
10403         * gtk/gtkstyle.c: Include <string.h>.
10404
10405 2000-04-26  Havoc Pennington  <hp@redhat.com>
10406
10407         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
10408         replacing the broken gtk_label_get ()
10409
10410 2000-04-15  Havoc Pennington  <hp@pobox.com>
10411
10412         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
10413         this keeps scanner scripts from getting confused.
10414
10415         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
10416         data, rather than void
10417
10418 2000-04-15  Tor Lillqvist  <tml@iki.fi>
10419
10420         * gtk/gtkclist.c (gtk_clist_motion)
10421         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
10422         with is_hint FALSE, get x and y from the event. They used to be
10423         used uninitialised. The Win32 backend never sends motion events
10424         marked as hints. This for instance fixes the annoying file and
10425         font selector behaviour in the Win32 version.
10426
10427 2000-04-14  Tor Lillqvist  <tml@iki.fi>
10428
10429         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
10430         gtk_private_n_signals variables, they are used by some software,
10431         sigh.
10432
10433         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
10434         installation directory from the Registry, where the installer
10435         should have put it.
10436
10437 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
10438
10439         * gdk/x11/Makefile.am: Fix problem with installation directory for
10440         gdkx.h
10441
10442         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
10443         <mrcooger@cyberverse.com> so that when selecting menus with the
10444         mouse, the first item will not be selected, but when selecting
10445         with an accelerator, or navigating left-right on a menubar with
10446         the menus popped up, the first item will be selected.
10447
10448 2000-04-05  Dan Damian  <dand@dnttm.ro>
10449
10450         * configure.in: Added "ro" to ALL_LINGUAS.
10451
10452 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
10453
10454         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
10455         indentation.
10456
10457         * Makefile.am (EXTRA_DIST): Fix typo.
10458
10459         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
10460         to catch gdkconfig.h
10461
10462         * gtk/gtkitemfactory.c: Added FIXME.
10463
10464 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
10465
10466         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
10467         s/return_if_fail/return_val_if_fail/g and add a return value.
10468
10469 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10470
10471         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
10472         merge slipup.
10473
10474         * gdk/gdkinput.h: Fix missing line from merge.
10475
10476 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
10477
10478         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
10479         instead of gdkprivate.h.
10480
10481 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
10482
10483         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
10484         parent class to correctly be GtkDialogClass.
10485
10486 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
10487
10488         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
10489         toplevel windows and their immediate children by their parents,
10490         since the size of toplevel windows is out of our immediate
10491         control and we don't get any real benefit from trying to track
10492         this size for clipping.
10493
10494         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
10495         for input_only windows.
10496
10497         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
10498         to fix some hacks and make sure that we don't try to set the
10499         background of input only windows.
10500
10501 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
10502
10503         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
10504         the _really_ internal stuff, and leave gdkprivate.h for the fake private
10505         stuff that we've traditionally exposed.
10506
10507         * gdk/**.c: Use gdkinternals.h where appropriate.
10508
10509         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
10510         not include gdkprivate-x11.h, move all stuff of conceivable public
10511         interest into gdkx.h; keep all really private stuff in
10512         uninstalled header gdkprivate-x11.h.
10513
10514         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
10515         image->image_put on windows through a new function _gdk_window_draw_image()
10516         to allow us to do backing store for images. (Sort of ugly)
10517
10518         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
10519         contexts locally so that we can offset them properly when drawing 
10520         onto backing pixmaps.
10521
10522         * gdk/gdkinput.h: Reindented
10523
10524         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
10525         pixmap or color for the window, so we can properly initialize
10526         our double-buffer pixmaps, and also so that we temporarily set
10527         a background of None while scrolling.
10528
10529         * gdk/gdkregion.h: Revise region boolean operators to have an
10530         interface that is actually convenient - switch from creating new
10531         regions on every op, to "methods" that modify existing regions
10532         (A = A OP B). 3 argument forms which allow dest == src, would also
10533         be possible, but the current interfaces seem to map nicely
10534         onto what needs to be done. (There is quite a lot of region
10535         code in GDK now.)
10536
10537         * gdk/gdkregion.h: Add constructor from rectangle and a copy
10538         operator.
10539
10540         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
10541         gdkpoly-generic.h: Copy region code from Xlib, switch it over
10542         to 32 bit coordinates, modify it to be mostly GTK+ style
10543         and to have interfaces that match gdkregion.h.
10544
10545         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
10546         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
10547         create a backing pixmap and redirect all drawing to
10548         that backing pixmap until a matching gdk_window_end_paint().
10549
10550         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
10551         Create a special drawable class for GtkWindow's that 
10552         redirects the drawing to the backing pixmap as necessary
10553         and then calls the real operations in _gdk_windowing_window_class.
10554
10555         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
10556         Store invalid region for each window. Generate expose events for invalid
10557         region in an idle. This replaces both the expose compression
10558         and the redrawing queuing in GTK+. It is both more efficient and
10559         simpler than either one individually and far more so then the
10560         combination.
10561
10562         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
10563         Emulate 32 bit coordinates for windows with 16 bit coordinates
10564         by offsetting drawing, guffaw scrolling techniques and
10565         mapping/unmapping child windows as necessary.
10566
10567         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
10568         where, when invalid regions are processed, the region is stored,
10569         and if expose events come in that are detectably duplicate
10570         the processed exposes (by comparison of event serial numbers),
10571         the stored region is subtracted out of those exposes.
10572
10573         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
10574         regions newly exposed when scrolling or resizing windows.
10575         This, combined with forcing processesing of queued invalidated
10576         regions, gives nice flicker-free scrolling.
10577
10578         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
10579         invalidated regions after every scroll.
10580
10581         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
10582         emulation in GDK. Its, for all practical purposes just a
10583         GtkViewport/GtkFixed hybrid now.
10584
10585         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
10586         (16-bit) structures as necessary instead of just casting.
10587
10588         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
10589         in terms of the structures from gdkregion-generic.c, using appropriate
10590         offsets from GDK to X11 coordinates. Cache clip mask and
10591         origin and ts origin locally and only flush to the server
10592         when drawing, to avoid constantly setting and resetting these
10593         values when offsetting GC's for scrolling and backing pixmaps.
10594
10595         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
10596
10597         * gtk/gtkcontainer.c: Call process_all_updates at end
10598         of resizing to reduce flicker. (Avoids having redraw
10599         lag arbitrarily behind resize under some circumstances)
10600
10601         * gtk/gtkentry.c: Remove old backing store code, and simply take
10602         advantage of the new backing store capabilities of GDK.
10603
10604         * gtk/gtkmain.c: Simple implementation of widget backing
10605         store - simply push a paint while handling each expose.
10606         (Should really be configurable widget for widget.)
10607         
10608         * gtk/gtkwidget.c: Remove all the old complicated redraw
10609         code, and simply invalidate the GDK windows from
10610         gdk_window_queue_clear(), etc. (Sigh, so much carefully
10611         debugged complexity ... gone to the winds.)
10612
10613         Remove all the code for suppressing expose events while
10614         resizes are pending; this isn't needed since the invalid
10615         areas won't be processed until after the resizes are
10616         processed, since they are in a lower priority idle.
10617
10618 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
10619
10620         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
10621         and height of dest rectangle for non-intersecting rectangles.
10622
10623 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
10624
10625         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
10626         for GdkRectangle.
10627
10628 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
10629
10630         * gdk/gdk{events,image,private,types,window}.h
10631          gdk/x11/gdkinputprivate.h: Change all coordinates
10632          from int16 to int. Also, Change width and height from
10633          unsigned to signed to avoid all the stupid C 
10634          signedness bugs.
10635
10636 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
10637
10638         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
10639         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
10640         Add some more detailed checking.
10641
10642         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
10643         New function to retrieve the depth of a drawable.
10644
10645         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
10646         field, reorder fields to save memory. 
10647
10648 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
10649
10650         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
10651         of the background image instead of scaling the background down to
10652         a line.
10653
10654         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
10655         which temporarily set slider to wrong size.
10656
10657         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
10658         queue_clear().
10659
10660 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
10661
10662 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
10663
10664         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
10665
10666 2000-03-17  Tor Lillqvist  <tml@iki.fi>
10667
10668         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
10669         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
10670
10671         * gdk/win32/gdkfont-win32.c
10672         * gdk/win32/gdkproperty-win32.c
10673         * gdk/win32/gdkselection-win32.c
10674         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
10675         now declared such.
10676
10677 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
10678
10679         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
10680
10681 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
10682
10683         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
10684         is called without trapping X errors.
10685
10686 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
10687
10688         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
10689         way into the fontset lists.
10690
10691 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
10692
10693         * gtk/gtkthemes.h: add extern "C" scope.
10694
10695 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
10696
10697         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
10698         to make appends to the list constant. (gtk-guy-990901-0.patch)
10699
10700 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
10701
10702         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
10703         for the typename hash table.
10704
10705 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
10706
10707         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
10708         to make sure we never divide by zero. 
10709         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
10710
10711 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
10712
10713         * gtk/gtkfontsel.c: Apply patch from
10714         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
10715         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
10716
10717         Also, some cleanups in atom handling.
10718
10719 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
10720
10721         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10722         not GtkWidget.
10723
10724 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
10725
10726         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
10727         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
10728         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
10729         more guint wrap-around bugs before going to bed.
10730
10731 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
10732
10733         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
10734         guint wrap arounds in allocation.width.
10735
10736         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
10737         process untill we fit the allocation given.
10738
10739 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
10740
10741         * gtk/gtkwidget.c:
10742         (gtk_widget_unrealize): guard widget access with ref/unref
10743         around signal emission.
10744         (gtk_widget_hide): same here, but also check its destroyed
10745         state before queueing a resize.
10746
10747 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
10748
10749         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
10750         of gtk_default_insensitive_bg as insensitive base color.
10751
10752         * gtk/gtktext.c (gtk_text_style_set): set the background color according
10753         to the widget's state.
10754         (gtk_text_realize): same here.
10755         (gtk_text_state_changed): same here.
10756         (draw_bg_rect): compare background color against base[] from
10757         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
10758
10759 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
10760
10761         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
10762         grabs are active, unless a delete event is send to the toplevel
10763         of the currently grab holding widget.
10764
10765 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
10766
10767         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
10768         debugging g_print's.
10769
10770 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
10771
10772         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
10773         ever make the scrolled-window requisition ever depend on the 
10774         visibility state of the scrollbars for the AUTOMATIC policy. 
10775         This breaks the GTK+ requisition model, and causes loops.
10776
10777 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
10778
10779         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
10780         the default font to avoid problems with XFree86-4.0 where the
10781         default charset is iso10646-1, not iso8859-1.
10782
10783 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
10784
10785         * acinclude.m4
10786         * config.guess
10787         * config.sub
10788         * ltconfig
10789         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
10790
10791         * gtk/Makefile.am: minor cosmetic consistency tweak
10792
10793 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
10794
10795         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
10796         the activate_time to 0, so that we handle a quick
10797         press/release press/release properly and don't suppress
10798         the second release. (Red Hat bug #7545)
10799
10800 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
10801
10802         * gtk/gtkctree.c (row_delete):
10803         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
10804         bugs with destruction notifier, *always* update internal
10805         structures *before* calling user code.
10806
10807 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
10808
10809         A few more fixes for bug #5487, #2051, #2677.
10810         * gtk/gtkclist.c : 
10811         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
10812         not GDK_BUTTON_PRESS.
10813         (resync_selection): resync only if selection_mode is
10814         GTK_SELECTION_EXTENDED
10815         * gtk/gtkctree.c (resync_selection): same here
10816
10817 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
10818
10819         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
10820         gdk_drag_get_selection() and gtk_menu_detach().
10821
10822         [ From Jeroen Ruigrok/Asmodai ]
10823
10824 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
10825
10826         * gtk/gtknotebook.c (gtk_notebook_size_request): 
10827         page->tab_label can be NULL.
10828
10829 2000-01-25  Havoc Pennington  <hp@pobox.com>
10830         
10831         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
10832         arg is boolean
10833
10834         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
10835
10836         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
10837
10838         * gdk/gdkproperty.c (gdk_property_get): return boolean
10839
10840         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
10841
10842         * gdk/gdkim.c (gdk_im_ready): return boolean
10843
10844         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
10845
10846         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
10847         glib clash, should fix glib)
10848
10849         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
10850         (gdk_get_show_events): return gboolean, and canonicalize 
10851         to TRUE/FALSE
10852
10853         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
10854         colormap is private
10855         (gdk_colors_alloc): gboolean whether to be contiguous
10856         (gdk_color_equal): return gboolean since we are a predicate
10857         and not a qsort() (this looks semi-wrong due to glib breakage,
10858         IMO glib should be fixed)
10859         
10860         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
10861         (gdk_get_use_xshm): return gboolean
10862         (gdk_pointer_is_grabbed): return gboolean
10863
10864         * gdk/gdk.h: Change prototypes to match all the above changes,
10865         and re-run egtk-format-protos as required.
10866
10867 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
10868
10869         * gtk/gtkctree.c (resync_selection): 
10870         * gtk/gtkclist.c (resync_selection):
10871
10872         Return immediately if clist->drag_pos < 0. This is a workaround
10873         for the corrupt state that the clist gets into when a
10874         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
10875
10876         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
10877         
10878         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
10879         variable from recent commit.
10880
10881 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
10882
10883         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
10884
10885 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
10886
10887         * gtk/Makefile.am: prefix all autogenerated source that get build in
10888         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
10889         in builddir. since we subsequently cd into srcdir for autogeneration,
10890         the paths have to be stripped from the target file names, thusly we
10891         use $(@F) as target names now.
10892         put a comment about configure.in's --disable-rebuilds option,
10893         which can be used for non-writable source directories, for development
10894         setups though, srcdir has to be *writable*.
10895
10896 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
10897
10898         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
10899           Finish the job of allowing event to be NULL.
10900           (Fixes bug #4283, reported by Chris Blizzard)
10901
10902         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
10903           things so that the cursor appears on screen, properly
10904           take into account INNER_BORDER.
10905           (Fixes bug #4754, reported by Antonio Campos)
10906
10907 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
10908
10909         * gtk/gtknotebook.c (gtk_notebook_map): Don't
10910           show the tab_label unless it itself is visible.
10911
10912           gtk/gtknotebook.c (gtk_notebook_size_request):
10913           Do a better job of making sure that the visibility
10914           of the tab label corresponds to whether it should
10915           be mapped or not.
10916
10917 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
10918
10919         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
10920           Use the requisition, not the allocation, since the
10921           allocation has not necessarily been computed yet.
10922           (Pointed out by Eugene Osintsev)
10923
10924 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
10925
10926         * gtk/gtkstyle.c (gtk_style_new): Dont' set
10927           style/base[GTK_STATE_INSENSITIVE] both to
10928           gtk_default_insensitive_bg!
10929           (Bug #2187, reported by Jonathan Blandford)
10930
10931         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
10932           Add Alt_L, Alt_R to list of invalid accelerators.
10933           (Bug #3736, reported by Vlad Harchev)
10934
10935 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
10936
10937         * gtk/gtkfilesel.c (open_ref_dir): Fix several
10938         bugs which occured after an attempt to open 
10939         invalid home directory left cmpl_state->reference_dir == NULL.
10940
10941          - completion on files in home directory didn't work
10942          - completion on an empty string caused  segfault
10943
10944          (Bug #3678, reported by Steve Ratcliffe)
10945
10946         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
10947         cut and paste error that was causing scales to
10948         be incorrectly positioned.
10949         (Bug #2956,
10950          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
10951
10952 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
10953
10954         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
10955         when checking for dcgettext, if we've found we needed
10956         it for dgettext.
10957 +
10958 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
10959
10960         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10961         queue_clear on NO_WINDOW widgets during a reparent,
10962         since at that point the window and widget heirarchies
10963         are out of sync. This stops crashing in some cases
10964         (the scrolled window reparent test, for instance), and
10965         _probably_ won't cause drawing errors.
10966
10967         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
10968         test do what it was supposed to do and be robust against
10969         window closings, etc. (Bug #2443)
10970
10971 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
10972
10973         * gtk/gtkentry.c: Fix return values on mouse events.
10974         (Bug #2686, Sky <seb_sky@yahoo.com>)
10975
10976         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
10977         (pointed out by George Lebl)
10978
10979         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
10980         (From Ettore Perazzoli  <ettore@helixcode.com>)
10981  
10982 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
10983
10984         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
10985         clicks between rows or outside calender area correctly.
10986         (Patch from Damon Chaplin)
10987
10988         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
10989         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
10990           Call destroy function when overwriting existing data. 
10991           (Pointed out by Damon Chaplin)
10992
10993 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
10994
10995         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
10996           which was causing problems on various systems with Xmu.
10997           This hasn't been needed for a very long time.
10998           (Fixes #1185 3167)
10999
11000 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
11001
11002         * gdk/gdki18n.h: Include <ctype.h> when defining
11003           gdk_isw* in terms of is* as a fallback.
11004           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
11005
11006 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
11007
11008         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
11009           realize the widget when it is size allocated!
11010           (old, old bug)
11011
11012         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
11013           Removed unused call to gdk_window_get_size() that
11014           showed up when the above was fixed.
11015
11016 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
11017
11018         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
11019           fix up widget->window when the widget is a
11020           NO_WINDOW container widget.
11021
11022 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
11023
11024         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
11025           to account for the fact that feof() does _not_ 
11026           return TRUE on errors, and thus avoid infinite loops
11027           when trying to use gdk_pixmap_create_from_xpm()
11028           on unreadable values.
11029
11030 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
11031
11032         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
11033
11034 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
11035
11036         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
11037           gdk_gc_set_dashes to take gint8 instead of gchar to
11038           make it clearer that it is _not_ a NULL terminated string.
11039
11040         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
11041           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
11042           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
11043           arguments.
11044
11045 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
11046
11047         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
11048         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
11049         background size relative to our allocation, guard against small
11050         allocations, we may have not yet been size allocated.
11051
11052 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
11053
11054         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
11055         not just version == 3. We implement all 3 + most of 4 - 
11056         (we don't support matching text/plain;charset=iso-8859-1
11057         to a dest that expects text/plain). We'll still advertise
11058         3 to be safe, but any client implementing version >= 3
11059         must interoperate with 3.
11060         
11061 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11062
11063         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
11064         background and gc members, add a warning in gtk_tooltips_set_color()
11065         indicating that this function is deprecated.
11066
11067 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
11068
11069         * docs/gtkfaq.sgml: FAQ Update:
11070           - Minor cleanups (Emmanuel, me)
11071           - New questions:
11072                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
11073                 How can I retrieve the text from a GtkMenuItem? (timj)
11074                 How do I validate/limit/filter the input to a GtkEntry? (me)
11075                 Memory does not seem to be released when I free the list
11076                         nodes I've allocated (timj)
11077
11078 2000-03-07  Tor Lillqvist  <tml@iki.fi>
11079
11080         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
11081         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
11082         for which it is no use to call GetLastError onWin9x.
11083         (gdk_other_api_failed) New function, for general error
11084         reporting without calling GetLastError.
11085         (gdk_win32_api_failed) OTOH, this function always calls
11086         GetLastError. (gdk_win32_last_error_string) Remove this function,
11087         GLib has the equivalent now.
11088
11089         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
11090         call them with function name, file name and line number in the
11091         arguments.
11092
11093         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
11094         functions.
11095         
11096         * gtk/gtk.def: Add some missing entry points.
11097
11098         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11099         gtk_paned_set_gutter_size, which don't exist any longer, as void.
11100         
11101         Fixes by Hans Breuer:
11102
11103         * gdk/makefile.msc: Update for debugging.
11104
11105         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
11106         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
11107         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
11108         in the dash_list.
11109
11110         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
11111         the x11 backend.
11112
11113         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
11114
11115         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
11116
11117 2000-03-04  Tor Lillqvist  <tml@iki.fi>
11118
11119         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
11120         just pixel value of background colour.
11121
11122         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
11123         containing code snippet previously duplicated in a couple of
11124         places.
11125         
11126         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
11127         gdk_colormap_color.
11128
11129         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
11130         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
11131         events for autorepeated Shift, Control and Alt keys. Use
11132         gdk_colormap_color.
11133
11134         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
11135         pointer is inside the window the cursor of which we are setting,
11136         call SetCursor immediately.
11137
11138         * gdk/win32/makefile.cygwin
11139         * gtk/makefile.cygwin: If we don't have the build number stamp
11140         file, use zero.
11141
11142         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11143         gtk_paned_set_gutter_size as empty.
11144
11145         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
11146         
11147 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
11148
11149         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
11150           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
11151           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
11152           docs/gtk_tut.sgml docs/gtk.texi TODO:
11153
11154           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
11155
11156 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
11157
11158         * gtk/gtkcalendar.c: Implement num_marked_dates,
11159           and don't emit mutiple day_selected signals on
11160           month_prev.
11161
11162 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
11163
11164         * docs/make-todo (lineno): let title and logo be configurable so
11165         that GNOME can use this script too.
11166
11167         * TODO.xml: added logourl and a title
11168
11169 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
11170
11171         * TODO.xml: Added some UI items, and an explanatory
11172         comment at the top of the file.
11173
11174 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
11175
11176         * TODO.xml: some updates, added abunch of new entries.
11177         a note for those fiddeling with this file, when done
11178         with it, invoke:
11179         $ ./docs/make-todo TODO.xml >/dev/null
11180         and correct output errors before comitting changes.
11181
11182 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
11183
11184         * TODO.xml: Added XML-structured TODO file.
11185         * docs/make-todo: python script to turn TODO.xml into
11186           pretty XML output. 
11187
11188 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
11189
11190         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
11191         the function to let it draw the seven dots, instead of the old,
11192         much maligned, method.
11193         (draw_dot): New function to draw a dot.
11194
11195         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
11196         to draw the handle inside the border width as opposed to outside.
11197         Use paint function instead of gdk_draw_point.
11198
11199         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
11200         to draw the handle inside the border width as opposed to outside.
11201         Use paint function instead of gdk_draw_point.
11202
11203         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
11204         Change indenting to be more GTK like.
11205
11206 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
11207
11208         * docs/gtk_tut.sgml: New section on GtkCalendar
11209         * examples/calendar: Update example code
11210
11211 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
11212
11213         * docs/gtkfaq.sgml: FAQ Update
11214
11215 2000-02-19  Anders Carlsson  <andersca@gnu.org>
11216
11217         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
11218         to prevent the scroll event to be propagated upwards.
11219
11220 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
11221
11222         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
11223         OwnerGrabButtonMask from button entries for
11224         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
11225
11226         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
11227         to the event mask (which will result in button/press release
11228         being added to the event mask on Unix) so scrolling works
11229         for layouts in scroll windows.
11230
11231         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
11232
11233         Patch from Anders Carlsson  <andersca@gnu.org> to add
11234         a scroll event.
11235
11236         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
11237         scrolling to the "Test Scrolling" part of testgtk.
11238  
11239         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
11240  
11241         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
11242         it against GDK_SCROLL.
11243  
11244         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
11245         way of mouse wheel scrolling.
11246  
11247         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
11248  
11249         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
11250  
11251         * gtk/gtkmain.c: Removed previous mouse wheel hack.
11252  
11253         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
11254         gdk_event_mask_table.
11255  
11256         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
11257         GdkEventScroll handler.
11258  
11259         * gdk/gdkevents.h: Added GdkEventScroll structure.
11260  
11261 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
11262
11263         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
11264         and Anders Carlsson to change the Paned widgets so that they
11265         can be dragged from anywhere along the length. Also change
11266         the way that this is drawn to make this apparent.
11267
11268         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
11269         from George Lebl to check that option_menu->menu is present
11270         before getting history.
11271
11272 2000-02-14  Tor Lillqvist  <tml@iki.fi>
11273
11274         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
11275         before the assertion for non-NULL segment list.
11276
11277         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
11278         Seems that pattern brushes *must* be 8x8 pixels! At least on my
11279         machine, but it might be display driver dependent. Sigh, so make
11280         sure the stipple is that size. Does Windows suck or what?
11281
11282         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
11283         places.
11284
11285 2000-02-13  Havoc Pennington  <hp@pobox.com>
11286
11287         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
11288         refcount to 1
11289         (gdk_cursor_new): init refcount to 1
11290
11291         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
11292
11293 2000-02-13  Tor Lillqvist  <tml@iki.fi>
11294
11295         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
11296         so that we don't have to do unnecessary settings to the HDC.
11297
11298         * gdk/win32/gdkdrawable-win32.c
11299         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
11300         gdk_gc_predraw.
11301
11302         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
11303         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
11304         GDI paths, call WidenPath to get the outline of the stroken path,
11305         and then fill the outline (with the brush that was built from the
11306         stipple).
11307
11308         * gdk/win32/gdkgc-win32.c: Factor out common code from
11309         _gdk_win32_gc_new and gdk_win32_gc_set_values into
11310         gdk_win32_gc_values_to_win32values. Use correct colour for
11311         SetBkColor() (Until now the code actually used a random colour in
11312         the call to SetBkColor()... but that didn't show up as not many
11313         GDI APIs use the background colour. Pattern (opaque stippled)
11314         brushes do.)
11315
11316         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
11317         gdk_win32_api_failed): New functions for error logging.
11318
11319         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
11320         WIN32_API_FAILED to call them, passing function or file name and
11321         line number.
11322
11323         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
11324
11325         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
11326         GdkColor for foreground and background in GdkGCWin32Data.
11327
11328         * gdk/makefile.cygwin: Link in the resource object separately.
11329
11330         * gdk/win32/rc/gdk.rc
11331         * gtk/gtk.rc (New file)
11332         * gdk/win32/makefile.cygwin
11333         * gtk/makefile.cygwin: Update build number in DLLs automatically,
11334         as in GLib.
11335
11336 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
11337
11338         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
11339         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
11340         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
11341         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
11342         parameters given and cursor->ref_count. coding style fixups.
11343
11344         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11345         not GtkWidget.
11346         
11347         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
11348         fix up widget macros and add _GET_CLASS() variant.
11349         
11350         * gtk/*.c: some GtkType fixups.
11351
11352 2000-02-09  Tor Lillqvist  <tml@iki.fi>
11353
11354         * gdk/win32/gdkproperty-win32.c
11355         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
11356         were reversed.
11357
11358 2000-02-04  Tor Lillqvist  <tml@iki.fi>
11359
11360         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
11361         g_filename_to_utf8 to convert the font names Windows gives us from
11362         whatever is the default codepage to UTF-8.
11363         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
11364         in the other direction.
11365
11366         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
11367         error in debugging output.
11368
11369 2000-02-02  Tor Lillqvist  <tml@iki.fi>
11370
11371         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
11372         and height parameters to gdk_window_clear_area(). Not minus one.
11373
11374 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
11375
11376         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
11377         checks if the widget passed to gtk_drag_get_data() was not the
11378         dest widget.
11379
11380 2000-02-01  Tor Lillqvist  <tml@iki.fi>
11381
11382         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
11383         g_filename_from_utf8 functions (which were added a moment ago to
11384         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
11385         size buffers.
11386
11387         gtk_file_selection_get_filename returns the filename in the C
11388         runtime encoding. It calls g_filename_from_utf8, but copies the
11389         returned string to a static buffer, which is returned. I think
11390         this is better than returning the result from g_filename_from_utf8
11391         directly, which would mean all apps that use it would have to free
11392         the return value. Or should this function care about this issue at
11393         all? Maybe a new function with clearly defined semantics.
11394
11395         * gtk/gtkfilesel.h: Add comment about
11396         gtk_file_selection_get_filename returning the filename in the C
11397         runtime's encoding.
11398
11399         * README.win32
11400         * gdk/gdk.def
11401         * gdk/makefile.{cygwin,msc}
11402         * gtk/gtk.def: Updates.
11403
11404         * gdk/gdkcursor-win32.c: Initialise refcount.
11405
11406 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
11407
11408         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
11409
11410 2000-01-30  Havoc Pennington  <hp@pobox.com>
11411
11412         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
11413         destroy
11414
11415         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
11416
11417         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
11418         implemented in platform-specific code
11419
11420         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
11421
11422         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
11423         underscore in front
11424
11425         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
11426         put an underscore in front
11427
11428         * gdk/gdkcursor.c: new file, implements
11429         gdk_cursor_ref/gdk_cursor_unref
11430
11431         * gdk/gdkcursor.h: Refcount GdkCursor
11432
11433         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
11434
11435 2000-01-29  Tor Lillqvist  <tml@iki.fi>
11436
11437         * gdk/gdkwindow.h
11438         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
11439
11440 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
11441
11442         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
11443         structures to properly inherit from GtkWidget not GtkBin.
11444
11445 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
11446
11447         * gtk+.spec.in: Added lib/gtk+/include/* to %files
11448         (bug #5178 - Peter Wainright)
11449         
11450         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
11451         so that it will be installed.
11452         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
11453
11454 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
11455
11456         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
11457         for the GtkStyleClass vtable const.
11458
11459         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
11460         take a const string argument like GtkTranslateFunc. This will
11461         require changes in use code.
11462
11463 2000-01-19  Tor Lillqvist  <tml@iki.fi>
11464
11465         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
11466         semantics (to mimic the X11 backend, which just calls XClearArea)
11467         is to check for zero width (and height), and in that case use the
11468         window's width minus x (height minus y). This fixes for instance
11469         some redraw problems with gtkclist, which were easily noticeable
11470         in the gtk file selection widget.
11471
11472         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
11473         windows.
11474
11475 2000-01-13  Tor Lillqvist  <tml@iki.fi>
11476
11477         * configure.in
11478         * gdk/Makefile.am
11479         * gdk/x11/Makefile.am
11480         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
11481         (bug #5177).
11482         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
11483         out later.
11484
11485 2000-01-09  Tor Lillqvist  <tml@iki.fi>
11486
11487         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
11488         WM_MOVE for iconified or invisible windows. This fixes various
11489         problems when minimising windows. Thanks to Bernd Herd.
11490
11491 2000-01-05  Tor Lillqvist  <tml@iki.fi>
11492
11493         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
11494         backend's draw_lines method, not draw_points.
11495
11496 2000-01-02  Tor Lillqvist  <tml@iki.fi>
11497
11498         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
11499         before Owen's reorganisation: Don't have queued_events and
11500         queued_tail statics in this file, but use gdk_queued_events and
11501         gdk_queued_tail. This makes exposure event compression work again.
11502
11503         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
11504         seem to be needed?
11505
11506 1999-12-30  Tor Lillqvist  <tml@iki.fi>
11507
11508         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
11509         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
11510         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
11511         doesn't do anything.
11512
11513         * gdk/gdk.def: Add gdk_xid_table_insert.
11514
11515         * gdk/win32/gdkprivate-win32.h
11516         * gdk/win32/gdkevents-win32.c
11517         * gdk/win32/gdkinput-win32.c
11518         
11519         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
11520         extension_events field in the GdkWindowWin32Data struct. Use only
11521         the extension_events field in GdkWindowPrivate. Previously one was
11522         set, and the other one tested, which broke tablet
11523         functionality. Thanks to Keishi Suenaga for pointing this out.
11524
11525 1999-12-18  Tor Lillqvist  <tml@iki.fi>
11526
11527         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
11528         When handling a single character (text length == 1), don't handle
11529         it as if it was UTF-8.
11530
11531 1999-12-11  Tor Lillqvist  <tml@iki.fi>
11532
11533         * Makefile.am: Distribute README.win32.
11534         
11535         * gdk/Makefile.am
11536         * gdk/win32/Makefile.am: Distribute Win32 files.
11537
11538         * gdk/makefile.msc: New file.
11539
11540         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
11541         after label).
11542
11543         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
11544         gdk_error_code as GDKVAR, as they are referred outside GDK.
11545
11546         * gdk/win32/makefile.msc: Update.
11547
11548         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
11549         tweaks. Check only if at least one of those Unicode subrange bits
11550         we care for is set. If no code page bits are set, guess (wildly)
11551         based on the charset.
11552
11553         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
11554
11555         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
11556         non-NULL.
11557
11558         * gtk/gtkdnd.c
11559         * gtk/gtklayout.c
11560         * gtk/gtkplug.c
11561         * gtk/gtkselection.c
11562         * gtk/gtksocket.c
11563         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
11564         appropriate. There must be a cleaner way to handle this?
11565
11566         * gtk/gtkrc.c: Must include windows.h on Win32.
11567
11568         * gtk/testgtk.c: No need to include gdkx.h.
11569
11570         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
11571
11572 1999-12-07  Tor Lillqvist  <tml@iki.fi>
11573
11574         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
11575         the rbearing is set to the same as the width, but this should be
11576         fixed.
11577
11578 1999-12-06  Tor Lillqvist  <tml@iki.fi>
11579
11580         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
11581         function. If Windows doesn't tell us what Unicode subranges a font
11582         covers, guesstimate based on the codepages it covers. This will
11583         hopefully help those Windows versions or fonts that don't give us
11584         any useful Unicode subrange information with GetTextCharsetInfo.
11585         Call this function in gdk_font_load_internal.
11586
11587         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
11588         minor changes.
11589
11590 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
11591
11592         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
11593         New function, long needed.
11594
11595 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
11596
11597         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
11598         only_if_exists argument of gdk_atom_intern to
11599         bool.
11600
11601 1999-11-25  Tor Lillqvist  <tml@iki.fi>
11602
11603         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
11604         Fix two copy&paste errors.
11605
11606         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
11607         win32 has changed.
11608
11609         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
11610         GdkWin32SingleFont struct.
11611
11612         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
11613         subranges of loaded fonts. Clear font signature first, in case
11614         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
11615         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
11616
11617         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
11618         Unoffset clip region.
11619
11620 1999-11-23  Tor Lillqvist  <tml@iki.fi>
11621
11622         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
11623         event->any.window before calling filter functions.
11624
11625 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
11626
11627         * gtk/gtkgamma.h: Adapt cast macros to standard.
11628
11629 [ Merges from 1.2 ]
11630
11631 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
11632
11633         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
11634         If translation does not include a '/', use entire
11635         translation instead of crashing.
11636
11637 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
11638
11639         * docs/gtk_tut.sgml:
11640         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
11641
11642 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
11643
11644         * gtk/gtkselection.c (gtk_target_list_remove): Use
11645         g_list_remove_link, not g_list_remove.
11646
11647         [ From Geert Bevin <gbevin@thunderstorms.org> ]
11648         
11649 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
11650
11651         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
11652         statement upon unselection (how the heck did that slip in?).
11653
11654 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
11655
11656         * gtk/gtktext.c (gtk_text_freeze): 
11657         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
11658         in frozen state (and aparently crashes). patch provided by Anders
11659         Melchiorsen <and@kampsax.dtu.dk>.
11660
11661 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
11662
11663         * fix insensitive default/focus widget activation,
11664         reported by Matt Goodall <mgg@isotek.co.uk>.
11665
11666         * gtk/gtkwindow.c (gtk_window_key_press_event): 
11667         (gtk_window_activate_default):
11668         (gtk_window_activate_focus):
11669         return handled=FALSE for actiavtion of insensitive default
11670         widgets. return handled=TRUE for activation of insensitive
11671         focus widgets. don't activate in either case.
11672
11673 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
11674
11675         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
11676         and $glib_cflags to match library order and in the
11677         theory that an old version of GLib is more likely to
11678         be in the include directory for X then vice-versa.
11679         (Bug #2776)
11680
11681 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11682
11683         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
11684         to determine the locale for fontsets, not LC_MESSAGES;
11685         the user may want English messages with a handling
11686         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
11687         will still be broken) (Bug #2891)
11688
11689 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11690
11691         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
11692
11693 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11694
11695         * gtk/gtkrc.ko: Changed the Korean default fontset.
11696
11697 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
11698
11699         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
11700         where when scrolling to the left or top double exposes
11701         were done, causing major slowdowns.
11702
11703 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
11704
11705         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
11706         names to lowercase and alphanumeric, before looking
11707         them up.
11708
11709         * gtk/Makefile.am: Install codeset variant gtkrc files
11710         with normalized names.
11711
11712 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
11713
11714         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
11715         popup menus when the menu is already visible, but its parent
11716         is still hidden, (happens after tornoff window got hidden).
11717
11718 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
11719
11720         * gtk/Makefile.am (install-data-local): Fix
11721         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
11722         deleted, causing error messages on install.
11723
11724 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
11725
11726         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
11727         the handle as well, since we now sometimes ignore
11728         exposes on the handle while resizing.
11729
11730 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
11731
11732         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
11733         extra g_free introduced in one of the last one or two 
11734         commits.
11735
11736 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
11737
11738         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
11739         consistent, put each style that a gtkrc.* file creates
11740         in a unique namespace, remove old files before installing.
11741
11742 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
11743
11744         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
11745         gtk_rc_init is called multiple times. (Yes, people who
11746         do that have bugs in their code.)
11747
11748 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
11749
11750         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
11751         Remove it since it's generated by the Makefile anyway
11752
11753 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
11754
11755         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
11756         device->info.axes for core pointer.
11757
11758 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
11759
11760         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
11761         idle_id, to deal with obsolete, broken C libraries.
11762
11763 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
11764
11765         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
11766         allocation->x/y twice!
11767
11768         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
11769         consistent with gtk_vscale_pos_trough().
11770
11771 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
11772
11773         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
11774         be queueing a resize on a toplevel container between
11775         the time we show it and when we map it. So, we need
11776         to test GTK_WIDGET_VISIBLE() for toplevels, and only
11777         use GTK_WIDGET_DRAWABLE() for child windows.
11778
11779 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
11780
11781         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
11782         (fixes bug #2144)
11783
11784 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
11785
11786         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
11787         container DRAWABLE (instead of VISIBLE), so we don't queue
11788         resizes on non-toplevel containers.
11789
11790 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
11791
11792         * gtk/gtkselection.[ch]: Make the data argument
11793         const guchar *.
11794
11795 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
11796
11797         * gtk/gtkwindow.c: Try to behave sensibly if 
11798         the focus widget is the window itself. (Should
11799         we allow this at all?)
11800
11801 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11802
11803         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
11804         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
11805         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
11806         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
11807         in prototypes and implementations consistent (Tomas Ogren).
11808
11809         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
11810         before the widget is unparented (reported by damon).
11811
11812         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
11813         since we provide unsigned data anyways.
11814
11815 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
11816
11817         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
11818         the call to gtk_tooltips_layout_text() until later.
11819
11820         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
11821         Call gtk_widget_ensure_style() before using the style.
11822
11823 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
11824
11825         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
11826         for old widgets that don't propagate draws to all
11827         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
11828
11829 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
11830
11831         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
11832         for a redraw but just the widget that requested the resize.
11833
11834 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
11835
11836         * gtk/gtkcontainer.c: added new widget level method
11837         gtk_container_set_reallocate_redraws() and a GtkContainer flag
11838         reallocate_redraws : 1 to reflect the setting, exported this through
11839         the argument system as a boolean ::reallocate_redraws.
11840
11841         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
11842         on the widget because the allocation changes, do so as well for
11843         widget->parent if the parent has reallocate_redraws set to TRUE.
11844         with that containers requesting reallocation redraws get automatically
11845         redrawn if their children changed allocation (this unfortunately
11846         affects also other children that didn't change allocation, but we
11847         cannot work around that before 1.3).
11848
11849 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11850
11851         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
11852         _and_ height are >0 (not _or_).
11853
11854         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
11855         instead of gtk_container_queue_resize(), which is a core gtk internal
11856         function (must have been on crack when i queued that).
11857
11858         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
11859         we can check more reliably if we want to discard expose events.
11860         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
11861         flag.
11862         
11863         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
11864         we simply trust these events. for deciding whether to discard exposes,
11865         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
11866         
11867 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
11868
11869         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11870         queues of areas that are completely off screen.
11871
11872         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
11873         logic for handleboxes.
11874
11875         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
11876         check on width/height.
11877
11878 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
11879
11880         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
11881         we are fine with using $@ the way we do (if we actually encounter
11882         brokeness with $@ in VPATH builds because of additional path prefixes,
11883         we need to use $(@F) actually).
11884
11885 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
11886
11887         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
11888         short lived bugs, that would allow language bindings to do surgeries
11889         to our guts.
11890
11891 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
11892
11893         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
11894         where comparison was being done against an uninitialized
11895         value causing intermittant results depending on
11896         compiler flags. Also make it clearer that we aren't
11897         ever initializing the child as 0x0 (though this will
11898         be caught in gtk_widget_size_allocate())
11899
11900 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
11901
11902         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
11903         gtk_window_unset_transient_for() call after we do checks
11904         involving the old transient parent.
11905         [ From Lance Capser <lmc@cyberhighway.net> ]
11906
11907 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
11908
11909         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
11910         an empty file.
11911
11912 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
11913
11914         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
11915         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
11916
11917 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
11918
11919         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
11920         `$@' is valid only in the build dir, not after we've done 
11921         `cd $srcdir'.  Also use `test -f' instead of less portable
11922         `test -e'.
11923
11924 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
11925
11926         * gtk/gtktext.c (correct_cache_insert): Rewrite
11927          for simplicity, and hopefully correctness.
11928          (Fixes bug #1322, which was a segfault when
11929           on some insertions with the properties around
11930           the insertion set up just wrong.)
11931
11932         * gtk/gtktext.c (gtk_text_adjustment): When we receive
11933          a "changed" signal, clamp the new value to the adjustment
11934          bounds to avoid segfaulting if someone tries to change
11935          the adjustment to a bogus value. (Bug #1795)
11936
11937 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11938
11939         * gtk/gtkmain.c: Ignore unexpected destroy notifies
11940         for children, for toplevel windows handle them
11941         like delete_event.
11942
11943         * gtk/gtkplug.c: Add an unrealize handler so that
11944         we unref plug->socket_window when we are done
11945         with it.
11946
11947 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
11948
11949         * gtk/gtktext.c (clear_area): Fix stupid signedness
11950          problem that was causing background to sometimes
11951          be misaligned.
11952
11953 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
11954
11955         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
11956         
11957         * gtk/gtkmenu.c (gtk_menu_position): Make
11958          sure we never position menus with negative x, y,
11959          since gtk_widget_set_uposition() can't handle that.
11960
11961         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
11962          Modify the positioning code a bit so that we always
11963          put the top-left corner onscreen. (This is for
11964          UI reasons, gtk_menu_position() now takes care of
11965          gtk_widet_set_uposition() brokeness.)
11966
11967 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
11968
11969         * gtk/Makefile.am: fixed up things for -jx, x > 1.
11970
11971 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
11972
11973         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
11974           RC style that is passed in. The lack of the ref
11975           before was a bug. If people worked around this
11976           bug, this will introduce a slight memory leak
11977           in their code. The code should typically look like:
11978
11979             rc_style = gtk_rc_style_new ();
11980             [...]
11981             gtk_widget_modify_style (widget, rc_style);
11982             gtk_rc_style_unref (rc_style);
11983
11984         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
11985           the style if it was already set.
11986
11987         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
11988           style if it was set before.
11989
11990 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11991
11992         * gtk/testgtk.c (main): Add a check to see if we
11993           are being run from the correct directory and
11994           to quit nicely if we are not.
11995
11996         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
11997           static.
11998
11999 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
12000
12001         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
12002
12003         * gtk/gtkwindow.c:
12004         queue resizes unconditionally (gtk_widget_queue_resize will figure
12005         what to do if the window is not realized).
12006         (gtk_window_move_resize): only recenter the window
12007         for GTK_WIN_POS_CENTER_ALWAYS.
12008         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
12009         the same way as GTK_WIN_POS_CENTER.
12010
12011 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
12012
12013         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
12014         with (!(info->last_flags & GDK_HINT_POS)) instead of
12015         (!info->last_flags & GDK_HINT_POS).
12016
12017         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
12018         new_height unconditionally, because we use these values even if
12019         !default_size_changed && !hints_changed.
12020         comented the (default_size_changed || hints_changed) case with
12021         respect to resize rejects from the window manager.
12022
12023         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
12024         in the zvt condition hack, since this includes the window hints, set
12025         the hints after the handling_resize case.
12026
12027         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
12028         window is initially shown with to the geometry.
12029
12030 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
12031
12032         * gtk/gtkwindow.c (gtk_window_move_resize):
12033         s/size_changed/default_size_changed/g so i know what's
12034         really going on (frying brain on smaller flame now).
12035
12036 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
12037
12038         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
12039         we have size_changed upon handling_resize. this is a gross
12040         workaround for the broken zvt widget and should be removed in
12041         1.3 again (search for FIXME).
12042         Owen provided an accurate comment for this:
12043
12044         /* We could be here for two reasons
12045          *  1) We coincidentally got a resize while handling
12046          *     another resize.
12047          *  2) Our computation of size_changed was completely
12048          *     screwed up, probably because one of our children
12049          *     is broken. It's probably a zvt widget.
12050          *
12051          * For 1), we could just go ahead and ask for the
12052          * new size right now, but doing that for 2)
12053          * might well be fighting the user (and can even
12054          * trigger a loop). Since we really don't want to
12055          * do that, we requeue a resize in hopes that
12056          * by the time it gets handled, the child has seen
12057          * the light and is willing to go along with the
12058          * new size. (this happens for the zvt widget, since
12059          * the size_allocate() above will have stored the
12060          * requisition corresponding to the new size in the
12061          * zvt widget)
12062          *
12063          * This doesn't buy us anything for 1), but it shouldn't
12064          * hurt us too badly, since it is what would have
12065          * happened if we had gotten the configure event before
12066          * the new size had been set.
12067          */
12068
12069 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
12070
12071         * gtk/gtkrc.c: deal properly with the fact that RC
12072           style lists may include rc styles more than once.
12073
12074         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
12075           unused static function.
12076
12077         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
12078           stack of directories of RC files currently being
12079           parsed and implicitely add them to pixmap path.
12080           
12081           This fixes a bug where the directory would get
12082           appended then overwritten by pixmap_path declarations.
12083
12084           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
12085
12086         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
12087           theme's exit function. (Patch from Peter Wainwright,
12088           bug #1454)
12089
12090         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
12091           Add a destroy() handler to take care of removing
12092           group for menu item. (Fixes bug #1197)
12093
12094         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
12095           in warning message.
12096
12097 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
12098
12099         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
12100         roundtrip to figure window's width and height, since we know that
12101         anyways from widget->allocation.
12102
12103 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
12104
12105         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
12106           the hints after we request the new size.
12107
12108 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
12109
12110         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
12111           GTK_WIDGET_REALIZED() assertion - we can compute the
12112           hints before we are realized.
12113
12114         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
12115           hint changing so that we have a value of hints_changed
12116           when we decide whether to constrain the window size.
12117
12118         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
12119
12120         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
12121         change back to G_MAXINT.
12122
12123 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
12124
12125         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
12126         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
12127         contain uncluttered values.
12128         (gtk_window_compute_hints): simply assert that window is realized
12129         and that geometry_info is valid, since we rely on this anyways.
12130         (gtk_window_constrain_size): major cleanups to the code.
12131         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
12132         for the base size, instead of the minimums. use 32767 as max width
12133         and height (like in gtkwindow.c) instead of G_MAXINT.
12134
12135 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
12136
12137         * cleaned up the GtkContainer.need_resize flag handling mess, we
12138         only need to force resize requests when we were prematurely
12139         realized, or our widget tree was modified when we were temporarily
12140         hidden. handling these cases directly upon showing the window (i.e.
12141         while the GdkWindow is still unmapped) avoids the need to wait for
12142         a configure event response and therefore makes the GUI more snappier
12143         and avoids blank windows during the roundtrip.
12144
12145         * gtk/gtkwidget.c:
12146         (gtk_widget_hide): 
12147         (gtk_widget_show): don't queue resizes on toplevels, they know how
12148         to deal with matters.
12149
12150         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
12151         flag directly for not visible resize containers and spare us unecessary
12152         signal emissions.
12153
12154         * gtk/gtkwindow.c:
12155         (gtk_window_realize): if we need to enforce premature size allocation,
12156         queue a container resize so we are correctly resized later on.
12157         (gtk_window_init):
12158         (gtk_window_size_request):
12159         don't freak around with the ->need_resize flag,
12160         gtk_container_queue_resize() will care about that.
12161         (gtk_window_show):
12162         handle initial resizing issues here, we can handle matters better in
12163         this place, especially since we know that our GdkWindow is still
12164         unmapped.
12165         (gtk_window_move_resize):
12166         don't care about ->need_resize at all.
12167         handle size changes properly that occoured while we waited for a
12168         configure event.
12169
12170 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
12171
12172         * gtk/gtkwidget.c (gtk_widget_set_uposition):
12173         * gtk/gtkwindow.[hc] (gtk_window_reposition):
12174         Move the hint setting code from gtk_widget_set_uposition
12175         to here; set the hints so that we respect any previously
12176         set geometry hints.
12177
12178         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
12179         change the window hints here or move the window here,
12180         let that happen in gtk_window_move_resize().
12181
12182 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
12183
12184         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
12185         to already queued resizes (and therefore redraws) on a widget, check
12186         its anchestry as well.
12187
12188         * gtk/gtkcontainer.c:
12189         (gtk_container_queue_resize): clear resize widgets for resize
12190         containers before aborting prematurely. this is especially important
12191         for toplevels which may need imemdiate processing or their resize
12192         handler to be queued.
12193         (gtk_container_dequeue_resize_handler): added new internal function for
12194         gtkwindow.c.
12195
12196         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
12197         configure event, take possible changes in window position into account
12198         as well.
12199         if we request a new window size, queue up a resize handler that will
12200         last until the configure event response arrives.
12201         combined the ->need_resize case (initial show) with the general size
12202         (hints) changed case and added even more comments.
12203         if !auto_shrink, only revert to the old allocation if the new size
12204         is smaller than the current allocation.
12205
12206 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
12207
12208         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
12209                            gtk_window_set_geometry_hints
12210                            gtk_window_set_default_size):
12211         When hints are set, queue a resize so that the hints will
12212         be eventually reset on the toplevel.
12213
12214         * gtk/gtkwindow.c (gtk_window_show): Use
12215         gtk_window_compute_default_size(). Clear the need_resize flag
12216         on the initail map so that we don't unnecessarily trigger the
12217         resize code.
12218
12219         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
12220         into separate functions. Compare the hints we are setting
12221         with what we set last time so that we can accurately
12222         tell when we need to reset the hints.
12223
12224         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
12225         function to figure out the size from requisition
12226         and default_size.
12227
12228         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
12229         from fvwm to constrain a size to the geometry hints.
12230
12231         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
12232         to compare two sets of geometry hints.
12233
12234         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
12235         from gtk_window_set_hints(), just compute the hints,
12236         don't set them.
12237
12238         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
12239         code from gtk_window_move_resize() to separate function,
12240         rationalize a bit.
12241
12242 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
12243
12244         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
12245         structure into a new private structure.
12246
12247         * gtkrc.c: Split GtkRcStyle into public/private.
12248         In the private part, add a list of pointers to the
12249         RcStyle lists this RcStyle participates in.
12250
12251         * gtkrc.c: When a RcStyle is free, remove all
12252         lists referencing it from the 
12253         realized_style_ht hash, and free those lists.
12254         
12255         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
12256         gtk_rc_init(), since that adds the default styles
12257         to the list of parsed RC files again.
12258
12259         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
12260         
12261 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
12262
12263         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
12264         checks that ensure that a widget's allocation is at least 1 in width
12265         and height. (GNOME note: this doesn't affect old panel code anymore,
12266         because GtkSocket will request width and height of at least 1 since
12267         Fri Jul 23).
12268
12269         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
12270         allocated yet (happens if the user realizes the window prematurely),
12271         size request and allocate it.
12272         (gtk_window_size_allocate): guard against guint underflows.
12273
12274 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
12275
12276         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
12277         in gtk_built_sources, so gtk.defs gets built prior to all other
12278         sources.
12279
12280 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12281
12282         * gtk/Makefile.am:
12283         invoke indent on gtkmarshal.*. 
12284         rewrote source generation rules, use COPYING as oldest source tag for
12285         a piggyback rule to generate all sources from (don't touch it ;).
12286         major cleanups, strip spaces on build rules for GNU Make.
12287
12288         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
12289         source and target files from commandline arguments. don't invoke indent.
12290
12291 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12292
12293         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12294         notebook after switch to avoid drawing problems.
12295         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12296         
12297         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12298         show them instead. 
12299         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12300
12301 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12302
12303         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12304         notebook after switch to avoid drawing problems.
12305         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12306         
12307         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12308         show them instead. 
12309         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12310
12311 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
12312
12313         * gtk/gtkwindow.c:
12314         we use window->need_resize from configure_event now, to indicate that
12315         the gtkwindow should keep its allocation (e.g. because the user resized
12316         the window through window manager handles). resize_count is now reliably
12317         used to figure whether we got the allocation we requested from the
12318         window manager.
12319         configure events get queued as resizes now, the real stuff (size
12320         computation and allocation) now only goes on in gtk_window_move_resize().
12321         GtkWindow's requisition now contains its *real* requisition (like all
12322         other widgets), *not* taking usize into account.
12323         geometry_info->last_{width|height} is now updated from set_hints() only
12324         so it always contains the last hints we set for the window manager.
12325         made some event handlers return TRUE instead of FALSE.
12326         the overall code should be much more straight forward now, and the
12327         significant code portions are accompanied by comments now.
12328         (gtk_window_set_hints):
12329         removed requisition argument and made it
12330         fetch the requisition through gtk_widget_get_child_requisition.
12331         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
12332         does that now.
12333         (gtk_window_show):
12334         ensure that the widget is realized before calling 
12335         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
12336         ensure that we got properly size requested and allocated before
12337         realization.
12338         (gtk_window_configure_event):
12339         ignore plain window moves, or reallocate the widget tree through the
12340         resize queue otherwise.
12341         (gtk_window_move_resize):
12342         mostly rewrote this function to figure window manager hints more
12343         reliably, coalesce window moves and resizes to reduce configure events
12344         and do actuall size allocations.
12345
12346 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12347
12348         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
12349         that have a resize pending, because a redraw is already queued for them.
12350
12351         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
12352         hack to clear resize_widgets.
12353
12354         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
12355         for resize containers prior to size allocation. (this is also a bit
12356         ugly, but avoids side effects for stopped emissions and is thus more
12357         reliable).
12358         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
12359
12360         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
12361         function from gtk_tooltips_expose, as we connect to ::expose_event
12362         *and* ::draw now.
12363
12364 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12365
12366         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
12367         checks.
12368         (gtk_target_list_unref): Likewise.
12369
12370         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
12371
12372 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
12373
12374         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
12375         guard against division by zero. (Fixes bug #1339)
12376
12377 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
12378
12379         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
12380         Prevent the trivial leak of information of allowing
12381         word motion when the entry is not visible.
12382
12383 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
12384
12385         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
12386         modality to error dialog as well as confirmation dialogs.
12387         (Bug #1803, reported by Rosanna Wing Sze Yuen)
12388
12389 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12390
12391         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
12392         tree->view_lines.
12393         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
12394
12395         * gtk/Makefile.am (install-data-local): Solaris apparently
12396         has various troubles with ln -f; use rm first instead.
12397         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
12398
12399 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
12400
12401         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
12402         use `cp' followed by `rm' (the `rm' was already there).
12403
12404 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12405         
12406         * configure.in: Fix autoconf warnings about cross compilation by
12407         trying to provide sane defaults for AC_TRY_RUN.
12408         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
12409         put them into $(srcdir) when generated. Also add a dependency of
12410         gtksignal.h on gtkmarshal.h for -j builds. 
12411         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
12412
12413 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
12414
12415         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
12416         GDK_THREADS_{LEAVE,ENTER} pair.
12417         (From Paul Fisher <pnfisher@redhat.com>)
12418
12419 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
12420
12421         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
12422         width and height are always >0 (owen).
12423
12424 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
12425
12426         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
12427         change that assured that a widget's allocated with and height are
12428         always >1, since this breaks *buggy* panel code. unfortunately this
12429         back-breaks the gimp's color selector.
12430
12431         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
12432         allocation is always >0 in width and height, before sending the
12433         configure event; this is a *gross* hack to get the gimp back to work.
12434         
12435         * marked both cases with TODO-1.3
12436
12437 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
12438
12439         * gtk/gtktext.c: Don't display wrap indicators when
12440         text is not editable and word wrap is on.
12441
12442 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
12443
12444         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
12445         option menus here as they are not derived from menu shell, assure that
12446         the option menu has a menu we can add items to.
12447
12448 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
12449
12450         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
12451         width/height to (gint) before calculations and check against < 0 to
12452         avoid guint wraparounds.
12453
12454 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
12455
12456         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
12457         width and height is never zero. sanity check both dimensions against
12458         32767 and issue a warning if the allocation is greater than that.
12459
12460 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
12461
12462         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
12463         to g_main_pending() as well.
12464
12465 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
12466
12467         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
12468         call to g_main_iteration() - since that will regrab
12469         GTK+ lock to process events.
12470
12471 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
12472
12473         * gtk/gtkwindow.c
12474         - Regularize with the rest of GTK+ by making widget->requisition
12475           not reflect the set_usize()
12476         - Always recompute geometry hints, then check if they
12477           changed before sending them to the X server. The
12478           previous checks for changes would fail in a number
12479           of circumstances. 
12480
12481 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
12482
12483         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
12484
12485 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
12486
12487         * gtk/gtkdnd.c:
12488         - Code cleanups
12489         - Instantaneously update on modifier key presses
12490         - Allow cancellation of the drag with Escape.
12491
12492 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
12493
12494         * gtk/testgtk.c (create_handle_box): Set the policy
12495         to auto_shrink - otherwise the appearance is rather
12496         strange when flipping between horizontal and vertical.
12497
12498 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
12499
12500         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
12501         (gtk_window_set_default_size): don't change a value if it's < 0.
12502         queue a resize.
12503
12504 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
12505
12506         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
12507
12508 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
12509
12510         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
12511         add an extra "/" when concating "/" + filename.
12512         (From Matt Grossman <mattg@oz.net>)
12513
12514 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
12515
12516         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
12517         for fg_gc if we set it for drawing pixmap.
12518
12519 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
12520
12521         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
12522         
12523         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
12524         already set, call old engine's destroy function and
12525         unref the old engine.
12526
12527 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
12528
12529         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
12530
12531 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
12532
12533         * gtk/gtkaccelgroup.h: mark certain functions as internal.
12534
12535 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
12536
12537         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
12538         expand behaviour changed.
12539
12540         * gtk/gtklabel.c (gtk_label_set_pattern):
12541         (gtk_label_set_justify):
12542         (gtk_label_set_line_wrap):
12543         don't bother invoking queue_clear, the reallocation does
12544         that for us, always free_words so the upcoming resize will
12545         relayout the label's contents.
12546
12547 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
12548
12549         * applied argument implementation patches from Elena Devdariani
12550         <elena@cogent.ca>.
12551
12552         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
12553         ::space_style, ::relief
12554         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
12555         * gtk/gtkpreview.c: ::expand
12556         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
12557         * gtk/gtknotebook.c: ::homogeneous
12558         * gtk/gtklabel.c: ::wrap
12559         * gtk/gtklist.c: ::selection_mode
12560         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
12561         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
12562         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
12563         * gtk/gtkclist.c: ::sort_type
12564         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
12565         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
12566
12567 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
12568
12569         * gtk/gtkstyle.c: Removed ill-thought-out part of last
12570         comment.
12571
12572 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
12573
12574         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
12575         counting right when we have to attach a new style
12576         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
12577
12578         * gtk/gtkstyle.c: Documented the refcounting
12579         peculularities of gtk_style_attach.
12580
12581 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12582
12583         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
12584         window types.
12585
12586         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
12587         of GTK_TOPLEVEL for creating the window.
12588
12589 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12590
12591         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
12592         the last argument (reported by Per Winkvist).
12593         
12594 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
12595
12596         Fixes for invisible XOR lines (Frank Loemker
12597         <floemker@TechFak.Uni-Bielefeld.DE>)
12598         
12599         * gtk/gtkclist.c (gtk_clist_realize): Always use
12600         a non-zero pixel for GDK_XOR.
12601
12602         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
12603         Use GDK_INVERT instead of GDK_XOR.
12604
12605 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
12606
12607         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
12608         signals if h/voffsets differ from adjustment values.
12609         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
12610
12611 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
12612
12613         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
12614         ::selection-done emissions up to the topmost menu shell.
12615
12616 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
12617
12618         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
12619         the user data on the window before destroying it.
12620
12621         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
12622         unrealize handler to take care of destroying 
12623         notebook->panel properly. 
12624         (Bug #1198 - Morten Welinder <terra@diku.dk>)
12625
12626         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
12627         of g_new and g_realloc to stop memory leak. (Actually,
12628         we could just use g_realloc(), but I'm not 100% sure
12629         that is portable).
12630         (Bug #1196 - Morten Welinder <terra@diku.dk>)
12631
12632 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12633
12634         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
12635
12636         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12637         for fontsets.
12638
12639         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
12640         with bin/button confusion.
12641
12642 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
12643
12644         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
12645         and show how preselection of radio items is done.
12646
12647 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
12648
12649         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
12650         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
12651         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
12652         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
12653         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
12654         * gtk/gtktable.c (gtk_table_attach): 
12655         * gtk/gtklist.c (gtk_list_insert_items): 
12656         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
12657         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
12658         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
12659         * gtk/gtkbin.c (gtk_bin_add): 
12660         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
12661         * gtk/gtkfixed.c (gtk_fixed_put): 
12662         * gtk/gtklayout.c (gtk_layout_put):
12663         general fixups to container_add logic. always realize child if
12664         child->parent is realized, only map the child and queue a resize
12665         if child and child->parent are both visible.
12666
12667 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
12668
12669         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
12670         instead of gtk_container_foreach to walk and unrealize children, so
12671         composite children get also unrealized.
12672         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
12673         (gtk_widget_map): assert that the widget is visible (basic constrain).
12674         (gtk_widget_real_map): assert that the widget is realized (basic
12675         constrain).
12676
12677 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
12678
12679         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
12680
12681 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
12682
12683         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
12684         file for iso-8859-2 locales.
12685
12686         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
12687
12688 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
12689
12690         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
12691          (Pointed out by andy@rz.uni-karlsruhe.de and others).
12692          Remove some suspicious and useless lines. 
12693
12694 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
12695
12696         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
12697         width,height = 0, 0 to mean - here to edge of window,
12698         instead of -1, -1, since the former is all we support.
12699
12700 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
12701
12702         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
12703         when removing from quit_functions list.
12704
12705 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
12706
12707         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
12708
12709 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
12710
12711         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
12712          When redrawing characters on non-visible entry, use appropriate
12713          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
12714
12715 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
12716
12717         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
12718         from drag coordinates.
12719         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
12720         use drag_dest_cell.
12721
12722         * gtk/gtktree (drag_dest_cell)
12723         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
12724         (Bug #1129)
12725
12726 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
12727
12728         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
12729         translate_* fields.
12730         (gtk_item_factory_finalize): invoke translate_notify independant from
12731         translate_data.
12732         (gtk_item_factory_set_translate_func): likewise.
12733         (gtk_item_factory_destroy): only remove ifactory pointer from those
12734         widgets that belong to us (stupid me).
12735
12736 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
12737
12738         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
12739         rc_style list when lookup succeeeds.
12740
12741 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
12742
12743         * gtk/gtkctree.c (resync_selection): 
12744         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
12745         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
12746         bug.
12747
12748 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
12749
12750         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
12751         Add some missing GDK_THREADS_ENTER()/LEAVE around
12752         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
12753
12754 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
12755
12756         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
12757         rather than emit_by_name.
12758
12759         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
12760         on the widget across multiple signal emissions.
12761         (gtk_editable_delete_text): same here.
12762         (gtk_editable_class_init): set widget_class->activate_signal after
12763         editable_signals[ACTIVATE] has been created.
12764
12765 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
12766
12767         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
12768         position here prematurely -- we might not have the
12769         right ->min_position and ->max_position yet.
12770
12771 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12772
12773         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
12774         Add error traps so if the other end of the connection
12775         dies, we survive.
12776
12777         * gtk/gtkselection.c (gtk_selection_notify): Clean
12778         up properly when selection property retrieval fails.
12779         
12780         * gtk/gtkselection.c (gtk_selection_request): Correctly
12781         reject SelectionRequest notifies where the handler
12782         returns no data.
12783
12784 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12785
12786         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
12787         when we've previously highlighted.
12788
12789         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
12790         emit two "drag_leave" signals for Motif drops.
12791
12792         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
12793         back the correct status messages when dropping from
12794         Motif onto a proxy window that is rejecting the
12795         drop.
12796
12797 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
12798
12799         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
12800         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
12801         to compare two argument values. added gtk_arg_to_valueloc() to set a
12802         variable from an arg through its location (pointer).
12803
12804         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
12805         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
12806         as gfloat*, uchars are collected as guchar*, ints are collected as
12807         gint*, etc...
12808
12809 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
12810
12811         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
12812         Include <string.h> instead of <strings.h>.
12813
12814         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
12815         (actually, a lot more duplicate includes occur if
12816          you trace through the sequence of #include's)
12817         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
12818         
12819 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12820
12821         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12822         gtk-a-higuti-990322-[0-3]
12823
12824         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12825         that was causing -DX_LOCALE not to work.
12826
12827         * gtk/gtkrc.c (gtk_rc_init):
12828         X_LOCALE will never have LC_MESSAGES defined
12829
12830 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
12831
12832         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
12833         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
12834
12835         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
12836         left/right as well (gtk-michael-980726-0.patch.gz).
12837
12838         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
12839         for pointer values, use gchar instead of char. fixed uline allocation
12840         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
12841         chunks instead of G_ALLOC_ONLY.
12842         (gtk_label_size_request): always alter requisition as passed and leave
12843         widget->requisition alone.
12844         (gtk_label_set_text): allow NULL strings.
12845         (gtk_label_new): likewise.
12846
12847 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
12848
12849         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
12850
12851 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
12852
12853         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
12854         *and* mapped (i.e. drawable).
12855         (gtk_bin_expose): only send exposes to drawable children.
12856
12857         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
12858         (gtk_box_expose): only send exposes to drawable children.
12859
12860         * gtk/gtkhscale.c (gtk_hscale_draw): 
12861         * gtk/gtkvscale.c (gtk_vscale_draw):
12862         hm, this is an ugly one. we first compute the size of our trough area
12863         here (window relative) and then check intersection with the draw_area
12864         which is parent relative because we're a NO_WINDOW widget, so we need
12865         to offset the trough area by allocation.x and allocation.y before the
12866         check. (this must not be done for the background area though, since
12867         that's already computed parent relative).
12868
12869 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
12870
12871         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
12872         unrealize title buttons.
12873
12874 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
12875
12876         * gtk/gtkclist.c (gtk_clist_column_title_passive)
12877         (gtk_clist_column_title_active): 
12878         only connect/disconnect to GtkWidgetClass::event to block mouse events.
12879
12880         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
12881         zero initialize event, removed superfluous gdk_window_get_pointer call
12882
12883         * gtk/gtklist.c (gtk_list_vertical_timeout)
12884         (gtk_list_horizontal_timeout): removed superfluous
12885         gdk_window_get_pointer call
12886
12887 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12888
12889         * plugging problems reported by "Bruce Mitchener, Jr."
12890         <bruce@puremagic.com> due to a purify session.
12891
12892         * gtk/gtkstyle.c:
12893         (gtk_style_ref): 
12894         (gtk_style_unref): assert ref_count to be > 0.
12895
12896         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
12897         the requisition.
12898         (gtk_clist_set_shift): likewise.
12899
12900         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
12901         adjustments.
12902
12903         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
12904         event before sending it and set send_event to TRUE (which needs to
12905         be done for *all* synthesized events).
12906         (gtk_list_vertical_timeout): likewise.
12907
12908         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
12909         leaks.
12910
12911         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
12912         to TRUE when synthesizing events.
12913
12914 [ *** end of merges from 1.2 *** ]      
12915         
12916 1999-11-21  Tor Lillqvist  <tml@iki.fi>
12917
12918         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
12919         (or copied from gdkconfig.h.win32 on Win32, sigh).
12920
12921         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
12922
12923         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
12924
12925         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
12926
12927         * gdk/gdkconfig.h.win32: New file.
12928
12929         * gdk/win32/makefile.cygwin: Build just a static archive here.
12930
12931         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
12932         for the DLL from the static archive built above.
12933
12934         * gdk/gdk.def: Moved here from the win32 subdirectory.
12935
12936         * gdk/win32/*: Adapt for the changed private struct organisation.
12937
12938         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
12939
12940 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
12941
12942         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
12943         for wheel mice (buttons 4 and 5).
12944
12945 1999-11-18  Tor Lillqvist  <tml@iki.fi>
12946
12947         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
12948         drawables use just the pixel field in the foreground and
12949         background GdkColor of the GdkGC.
12950
12951         gdk_gc_set_{fore,back}ground() are called in the GIMP with
12952         GdkColors containing uninitialized (red,green,blue) fields, and
12953         just the pixel field filled in, and furthermore in the
12954         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
12955         It thus turns out that we really don't need to have the full
12956         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
12957         it later to have just the pixel values.
12958
12959 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
12960
12961         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
12962
12963 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
12964
12965         * docs/gtkfaq.sgml: threads example from Erik Mouw.
12966         New question on GtkLabel background colors.
12967
12968         * docs/gtk_tut.sgml:
12969           - Correct the example code callback
12970             function definitions.
12971           - Update the gtkdial example code, from Frans van Schaik.
12972           - Update setselection.c to current API.
12973
12974         * examples/Makefile examples/*/*.c: Update to code
12975         listed in tutorial.
12976
12977 1999-11-10  Tor Lillqvist  <tml@iki.fi>
12978
12979         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
12980         subrange table (from the "Developing International Software for
12981         WIndows 95 and Windows NT" book) was missing the Hangul syllable
12982         block... Get the loaded font's charset correctly.
12983
12984         (Note that this, and the other *-win32.c files, still really are
12985         the old ones, the win32 subdirectory is not ready for compilation
12986         yet after the reorg.)
12987
12988 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
12989
12990         * gtk/gtkclist.c: Fix off-by-one bug in parameter
12991         check.
12992
12993 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
12994
12995         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
12996         on results of XQueryDeviceState().
12997
12998 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
12999
13000         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
13001         we need to accesss only ->children. We need an accessor
13002         for the children.
13003
13004         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
13005         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
13006         to get rid of gdkx.h include.
13007         
13008         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
13009         and random references to 'None'.
13010
13011         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
13012         Get rid of unused #include <gdk/gdkx.h>
13013
13014         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
13015         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
13016         gdkconfig.h.
13017
13018 1999-11-08  Tor Lillqvist  <tml@iki.fi>
13019
13020         * gdk/win32/gdkdraw.c
13021         * gdk/win32/gdkfont.c
13022         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
13023         following yesterday's changes. (Unrelated to Owen's reorg.)
13024
13025 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
13026
13027         * gdk/x11/gdkinput-gxi.c: Add missing include,
13028           fix GdkWindowPrivate => GdkDrawablePrivate.
13029
13030         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
13031
13032         * gdk/x11/Makefile.am (xinput_sources): Add missing
13033         backslash to fix building with --with-xinput=none
13034
13035 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
13036
13037         Move all X specific code into the x11/ directory.
13038         Aside from shuffling things around, did the following:
13039
13040        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
13041          gdk_arg_context_* - a simple argument parsing system
13042          in the style of popt.
13043
13044        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
13045          gdk/x11/gdkprivate-x11.h:
13046          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
13047          add ->klass and ->klass_data fields. The klass_data
13048          field points to an auxilliary structure that is
13049          windowing system dependent.
13050
13051        * gdk/gdkfont.c: Make most of the measurement functions
13052          simply wrappers around gdk_text_extents().
13053
13054        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
13055          _gdk_font_strlen() function that hides the weird
13056          behavior in gtk+-1.[02] where a string is interpreted
13057          differently for 8-bit and 16-bit fonts.
13058
13059        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
13060          to store common code for synthesizing double/triple
13061          press events.
13062         
13063        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
13064          Make all the function that modify an existing GC
13065          simply wrappers around gdk_gc_set_values().
13066          
13067        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
13068          for throwing out later.
13069
13070        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
13071          GdkImagePrivate and GdkColormapPrivate to have a
13072          windowing system dependent part (GdkFontPrivateX etc.)
13073          that "derives" from the system-independent part.
13074
13075        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
13076          Got rid of the included-source-files for XInput in
13077          favor of automake conditionals. (Which didn't exist
13078          when XInput support was originally added.)
13079
13080        * gdk/gdkrgb.c: Remove the visual id from the debugging
13081          statements since that is X11 specific; print out
13082          type/depth info instead.
13083          
13084
13085 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
13086
13087         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
13088         loading duplicates of hashed fonts.
13089
13090         * gdk/gdk.c (gdk_keysym_convert_case): rename
13091         gdk_XConvertCase to gdk_keysym_convert_case, allow
13092         results to be NULL in the GTK+ style.
13093
13094         * gdk/gdkcompat.h: Started compatibility header
13095         for renames.
13096
13097 1999-11-07  Tor Lillqvist  <tml@iki.fi>
13098
13099         * gdk/win32/gdkprivate.h: New font private structures, related to
13100         fontsets.
13101
13102         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
13103         gdk_font_list_free(). On X11, will just be wrappers to
13104         XListFonts() and XFreeFontNames(). On Win32, the code previously
13105         in gtkfontsel.c is now here.
13106
13107         New function gdk_font_xlfd_create(). On X11 will get the FONT
13108         property of the font (for GDK_FONT_FONTs), or call
13109         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
13110         builds a XLFD style name from the font information in the LOGFONT
13111         struct(s).
13112
13113         New function gdk_font_xlfd_free(), which correspondingly frees the
13114         string returned by gdk_font_xlfd_create().
13115
13116         Implement fontsets on Win32. Add a function that iterates over a
13117         wide char string and calls a callback function for each substring
13118         of wide chars from the same Unicode subrange (and thus probably
13119         available in the same real font).
13120
13121         Improve the XLFD emulation a bit.
13122
13123         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
13124
13125         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
13126         Beta3, WM_IME_CHAR messages don't seem to contain the composed
13127         multi-byte char as with the Active IMM on Win9x. Oh well, handle
13128         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
13129         ImmGetCompositionStringW() to get the composed Unicode chars.
13130
13131         * gdk/win32/gdkgc.c
13132         * gdk/win32/gdkdraw.c: Changes needed because of the font private
13133         struct changes.
13134
13135         * gdk/win32/gdk.def: Add the new functions.
13136
13137 1999-11-04  Tor Lillqvist  <tml@iki.fi>
13138
13139         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
13140         get the Platform SDK to get <dimm.h>.
13141
13142         * gdk/win32/gdkevents.c: More event handling fixes and
13143         simplification. Never generate motion events with is_hint true. We
13144         used to do that on bogus grounds earlier. Windows sends
13145         WM_MOUSEMOVE messages on button events even if the mouse hasn't
13146         moved, ignore these.
13147
13148         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
13149
13150         * gdk/win32/gdkglobals.c
13151         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
13152         the TrackMouseEvent function, and use it.
13153
13154         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
13155         char before calling WideCharToMultiByte in order to get a string
13156         for the window title.
13157
13158         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
13159
13160         * gdk/win32/gdk.def: Remove obsolete functions.
13161
13162         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
13163         /nodefaultlib and /defaultlib switches.
13164
13165         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
13166
13167 1999-10-31  Tor Lillqvist  <tml@iki.fi>
13168
13169         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
13170         EuroSign).
13171
13172         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
13173         same type as GdkWChar, especially on Win32.
13174
13175         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
13176
13177         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
13178         before passing to Windows GDI for drawing etc. Convert to the
13179         system default codepage before passing to Windows as window
13180         titles.
13181
13182         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
13183         support changing input locale on the fly.
13184
13185         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
13186         on-the-fly changes. Convert incoming characters from the current
13187         codepage to Unicode (and then to a UTF-8 multi-byte string) based
13188         on the current input language. Use keysym<->Unicode mapping tables
13189         and functions borrowed from xterm sources.
13190
13191         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
13192         editions of Win9x, use the ActiveX-based Active IMM (Input Method
13193         Manager) if available. IMEs and the Active IMM are available under
13194         the disguise of Chinese, Korean and Japanese support for IE and
13195         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
13196         support is present in all editions (as long as you install it).
13197
13198         Call DispatchMessage from gdk_events_queue() (and thus
13199         gdk_WindowProc()), instead of duplicating the code in
13200         gdk_WindowProc().
13201
13202         Reworked the grab handling and propagation code, factored out
13203         duplicated code snippets into separate functions. Other cleanups,
13204         too.
13205
13206         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
13207         the <dimm.h> header describing the Active IMM.
13208
13209         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
13210         just do the same as for "single" fonts.
13211
13212         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
13213         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
13214         the new keysyms from gdkkeysyms.h.
13215
13216         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
13217         fontset, so that gtkentry uses wide characters.
13218
13219         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
13220         GTk+'s system directory "gtk+", not "gtk".
13221
13222 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
13223
13224         * docs/gtkfaq.sgml: FAQ update
13225
13226 1999-10-21  Tor Lillqvist  <tml@iki.fi>
13227
13228         * gdk/win32/gdkprivate.h: Add more font private data.
13229
13230         * gdk/win32/gdkfont.c
13231         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
13232         fonts and strings. Now works much better. You still have to
13233         have a correct font selected, though. No fontset emulation yet.
13234
13235 1999-10-19  Tor Lillqvist  <tml@iki.fi>
13236
13237         * gtk/maketypes.awk: Use G_OS_WIN32.
13238
13239         * gtk/gtk.def: Add some missing entry points. Also some non-public
13240         ones, but PyGTK porter claims to need them.
13241
13242         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
13243         built-in type generation.
13244
13245 1999-10-14  Tor Lillqvist  <tml@iki.fi>
13246
13247         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
13248         GDK_FONT_FONT fonts (which is all we have for now, we don't
13249         emulate fontsets). The X11 version uses plain XDrawString in that
13250         case, too. The string passed to gdk_draw_text_wc seems to be in
13251         fact (at least, when used by gtkentry and gtktext) either in a
13252         single-byte charset, or a DBCS. Not Unicode.
13253
13254         This fixes the problem in gtkfontsel, where even if you had
13255         selected a font with a non-Latin1 charset (windows-greek, for
13256         instance), the preview still used Latin-1 glyphs.
13257
13258         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
13259         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
13260         (gdk_font_load): Recognize the demibold etc weights, even if we
13261         don't have the corresponding constants in the headers.
13262         (gdk_font_hash_insert): Use same hash mechanism as in the X11
13263         version. Should save font resources a bit, when we don't have
13264         multiple HFONTs for the same font.
13265
13266         * gdk/win32/gdkprivate.h: Add the names field as in the X11
13267         version.
13268
13269 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
13270
13271         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
13272         X values
13273
13274 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
13275
13276         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
13277         layout support (as mentioned on
13278         http://www.jcinteractive.com/gnome-ui/software/widgets/)
13279
13280 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
13281
13282         * gtk/fnmatch.c
13283         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
13284
13285 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
13286
13287         * configure.in (ALL_LINGUAS): Added Galician (gl)
13288
13289 1999-10-05  Tor Lillqvist  <tml@iki.fi>
13290
13291         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
13292
13293         * gdk/win32/gdkcompat.c: New file, actually provide an
13294         implementation for the deprecated functions. (Just temporarily.)
13295
13296         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
13297
13298         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
13299
13300         * gdk/win32/gdk.def gtk/gtk.def: Updates.
13301
13302 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
13303
13304         * configure.in: Added "uk" to ALL_LINGUAS.
13305         
13306 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
13307
13308         * configure.in: correct checking for BeOS check
13309
13310         * gdk/gdktypes.h
13311         * gtk/fnmatch.c
13312         * gtk/gtkfilesel.c
13313         * gtk/gtkitemfactory.c
13314         * gtk/gtkmain.[ch]
13315         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
13316
13317 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13318
13319         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
13320         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
13321         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
13322         by Bulgarian). 
13323
13324 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
13325
13326         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
13327         Fix a reference to window_private->destroyed.   
13328
13329         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
13330         (ugly) setting of an internal GdkWindow member to use
13331         a _slightly_ cleaner macro.
13332
13333         * gdk/gdkprivate.h: Split GdkWindowPrivate into
13334         GdkDrawablePrivate and GdkWindowPrivate.
13335         Add extra macros for accessing GDK_DRAWABLE_ components.
13336
13337         * *.[ch]: Massive adjustments for the above, use the
13338         new macros in a lot of places.
13339
13340 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
13341
13342         * gdk/gdktypes.h: Make GdkDrawable the base type,
13343         not GdkWindow.
13344
13345 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
13346
13347         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
13348
13349 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
13350
13351         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
13352
13353 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
13354
13355         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
13356         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
13357
13358         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
13359
13360         * docs/gtk-config.1: Now autogenerated.
13361         * docs/Changes-1.4.txt: started
13362         
13363 1999-10-03  Tor Lillqvist  <tml@iki.fi>
13364
13365         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
13366         to #ifdef also here.
13367
13368         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
13369         Owen did to the X11 backend.
13370
13371         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
13372         ScrollWindowEx when blitting inside a window, it can't be correct
13373         in the general case.
13374
13375         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
13376         WM_GETMINMAXINFO is easier.
13377
13378         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
13379         depth equal to the bitspixel value, not the visual's depth.
13380
13381         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
13382         to 24 even if the bitspixel value is 32.
13383
13384         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
13385         need to check for depth==32 when bpp==32, depth will always be 24.
13386
13387 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
13388
13389         * docs/Changes-1.4.txt: Started
13390         
13391         * gtk/Makefile.am (gdk_headers): Include all the new headers.
13392
13393         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
13394         
13395         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
13396         into C file.
13397         
13398         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
13399         header to gdkinputprivate.h.
13400
13401         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
13402         unused since before 1.2.
13403
13404 1999-09-30  Tor Lillqvist  <tml@iki.fi>
13405
13406         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
13407         expand possible hex escapes in the font family (put there by
13408         logfont_to_xlfd if the font name isn't a legal XLFD font family,
13409         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
13410         On Win32, add hex escapes here, too.
13411
13412 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
13413
13414         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
13415         to #ifdef GDK_WINDOWING_X11.
13416
13417 [ Merges from gtk-1-2 ]
13418
13419 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
13420
13421         * configure.in: fixed "GNU Make" check to pass with new make version
13422         3.77.95.
13423
13424 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
13425
13426         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
13427         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
13428         AM_PATH_GTK() macros don't get confused by the -pre1.
13429
13430 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13431
13432         * configure.in (REBUILD): Change check for perl5
13433           to check explicitely for v >= 5.002. (5.001
13434           does not work with our scripts.)
13435
13436 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
13437
13438         * configure.in: evaluate $PERL for the perl version check. added
13439         --disable-rebuilds to give the user an option to completely disable
13440         any source autogeneration rules.
13441
13442 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
13443
13444         * configure.in: evaluate $ac_make when checking for GNU Make.
13445
13446 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13447
13448         * docs/Makefile.am: added generation.txt.
13449
13450         * Makefile.am: require automake 1.4, build README from README.in and
13451         INSTALL from INSTALL.in in dist-hook.
13452         
13453         * README.in:
13454         * INSTALL.in: new files to autogenerate README and INSTALL from.
13455
13456         * configure.in: figure whether we have GNU Make
13457
13458         * docs/generation.txt: minor additions/corrections.
13459
13460 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13461
13462         * docs/gtkfaq.sgml: FAQ Update
13463
13464 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13465         
13466         * configure.in: Fix autoconf warnings about cross compilation by
13467         trying to provide sane defaults for AC_TRY_RUN.
13468
13469 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
13470
13471         * ltconfig
13472         * ltmain.sh: upgrade to libtool 1.3.3
13473
13474 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
13475
13476         * INSTALL: Indicate that the --with-glib= configure
13477         time flag is unsupported.
13478
13479 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
13480
13481         * docs/generation.txt: Added a file that gives
13482         documenation about the autogeneration process for
13483         various autogenerated files.
13484         
13485 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13486
13487         * configure.in (LIBS): Look for libgmodule in the
13488         right location.
13489
13490 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
13491
13492         * docs/gtk_tut.sgml: Removed references to
13493         code examples in my directory on gtk.org as
13494         they should all be in the tutorial now.
13495
13496         * docs/gtk_tut.sgml: Added sources for dial-test
13497         and scribble-xinput programs that were previously
13498         missing.
13499
13500 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
13501
13502         * TODO: Added entry about menu keyboard navigation, removed
13503         some finished items.
13504
13505 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
13506
13507         * acinclude.m4: Standardize on func_dgettext
13508         not func_gettext, so that the checks for dgettext
13509         actually are paid attention to.
13510
13511 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
13512
13513         * configure.in (LIBS): Add $INTLLIBS into $LIBS
13514         directly, rather than repeating the checks for
13515         gettext.
13516
13517         * INSTALL: Added information about gettext and
13518         NLS support.
13519
13520         * acinclude.m4 (LIBM): Check for dgettext, not
13521         just gettext. This should hopefully fix things wrt
13522         systems with old versions of GNU gettext installed.
13523
13524 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13525
13526         * configure.in (LIBS): Look for libgmodule in the
13527         right location.
13528
13529 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13530
13531         * autogen.sh: add --enable-maintainer-mode
13532
13533         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
13534
13535 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
13536
13537         * docs/gtk-config.1.in:
13538           docs/Makefile.am:
13539           configure.in: gtk-config is now generated.
13540
13541         * docs/gtk-config.1: Removed, now generated.
13542
13543 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
13544
13545         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
13546         handle CreateNotify itself, still put out a debuging message for
13547         --gdk-debug=events. made the ReparentNotify debugging message more
13548         verbose.
13549         wrap xcoords translation for ConfigureEvents into an error trap,
13550         a destroy event may already be pending, and in that case, the
13551         actuall coordinate values are not at all critical.
13552
13553 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
13554
13555         * gdk/gdkcc.c: Stop leaking the color_hash all over
13556         the place. Simplify and improve the logic.
13557
13558 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13559
13560         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
13561         for prototypes and function implementations consistent (reported
13562         by Tomas Ogren).
13563
13564 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
13565
13566         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
13567         send_event set in debugging output.
13568         (gdk_compress_exposures): default initialize the event so we don't
13569         operate on bogus values (namely send_event).
13570
13571 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13572
13573         * gdk/gdkwindow.c: When we receive an unexpected
13574         destroy notify on one of our windows, don't just
13575         warn about it, also mark our windows as destroyed.
13576
13577 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
13578
13579         * gdk/gdkfont.c (gdk_font_hash_insert): Add
13580           name => font and name => fontset hashes. The 
13581           name => fontset hash is a _big_ win since we
13582           weren't previously caching fontsets at all and loading
13583           fontsets is expensive. The name => font hash
13584           is less of a win, but it does save us from doing
13585           repeated XQueryFont calls on the same font.
13586
13587         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
13588           list so we can remove font/fontset from hash.
13589
13590 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13591
13592         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
13593           and slightly confusing test. [ XInternAtom (,,TRUE)
13594           will never return None ].
13595
13596 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
13597
13598         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
13599           gdk/gdkwindow.c (gdk_window_set_hints):
13600
13601         Don't omit setting the properties if flags == 0 -
13602         there may be an existing set of properties there
13603         already. (Very old bug. Would it be better to
13604         delete the property instead?)
13605
13606         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
13607           spelling error in comment.
13608
13609 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
13610
13611         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
13612           to avoid stomping over gdk_error_warnings.
13613
13614         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
13615           as (bits_per_pixel + 7) / 8. This gives the same
13616           result as before for multiples of 8, but actually
13617           a "reasonable" value for 1bit or 4bit displays.
13618
13619 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13620
13621         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
13622         GNU Make.
13623
13624 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13625
13626         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
13627         discarding configure events.
13628
13629 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13630
13631         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
13632         refcount is greater than zero.
13633
13634         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
13635
13636         * gdk/gdkfont.c (gdk_font_unref): Likewise.
13637
13638         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
13639
13640         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
13641
13642 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13643
13644         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
13645         that format 32 => sizeof(item) == 4. It really is
13646         sizeof(long).
13647
13648 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
13649
13650         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
13651         core dump at all on X IO errors, only core dump
13652         if --enable-debug for X errors.
13653
13654 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
13655
13656         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
13657         unknown window:" message. disabled ConfigureNotify discarding code,
13658         because it led to events being processed out of order.
13659
13660 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
13661
13662         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
13663
13664         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
13665         we export this function, supress error warnings and don't reset the
13666         error code in the first half of this function.
13667
13668         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
13669         code (instead of just -1) so gdk_error_trap_pop() reveals something
13670         actually informative about the error that happened.
13671
13672         * gdk/*.c:
13673         don't rely on gdk_error_code being -1 if an error occoured, but just
13674         gdk_error_code != 0.
13675
13676 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
13677
13678         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
13679         pointer *before* invoking the filter function, so we at least don't
13680         crash if a filter is removed that is currently executed. window filters
13681         *really* need to be made truely reentrant at some point.
13682
13683 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
13684
13685         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
13686         PropertyNotify debug messages.
13687
13688 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
13689         
13690         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
13691         
13692         * gdk/gdkim.c: Fix cut-and-paste errors for 
13693         x/y and PreeditAttributes/StatusAttributes.
13694
13695 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13696
13697         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
13698         G_MAXINT to 2^16 to alleviate overflow problems in
13699         various window managers.
13700
13701 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13702
13703         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13704         for fontsets.
13705
13706 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
13707
13708         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
13709         Initialize size_hints.x and size_hints.y because kwm
13710         brokenly pays attention to them.
13711         (Bug #1181 -  Lars Heete <hel@admin.de>)
13712
13713 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
13714
13715         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
13716         return value of gdk_list_visuals(). 
13717         (Bug #1193 - Morten Welinder <terra@diku.dk>)
13718
13719 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
13720
13721         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
13722         XSetIMValues to (void *) when comparing to NULL, to workaround
13723         the problem of some compilers barfing since older X headers don't
13724         have the prototype for it.
13725
13726 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
13727
13728         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
13729         for pseudocolor where colormap->colors was double
13730         allocated.
13731
13732         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
13733         color value in the hash table with the pixel filled
13734         in so when we do later hash table lookups, the color
13735         value is correct.
13736         
13737 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
13738
13739         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
13740         making the call
13741
13742 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
13743
13744         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
13745         pointed out by Morten Welinder <terra@diku.dk>.
13746
13747 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13748
13749         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13750           default filter from the list
13751
13752 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13753
13754         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13755           default filter from the list
13756
13757 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
13758
13759         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
13760
13761         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
13762         g_strdup_printf instead of calcing the length separately
13763
13764 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
13765
13766         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
13767         that we don't do in many other places. (Fixing duplicate 
13768         #include of config.h)
13769
13770         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
13771         Otherwise, #ifndef XINPUT_NONE check in the latter
13772         doesn't work. (Bug #546)
13773
13774 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
13775
13776         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
13777         "None" case insensitive.
13778
13779 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13780
13781         * gdk/gdkselection.c: 
13782         Add error traps so if the other end of the connection
13783         dies, we survive.
13784
13785 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13786
13787         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
13788         dest_xid field into two fields - one for the window
13789         to send in messages, one to indicate the last looked
13790         up window for caching purposes. This is needed, so
13791         that Leave messages get the correct window.
13792
13793 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
13794
13795         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
13796         Fix warning created by people mucking around
13797         with the gsource API.
13798
13799         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
13800         Change mapping between GIOCondition and GdkInputCondition
13801         to match the way the Linux kernel does it. This should
13802         fix problems where closed pipes were no longer signalling
13803         GDK_INPUT_READ on systems with a native poll().
13804
13805 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
13806
13807         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
13808         explicitly for the string "None" - it is in the XPM
13809         spec and some servers treat unknown colors in odd ways
13810         (like asking the user!)
13811
13812 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13813
13814         * gdk/gdkevents.c: made "->" into a "." of previous change so
13815         it compiles
13816
13817 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
13818
13819         * gdk/gdkevents.c (gdk_compress_exposures): Set the
13820         window field of the event structure before calling
13821         user filters.
13822
13823 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13824
13825         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
13826         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
13827
13828 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
13829
13830         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
13831         intermediate text property - prevents major memory
13832         leak when gdk_use_mb.
13833         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
13834
13835 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13836
13837         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13838         gtk-a-higuti-990322-[0-3]
13839
13840         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
13841         sizeof(wchar_t) != sizeof (GdkWChar)
13842
13843         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13844         that was causing -DX_LOCALE not to work.
13845
13846         * gtk/gtkrc.c (gtk_rc_init):
13847         X_LOCALE will never have LC_MESSAGES defined
13848
13849         * gdk/gdk.c (gdk_init_check):
13850         Remove --xim-preedit and --xim-status from argv properly.
13851
13852         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
13853         that the client window is present on the X server
13854         before we pass it to the input method.
13855
13856 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13857
13858         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
13859         if --display is specified on the command line, than
13860         the drag window will not be created on that display.
13861         
13862 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
13863
13864         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
13865         lookups with only_if_exists == TRUE were inserting
13866         bogus values into the atom cache.
13867
13868 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13869
13870         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
13871         then reset it to NULL.
13872
13873         * gdk/gdkcolor.c:
13874         (gdk_colors_free): 
13875         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
13876         key for g_hash_table_remove() in both functions, this prevents us
13877         from accessing possibly uninitialized portions of a GdkColor structure
13878         where we are only interested in its pixel value.
13879
13880 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13881
13882         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13883         font hash table, if we have a GdkFontPrivate entry for this font
13884         already, simply increment its reference count, provided by Olaf Dietsche
13885         <olaf.dietsche+list.gtk@netcologne.de>.
13886
13887 1999-09-21  Tor Lillqvist  <tml@iki.fi>
13888
13889         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
13890         just to be sure.
13891
13892         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
13893         unused variables, leftovers from the X11 version.
13894
13895         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
13896
13897         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
13898         downcase fields on X11.
13899
13900 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13901         
13902         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
13903         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
13904
13905 1999-09-17  Tor Lillqvist  <tml@iki.fi>
13906
13907         * gdk/win32/gdk.def: Add gdk_threads_mutex.
13908
13909         * gtk/makefile.msc: Correct path to libintl.
13910
13911         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
13912         use of gint vs. int, and gint vs. gboolean in headers and
13913         definitions. Use GtkType for the *_get_type functions. Note that
13914         these changes preserve binary compatibility.
13915
13916         * gdk/gdk.c
13917         * gdk/win32/gdk.c
13918         * gdk/gdk.h: Fix inconsistencies: gint vs int.
13919
13920         * gtk/gtkmain.c
13921         * gtk/gtkclist.c
13922         * gtk/gtkmenufactory.c
13923         * gtk/gtknotebook.c
13924         * gtk/gtkwidget.c: Fix inconsistencies, also gint
13925         vs. gboolean.
13926
13927         * gtk/gtkcolorsel.[ch]
13928         * gtk/gtkcombo.[ch]
13929         * gtk/gtkdrawingarea.[ch]
13930         * gtk/gtkgamma.[ch]
13931         * gtk/gtkhandlebox.[ch]
13932         * gtk/gtkhpaned.[ch]
13933         * gtk/gtkhruler.[ch]
13934         * gtk/gtkplug.[ch]
13935         * gtk/gtkpreview.[ch]
13936         * gtk/gtkruler.[ch]
13937         * gtk/gtksocket.[ch]
13938         * gtk/gtkstatusbar.[ch]
13939         * gtk/gtktoolbar.[ch]
13940         * gtk/gtkvbbox.[ch]
13941         * gtk/gtkvpaned.[ch]
13942         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
13943         functions.
13944
13945         * gtk/gtkgamma.h: Fix bug, missing () in call of
13946         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
13947
13948 1999-09-14  Tor Lillqvist  <tml@iki.fi>
13949
13950         * gdk/gdkcolor.c (gdk_colormap_new)
13951         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
13952         colormap->colors was allocated twice.
13953
13954         * gdk/win32/gdk.c: Remove some unused stuff.
13955
13956         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
13957         colormap.
13958
13959         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
13960         * gtk/gtklabel.h (gtk_label_get_type)
13961         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
13962         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
13963         in a couple of places, not guint.
13964
13965 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13966
13967         * configure.in,po/et.po: added Estonian language file
13968
13969 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13970
13971         * configure.in,po/da.po: added Danish file
13972
13973 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
13974
13975         * docs/gtkfaq.sgml: Minor FAQ Update
13976
13977 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
13978
13979         * docs/gtkfaq.sgml: FAQ update
13980
13981 1999-08-27  Tor Lillqvist  <tml@iki.fi>
13982
13983         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
13984         way to get window contents continually refreshed while resizing. I
13985         didn't like the effects myself, so it's not on by default.
13986
13987         * gdk/win32/gdkprivate.h: New flag variable
13988         gdk_event_func_from_window_proc, FALSE by default.
13989
13990         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
13991         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
13992         are passed --gdk-event-func-from-window-proc.
13993
13994         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
13995         and we have am event_func, call it instead of enqueing the event.
13996
13997 1999-08-23  Tor Lillqvist  <tml@iki.fi>
13998
13999         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
14000         Kelley: Set expose_count in GdkEventExposes correctly.
14001
14002         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
14003         MULTIPLE_WINDOW_CLASSES).
14004
14005         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
14006         for bug in NT, apparently NT *does* draw the end pixel, too, in
14007         LineTo with a one-pixel pen, so we don't have to do it ourselves.
14008
14009 1999-08-21  Tor Lillqvist  <tml@iki.fi>
14010
14011         Improvements by Hans Breuer: 
14012
14013         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
14014
14015         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
14016         CS_?REDRAW flags as they cause lots of (late) redraws when "show
14017         window contents while dragging" is turned on. Allocate at least
14018         one unique class for every GdkWindowType. If support for single
14019         window-specific icons is ever needed (eg. Dialog specific), every
14020         such window should get its own class.
14021
14022 1999-08-19  Tor Lillqvist  <tml@iki.fi>
14023
14024         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
14025         error that caused crashes.
14026
14027 1999-08-17  Tor Lillqvist  <tml@iki.fi>
14028
14029         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
14030         window, use ScrollWindowEx, and call UpdateWindow. This prevents
14031         bugs when for instance part of the window was outside the
14032         display. Thanks to Philippe Colantoni for finding and fixing this.
14033
14034 1999-08-16  Tor Lillqvist  <tml@iki.fi>
14035
14036         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
14037         endpoint calculations which were totally wrong. (A little RTFMing
14038         helps a lot ;-)
14039
14040         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
14041         from a separate directory, not from gettext, because of licensing
14042         issues (we want to use the LGPL version).
14043
14044         * README.win32: Mention the intl from glibc vs from gettext issue.
14045
14046 1999-08-13  Tor Lillqvist  <tml@iki.fi>
14047
14048         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
14049         in the key event handling: Now AltGr chars work again. Also,
14050         now Alt-digits are passed up as well as Control-digits.
14051         Pass keypad plus and minus as normal plus and minus.
14052
14053 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14054
14055         * docs/gtkfaq.sgml: FAQ Update
14056
14057 1999-07-25  Tor Lillqvist  <tml@iki.fi>
14058
14059         * README.win32
14060         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
14061         the Wintab SDK.
14062
14063         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
14064         OK, but getting closer. Guard against bogus tilt data from Wacom
14065         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
14066         enable easier building without Wintab.
14067
14068         * gdk/win32/gdkinput.h
14069         * gdk/win32/gdkevents.c 
14070         * gdk/win32/gdkwindow.c: Minor changes related related to above.
14071         
14072         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
14073         code. As we have just one visual on Win32, no sense to have it in a
14074         table, and no need for the hash table.
14075
14076         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
14077         better on white background.
14078
14079 1999-07-21  Tor Lillqvist  <tml@iki.fi>
14080
14081         * README.win32: Update gcc build instructions. Mention gettext is
14082         GPL.
14083
14084         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
14085         supported cursor size with GetSystemMetrics.
14086
14087         * gdk/win32/gdkfont.c
14088         * gtk/gtkfontsel.c: Guard against some font weight and charset
14089         symbols being undefined (in mingw32 headers).
14090
14091         * gdk/win32/makefile.cygwin
14092         * gtk/makefile.cygwin
14093         * gtk/gtkthemes.c: No longer need to have differently named
14094         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
14095
14096 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
14097
14098         * docs/gtkfaq.sgml: Long awaited FAQ update.
14099
14100 1999-07-15  Tor Lillqvist  <tml@iki.fi>
14101
14102         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
14103         it. Obscure bit manipulation needed.
14104
14105         * gdk/win32/gdkevents.c: Logging.
14106         
14107         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
14108         style (file name include compiler name) for theme engines.
14109
14110 1999-07-13  Tor Lillqvist  <tml@iki.fi>
14111
14112         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
14113
14114         * gdk/win32/gdkevents.c: Fix long-standing bug in key
14115         events. The key.string wasn't zero-terminated, still we strdup'ed
14116         it in gdk_event_copy(). Synthesize crossing events for button
14117         events before possible propagation.
14118
14119         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
14120
14121         * gdk/win32/makefile.cygwin
14122         * gtk/makefile.cygwin: Use new DLL naming style for the
14123         GCC-compiled ones.
14124
14125         * gdk/win32/makefile.msc
14126         * gtk/makefile.msc: Cosmetics mostly.
14127
14128         * gtk/gtk.def: Add missing entry points.
14129
14130         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
14131
14132 1999-07-09  Tor Lillqvist  <tml@iki.fi>
14133
14134         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
14135         or height is zero. Don't print a warning if Pie or Arc fails, they
14136         always fail (?) for very narrow ellipses.
14137
14138         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
14139         the part or the destination window corresponding to source area
14140         outside of the source drawable's boundary.
14141
14142         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
14143         anything if less than two points.
14144
14145         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
14146         return NULL. Gtk cut-and-paste inside a single program works
14147         better this way. (It always gets the clipboard contents from
14148         Windows, not from its own copy, which is cleared anyway. I can't
14149         say I fully understand what happens... Emulating the X selection
14150         and property stuff is a bit of a mess.)
14151
14152         * gdk/win32/gdkevents.c
14153         * gdk/win32/gdkproperty.c: A bit more verbose logging.
14154
14155         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
14156         that never got deleted). Revamp gdk_region_shrink.
14157
14158         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
14159         after use.
14160
14161         * gtk/gtk.def: Add some missing entry points.
14162
14163         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
14164         component.
14165
14166 1999-07-04  Tor Lillqvist  <tml@iki.fi>
14167
14168         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
14169         Control-digits specially.
14170
14171 1999-07-03  Tor Lillqvist  <tml@iki.fi>
14172
14173         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
14174
14175 1999-06-28  Tor Lillqvist  <tml@iki.fi>
14176
14177         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
14178         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
14179         finding this.)
14180
14181 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
14182
14183         * gtk+.spec.in: Corrected some typos in files section.
14184         
14185 1999-06-15  Tor Lillqvist  <tml@iki.fi>
14186
14187         * README.win32: Mention using GNU gettext.
14188         * config.h.win32: Enable NLS stuff.
14189         * gtk/makefile.msc: Use GNU gettext.
14190         * gdk/win32/gdkdnd.c: Minor header reorg.
14191         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
14192         cosmetics.
14193         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
14194         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
14195
14196 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
14197
14198         * acinclude.m4
14199         * config.guess
14200         * config.status
14201         * ltconfig
14202         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
14203
14204 1999-05-30  Tor Lillqvist  <tml@iki.fi>
14205
14206         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
14207         SafeAdjustWindowRectEx. Don't override all calls to
14208         AdjustWindowRectEx by it, but use it only in two places: When
14209         creating a new top-level window and when moving a top-level
14210         window.
14211
14212         Use screen coordinate rectangle, not client rectangle, in
14213         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
14214         when we try to place a window so that the decoration (mainly,
14215         title bar) isn't visible.
14216
14217         These changes fix the bug that showed up for instance as the
14218         GIMP's saved top-level windows moving right and down (by an amount
14219         equal to the window decoration) for each session. This bug showed
14220         up also in testgtk's "Saved Position".
14221
14222         gdk_window_resize also redone a bit.
14223
14224 1999-05-25  Tor Lillqvist  <tml@iki.fi>
14225
14226         * gtk/testgtkrc: Add (commented out) Windows-style theme
14227         include line.
14228
14229         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
14230
14231 1999-05-18  Tor Lillqvist  <tml@iki.fi>
14232
14233         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
14234         gdkx.h to a gdk subdirectory, so that applications can include
14235         these with <gdk/*.h> without trouble.
14236
14237         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
14238         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
14239         have their bitmap destroyed.
14240
14241         * gdk/win32/gdk.def: Add gdk_root_parent.
14242
14243 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
14244
14245         * configure.in
14246           gtk-config.in
14247           ltconfig
14248           ltmain.sh     
14249           gtk/Makefile.am: changes to compile nicely (with xlib) 
14250           on BeOS
14251
14252 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
14253
14254         * acinclude.m4
14255         * config.guess
14256         * config.sub
14257         * ltconfig
14258         * ltmain.sh: upgrade to libtool 1.3
14259
14260 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
14261
14262         * gtk/gtkclist.c:
14263         * gtk/gtkctree.c: merges from gtk-1-2
14264
14265 1999-04-25  Tor Lillqvist  <tml@iki.fi>
14266
14267         Support added for building using a GNU toolchain on Win32,
14268         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
14269
14270         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
14271         * config.h.win32: Changes for gcc.
14272         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
14273         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
14274         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
14275         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
14276         Protect shl stuff unavaiilable with mingw32 headers.
14277         * gdk/win32/gdkevents.c: Fix typo.
14278         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
14279         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
14280         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
14281         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
14282         the mingw32 headers.
14283         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
14284         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
14285         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
14286         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
14287         Test for NATIVE_WIN32, not _MSC_VER.
14288         * gtk/gtkmain.c: No use warning about developer version on Win32,
14289         there aren't any non-developer versions anyhow.
14290         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
14291         * gtk/makefile.msc: Use pthread from another directory. Minor other
14292         changes. 
14293
14294 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14295
14296         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14297           default filter from the list
14298
14299 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
14300
14301         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
14302          when gtk_widget_grab_default() is called for a widget that
14303          is not within a GtkWindow.
14304
14305 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
14306
14307         * docs/gtk_tut.sgml, examples/clist.c: use a
14308           scrolled window in the clist example. Minor
14309           tutorial fixes.
14310
14311 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
14312
14313         * docs/gtk_tut.sgml: Style check from David King
14314           <dking@youvegotmail.net>
14315
14316 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
14317
14318         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
14319         compile with unknown value of GDK_WINDOWING
14320
14321 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
14322
14323         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
14324         after the rule is fired.
14325         (install-exec-local): Install gdkconfig.h only if the contents are
14326         different from the currently installed gdkconfig.h.
14327
14328 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
14329
14330         * gdk/Makefile.am (configexecincludedir): Rename from 
14331         configincludedir so that gdkconfig.h will be installed 
14332         as part of `make install-exec'. 
14333
14334 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
14335
14336         * acinclude.m4
14337         * config.guess
14338         * config.sub
14339         * ltconfig
14340         * ltmain.sh: upgrade to libtool 1.2f
14341
14342         * autogen.sh: libtool is not required to autogen gtk+
14343
14344         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
14345         needed)
14346
14347 1999-03-18  Tor Lillqvist  <tml@iki.fi>
14348
14349         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
14350         declaring gdk variables exported/imported from the DLL. New image
14351         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
14352         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
14353         GDK_DRAG_PROTO_OLE2.
14354
14355         * gdk/gdk.h: Merge in Win32 version: Two new functions,
14356         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
14357         declared only for the Win32 version, but could be in the X11
14358         version as well. (Needed for a Xlib-less gdk_imlib.)
14359         gdk_color_hash should have only one parameter. Declare
14360         gdk_threads_mutex with GDKVAR.
14361         
14362         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
14363         just one parameter.
14364
14365         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
14366         per pixel, not bits.
14367
14368         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
14369         Fetch bpp (which means bits-per-pixel here) from another place on
14370         Win32. Accept also depth==32 (which we might get on Win32) with
14371         bpp==32.
14372
14373         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
14374         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
14375         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
14376         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
14377         in the backend-dependent directory, not in the common gdk
14378         directory.
14379
14380         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
14381         headers.
14382
14383 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
14384
14385         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
14386         want to use the Gtk+ devel version (which is true, and yes - even i am
14387         currently working with the 1.2.x branch). so everyone reading this, you
14388         probably want to issue
14389         cvs checkout -r glib-1-2 glib
14390         and
14391         cvs checkout -r gtk-1-2 gtk+
14392         as your next two comands.
14393
14394 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
14395
14396         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
14397         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
14398
14399         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
14400         file. strongly deprecated the GTK_HAVE_* macros, we provide
14401         GTK_CHECK_VERSION() for people that need to check for certain
14402         Gtk+ versions.
14403
14404         * gtk/gtkcompat.h: removed this from CVS.
14405         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
14406         idea right from the start, it just didn't seem like that back then.
14407
14408 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
14409
14410         * merges from gtk-1-2:
14411
14412 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
14413
14414         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
14415         item factory class has been created.
14416         (gtk_item_factory_parse_rc): likewise.
14417
14418         * gtk/gtkmenu.c:
14419         keep proper references for old_active_menu_item.
14420         (gtk_menu_reparent): unset the usize of the new parent,
14421         so the menu can sanely be size requested and we don't get nasty screen
14422         artefacts upon next reparentation.
14423         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
14424         enter notify. only synthesize enter notifies if the pointer really is
14425         inside the event window.
14426         (gtk_menu_popdown): use gtk_menu_shell_deselect().
14427         (gtk_menu_popup): move the background setting stuff into
14428         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
14429
14430         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
14431         gtk_menu_shell_select_item() to select the new item.
14432         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
14433         do the right thing for deselection as well.
14434
14435 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
14436
14437         * gtk/gtkwidget.[hc]:
14438         (gtk_widget_accelerators_locked): return whether a widget's accelerators
14439         are locked.
14440
14441         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
14442         existing accelerators if the widget's accelerators are locked.
14443
14444 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
14445
14446         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
14447
14448         * gtk/gtkmenu.c: truely forward key press and key release events to
14449         the menu widget from the toplevel or tearoff window. we can't simply
14450         connect to that, we need to stop further processing of the events as
14451         well.
14452
14453 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
14454
14455         * gtk/gtkmenu.c:
14456         (gtk_menu_key_press): pass event->keyval, event->state to
14457         gtk_accelerator_valid, instead of event->keyval twice.
14458         refuse to install single letter accelerators for menus that use
14459         single letter shortcuts.
14460
14461         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
14462         gtk_menu_ensure_uline_accel_group().
14463
14464         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
14465         which will always return an uline accel group, made
14466         gtk_menu_get_uline_accel_group() return NULL if the group isn't
14467         yet created.
14468
14469 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
14470
14471         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
14472
14473         * gtk/gtkclist.c (gtk_clist_column_title_passive):
14474         Leave button sensitive, trap  button_press, button_release,
14475         motion_notify, enter_notify and leave_notify events instead.
14476         (gtk_clist_column_title_active): disconnect event handler.
14477         (gtk_clist_drag_data_get): fixed memory leak. Reported by
14478         Guillaume Laurent <glaurent@worldnet.fr>
14479
14480 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
14481
14482         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
14483         width/height mixups.
14484
14485         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
14486         if needed.
14487
14488 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
14489
14490         * gtk/testgtk.c (create_item_factory): unref the item factory after
14491         window's destruction.
14492
14493         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
14494         count on the menu shell around the menu item's activation, since the
14495         signal emission may cause menu shell destruction.
14496
14497         * gtk/gtkitemfactory.c:
14498         the previous code leaked one accel group per menu. we use
14499         gtk_menu_get_uline_accel_group() now to fix that, and with that
14500         also create the underline accelerator group of the menus only if
14501         required (i.e. an underline accelerator has been specified).
14502         (gtk_item_factory_construct):
14503         (gtk_item_factory_create_item): removed code that would create an
14504         extra accel group for the menu (and leak references).
14505         (gtk_item_factory_create_item): adapted the underline accelerator
14506         installation code to properly feature gtk_menu_get_uline_accel_group().
14507
14508         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
14509         menu->accel_group, this may return NULL if the accelerator group
14510         hasn't been set yet.
14511         added gtk_menu_get_uline_accel_group() to retrive the underline
14512         accelerator group of the menu, this will be created on demand
14513         and proper care is taken about its reference count.
14514
14515         * gtk/gtkitemfactory.h:
14516         * gtk/gtkitemfactory.c:
14517         dumped the approach of keeping a widgets by action list on the
14518         factory since the factory<->widget destroy negotiation didn't work
14519         and would be hard to get going at all. instead we keep a list of
14520         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
14521         persistant throughout a program's life time).
14522         also, i removed the static const gchar *key_* variables, and made
14523         them inline strings (they weren't actually used anyways).
14524         (gtk_item_factory_add_item): update ifactory->items.
14525         (gtk_item_factory_destroy): destroy ifactory->items (and remove
14526         the item factory pointer from the remaining ifactory widgets).
14527         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
14528         list to find the widget.
14529         (gtk_item_factory_get_item): new function that works around
14530         gtk_item_factory_get_widget() limitations, this function will only
14531         return menu items, even for <Branch> entries.
14532
14533 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14534
14535         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14536         font hash table, if we have a GdkFontPrivate entry for this font
14537         already, simply increment its reference count, provided by Olaf Dietsche
14538         <olaf.dietsche+list.gtk@netcologne.de>.
14539
14540         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14541         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14542
14543 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
14544
14545         * gtk/gtkcontainer.c:
14546         (gtk_container_add_with_args):
14547         (gtk_container_addv):
14548         (gtk_container_add): before adding a child to a conatiner, make sure
14549         it is (default) constructed, this is neccessary because under certain
14550         circumstances the child will get relized and mapped immediatedly, in
14551         which case it has to be constructed already.
14552
14553 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
14554
14555         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
14556         values > 1 as TRUE also.
14557
14558 1999-03-16  Tor Lillqvist  <tml@iki.fi>
14559
14560         * README.win32: New file.
14561                 
14562         * configure.in: Check for lstat.
14563
14564         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
14565         completeness.
14566
14567         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
14568
14569         * gtk/gtk.def: Removed CRs.
14570
14571         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
14572         ..\gdk\win32).
14573
14574         * gdk/win32/makefile.msc: Correct upwards relative paths.
14575         
14576 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
14577
14578         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
14579           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
14580           it was connecting a void function to expose_event and the int
14581           returning function to the draw signal
14582
14583 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
14584
14585         * configure.in:
14586         Use correct path to libgmodule.la when ref'ing uninstalled copy
14587         of glib.  (Already in stable branch, Bug #417)
14588
14589 1999-03-15  Tor Lillqvist  <tml@iki.fi>
14590
14591         Win32 merge and general portability stuff:
14592                 
14593         * acconfig.h,configure.in: Check for <sys/time.h>.
14594
14595         * gdk/win32: New directory (actually, been there for a while).
14596         
14597         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
14598         NATIVE_WIN32, and use these. Always case fold on Win32. No
14599         backslashed escapes on native Win32.
14600
14601         * gtk/{gtk.def,makefile.msc}: New files.
14602
14603         * gtk/Makefile.am: Add above new files.
14604         
14605         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
14606         instead of <strings.h>.
14607
14608         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
14609         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
14610         <unistd.h> appropriately.
14611
14612         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
14613         Use ABS() (from <glib.h>) instead of abs().
14614         
14615         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
14616         of gtk (and thus glib) headers, so that WIN32 will be
14617         defined. With MS C, include <direct.h> for mkdir prototype.
14618
14619         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
14620         some casts, needed by MS C.
14621
14622         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
14623         implemented).
14624
14625         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
14626         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
14627         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
14628
14629         * gtk/gtkmain.h: Mark variables for export/import on Win32.
14630                 
14631         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
14632         the event is not a hint, or its window is not the slider. Needed
14633         on Win32, at least.
14634
14635         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
14636         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
14637         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
14638         a subdirectory of the Windows directory as gtk system
14639         configuration directory.
14640
14641         * gtk/gtkselection.c: No chunks on Win32.
14642
14643         * gtk/gtksocket.c: Not implemented on Win32.
14644
14645         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
14646
14647         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
14648
14649         * gtk/maketypes.awk: Declare variables with a macro that expands to
14650         necessary export/import magic in the case of Win32.
14651                 
14652         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
14653
14654 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
14655
14656         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
14657         since those were meant only for gdki18n.h.  
14658         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
14659         for widechar tests.
14660         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
14661
14662 1999-03-13  Tor Lillqvist  <tml@iki.fi>
14663
14664         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
14665         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
14666
14667         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
14668         installed) to CFLAGS.
14669
14670         * gdk/Makefile.am: Add rules for gdkconfig.h.
14671
14672         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
14673         APIs.
14674
14675         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
14676         gdkx.h anyway when compiling for X11.
14677         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
14678         general): Merge in Win32 version.
14679         
14680         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
14681         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
14682         expansion (if we don't have HAVE_PWD_H), allow for drive
14683         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
14684         included code from Craig Setera's port to Win32 (the one that uses
14685         X11, and the cygwin dll), even if it probably will be abandoned.
14686
14687         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
14688         the user entered one herself.  This way one can complete *.h and
14689         don't get matches on any .help files, for instance.
14690         
14691 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14692
14693         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14694         font hash table, if we have a GdkFontPrivate entry for this font
14695         already, simply increment its reference count, provided by Olaf Dietsche
14696         <olaf.dietsche+list.gtk@netcologne.de>.
14697
14698         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14699         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14700
14701 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14702
14703         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
14704         the number of calls to gdk_draw_point() (and thus to X) by
14705         clipping the points by hand.
14706
14707         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
14708         the clip parameter.
14709         (gtk_handle_box_paint): Only paint the handle if the expose area
14710         intersects it.
14711
14712 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14713
14714         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
14715
14716 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
14717
14718         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
14719         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
14720
14721 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14722
14723         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
14724          textmode (O_TEXT) for OS/2 version.
14725
14726 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
14727
14728         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
14729         GtkSpinButton, "input" and "output", to make the output more flexible.
14730         The user has to provide a mapping between adjustment->value and the
14731         output string (and vice versa, if the spin button is editable). 
14732         See testgtk for examples.
14733
14734 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
14735
14736         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
14737         new one.
14738         
14739         * configure.in: set gtk+ version to 1.3.0.