]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
More work on implementing sortable interface.
[~andy/gtk] / ChangeLog.pre-2-10
1 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
2
3         * gtk/gtkliststore.c: More work on implementing sortable
4         interface.
5
6 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
7
8         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
9         reference the widgets in the resulting list. (#11821)
10         This makes this consistent with gtk_container_children.
11
12         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
13         uses of gtk_window_list_toplevels.
14
15 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
16
17         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
18         a virtual function to set whether the IM context should use 
19         the preedit string. (#51922)
20         
21 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
22
23         * gdk/gdkpango.h: Remove stale FIXME comment.
24
25 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
26
27         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
28         Fixed bug that returned NULL if a filename was selected.
29
30 2001-03-24  Havoc Pennington  <hp@pobox.com>
31
32         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
33         to contain the word "theme"
34
35 2001-03-24  Havoc Pennington  <hp@pobox.com>
36
37         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
38         slower but finer-grained
39         (gtk_hsv_focus): get initial focus on the ring or triangle 
40         according to tab direction
41
42         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
43
44 2001-03-23  Havoc Pennington  <hp@pobox.com>
45
46         * gtk/gtkhsv.c: make this somewhat key-navigable
47
48         * gtk/gtkfontsel.c: mnemonics
49
50         * gtk/gtkgamma.c: mnemonics
51
52         * gtk/gtkcolorsel.c: add mnemonics to labels
53
54 2001-03-22  Havoc Pennington  <hp@pobox.com>
55
56         Applied big patch from Seth Lytle to fix event handler return
57         values, slightly modified.
58
59         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
60         handled.
61         (gtk_calendar_key_press): return TRUE for GDK_space triggers
62         select_day
63
64         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
65         (gtk_clist_button_release): return TRUE if handled
66
67         * gtk/gtkcolorsel.c (mouse_release):
68         (palette_activate): 
69         (palette_press): 
70         (palette_new): 
71         (mouse_press): 
72         (get_screen_color): 
73         fixed return type (void to gboolean), return TRUE,
74         added GTK_SIGNAL_FUNC cast
75
76         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
77         (void to gboolean), and return TRUE
78         (gtk_combo_button_release): changed return value to TRUE after
79         gtk_grab_add on combo->popwin
80
81         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
82         collapse or expand
83
84         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
85         button/motion
86
87         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
88         press/release and motion that trigger act
89
90         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
91
92         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
93         for GDK_Return
94         
95         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
96         (gtk_list_button_release): return TRUE if selection
97
98         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
99         press
100
101         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
102         (gtk_menu_shell_button_release): chain parent_menu_shell retval
103
104         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
105         nothing triggered
106         (gtk_notebook_button_release): return TRUE if we do anything
107
108         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
109         (gtk_spin_button_button_release): return TRUE or chained retval
110
111         * gtk/gtktext.c (gtk_text_button_press): 
112         (gtk_text_button_release): return TRUE
113         (gtk_text_key_press): remove redundant retval code
114         
115         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
116         and sensitive
117         (gtk_tree_item_subtree_button_click): changed type to gint, and return
118         TRUE if sensitive
119
120         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
121         return TRUE
122
123 2001-03-23  Havoc Pennington  <hp@redhat.com>
124
125         * gtk/testgtk.c: fix warnings
126
127         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
128
129         * gtk/gtktextview.c: fix warnings
130
131         * gtk/gtktext.c (find_cursor_at_line): fix warning
132
133         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
134
135         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
136         of this function
137
138         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
139         fix warning
140
141         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
142
143         * gtk/gtkfontsel.c: fix warning
144
145         * gtk/gtkcolorsel.c: fix warnings
146
147 2001-03-23  Havoc Pennington  <hp@redhat.com>
148
149         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
150
151         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
152
153         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
154         and deprecated gtk_check_menu_item_set_show_toggle().
155         
156         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
157
158         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
159
160         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
161
162 2001-03-23  Havoc Pennington  <hp@redhat.com>
163
164         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
165         some docs
166
167 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
168
169         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
170         this.
171
172         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
173         set_cell to set_value
174
175         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
176         set_cell to set_value
177
178 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
179
180         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
181         fix braino.
182         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
183         support.
184
185         * gtk/gtktreeview.c: Addition of initial sortable support.
186
187         * gtk/gtktreestore.c: Addition of initial sortable support.
188
189         * gtk/gtkliststore.c: Addition of initial sortable support.
190
191         * gtk/gtkmarshal.list: yet another marshaller.
192
193         * gtk/gtktreedatallist.[ch]: shared code between the store models
194         for handling sorting headers.
195
196 2001-03-22  Havoc Pennington  <hp@redhat.com>
197
198         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
199         (gtk_container_unset_focus_chain): Add ability to override the 
200         focus chain for a container explicitly
201
202 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
203
204         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
205         added PROP_MNEMONIC_WIDGET.
206
207         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
208         (gtk_window_remove_mnemonic): 
209         (gtk_window_add_mnemonic): fixed assertions.
210         (gtk_window_activate_mnemonic): constrain modifier checks to those
211         permitted by gtk_accelerator_get_default_mod_mask().
212         got rid of gtk_window_get_default_accel_group().
213
214         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
215         activatable widgets either by focussing or a warning.
216         added a signal accumulator to ::activate_mnemonic which stops the
217         emission once a handler returned TRUE.
218
219 2001-03-22  Havoc Pennington  <hp@pobox.com>
220
221         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
222         the stock item label
223
224         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
225
226         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
227
228         * demos/gtk-demo/*.c: Add mnemonics all over the place
229
230         * gtk/gtklabel.h: mark parse_uline deprecated
231
232 2001-03-21  Alexander Larsson  <alexl@redhat.com>
233
234         * gtk/gtkitemfactory.[ch]:
235         Add support for stock and normal imagemenuitems.
236         
237         * gtk/testgtk.c:
238         Add some tests for mnemonics, stock toolbars, stock
239         and image menuitems in itemfactory and gdk_window_scroll.
240
241 2001-03-21  Alexander Larsson  <alexl@redhat.com>
242
243         * gtk/gtkbutton.[ch]:
244         * gtk/gtkdialog.c:
245         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
246         removed accel_group argument. Renamed gtk_button_new_accel() to
247         gtk_button_new_with_mnemonic() and removed accel_group argument.
248
249         * gtk/gtkcheckbutton.[ch]:
250         New function gtk_check_button_new_with_mnemonic().
251
252         * gtk/gtkentry.c:
253         Override activate_mnemonic and just grab focus.
254
255         * gtk/gtkitemfactory.c:
256         Don't add menu uline accel group, instead use mnemonics support.
257
258         * gtk/gtklabel.[ch]:
259         New support for mnemonics.
260
261         * gtk/gtkmarshal.list:
262         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
263
264         * gtk/gtkmenu.[c]:
265         * gtkmenushell.c:
266         Use mnemonics instead of accel groups for uline
267         support in menu items.
268         Removed gtk_menu_get_uline_accel_group() and
269         gtk_menu_ensure_uline_accel_group().
270
271         * gtk/gtkmenuitem.c:
272         Override activate_mnemonic to handle switching between
273         menu items if there are collisions.
274         
275         * gtk/gtknotebook.c:
276         Connect to activate_mnemonic on the tab_label, so that
277         activating it switches to that notebook page.
278
279         * gtk/gtkwidget.[ch]:
280         Add activate_mnemonic signal. New function
281         gtk_widget_activate_mnemonic() to emit it.
282         Default implementation does activate/grab_focus.
283
284         * gtk/gtkwindow.[ch]:
285         Add support for mnemonics in windows.
286         New functions:
287         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
288         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
289
290         * gtk/testgtk.c:
291         Update to function name changes.
292         
293 2001-03-21  Alexander Larsson  <alexl@redhat.com>
294
295         * gtk/gtkimagemenuitem.[c]:
296         Add gtk_image_menu_item_new_from_stock()
297
298 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@webwynk.net>
299
300         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
301         Fix buglet in meeting.
302
303 2001-03-19  Havoc Pennington  <hp@redhat.com>
304
305         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
306         add a bunch of accessor functions. This is because we have
307         reasonable expectations of extending what fields it contains in
308         the future.
309
310         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
311         changes
312
313         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
314         GtkIconSource   
315
316 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
317
318         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
319         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
320
321         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
322           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
323           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
324           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
325         Change float to double everywhere with the exception of 0<->1.0 alignment
326         and GtkCurve.
327
328 2001-03-19  Tor Lillqvist  <tml@iki.fi>
329
330         * gdk/win32/gdkdrawable-win32.c
331         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
332         output.
333
334         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
335         gdkwin32.h.
336
337 2001-03-18  Tor Lillqvist  <tml@iki.fi>
338
339         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
340         print_event_state, print_event): Use preprocessor macro to make
341         code more compact. Print also GDK_WINDOW_STATE events.
342         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
343         
344         * gtk/gtk.def
345         * gtk/makefile.mingw.in: Update.
346
347         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
348         to catch also Cygwin.
349
350 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
351
352         * gtk/gtkspinbutton.[hc]: added rc-style argument
353         GtkSpinButton::shadow_type.
354         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
355         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
356         rc-style settings.
357
358         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
359
360         * gtk/gtkwidget.c: quark cleanups.
361
362         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
363         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
364         to create_rc_style() (we don't do cloning in standard OO sense).
365         added per rc style properties.
366         
367         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
368         property values and for caching those. some cleanups.
369         
370         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
371         
372         * gtk/gtksettings.[hc]: new file for global rc-file properties
373         (at least currently, should get extended to support X properties
374         and other communication mechanisms).
375         
376         * gtk/gtkwidget.[hc]: added style property support:
377         (gtk_widget_class_install_style_property_parser): install style
378         property pspec with parser function for rc-file values other
379         than LONG, DOUBLE or STRING.
380         (gtk_widget_class_install_style_property): same as above without
381         parser (parsers are going to be needed quite infrequently).
382         (gtk_widget_style_get_property): retrive style property value.
383         (gtk_widget_style_get_valist): same as above with varargs support,
384         has NOCOPY semantics.
385         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
386
387 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
388
389         * demos/gtk-demo/main.c (row_activated_cb): modified to use
390         "row_activated" signal.
391
392         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
393         stupidity.  Lets actually pass in the row with this signal...
394
395 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
396
397         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
398
399         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
400
401         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
402         everything into the ::destroy function, and freed a lot more.
403
404 2001-03-16  Havoc Pennington  <hp@redhat.com>
405
406         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
407         instead of gint16, to avoid overflow issues, since sizes > 16-bit
408         are now allowed.
409
410 2001-03-16  Havoc Pennington  <hp@redhat.com>
411
412         * Applied patch from Nils Barth (bug # 51041) to 
413         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
414         in various places.
415
416 2001-03-15  Havoc Pennington  <hp@redhat.com>
417         
418         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
419         for properties to set on the tag.
420
421         * gtk/testtext.c: fixups to reflect create_tag change
422         
423         * gtk/gtktexttag.c (gtk_text_tag_set_property):
424         background/foreground stipple are objects, not boxed.
425
426         * demos/gtk-demo/textview.c: intellihancing
427
428 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
429
430         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
431         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
432
433 2001-03-16  Alexander Larsson  <alexl@redhat.com>
434
435         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
436         Fix sign error with queued region translations.
437
438 2001-03-15  HideToshi Tajima  <tajima@happy>
439
440         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
441         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
442         * gtk/gtkentry.c (update_im_cursor_location): 
443         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
444         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
445         set_cursor_pos to set_cursor_location in GtkInputContext class
446
447 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
448
449         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
450         the location of the cell relative to its area.
451         * gtk/gtkcell*: modified for above change
452         * gtk/gtktreeview.c: modified for above change.
453
454 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
455
456         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
457          (gtk_tree_view_finalize): actually unref the model.  Thanks to
458         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
459
460 2001-03-14  Havoc Pennington  <hp@redhat.com>
461
462         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
463         
464         * gtk/gtk.h: remove gtkdata.h
465
466         * gtk/Makefile.am: remove gtkdata
467         
468         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
469         not "disconnect" on the adjustments.
470         
471         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
472         GtkData
473
474         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
475         not GtkData
476
477         * configure.in: handle case where X render exists, but Pango lacks
478         Xft support.
479
480 2001-03-15 Alexander Larsson  <alexl@redhat.com>
481
482         * gtk/gtktoolbar.[ch]:
483         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
484         to add stock items to toolbars.
485
486         * gtk/Makefile.am:
487         Remove ../gdk/gdkim.h from gdk_headers.
488
489 2001-03-15  Sven Neumann  <sven@gimp.org>
490
491         * gdk/gdkim.h: removed
492         
493         * gdk/gdkprivate.h
494         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
495
496 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
497
498         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
499         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
500         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
501         set_cursor_pos() virtual method
502
503         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
504         (gtk_im_context_xim_set_cursor_pos): add implementation for
505         set_cursor_pos() method
506
507         * gtk/gtkentry.c (recompute_idle_func): set current cursor
508         position to input methods
509
510 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
511
512         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
513         code a lot.
514
515         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
516         g_mem_chunk.
517         (_gtk_tree_data_list_alloc): use g_mem_chunk.
518         (_gtk_tree_data_list_node_to_value): Fix to switch on
519         G_TYPE_FUNDAMENTAL.
520         (_gtk_tree_data_list_value_to_node): Fix to switch on
521         G_TYPE_FUNDAMENTAL.
522         (_gtk_tree_data_list_node_copy): Fix to switch on
523         G_TYPE_FUNDAMENTAL.
524
525 2001-03-12  Havoc Pennington  <hp@redhat.com>
526
527         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
528         to convert to new property API. Also, change default_width and
529         default_height get_property to return 0 as the flag value for
530         "unset"; -1 is not a valid value for these fields.
531
532 2001-03-12  Havoc Pennington  <hp@redhat.com>
533
534         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
535         enum with registration for icon sizes, instead of strings.
536
537         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
538         gtkwidget.c: Fix to reflect GtkIconSize
539         
540 2001-03-12  Alexander Larsson  <alexl@redhat.com>
541
542         Make GtkFB compile and link.
543         
544         * gdk/linux-fb/gdkdrawable-fb2.c:
545         window->mapped to GDK_WINDOW_IS_MAPPED(). 
546         
547         * gdk/linux-fb/gdkwindow-fb.c:
548         window->mapped to GDK_WINDOW_IS_MAPPED(). 
549         Added gdk_window_shape_combine_region.
550         Added assorted placeholders for unimplemented new GdkWindow API calls.
551
552 2001-03-12  Alexander Larsson  <alexl@redhat.com>
553
554         * gtk/gtkfilesel.c:
555         Add more test when converting filenames from/to utf-8.
556         Don't allow entering text in the filename entry which isn't allowed in
557         a filename. Just beep instead.
558
559 2001-03-12  Alexander Larsson  <alexl@redhat.com>
560
561         * gtk/gtkclist.c:
562         Scroll using gdk_window_scroll(). Don't wait for exposes.
563         Move the column headers in an order that makes them flash less.
564
565 2001-03-10  Hans Breuer  <hans@breuer.org>
566
567         * gdk/gdk.def : updated
568
569         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
570         to offseting the clip_mask at the right place
571
572         * gdk/win32/gdkwindow-win32.c : don't create background brushes
573         for all the gdkClasses, especially not for the input_only case.
574         Otherwise flickering wont be avoidable, because we don't get
575         WM_ERASEBKGND message for these windows.
576
577         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
578         and fixed massive redraw problems apparently triggered by Alexanders 
579         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
580         but it seems to work quite well :-)
581
582         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
583         prototype
584
585 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
586
587         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
588         (gtk_list_store_set_cell): Fix a stupid typo.
589
590 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
591
592         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
593         select_all not work if you're in SINGLE mode (it doesn't make that
594         much sense, anyway.)
595
596         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
597         handle types more sanely.
598         (_gtk_tree_data_list_value_to_node): handle types more sanely.
599         (_gtk_tree_data_list_node_copy): handle types more sanely.
600
601         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
602         GValue better. Converts the type as well.
603
604         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
605         GValue better. Converts the type as well.
606
607 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
608
609         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
610         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
611         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
612         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
613
614         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
615         gdk_im/gdk_ic.
616
617 2001-03-09  Hans Breuer  <hans@breuer.org>
618
619         * gdk/gdk.def : updated
620
621         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
622         for their palette
623
624         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
625         removing
626
627         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
628         removing and implemented Havoc's GdkWindow state functions; 
629         stick/unstick only as no-op, cause I don't know how to emulate 
630         on win32 ...
631
632         * gtk/gtk.def : updated
633
634         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
635
636         * gtk/gtktypeutils.c : #include <string.h>
637
638         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
639
640 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
641
642         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
643         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
644         not a boxed.
645
646 2001-03-09  Alexander Larsson  <alexl@redhat.com>
647
648         * docs/Changes-2.0.txt:
649         Document expose event->region change and that gtk_widget_event
650         doesn't allow passing expose events.
651
652         * gdk/gdkevents.h:
653         Add region to expose event.
654         
655         * gdk/gdkevents.c:
656         Handle event->region in gdk_event_copy() and gdk_event_free().
657
658         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
659         Generate expose_event->region when creating expose events.
660
661         * gdk/x11/gdkevents-x11.c:
662         Generate expose events with regions when translating X events.
663
664         * gtk/gtkcontainer.[ch]:
665         Default expose handler that propagates expose events to NO_WINDOW
666         children. New function gtk_container_propagate_expose()
667
668         * gtk/gtkwidget.[ch]:
669         Moved gtk_widget_event implementation to gtk_widget_event_internal.
670         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
671         expose events. New function gtk_widget_send_expose() to send expose
672         events. New function gtk_widget_region_intersect() to calculate
673         window/region intersections.
674         
675         * gtk/gtkmain.c (gtk_main_do_event):
676         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
677         Use gtk_widget_send_expose() to send expose events.
678         
679         * gtk/gtkbin.c:
680         * gtk/gtkbox.c:
681         * gtk/gtkfixed.c:
682         * gtk/gtkimagemenuitem.c:
683         * gtk/gtklist.c:
684         * gtk/gtkpacker.c:
685         * gtk/gtktable.c:
686         * gtk/gtktree.c:
687         Remove expose handler, using the default container implementation
688         instead.
689         
690         * gtk/gtkbutton.c:
691         * gtk/gtkcheckbutton.c:
692         * gtk/gtkeventbox.c:
693         * gtk/gtkfixed.c:
694         * gtk/gtkhandlebox.c:
695         * gtk/gtklayout.c:
696         * gtk/gtklistitem.c:
697         * gtk/gtkmenu.c:
698         * gtk/gtkmenubar.c:
699         * gtk/gtkmenuitem.c:
700         * gtk/gtknotebook.c:
701         * gtk/gtkoptionmenu.c:
702         * gtk/gtkpaned.c:
703         * gtk/gtkscrolledwindow.c:
704         * gtk/gtktogglebutton.c:
705         * gtk/gtktoolbar.c:
706         * gtk/gtktreeitem.c:
707         * gtk/gtkviewport.c:
708         Chain expose handler to parent class handler. Use
709         gtk_container_propagate_expose() to propagate exposes.
710
711         * gtk/gtkclist.c (check_exposures):
712         * gtk/gtktext.c (process_exposes):
713         Use gtk_widget_send_expose instead of gtk_widget_event.
714
715 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
716
717         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
718
719 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
720
721         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
722         unref the nodes.   Fixes bug #50058.
723
724         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
725         "::ref_iter" to "::ref_node".
726         (gtk_tree_model_unref_node): change "::unref_iter" to
727         "::unref_node". Fixes bug #50064.
728
729 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
730
731         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
732         support for invisible cells.
733          (gtk_tree_view_bin_expose): ditto
734
735 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
736
737         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
738         on gobjects.
739
740         * tests/testtreefocus.c (main): New test file.
741
742         * tests/testtreeview.c: update to latest glib changes.
743
744         * tests/testtreecolumns.c: update to latest glib changes.
745
746 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
747
748         * gtk/testgtk.c: re-enabled event watcher emission hooks.
749
750 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
751
752         * *.c: added accumulator data argument to g_signal_newc()
753         functions.
754
755         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
756         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
757         * gtk/treestoretest.c (make_window):
758         s/g_signal_connect/g_signal_connectc/.
759
760         * gtk/gtktextbuffer.c: completed signal arg fixups,
761         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
762
763 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
764
765         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
766         G_CONST_RETURN.
767
768         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
769         ::hierarchy-changed signal when a widget changes
770         from anchored to unanchored or vice versa.
771         (anchored means 
772          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
773         Use a private flag to keep track of this efficiently.
774
775 2001-03-07  Havoc Pennington  <hp@redhat.com>
776
777         * gtk/testgtk.c (create_spins): uglify so that size request gets
778         tested.
779
780         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
781         request on values for upper/lower, completes #6152
782
783 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
784
785         * Makefile.am: Remove gtk-config-2.0 again.
786         (Grrrr, pkg-config. And stops make loops.)
787
788 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
789
790         * gtk/gtksignal.[hc]: removed old emission hook API.
791         
792         * docs/Changes-2.0.txt: fixed sections.
793         
794         * gtk/gtktextbuffer.c: signal arg fixups.
795
796 2001-03-07  Havoc Pennington  <hp@redhat.com>
797
798         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
799
800         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
801         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
802         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
803         validation and the redraw which is higher priority than the
804         validation.
805
806 2001-03-07  Havoc Pennington  <hp@redhat.com>
807
808         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
809         (gtk_entry_set_property): remove trailer
810
811         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
812         (gtk_entry_get_width_chars): new functions, to set size request to 
813         a given number of characters
814
815         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
816
817         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
818         (gtk_dialog_get_has_separator): new function
819         (run_delete_handler): fix to not emit "response" signal
820         because we already did in the delete event handler installed
821         at dialog creation time.
822         
823         * gtk/gtkdialog.h: add a has_separator property,
824         add GTK_DIALOG_NO_SEPARATOR flag
825
826 2001-03-07  Havoc Pennington  <hp@redhat.com>
827
828         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
829         off decorations for a window.
830
831         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
832         changes
833
834         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
835         to get location of PangoLayout inside the label, closes #51198
836
837         * gtk/testgtk.c (create_bbox): fix up button box usage
838
839         * gtk/testcalendar.c (create_calendar): fix up button box usage
840
841         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
842
843         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
844
845         * gtk/gtkhbbox.h: deprecations
846
847         * gtk/gtkvbbox.h: deprecations
848
849         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
850         emulate deprecated gtk_button_box_get_spacing
851
852         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
853         the "set global default" functions
854         (struct _GtkButtonBox): remove "spacing" field, use the one from 
855         GtkBox base class
856
857         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
858
859         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
860         render the icon, return the missing image icon.
861
862         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
863         image icon if the load fails.   
864
865         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
866         when no image is found; should be the Netscape "missing image"
867         icon eventually but for now is a random image
868
869         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
870         role for the session manager
871
872         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
873
874         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
875         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
876
877         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
878
879 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
880
881         * gtk/*.c: marshaller fixes.
882         
883         * gtk/gtkmarshal.list: extreme cleanup.
884
885         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
886         param spec for now.
887
888         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
889         where appliable.
890
891         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
892         special cased autogenerated boxed types from gtktypebuiltins_ids.c
893         which are not reference counted:
894         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
895         PangoFontDescription, GtkTreeIter and GtkTreePath.
896
897 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
898
899         * gtk/gtktreeselection.h: 
900         * gtk/gtktreemodel.c:
901         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
902         file should be included directly, and gobject/gmarshal.h
903         as well as gtk/gtkmarshal.h even can't be included directly.
904
905         * Makefile.am: grr, install gtk-config-2.0.
906
907         * gtk/testgtk.c:
908         * gtk/simple.c:
909         * gtk/gtkmenu.c:
910         * gtk/gtkitemfactory.c: use g_object_connect() instead of
911         passing "*signal*::*" args to gtk_widget_set().
912         
913         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
914         
915         * gtk/*.c: removed trailer arg from property setters and getters.
916         macro fixups.
917
918 2001-03-07  Alexander Larsson  <alexl@redhat.com>
919
920         * gtk/gtklabel.c (set_markup): Removed warning
921
922 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
923
924         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
925         field to allow you to hide cell renderers.
926
927         * gtk/gtkcellrenderer.c: Add support for invisible cells.
928
929         * gtk/gtktreeview.c: Add support for invisible cells.
930
931 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
932
933         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
934         Add "clicked" signal back to columns.
935
936         * ChangeLog: remove conflict markers.
937
938 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
939
940         * gtk/gtkbutton.c: Add animation of activation by, on 
941         activate, pressing the button, and adding a timeout that 
942         releases the button after 250ms or on key release and
943         emits ::clicked. (#51501)
944
945         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
946         action area, we connect to ::clicked instead of ::activate
947         so the dialog stays up through the animation.
948
949 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
950
951         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
952         check the ignore_enter flag for the menu shell that
953         the item is actually a child of, not for attached
954         submenus. (#51536)
955
956 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
957
958         * gtk/gtkmain.c (gtk_propagate_event): Only do special
959         special key-press grab handling for widgets within
960         GtkWindows. Otherwise, fall through to normal case.
961
962         This prevents key events being sent twice to GtkInvisible
963         widgets, which can cause all sorts of mischief.
964
965 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
966
967         * gtk/gtkmain.c (gtk_propagate_event): When a grab
968         widget is in effect, give the grab widget a first
969         crack at KEY_PRESS/RELEASE events. (#424)
970
971 2001-03-06  James Henstridge  <james@daa.com.au>
972
973         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
974         offset for the window_state_event to point at window_state_event
975         rather than no_expose_event.
976
977 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
978
979         * gtk/gtkimmodule.h: fix busted /* comment */
980
981 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
982
983         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
984         object properties.
985
986 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
987
988         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
989         add object properties.
990
991         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
992         to add object properties.
993
994         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
995         object properties.
996
997         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
998         add object properties.
999
1000         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
1001         object properties.
1002
1003 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
1004
1005         * gtk/gtktreemodel.c: renamed "child_toggled" to
1006         "has_child_toggled".
1007
1008         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
1009         handle new signal name.
1010
1011         * gtk/gtktreestore.c: Updated to handle new signal name.
1012         * gtk/gtklisttore.c: Updated to handle new signal name.
1013         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
1014
1015 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1016
1017         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
1018         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
1019
1020 2001-03-05  Michael Natterer  <mitch@gimp.org>
1021
1022         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
1023         pixbuf-engine coincidentially also failed to make one of it's
1024         parent_class pointers static, causing overwriting of GtkLabel's
1025         parent_class pointer in pixbuf_style_class_init().
1026         (Will commit the fix to the pixbuf-engine too).
1027
1028 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1029
1030         * gdk/gdkwindow.h:
1031         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
1032         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
1033         gdk_window_set_icon_list for net wmspec functionality.
1034
1035         * gdk/x11/gdkwindow-x11.c:
1036         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
1037         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
1038         gdk_window_set_icon_list.
1039         Added gdk_wmspec_change_state helper function and used it in the code.
1040         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
1041
1042         * gtk/gtkdialog.c (gtk_dialog_init):
1043         Set GDK_WINDOW_TYPE_HINT_DIALOG.
1044
1045         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
1046         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
1047
1048         * gtk/gtkwindow.c:
1049         new function gtk_window_set_type_hint.
1050         On realize, set type hint and modal hint.
1051
1052         * gtk/gtkwindow.h:
1053         Added type_hint field and gtk_window_set_type_hint.
1054
1055 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1056
1057         * gtk/gtklabel.[ch]:
1058         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
1059         New function gtk_label_get_accel_keyval () to get the underline accelerator
1060         of the label. Setting the label pattern overrides other attributes.
1061
1062 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
1063
1064         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
1065         Added missing initializers to gtk_rc_style_init().
1066
1067 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
1068
1069         * gtk/gtktextview.c: fixed bug #51097 about setting 
1070         gtk_text_view_set_border_window_size() if the widget is 
1071         already realized.
1072
1073 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
1074
1075         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
1076
1077         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
1078         comment. Won't do to have duplicated doc comments between
1079         the platform subdirs.
1080
1081 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
1082
1083         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
1084           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
1085
1086         Detectable auto-repeat - make a repeating key generate
1087         press/press/press/release instead of press/release pairs.
1088
1089         If we have Xkb and XkbSetDectableAutoRepeat supports
1090         that, we do it that way. Otherwise, when we get
1091         a release event, we check ahead with XPending to see
1092         if the next key is a KeyPress with the same keycode
1093         and timestamp. (Not 100% reliable, but pretty close.)
1094           
1095 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1096         
1097         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1098         special key-press grab handling for widgets within
1099         GtkWindows. Otherwise, fall through to normal case.
1100  
1101         This prevents key events being sent twice to GtkInvisible
1102         widgets, which can cause all sorts of mischief.
1103  
1104 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1105  
1106         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1107         widget is in effect, give the grab widget a first
1108         crack at KEY_PRESS/RELEASE events. (#424)
1109  
1110 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
1111
1112         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
1113         to extend the selection. (Roughly based on patch
1114         from Jay Cox, #50939)
1115
1116         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
1117         to properly handle previous GDK_BUTTON_PRESS. 
1118         (Patch from Jay Cox, #50938)
1119
1120         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
1121         '\0' back along with the deleted text. (#51148)
1122
1123 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
1124
1125         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
1126         the group when extracting it from the X keyboard event.
1127
1128         * modules/input/Makefile.am modules/input/imipa.c: 
1129         Simple module for entering IPA. (Do we need a 
1130         gtk-stupid-input-tricks CVS module?)
1131
1132 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
1133
1134         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
1135         const.
1136
1137         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
1138
1139         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
1140         is no focus widget for the dialog currently, grab the focus as well
1141         as the default.
1142
1143         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
1144         the action area's children to iterate through, not the
1145         dialog's children.
1146
1147 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
1148
1149         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
1150         Add plug-socket tests. (Won't work worth a darn until I commit
1151         the rest of the plug-socket changes, but no reason these
1152         can't go into CVS now.)
1153
1154 2001-03-02  Havoc Pennington  <hp@redhat.com>
1155
1156         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
1157         _gdk_region_get_xrectangles()
1158
1159         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
1160
1161         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
1162
1163         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
1164         function, contributed by Ron Steinke    
1165
1166         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
1167         gdk_net_wm_supports
1168
1169         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
1170         New function, contributed by Ron Steinke
1171
1172         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
1173         used to line up the text in the entry when using the entry for
1174         editable sheet cell hacks
1175
1176         * gtk/testgtk.c (create_entry): test the activate_default setting
1177         on GtkEntry
1178
1179         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
1180         cause the entry to activate the default button for a dialog when 
1181         activated
1182         (gtk_entry_get_activates_default): new function
1183
1184 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
1185
1186         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
1187         Hwang to move call to sync_selection() up a few lines
1188         to before the row list is modified, to fix crash when
1189         removing rows in the undo_selection list.
1190
1191         (Test case provided by Daniel Elstner:
1192
1193         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
1194
1195 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
1196
1197         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
1198         of tree->root_tree in parent_set rather than _map(), 
1199         fixing #50892 in a bit better manner.
1200
1201 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
1202
1203         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
1204
1205 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
1206
1207         * gtk/gtkstyle.c : Remove duplicate fwd decl for
1208         gtk_default_draw_shadow.
1209
1210 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
1211
1212         * gdk/gdkimage.c (gdk_image_new): Remove excess 
1213         warning, make warnings more verbose, treat a error
1214         in shmat as permanent, and don't try again.
1215         (#51163, Ed Randall.)
1216
1217 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
1218
1219         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
1220         delay for the first click before starting to scroll.
1221         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
1222
1223         * gtk/gtktext.c: GtkText should have I-beam cursor. 
1224         (based on gtk-enf-990513-1.patch, Eric Fisher.)
1225
1226 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
1227
1228         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
1229         cleanup to remove some references to unused
1230         ->xoffset, ->yoffset.
1231
1232 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
1233
1234         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
1235         mask. (#51039, fix from Martin Maierhofer)
1236
1237 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
1238
1239         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
1240         for unshifted + and shifted = for non-us keyboards.
1241         Make <Control>+ and <Control>- work as well as 
1242         <Control>KP_Plus, <Control>KP_Minus for recursive
1243         open/close.  (#2682, René Seindal)
1244
1245 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
1246
1247         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
1248         the active menu item before deactivating the menu,
1249         so gtk_menu_popdown doesn't change the history. (#50964)
1250         
1251 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
1252
1253         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
1254         draw lines with text_gc rather than black_gc.
1255         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
1256
1257 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
1258
1259         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
1260         Move handling of buttons fully in gtktreeviewcolumn.  This code is
1261         less interrelated then it was, but it still requires the
1262         GtkTreeView to map it.
1263
1264         * test/testtreecolumn.c: Now I can add a column to one view,
1265         remove it, add it to the another view, remove it, then re-add it
1266         to the first.  Nifty.
1267
1268 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
1269
1270         * docs/tutorial/gtk-tut.sgml: Minor corrections
1271
1272 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
1273
1274         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
1275         GtkRowReference.
1276
1277 2001-02-28  Havoc Pennington  <hp@redhat.com>
1278
1279         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
1280         draw_default
1281         (gtk_widget_draw_focus): remove this function; we could instead
1282         make it just gtk_widget_draw(), but in most cases I think the
1283         result would be broken user code, so think it's better to have
1284         that code not compile and get fixed
1285         (gtk_widget_draw_default): ditto
1286
1287         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
1288         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
1289         
1290         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
1291         widgets lose/get the default, instead of calling draw_default
1292         
1293         * docs/Changes-2.0.txt: note about all this
1294
1295         Then fixed every widget in GTK, I won't list all the filenames.
1296
1297 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
1298
1299         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
1300         _gtk_tree_row_reference_deleted.
1301         (inserted_callback): Proxy out to
1302         _gtk_tree_row_reference_inserted.
1303         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
1304         get around signal emission ordering problem.
1305
1306         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1307         fix to work with SINGLE 
1308         (_gtk_tree_selection_internal_select_node): Major sanitization on
1309         selections.  SINGLE now seems to work.
1310
1311         * tests/Makefile.am: add testtreecolumn.c:
1312
1313         * tests/testtreecolumn.c: New test.  Mostly points out selection
1314         bugs currently, but will test columns later.
1315
1316         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
1317         selection bug.  I hate touching this code -- it's scary.
1318
1319 2001-02-26  Havoc Pennington  <hp@redhat.com>
1320
1321         * gtk/testgtk.c: test the window state stuff
1322
1323         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
1324         window come to the user's attention as if it were just created
1325         (gtk_window_iconify): new function
1326         (gtk_window_deiconify): new function
1327         (gtk_window_stick): new function
1328         (gtk_window_unstick): new function
1329         (gtk_window_maximize): new function
1330         (gtk_window_unmaximize): new function
1331
1332         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
1333
1334         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
1335
1336         * gdk/x11/gdkevents-x11.c: create window state events when
1337         appropriate
1338         (gdk_wmspec_supported): new function
1339
1340         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
1341         iconification before showing the window
1342         (gdk_window_deiconify): new function
1343         (gdk_window_stick): new function
1344         (gdk_window_unstick): new function
1345         (gdk_window_maximize): new function
1346         (gdk_window_unmaximize): new function
1347
1348         * gdk/gdkwindow.c: store the window state in the window; 
1349         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
1350         window->mapped.
1351         (gdk_window_get_state): return the current window state
1352
1353         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
1354         (gdk_event_get_state): handle GDK_WINDOW_STATE
1355         (gdk_synthesize_window_state): function to create the window state
1356         events
1357
1358         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
1359         event, for changes to "window state" such as maximized, sticky, 
1360         etc.
1361         
1362         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
1363         focuses a window
1364
1365         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
1366         finds out if we support a given WM spec hint
1367
1368 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
1369
1370         * docs/faq/gtk-faq.sgml: New question re memory leaks.
1371
1372 2001-02-25  Hans Breuer  <hans@breuer.org>
1373
1374         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
1375         cause we want to loose those prototypes only in the latter case
1376
1377         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
1378         GdkPixmapImplWin32 because it itsn't derived from it. Use the
1379         impl member variable instead
1380
1381         * gtk/gtk.def : updated
1382
1383         * gtk/gtklist.c : 
1384         * gtk/gtkmenus.c : include <string.h> for memset ()
1385
1386         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
1387         for everthing built here, but for gtk-x.x.dll only. This solves
1388         problem of indifferent gtk type definitions
1389
1390 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
1391
1392         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
1393
1394 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
1395
1396         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
1397         column that is exposed.
1398
1399         (_gtk_tree_view_update_size): Changed name from set_size, and
1400         changed function to do more work, and not force people calling it
1401         to figure out the size.  Simplifies a lot of code elsewhere.
1402
1403 2001-02-23  Alexander Larsson  <alexl@redhat.com>
1404
1405         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
1406         return solid masks for xpms that have no transparent color.
1407         This makes the ..._create_from_xpm... API backwards
1408         compatible.
1409
1410 2001-02-23  Tor Lillqvist  <tml@iki.fi>
1411
1412         * README.win32: Update. Mention the gtk-1-3-win32-production
1413         branch.
1414
1415         * gdk/win32/bdfcursor.c: New file. A program that generates
1416         xcursors.h. Thanks to Stefan Ondrejicka.
1417
1418         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
1419         compact format.
1420
1421         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
1422
1423         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
1424         function, uses xcursors.h.
1425         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
1426         cursor from inline data instead of using LoadCursor() to generate
1427         it from a resource.
1428
1429         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
1430         event, must check the Windows message for mouse button state, as
1431         the GDK event state might not have been built if it is
1432         undelivered. Remove one goto.
1433
1434         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
1435         SetCursor() if the current cursor as returned by GetCursor() is
1436         the window's previous cursor. The ChildWindowFromPoint() test
1437         apparently didn't work correctly.
1438
1439         * gdk/win32/rc/*.cur: Remove.
1440
1441         * gdk/win32/rc/gdk.rc.in: Remove cursors.
1442
1443         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
1444
1445         * gtk/makefile.{mingw,msc}.in: Updates.
1446
1447 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
1448
1449         * gtk/gtktreemodel.h: add functions for signal emission.
1450
1451         * gtk/gtktreestore.c: move to use above functions instead of
1452         g_signal_emit.
1453
1454         * gtk/gtkliststore.c: ditto
1455
1456 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
1457
1458         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
1459         GObject instead of GtkObject.
1460
1461         * gtk/gtkliststore.c: ditto.
1462
1463         * gtk/gtktreemodelsort.c: ditto.
1464
1465         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
1466         GtkTreeModelIface, instead of in each model.
1467
1468 2001-02-21  Havoc Pennington  <hp@redhat.com>
1469
1470         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
1471         unbreak this function
1472
1473         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
1474         properties
1475
1476         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
1477         properties
1478
1479         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
1480         properties
1481
1482         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
1483         mean unset the max length
1484
1485 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
1486
1487         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
1488         Changed name to be set_cell_data_func to make it clear what
1489         the functino does.  Close bug #51069.
1490
1491 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
1492
1493         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
1494         have memory actually freed.  Keeps box running longer.
1495
1496 2001-02-21  Alexander Larsson  <alexl@redhat.com>
1497         
1498         * gtk/gtkseparatormenuitem.[ch]:
1499         Added new menu separator item. The drawing and size handling
1500         is still done in GtkMenuItem, but the API is a bit more sane.
1501         
1502         * gtk/Makefile.am:
1503         Add gtkseparatormenuitem.[ch].
1504
1505         * gtk/gtk.h:
1506         Add gtkseparatormenuitem.h.
1507         
1508         * gtk/gtkentry.c:
1509         * gtk/gtkmenufactory.c:
1510         * gtk/gtktextview.c:
1511         Use the new API for menu separators.
1512         
1513         * demos/gtk-demo/menus.c (create_menu):
1514         Add some GtkSeparatorMenuItem demo code.
1515
1516 2001-02-20  Havoc Pennington  <hp@redhat.com>
1517
1518         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
1519         Lee Mallabone
1520
1521         * gtk/gtkarrow.c: Convert to new property API, patch from 
1522         Lee Mallabone
1523
1524 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
1525
1526         * tests/testtreeview.c (toggled_callback): fix to reflect change
1527         in GtkTreeModelStore.
1528
1529 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
1530
1531         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
1532         function to create an icon set from a pixbuf.
1533
1534 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1535
1536         * gtk/gtkcellrenderertext.[ch]:
1537         Add a "markup" property.
1538
1539         * gtk/treestoretest.c:
1540         Use the markup property, remove some leftover stuff from
1541         GtkTreeModelMapping.
1542
1543 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1544
1545         * gtk/gtklabel.c (gtk_label_set_selectable):
1546         Queue a redraw if the selectable setting was changed.
1547
1548 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1549
1550         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
1551         Actually copy the whole gc, not just the public parts.
1552         
1553         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1554         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
1555         labels.
1556
1557 2001-02-19  Havoc Pennington  <hp@pobox.com>
1558
1559         * gdk/gdkwindow.c: docs
1560
1561         * gdk/gdkrgb.c: docs
1562
1563         * gdk/gdkregion-generic.c: docs
1564
1565         * gdk/gdkgc.c (gdk_gc_set_values): docs
1566
1567         * gdk/gdkdraw.c: docs
1568
1569         * gdk/gdkdrawable.h: deprecate drawable get/set data
1570
1571 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
1572
1573         * demos/gtk-demo/dialog.c: Add simple new demo.
1574
1575 2001-02-19  Havoc Pennington  <hp@redhat.com>
1576
1577         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
1578         insert_child_anchor signal, bug #50245
1579
1580         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
1581         from create_child_anchor, so the anchor is passed in
1582
1583         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
1584         (_gtk_widget_segment_new): have the child anchor object passed in, 
1585         instead of creating it.
1586
1587         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
1588         to gtk_text_buffer_get_modified
1589
1590 2001-02-19  Havoc Pennington  <hp@redhat.com>
1591
1592         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
1593         changed GLib without fixing GTK
1594
1595         * gtk/gtkrange.h: Rename all the stupid implementation detail 
1596         functions to have an underscore in front. Most of them should 
1597         probably just go away, but for starters don't export them.
1598         Bug #50482
1599
1600 2001-02-19  Havoc Pennington  <hp@redhat.com>
1601
1602         * gdk/gdkcolor.h: test was backward, so deprecated functions were
1603         excluded by default
1604
1605         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
1606         clean up the old code a bit
1607
1608         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
1609         inconsistent state
1610
1611         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
1612         draw inconsistent state
1613
1614         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
1615         (create_menu): add inconsistent test
1616
1617         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
1618         new function
1619         (gtk_check_menu_item_get_inconsistent): new function
1620         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
1621         state (using etched in for now)
1622
1623         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
1624         draw inconsistent state
1625
1626         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
1627         function, used when the user has selected a range of stuff in
1628         different states
1629         (gtk_toggle_button_get_inconsistent): accessor for that
1630         (gtk_toggle_button_paint): draw inconsistent state (etched in?
1631         don't know what else to do)
1632
1633 2001-02-19  Hans Breuer <hans@breuer.org>
1634
1635         * gtk/gtk.def : updated exported symbols
1636
1637         * gtk/makefile.msc.in : updated
1638
1639         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
1640         a colormap, when invoked from testgtk::entry. I'm not sure where
1641         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
1642         avoids immediate crashing ...
1643
1644         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
1645         any objections ?
1646
1647         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
1648         0 parameter. At least msvc doesn't like macros with var args. 
1649         I simply removed the extra 0, was it a feature or a typo ?
1650
1651         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
1652         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
1653         because the value assignment to the internal struct wasn't working.
1654         I'm not absolutely sure. The problem could have been resolved by
1655         changing the "func" declartion in the struct, but was the pointer
1656         to the function pointer intended ?
1657
1658         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
1659
1660         * gdk/gdk.def : updated exported symbols
1661
1662         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
1663         only use SetDIBitsToDevice if there is a palette at the drawable
1664         and the image is GDK_VISUAL_PSEUDO_COLOR
1665
1666         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
1667
1668         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
1669
1670         * gdk/*/makefile.msc : updated
1671
1672 2001-02-19  Havoc Pennington  <hp@redhat.com>
1673
1674         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
1675         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
1676
1677         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
1678         (gdk_key_repeat_restore): nuke
1679
1680         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
1681         (gdk_init_check): no atexit func
1682
1683         * gdk/gdkrgb.h: mark some stuff deprecated
1684
1685         * gdk/gdkcolor.h: mark some stuff deprecated
1686         
1687         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
1688
1689         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
1690
1691 2001-02-16  Havoc Pennington  <hp@redhat.com>
1692
1693         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
1694         scroll steps.
1695
1696         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
1697         steps, and add Ctrl-arrow shortcuts for paging visually as with
1698         HScale, since Page Up and Page Down move logically.
1699
1700         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
1701         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
1702         
1703         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
1704         steps
1705         (gtk_range_scroll): handle the visual steps
1706
1707         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
1708         scroll steps
1709
1710         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
1711         steps, not the logical ones.
1712
1713         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
1714         (scroll_vertical): handle up/down steps
1715
1716 2001-02-19 Alexander Larsson  <alexl@redhat.com>
1717
1718         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
1719         Copy data and free data with free().
1720
1721         * gdk-pixbuf/gdk-pixbuf.c:
1722         * gdk-pixbuf/io-jpeg.c:
1723         * gdk-pixbuf/io-png.c:
1724         Use g_try_malloc/g_free instead malloc/free.
1725         
1726         * gdk-pixbuf/test-gdk-pixbuf.c:
1727         Must... initialize... gobject...
1728         
1729         * gdk-pixbuf/pixops/timescale.c:
1730         * gtk/gtkcalendar.c:
1731         Use g_malloc instead of malloc.
1732         
1733 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
1734
1735         * gtk/testgtkrc:
1736         Comment out property assignments, these don't work yet.
1737
1738 2001-02-17  Havoc Pennington  <hp@pobox.com>
1739
1740         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
1741         bit.
1742
1743 2001-02-17  Havoc Pennington  <hp@pobox.com>
1744
1745         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
1746         shadowed variables that had broken size request in some cases,
1747         leading to bogus tooltips (#50996)
1748
1749 2001-02-06  Jon K Hellan  <hellan@acm.org>
1750
1751         Implement fast browsing of tooltips, bug #50619
1752         
1753         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
1754         and last_popdown
1755         
1756         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
1757         use_sticky_delay and last_popdown.
1758         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
1759         time of popdown.
1760         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
1761         is NULL.
1762         (gtk_tooltips_recently_shown): New static function.  Return true
1763         if < sticky_delay has elapsed since last popdown.
1764         (gtk_tooltips_event_handler): Display window after sticky_delay
1765         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
1766         since last popdown.
1767         
1768 2001-02-17  Havoc Pennington  <hp@pobox.com>
1769
1770         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
1771         instead of (). #6394
1772
1773         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
1774         G_CONST_RETURN, make it return by reference, #50473
1775         
1776 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
1777
1778         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
1779         generated ENTER_NOTIFY event with 0, otherwise not explicitely
1780         setup fields contain garbage (e.g. subwindow, breaking
1781         gdk_drawable_ref() upon event copy).
1782         (gtk_menu_stop_navigating_submenu_cb): same here.
1783
1784         * gtk/gtklist.c (gtk_list_vertical_timeout): 
1785         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
1786         * gtk/gtkclist.c (vertical_timeout): 
1787         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
1788         default-zero-intialization for unions to memset(,0,), as unions are
1789         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
1790         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
1791
1792         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
1793         g_closure_sink() warning.
1794
1795         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
1796         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
1797         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
1798         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
1799         
1800 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
1801
1802         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
1803         gtk_*_store_get, and moved to GtkTreeModel.
1804
1805         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
1806
1807         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
1808
1809         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
1810
1811         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
1812         set the func.
1813
1814         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1815         freeze/thaw notify between setting all the properties for a cell.
1816
1817         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
1818
1819 2001-02-15  Havoc Pennington  <hp@redhat.com>
1820
1821         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
1822         the X coordinates so they're with respect to the line, rather than 
1823         with respect to the layout.
1824
1825         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
1826         Mallabone
1827
1828         * gtk/testgtk.c (create_range_controls): add vscale tests, 
1829         and inverted test
1830
1831         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
1832         #50806
1833
1834         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
1835
1836         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
1837         gtk_text_iter_is_end
1838
1839         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
1840         rename gtk_text_buffer_get_end_iter
1841
1842         * gtk/testgtk.c (create_labels): Add test for selectable
1843
1844         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
1845         the selection stuff. This code is kind of broken since it doesn't 
1846         use the theme engine.
1847
1848         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
1849         fix infinite loop and y offset problem
1850         (gdk_draw_layout_line_with_colors): fix foreground color handling
1851
1852         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
1853         that makes the label selectable.
1854         
1855         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
1856         layout when the style is set, since fonts etc. could have changed.      
1857
1858 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
1859
1860         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
1861
1862         * gtk/gtktreemodelsimple.[ch]: removed.
1863
1864 2001-02-16  Alexander Larsson  <alexl@redhat.com>
1865
1866         * gtk/gtktreemodelmapping.[ch]:
1867         New files. Implement GtkTreeModelMapping.
1868         
1869         * gtk/Makefile.am:
1870         Add gtktreemodelmapping.[ch].
1871         
1872         * gtk/gtk.h:
1873         Add gtktreemodelmapping.h
1874
1875         * gtk/treestoretest.c:
1876         Test the GtkTreeModelMapping
1877
1878 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
1879
1880         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
1881         have a demo, we might as well pass in real values.  Thanks to
1882         clahey for pointing this out.
1883
1884 2001-02-14  Havoc Pennington  <hp@pobox.com>
1885
1886         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
1887         "static" to a private function
1888         (gtk_image_menu_item_class_init): remove destroy handler,
1889         add "image" object property
1890
1891 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
1892
1893         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
1894         Add a shortcut if the window and the current clip_region doesn't
1895         overlap. This is needed when there are a lot of windows in a
1896         window. The layout test in testgtk is a good test.
1897
1898         * gdk/linux-fb/gdkwindow-fb.c:
1899         Whitespace fix.
1900
1901 2001-02-13  Sven Neumann  <sven@convergence.de>
1902
1903         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
1904
1905 2001-02-13  Alexander Larsson  <alexl@redhat.com>
1906
1907         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
1908         Don't reference last_cursor if it is null. Fixes crash when rotating
1909         the screen before having moved the mouse.
1910
1911         * gdk/linux-fb/gdkcc-fb.c: Zapp!
1912
1913         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
1914
1915         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
1916         when using 90 or 270 degrees rotation.
1917
1918 2001-02-12  Havoc Pennington  <hp@pobox.com>
1919
1920         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
1921         it always set the foreground, even if we were only using
1922         a stipple.
1923         (gdk_draw_layout_line_with_colors): new function, allow
1924         override colors
1925         (gdk_draw_layout_with_colors): new function, allow override
1926         colors
1927         (gdk_pango_layout_line_get_clip_region): function to get the clip
1928         region for a logical text range
1929         (gdk_pango_layout_get_clip_region): get the clip region for a
1930         logical text range
1931
1932         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
1933         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
1934         the right number of arguments.
1935
1936         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
1937         enhance the function to check that node data corresponds to a 
1938         view still belonging to the tree.
1939
1940         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
1941         GtkTreePath
1942         (gtk_tree_view_inserted): ditto
1943         (gtk_tree_view_child_toggled): ditto
1944
1945         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
1946         simplify this code.
1947
1948         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
1949         a PangoAttrList
1950
1951         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
1952
1953         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
1954
1955         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
1956         size in the size request 
1957         (gtk_menu_bar_size_allocate): consider toggle size here
1958
1959         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
1960         that displays a widget in the toggle slot
1961
1962         * gtk/testgtk.c: test GtkImageMenuItem
1963
1964         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
1965         
1966         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
1967         request and allocation
1968
1969         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
1970
1971         * gtk/gtkcheckmenuitem.c
1972         (gtk_check_menu_item_toggle_size_request): ditto
1973         
1974 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
1975
1976         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
1977         reference.
1978
1979         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
1980         and refuse to initialize GTK+ if they fail.
1981
1982 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
1983
1984         * configure.in: Add check for gtk-doc version.
1985
1986 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
1987
1988         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
1989         where the xpad/ypad was only being used on one side!
1990
1991 2001-02-11  Tor Lillqvist  <tml@iki.fi>
1992
1993         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
1994         function, copied from X11 version.
1995
1996         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
1997         DestroyCursor failures. The reason for the problem (despite the
1998         inconsistent messages from GetLastError()) was that
1999         DestroyCursor() cannot be called while a cursor is set in a
2000         window. Set the new cursor first and then destroy the old one.
2001         Thanks to jpe@archaeopteryx.com.
2002
2003         * gdk/win32/gdkcc-win32.c: Remove.
2004
2005         * gdk/win32/Makefile.am: Remove from here, too.
2006         
2007         * gdk/gdk.def
2008         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
2009
2010         * gtk/gtk.def
2011         * gtk/makefile.mingw.in: Updates.
2012
2013 2001-02-08  Havoc Pennington  <hp@redhat.com>
2014
2015         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
2016         add a widget to a bin that already has a child.
2017
2018         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
2019
2020         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
2021         
2022         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
2023
2024         * gdk/gdk.h: remove gdkcc.h
2025
2026         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
2027
2028         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
2029         GdkPixbuf, since the previous implementation was GdkColorContext
2030         dependent.
2031
2032         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
2033         
2034 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
2035
2036         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
2037         a sane value!
2038
2039 2001-02-08  Havoc Pennington  <hp@redhat.com>
2040
2041         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
2042         lighten them.
2043
2044 2001-02-08  Havoc Pennington  <hp@redhat.com>
2045
2046         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
2047         validation idle
2048
2049         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
2050         cell renderer
2051
2052         * demos/pixbuf-demo.c (timeout): remove deprecated
2053         gtk_widget_draw
2054
2055         * demos/testpixbuf-save.c (main): remove deprecated
2056         gtk_drawing_area_size
2057
2058         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
2059         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
2060         at the start of the allocation.
2061         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
2062         unsetup or NULL model.
2063
2064         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
2065         even/odd/sorted cells in the tree view.
2066
2067         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2068         bugfixes
2069
2070         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
2071         backgrounds with draw_flat_box using different detail for even/odd
2072         rows.
2073
2074         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
2075         row, so we can draw the alternating colors thing
2076
2077         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
2078         property from a synonym property, notify for the synonym.
2079         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
2080         (gtk_text_tag_get_property): Always return the font, even if
2081         all its fields aren't set
2082
2083         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
2084         store the attr list; it leaves us with no way to change attributes
2085         in _render according to the render flags, and no way to implement
2086         get_property. Instead store all the specific text attributes. 
2087         Separate whether an attribute is enabled from its value. Sync all
2088         properties with GtkTextTag, make them all consistent, etc.
2089
2090         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
2091         renderers can highlight the sort row/column     
2092
2093         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
2094         accessor functions to get values; this has the side effect of
2095         showing up which accessor functions were missing. Added those.
2096
2097         * gtk/gtktreeviewcolumn.h: Replace set_justification with
2098         set_alignment, to be consistent with GtkLabel, GtkMisc
2099
2100         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
2101         arrow.
2102
2103         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
2104
2105         * gtk/gtktreesortable.h: updates in here
2106
2107 2001-02-07  Sven Neumann  <sven@convergence.de>
2108
2109         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
2110         pango dimensions after painting the background. We used to draw
2111         gigantic flat boxes here.
2112
2113 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
2114
2115         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
2116         error introduced with earlier commit) (pointed out by
2117         Ollie Lho)
2118
2119 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
2120
2121         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
2122         which are no longer necessary.
2123
2124 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
2125
2126         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
2127
2128 2001-02-04  Tor Lillqvist  <tml@iki.fi>
2129
2130         * gdk/gdk.def
2131         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
2132         Provide dummy implementations.
2133
2134 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
2135
2136         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
2137
2138         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
2139         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
2140         deprecated this function.
2141
2142         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
2143         argument.
2144
2145 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
2146
2147         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
2148
2149 2001-02-03  Havoc Pennington  <hp@pobox.com>
2150
2151         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
2152         Mikael Hermansson with patch from Mikael (if there was a toggle
2153         start one after the first character in the range, this function
2154         was broken). Bug #50380
2155
2156 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
2157
2158         * configure.in: Remove confusing comment about X11.
2159
2160 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
2161
2162         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
2163         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
2164         
2165 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
2166
2167         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
2168         it breaks things on BSD. If you want to compile GTK+ with
2169         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
2170         when configuring, since GTK+ simply can't be "pure ANSI" 
2171         in the header files it uses. (#8170, Greg Hudson)
2172
2173 2001-02-02  Havoc Pennington  <hp@redhat.com>
2174
2175         * gtk/gtkwindow.c: docs
2176
2177         * gtk/gtkwidget.c: docs
2178         (gtk_widget_set_colormap): add a reference to the colormap
2179         (gtk_widget_get_default_colormap): add a reference to the colormap
2180
2181         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
2182
2183         * gtk/gtktextiter.c: docs
2184
2185         * gtk/gtkmain.c (gtk_propagate_event): docs
2186
2187         * gtk/gtkpaned.c (gtk_paned_get_position): docs
2188         (gtk_paned_set_position): docs
2189
2190         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
2191         sort interface, no implementation yet.
2192
2193         * demos/testpixbuf.c (new_testrgb_window): replace
2194         gtk_drawing_area_size() with gtk_widget_set_usize()
2195
2196         * demos/testpixbuf-drawable.c (main): ditto
2197         
2198         * gtk/testgtk.c: remove use of GtkStatusbarMsg
2199
2200         * gtk/gtktextbuffer.c: docs
2201
2202         * gtk/gtkstock.c: docs
2203
2204         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
2205
2206         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
2207
2208         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
2209         
2210         * gtk/gtkimage.c: add some docs in here
2211         (gtk_image_size_request): change name of
2212         gtk_widget_render_stock_icon
2213         (gtk_image_get_icon_set): don't dup returned string
2214         (gtk_image_get_icon_set): don't dup returned string
2215
2216         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
2217         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
2218         and gtkiconfactory.h functions
2219
2220         * gtk/gtkiconfactory.c: add some docs in here
2221
2222         * gtk/gtkmain.c (gtk_get_default_language): document
2223         (gtk_get_current_event): document
2224         (gtk_get_current_event_state): document
2225         (gtk_get_event_widget): document
2226
2227         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
2228
2229         * gtk/gtkcontainer.c: Add some documentation
2230         (gtk_container_add): give a more explanatory warning on adding an
2231         already-parented widget, this is kind of a FAQ and also a common
2232         typo that's easier to debug with a nice warning 
2233
2234         * gtk/gtkcellrenderertoggle.c
2235         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
2236         adding this, it's useless
2237         (gtk_cell_renderer_toggle_set_active): remove
2238         (gtk_cell_renderer_toggle_get_radio): add
2239
2240         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
2241         the NULL cell renderer, that doesn't make any sense to me. 
2242
2243         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
2244         demo code should never use deprecated features.
2245
2246         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
2247         code should never use deprecated features.
2248
2249         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
2250         gtk_widget_queue_clear_area deprecated
2251
2252         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
2253         deprecated
2254
2255         * gtk/gtklabel.h: mark gtk_label_get() deprecated
2256
2257         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
2258         a GdkImage deprecated, replaced by new consistently-named
2259         functions       
2260
2261         * gtk/gtkmain.h: Mark gtk_exit() deprecated
2262
2263         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
2264
2265         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
2266         deprecated
2267
2268         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
2269         so it won't appear in docs and confuse people.
2270
2271         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
2272
2273         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
2274         macros deprecated. (can't mark the type itself deprecated, since
2275         GtkProgressBar is not deprecated and we need the type decl to use
2276         GtkProgressBar)
2277
2278         * gtk/gtkpixmap.h: Mark deprecated
2279
2280         * gtk/gtkoldeditable.h: Mark deprecated
2281
2282         * gtk/gtklist.h: Mark deprecated
2283
2284         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
2285         for anything anymore.
2286
2287         * gtk/gtkctree.h: Mark deprecated
2288
2289         * gtk/gtkclist.h: Mark deprecated
2290
2291         * gtk/gtkpreview.h: Mark deprecated
2292
2293         * gtk/gtkpacker.h: Mark deprecated
2294
2295         * gtk/gtktipsquery.h: Mark deprecated
2296
2297         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
2298
2299         * gtk/gtkvruler.h: Add comment that it will move out of GTK
2300
2301         * gtk/gtkhruler.h: Add comment that it will move out of GTK
2302
2303         * gtk/gtkruler.h: Add comment that it will move out of GTK
2304
2305         * gtk/gtkgamma.h: Add comment that it will move out of GTK
2306
2307         * gtk/gtkcurve.h: Add comment that it will move out of GTK
2308
2309 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
2310
2311         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
2312         gdk_colormap_sync private since it was never exported
2313         in a header file.
2314
2315         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
2316         colormap->colors[] for StaticGray, StaticColor colormaps.
2317
2318         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
2319         was being used as if it was image->bits_per_pixel.
2320
2321         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
2322         for the image in the GdkImage structure since it isn't
2323         reconstructable, and we need it to handle packed types
2324
2325         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
2326         the assumption that on Win32 image->bits_per_pixel == image->depth,
2327         always.
2328
2329         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
2330
2331         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
2332         warning message if no converter can be found. 
2333
2334 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
2335
2336         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
2337         chars to isupper() / tolower(). (#567)
2338
2339         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
2340         to clear up 64-bit warnings. (#567)
2341
2342 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
2343
2344         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
2345         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
2346
2347         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
2348         since some people set $(libdir) separately. (#1290, David Kaelbling)
2349
2350 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
2351
2352         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
2353         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
2354         MAXPATHLEN, but the code here depends on a fixed value.)
2355         (#4524)
2356
2357 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
2358
2359         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
2360         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
2361
2362 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
2363
2364         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
2365         viewable there is no way that moving the node will cause the 
2366         focus row to become not viewable, so omit check on the visibility
2367         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
2368
2369 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
2370
2371         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
2372         selection before inserting new text.
2373
2374 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
2375
2376         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
2377         Make the sensitivity of the reparented child track that of
2378         the original parent menu item. (#34218, David Hodson)
2379
2380         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
2381         the case where the current item is destroyed properly.
2382
2383         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
2384         some edge cases with child-less menuitems.
2385         
2386 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
2387
2388         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
2389         key pop down window. (#12074, Jon K Hellan)
2390
2391 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
2392
2393         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
2394         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
2395         The solution here isn't perfect - you get an extraneous
2396         emission of "toggle", which could conceivably confuse an app,
2397         but better than the current situation. LXR search seems to
2398         indicate that no apps in GNOME CVS connect to "toggle".
2399
2400 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
2401
2402         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
2403         gtk_public_h_sources to directly here to avoid warning when
2404         building srcdir != builddir. (#9656)
2405
2406 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
2407
2408         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
2409         handlers in gtkrange.c return the proper values (TRUE == handled)
2410         (#10316).
2411
2412         This is just the tip of the iceberg, but gtkrange.c is the
2413         most common place where the propagation is problematical,
2414         and also a place where it is almost certainly safe to change
2415         this in the stable branch.
2416
2417         (You don't want right click popups on a range control or anything...)
2418
2419 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
2420
2421         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
2422         area on focus out, even if a background pixmap isn't set.
2423         (#13941)
2424         
2425 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
2426
2427         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
2428         to deal with setting the shape properly when scrolling arrows are
2429         turned on, but not visible because there is sufficient space.
2430         (#13432)
2431
2432 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
2433
2434         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
2435         items with submenus, destroy the item along with the submenu.
2436         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
2437         properly.
2438
2439         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
2440         later.
2441
2442 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
2443
2444         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
2445         the focus widget sometimes wasn't drawn with the default if there
2446         was no default widget.
2447
2448         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
2449         unreference pixmaps. 
2450
2451         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
2452         for some extra safety.
2453
2454 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
2455
2456         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
2457         the text of a cell to the old pointer value better, by
2458         copying the new text before freeing the old text. Some code
2459         cleanup. (#8079, Karl Nelson)
2460
2461 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
2462
2463         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
2464         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
2465
2466 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
2467
2468         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
2469         item from a menu, check to see if it matches 
2470         menu->old_active_menu_item, and if so, unref and clear
2471         old_active_menu_item (Patch from Pavel Cisler)
2472
2473         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
2474         menu_shell->active_menu_item, if it is the child being
2475         removed. (Patch based on that of Gene Ragan, #50337)
2476
2477 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
2478
2479         * gdk/linux-fb/gdkselection-fb.c: 
2480         * gdk/linux-fb/gdkcolor-fb.c: 
2481         * gdk/linux-fb/gdkdrawable-fb2.c: 
2482         * gdk/linux-fb/gdkfont-fb.c: 
2483         * gdk/linux-fb/gdkim-fb.c: 
2484         * gdk/linux-fb/gdkinput.c: 
2485         * gdk/linux-fb/gdkkeyboard-fb.c: 
2486         * gdk/linux-fb/gdkmain-fb.c: 
2487         * gdk/linux-fb/gdkrender-fb.c: 
2488         A bunch of whitespace cleanup.
2489         
2490 2001-01-30  Havoc Pennington  <hp@pobox.com>
2491
2492         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
2493         #ifdef GTK_ENABLE_BROKEN.
2494
2495         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
2496         GTK_ENABLE_BROKEN just before including the broken headers.
2497         
2498         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
2499         deprecated types registered.
2500
2501         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
2502         we have to test the broken stuff.
2503
2504         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
2505         
2506 2001-01-30  Havoc Pennington  <hp@redhat.com>
2507
2508         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
2509         here where prev pointer was set to the wrong thing
2510
2511         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
2512         (gtk_tree_path_is_descendant): new function
2513
2514         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
2515         cached length
2516         (gtk_list_store_get_iter): don't modify iter if we can't get the
2517         path.
2518
2519         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
2520         
2521         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
2522         GtkTreeDragDest
2523
2524         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
2525         was causing segfault
2526
2527         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
2528         pointer to NULL
2529
2530         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
2531
2532         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
2533         on returning FALSE
2534         (gtk_list_store_iter_children): ditto
2535         (gtk_list_store_iter_nth_child): ditto
2536         (gtk_list_store_iter_nth_child): ditto
2537         (gtk_list_store_iter_parent): ditto
2538
2539         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
2540         on iter->user_data != NULL instead of silently accepting it.
2541         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
2542         we are returning TRUE.
2543         (gtk_tree_store_iter_children): ditto
2544         (gtk_tree_store_iter_nth_child): ditto
2545         (gtk_tree_store_iter_parent): ditto
2546         (gtk_tree_store_insert): remove handling of parent->user_data ==
2547         NULL, replace with parent == NULL       
2548
2549         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
2550         and a comment explaining things
2551
2552         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
2553         interface support to GtkTreeStore.
2554
2555         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
2556         FALSE if no prev, fix
2557
2558         * gtk/gtktreeview.c (set_source_row): use a row reference
2559         (set_dest_row): use a row reference
2560
2561 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
2562
2563         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
2564         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
2565         (gtk_tree_selection_select_iter): The same as above.
2566
2567 2001-01-26  Havoc Pennington  <hp@redhat.com>
2568
2569         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
2570         which holds a handle to a specific row (particular set of values
2571         in the model, i.e. pointer-identity row).
2572
2573         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
2574         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
2575         Still need to use it for the src/dest row saved on the drag context.
2576
2577 2001-01-26  Havoc Pennington  <hp@redhat.com>
2578
2579         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
2580
2581         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
2582         not offset by TREE_VIEW_HEADER_HEIGHT
2583         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
2584         TREE_VIEW_HEADER_HEIGHT
2585
2586         * configure.in (included_loaders): for me, --with-included-loaders
2587         generates the error "the specified loader yes does not exist",
2588         i.e. the arg defaults to "yes", so change test for value ""
2589         to test for value "yes", and include all loaders in that case.
2590
2591         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
2592
2593         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
2594         handle TREE_VIEW_VERTICAL_SEPARATOR
2595         (gtk_tree_view_bin_expose): fix to consider the row offset as
2596         pointing halfway into vertical separator.       
2597         (gtk_tree_view_draw_node_focus_rect): ditto
2598
2599         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
2600         --gtk-debug=updates, which causes gdk_window_set_debug_updates
2601         (TRUE) to be called.
2602
2603         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
2604         debug mode where the invalid region is colored in on invalidate,
2605         so you can see the flicker and know whether your redraw code is 
2606         doing a good job.
2607
2608         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
2609         tree window coordinates (clip rect is in tree window coords)
2610
2611         * gtk/Makefile.am: add gtktreednd.[hc]
2612
2613         * gtk/gtkliststore.c: implement gtktreednd interfaces.
2614
2615         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
2616         drag-and-drop data operations on a model (so we can set up tree
2617         drag-and-drop automatically)
2618
2619         * gtk/testgtk.c: Add a window to change sensitivity in the
2620         GtkLabel test; add a way to change the entry frame in GtkEntry
2621         test
2622
2623         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
2624         (gtk_entry_get_has_frame): new functions to remove the frame
2625         around an entry
2626         (gtk_entry_size_request): shrink requisition if no frame
2627         (gtk_entry_draw_focus): don't draw frame if no frame
2628
2629         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
2630         checks inside a cell renderer
2631         (gtk_default_draw_option): ditto for options
2632
2633         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
2634         children from the alignment, not the button
2635         (gtk_tree_view_column_init): ref/sink the column, to emulate
2636         GObject refcounting.
2637
2638         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
2639         
2640         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2641         Use theme functions to draw the toggles 
2642
2643         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
2644
2645         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
2646         GdkPangoAttrEmbossed to use in rendering insensitive text
2647
2648         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
2649
2650         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
2651         using new GDK features
2652         
2653 2001-01-24  Alexander Larsson  <alexl@redhat.com>
2654
2655         * gtk/gtkimage.c:
2656         Splitted gtk_image_clear into gtk_image_clear() and
2657         gtk_image_reset(). Call gtk_image_clear() in ::destroy
2658         to avoid leaks.
2659
2660         * gtk/gtklabel.c (set_markup):
2661         Don't leak text.
2662
2663         * gtk/gtktextlayout.c:
2664         Always free display->shaped_objects.
2665
2666         * gtk/testgtk.c (create_clist):
2667         Don't leak custom style.
2668
2669 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2670
2671         * gtk/gtkcolorsel.c (grab_color_at_mouse):
2672         Don't leak image. Simplify using gdk_colormap_query_color().
2673         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
2674
2675         * linux-fb/gdkcolor-fb.c:
2676         Implemented gdk_colormap_query_color.
2677
2678 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2679
2680         * linux-fb/gdkcursor-fb.c:
2681         Don't leak built-in cursors.
2682
2683         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
2684         Don't leak tmp_points.
2685
2686         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
2687         Don't modify desc. Don't leak font if the PangoFont
2688         isn't found.
2689         
2690         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
2691         Free dash_list.
2692
2693         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
2694         Don't leak string.
2695         
2696 2001-01-20  Havoc Pennington  <hp@pobox.com>
2697
2698         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
2699         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
2700         me, matches Pango
2701
2702 2001-01-22  Havoc Pennington  <hp@redhat.com>
2703
2704         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
2705
2706         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
2707
2708         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
2709         Remove, move back to gdk-pixbuf
2710
2711         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
2712         to all the word functions
2713
2714         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
2715         before doing anything on NULL layout or if we don't have the focus
2716
2717         * gtk/testtext.c (fill_example_buffer): "justification"
2718
2719         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
2720         to be called "justification" not "justify"
2721
2722         * demos/gtk-demo/textview.c (create_tags): "justification"
2723         
2724         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
2725
2726 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2727
2728         * gdk/gdkwindow.c (gdk_window_invalidate_region):
2729         Don't leak visible_region. Use visible_region instead of region.
2730         
2731         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2732         Don't do extra gdk_drawable_ref(). This is not X.
2733         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
2734         gdk_fb_focused_window is ref:ed.
2735         (gdk_fb_window_send_crossing_events): Watch out for destroyed
2736         windows.
2737
2738 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2739
2740         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
2741         Don't leak the PangoFontDescriptor.
2742
2743 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
2744
2745         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
2746         when not realized.
2747         (gtk_tree_view_scroll_to_cell): Make work when not realized.
2748         (gtk_tree_view_realize): add scroll_to support
2749         (gtk_tree_view_finalize): add a finalize method.  Populate.
2750         (gtk_tree_view_insert_column): ref and sink the column.
2751         (gtk_tree_view_append_column): ref and sink the column.
2752         (gtk_tree_view_queue_draw_node): New function to handle redrawing
2753         individual nodes.  Should make the code much more efficient, if
2754         actually used.
2755
2756 2001-01-19  Havoc Pennington  <hp@redhat.com>
2757
2758         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
2759         byte_offset variable was being used to mean both "offset into
2760         layout" and "offset into buffer line" which was no longer true
2761         with addition of preedit string; fix
2762
2763 2001-01-19  Havoc Pennington  <hp@redhat.com>
2764
2765         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
2766
2767         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
2768         function
2769
2770         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
2771         implement
2772
2773         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
2774         scroll_to_cell, matches TextView scroll functions better
2775         (gtk_tree_view_tree_to_widget_coords): new function
2776         (gtk_tree_view_widget_to_tree_coords): new function
2777         (gtk_tree_view_get_visible_rect): new function
2778         (gtk_tree_view_get_path_at_pos): accept negative coordinates
2779         (gtk_tree_view_draw_node_focus_rect): new function moved from
2780         draw_focus, also, use width of bin_window as width of the focus
2781         rect
2782         (gtk_tree_view_expand_row): fix bug where it didn't recognize
2783         already-expanded rows
2784         (gtk_tree_view_get_cell_rect): new function
2785         (gtk_tree_view_get_path_at_pos): return the click position
2786         relative to the passed-in cell
2787         (gtk_tree_view_set_expander_column): new function
2788
2789         * configure.in: remove gtk-config-2.0 chmod
2790
2791         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
2792         and properly handle drags with targets we don't understand
2793         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
2794         scrolling anyway
2795         (gtk_text_view_drag_drop): stop scrolling here though, and set the
2796         mark invisible
2797
2798         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
2799         function
2800         (gtk_drag_dest_get_target_list): new function
2801         (gtk_drag_dest_set_target_list): new function
2802         
2803         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
2804
2805         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
2806         related to drag-and-drop
2807
2808 2001-01-19  Alexander Larsson  <alexl@redhat.com>
2809
2810         * gdk/linux-fb/gdkprivate-fb.h:
2811         Define EMULATE_GDKFONT.
2812         Add extra pango_font stuff to GfkFontPrivate.
2813         
2814         * gdk/linux-fb/gdkdrawable-fb2.c:
2815         * gdk/linux-fb/gdkfont-fb.c:
2816         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
2817         emulation using PangoFont.
2818
2819 2001-01-17  Havoc Pennington  <hp@pobox.com>
2820
2821         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
2822         all the non-deprecated set_foo functions. Added missing object
2823         properties, and added g_object_notify() to setters. 
2824         Wrote docs.
2825         
2826 2001-01-18  Tor Lillqvist  <tml@iki.fi>
2827
2828         * gtk/gtkmain.c
2829         * gtk/gtkrc.c: (Win32) Use the new
2830         g_win32_get_package_installation_(sub)directory() functions.
2831
2832         * config.h.win32.in: New file.
2833         
2834         * config.h.win32: Removed.
2835
2836         * configure.in: Output config.h.win32.
2837
2838         * Makefile.am: Add it to EXTRA_DIST.
2839
2840         * gtk/gtk.def: Update.
2841
2842 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
2843
2844         * gtk/gtklabel.c (gtk_label_size_request): Set the
2845         attributes onto the PangoLayout even if they are newly
2846         created from label->pattern.
2847
2848 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
2849
2850         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
2851
2852         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
2853         structures in functions. Fixes bug where gtk_dataset_*
2854         was accidentally still being used in one place, causing
2855         every dest side event to be treated independently.
2856
2857         * gtk/gtkdnd.c: Remove last vestages of handling
2858         ::draw (fixes warning)
2859         
2860         * gtk/gtkentry.[ch]: Add drag and drop support.
2861
2862         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
2863         new function gtk_check_drag_threshhold() for checking
2864         to check if (dx,dy) has exceeded the threshhold for starting
2865         a drag and use it everywhere.
2866
2867 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
2868
2869         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
2870         add -I{includedir}/gtk-2.0.
2871
2872         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
2873         gdk/gdk-pixbuf.h: Doc fixups.
2874         
2875         * gtk/gtkobject.h: Remove trailing , from enum
2876
2877 2001-01-17 Alexander Larsson <alexl@redhat.com> 
2878
2879         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
2880         Doh! Mixed up x and y.
2881
2882         * gdk/linux-fb/gdkglobals-fb.c:
2883         Removed gdk_fb_pointer_grab_window_events,
2884         added _gdk_fb_pointer_grab_owner_events and
2885         _gdk_fb_keyboard_grab_owner_events.
2886
2887         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
2888         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
2889         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
2890         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
2891         Send crossing events after ungrab finished.
2892         (gdk_keyboard_grab): Set ..._owner_events
2893         (type_masks): Move out of function.
2894         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
2895         gdk_fb_keyboard_event_window): New functions, return the
2896         window an event should be targeted at. Handles grabs and
2897         event propagation. Can return NULL.
2898         (gdk_event_make): Remove event_mask checking. Now always
2899         returns an event.
2900                 
2901         * gdk/linux-fb/gdkkeyboard-fb.c:
2902         * gdk/linux-fb/gdkproperty-fb.c:
2903         * gdk/linux-fb/gdkselection-fb.c:
2904         Use new event_window/gdk_event_make() behaviour.
2905         
2906         * gdk/linux-fb/gdkmouse-fb.c:
2907         Use new event_window/gdk_event_make() behaviour.
2908         Only send motion events if in the same window.
2909         If grabbed, use cursor from window if sibling of grabbed
2910         window, and cursor from grabbed window otherwise.
2911
2912         * gdk/linux-fb/gdkprivate-fb.h:
2913         Update gdk_fb_window_send_crossing_events, gdk_event_make
2914         and grab varaible declarations. Add gdk_fb_*_event_window().
2915
2916         * gdk/linux-fb/gdkwindow-fb.c:
2917         Use new event_window/gdk_event_make() behaviour.
2918         Keep correct track of focus window.
2919         (gdk_window_set_events): Set all specific button motion masks
2920         if GDK_BUTTON_MOTION_MASK set.
2921
2922         * gtk/gtkdnd.c (gtk_drag_update):
2923         Free info->last_event if gdk_drag_motion returned FALSE.
2924
2925 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2926
2927         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
2928         Eliminate redraws when input-only windows are shown or
2929         hidden. Thanks to jpe@archaeopteryx.com.
2930
2931 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
2932
2933         * docs/faq/gtk-faq.sgml: FAQ update:
2934           - Update to bugzilla
2935           - Add GTK+ and security/SUID/SGID
2936           - Add DnD question
2937
2938 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
2939
2940         * gdk/linux-fb/gdkdnd-fb.c:
2941         Some cleanups.
2942         
2943 2001-01-15  Havoc Pennington  <hp@pobox.com>
2944
2945         * tests/testtreeview.c: add test stuff for CellRendererToggle
2946
2947         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
2948         accessor
2949
2950         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
2951         only toggle on button press (would do release like GtkButton, but
2952         we'd need implicit grab code for treeview cells)
2953
2954 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2955
2956         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
2957
2958         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
2959         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
2960
2961         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
2962         to g_{locale,filename}_{to,from}_utf8 to match current API.
2963
2964         * gtk/makefile.msc.in (gtk_OBJECTS)
2965         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
2966
2967         * gtk/gtk.def: Update.
2968
2969 2001-01-15  Tor Lillqvist  <tml@iki.fi>
2970
2971         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
2972         implementaion that more closely mimics the events that an X server
2973         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
2974         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
2975         with nested preview widgets, for instance, more responsive when
2976         you move the mouse quickly into them.
2977         (find_window_for_pointer_event): Make it actually compile.
2978         (gdk_event_translate): Set send_event to the value of
2979         InSendMessage (). This doesn't really mean the same as X11's
2980         send_event flag, but is close enough, says jpe@archaeopteryx.com
2981
2982 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2983
2984         * gdk/linux-fb/gdkdnd-fb.c:
2985         Implemented drag and drop.
2986         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
2987         when it tries to free and then copy the same event (info->last_event).
2988         I am not sure about why this happens, but will continue looking.
2989
2990 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2991
2992         * gdk/linux-fb/gdkwindow-fb.c:
2993         Use gdk_window_invalidate_rect instead of
2994         gdk_window_invalidate_rect_clear to minimise flashing.
2995         When hiding windows you need to clear the root window though.
2996
2997 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2998
2999         * gdk/linux-fb/gdkdrawable-fb2.c:
3000         For optization, add an full_shapes argument to gdk_fb_clip_region.
3001         If this is false, only the cliprects of the shapes are used.
3002
3003         * gdk/linux-fb/gdkprivate-fb.h:
3004         Export gdk_fb_window_peek_shape.
3005         Add full_shapes to gdk_fb_clip_region.
3006
3007         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3008         When moving a window, don't clear everything under the it, just the
3009         root window. Makes stuff faster and flash less.
3010         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
3011         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
3012         offset of the shape.
3013         
3014
3015 2001-01-12  Havoc Pennington  <hp@redhat.com>
3016
3017         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
3018         current invalid region, fixes redraw bug while scrolling the 
3019         text widget
3020
3021         * gtk/gtktextview.c, gtk/gtktextview.h:
3022         Rearrange the scrolling/validation/etc. code in a major way, 
3023         so it seems to make sense to me. Probably isn't genuinely that
3024         much better, but...
3025
3026         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
3027         notifies
3028
3029         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
3030
3031 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
3032
3033         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
3034         Hide mouse pointer while rotation. Show it afterwards.
3035
3036 2001-01-12  Alexander Larsson  <alexl@redhat.com>
3037
3038         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
3039         windows in consideration when generating clip region.
3040
3041         * gdk/linux-fb/gdkfb.h:
3042         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
3043
3044         * gdk/linux-fb/gdkprivate-fb.h:
3045         Add shape to GdkWindowFBDatat.
3046         exported gdk_fb_window_get_abs_shape().
3047         removed gdk_fb_draw_lines declaration.
3048
3049         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
3050         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
3051         send focus changes when there is a grabbed window.
3052         (gdk_window_get_pointer): Handle shaped windows.
3053         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
3054         (gdk_fb_window_peek_shape): Returns the shape for a window,
3055         handles GDK_FB_USE_CHILD_SHAPE.
3056         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
3057         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
3058         (gdk_window_shape_combine_mask): Implement.
3059
3060         * gtk/gtkwindow-decorate.c:
3061         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
3062         setting the shape of a window makes the window transparent.
3063
3064 2001-01-11  Havoc Pennington  <hp@redhat.com>
3065
3066         * gtk/gtktreemodelsimple.h: Oops, broke some macros
3067
3068 2001-01-10  Havoc Pennington  <hp@redhat.com>
3069
3070         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
3071         add this function, bug 40251
3072
3073         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
3074         of type macro   
3075
3076 2001-01-11  Alexander Larsson  <alexl@redhat.com>
3077
3078         * acconfig.h:
3079         Added ENABLE_SHADOW_FB
3080
3081         * configure.in:
3082         Added --disable-shadowfb
3083
3084         * gdk/linux-fb/gdkcursor-fb.c:
3085         Update shadowfb when updating cursor
3086
3087         * gdk/linux-fb/gdkdrawable-fb2.c:
3088         Added wrappers for shadowfb that calls  the normal drawable
3089         methods, but calls gdk_shadow_fb_update(bounding box) when
3090         GdkWindows are drawed to.
3091         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
3092         which also returns the bounding box.
3093
3094         * gdk/linux-fb/gdkfb.h:
3095         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
3096
3097         * gdk/linux-fb/gdkgeometry-fb.c:
3098         Update shadowfb when scrolling window.
3099
3100         * gdk/linux-fb/gdkglobals-fb.c:
3101         Add _gdk_fb_screen_angle.
3102         
3103         * gdk/linux-fb/gdkkeyboard-fb.c:
3104         Test code for screen rotation. Shift-F2 in the xlate driver
3105         rotates the screen.
3106
3107         * gdk/linux-fb/gdkmain-fb.c:
3108         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
3109
3110         * gdk/linux-fb/gdkmouse-fb.c:
3111         Use fb_width/height instead of modeinfo.xres/yres.
3112
3113         * gdk/linux-fb/gdkprivate-fb.h:
3114         Added fb_men, fb_width, fb_height & fb_stride. When using
3115         shadow fb these can differ from the framebuffer stuff.
3116         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
3117         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
3118         _gdk_fb_screen_angle. Removed CM, RP.
3119
3120         * gdk/linux-fb/gdkrender-fb.c:
3121         Added code for shadowfb handling and screen rotation using
3122         shadowfb.
3123
3124         * gdk/linux-fb/gdkwindow-fb.c:
3125         Use fb_mem, fb_stride, fb_width, fb_height.
3126         Added recompute_rowstride to reset the rowstride of all windows.
3127         Added gdk_fb_recompute_all() which recomputes rootwindow size,
3128         window abs positions and window rowstrides. Usefull when the
3129         rotation has changed.
3130
3131 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
3132
3133         * docs/faq/gtk-faq.sgml: update to make web site updating easier
3134
3135 2001-01-10  Havoc Pennington  <hp@redhat.com>
3136
3137         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
3138         where sibling == iter
3139         (gtk_tree_store_insert_after): handle sibling == iter
3140         (gtk_tree_store_prepend): remove stamp checks
3141         (gtk_tree_store_insert_before): ditto
3142         (gtk_tree_store_append): ditto
3143         (gtk_tree_store_get_path): ditto
3144         (gtk_tree_store_get_value): ditto
3145         (gtk_tree_store_iter_has_child): ditto
3146         (gtk_tree_store_iter_n_children): ditto
3147         (gtk_tree_store_iter_nth_child): ditto
3148         (gtk_tree_store_insert_after): ditto
3149         (gtk_tree_store_is_ancestor): ditto
3150         (gtk_tree_store_iter_depth): ditto
3151         (gtk_tree_store_insert_before): assert that sibling's parent is
3152         the same as the passed-in parent
3153         (gtk_tree_store_insert_after): assert that sibling's parent is
3154         the same as the passed-in parent
3155
3156         
3157         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
3158         function to get the first iterator in a model
3159         
3160         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
3161         conventionally the "root" in this sense is just NULL afaict.
3162
3163         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
3164         where sibling == iter
3165         (gtk_list_store_insert_after): handle case where sibling == iter
3166
3167         * tests/testtreeview.c (run_automated_tests): fairly lame basic
3168         automated tests for ListStore, TreeStore
3169
3170         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
3171         (gtk_list_store_insert): update tail pointer, and fix it to work
3172         (gtk_list_store_insert_before): update tail pointer, and fix it to work
3173         (gtk_list_store_append): use tail to be faster
3174         (gtk_list_store_prepend): fix it, update tail pointer
3175         (gtk_list_store_insert_after): fix it, update tail pointer
3176
3177         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
3178         the list
3179
3180 2001-01-09  Havoc Pennington  <hp@redhat.com>
3181
3182         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
3183         is NULL due to a pending resize
3184
3185         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
3186         column width to values less than 1
3187
3188         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
3189         width to be between min/max width, and still set the width 
3190         even if autosize is turned on, so the tree view can use this 
3191         function in order to autosize.
3192         (gtk_tree_view_column_init): set initial width to 1 not 0
3193
3194         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
3195         setter function to modify column width, so we get notification
3196         (gtk_tree_view_insert_iter_height): ditto
3197         (gtk_tree_view_calc_size): ditto
3198         (gtk_tree_view_check_dirty): ditto
3199
3200         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
3201         properties to change all the interesting attributes of the tree
3202         view column.
3203         (gtk_tree_view_column_set_header_clickable): rename set_clickable
3204         (gtk_tree_view_column_get_clickable): add
3205         (gtk_tree_view_column_set_cell_renderer): don't unset the current
3206         attributes; assume a cell renderer with equivalent object
3207         properties has been swapped in. Do g_object_notify().
3208         (gtk_tree_view_column_set_visible): g_object_notify
3209         (gtk_tree_view_column_get_sizing): rename from get_col_type
3210         (gtk_tree_view_column_set_sizing): g_object_notify
3211         (gtk_tree_view_column_set_width): add g_object_notify
3212         (gtk_tree_view_column_set_min_width): ditto
3213         (gtk_tree_view_column_set_max_width): ditto
3214         (gtk_tree_view_column_set_title): ditto
3215         (gtk_tree_view_column_set_clickable): ditto
3216         (gtk_tree_view_column_set_widget): ditto
3217         (gtk_tree_view_column_set_justification): ditto
3218
3219 2001-01-09  Havoc Pennington  <hp@redhat.com>
3220
3221         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
3222         there are no rows in the model
3223
3224         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
3225         NULL, then return the start of the list
3226
3227         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
3228         if we can't get any rows from an empty model 
3229
3230         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
3231         extraneous * after function pointer typedef usage
3232
3233         * Makefile.am: don't specify full path to cp and rm
3234
3235         * gtk/gtkcellrenderertextpixbuf.c
3236         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
3237         NULL before dereferencing, fixes a segfault that happened from
3238         time to time
3239
3240         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
3241         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
3242         and reindent the function
3243         (gtk_cell_renderer_pixbuf_get_size): indentation
3244
3245         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
3246         we quit it
3247         (gtk_dialog_add_buttons_valist): add g_return_if_fail
3248         (gtk_dialog_set_default_response): New function, to set default
3249         button
3250         (gtk_dialog_set_response_sensitive): New function, to set 
3251         sensitivity of buttons
3252
3253         * gtk/gtkcellrendererpixbuf.c
3254         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
3255         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
3256
3257         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
3258         handle any G_TYPE_OBJECT subclass, not just the base class, and 
3259         also boxed types.
3260         (_gtk_tree_data_list_value_to_node): ditto
3261
3262         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
3263         --gtk-debug=tree
3264
3265         * gtk/gtkmain.c: add GTK_DEBUG_TREE
3266
3267         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
3268
3269 2001-01-09  Tor Lillqvist  <tml@iki.fi>
3270
3271         * gdk/win32/gdkevents-win32.c: Implement better mouse
3272         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
3273         (find_window_for_pointer_event): New function.
3274         (gdk_event_translate): Use it when handling mouse events.
3275
3276 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
3277
3278         * configure.in:
3279         Added --with-included-loaders option
3280
3281         * gdk-pixbuf/Makefile.am:
3282         * gdk-pixbuf/gdk-pixbuf-io.c:
3283         Add support for including selected gdk-pixbuf loaders only.
3284
3285         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
3286         gtk_window_set_has_frame):
3287         Added inline documentation.
3288
3289         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
3290         * docs/reference/gdk/tmpl/windows.sgml:
3291         Added inline documentation.
3292
3293 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
3294
3295         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
3296         realizing buttons that have already been realized.
3297
3298 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
3299
3300         * tests/testtreeview.c (main): Show menu items before adding to
3301         option menu.
3302
3303         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
3304         around if we kill them.
3305
3306         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
3307         Return if we pass in a NULL model.
3308
3309 2001-01-08  Havoc Pennington  <hp@redhat.com>
3310
3311         * tests/testtreeview.c: hack on this some
3312
3313         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
3314         gtk_tree_store_set_valist, v is for arrays, valist for varargs
3315         list
3316         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
3317
3318         * gtk/gtkliststore.h: Add varargs set() and get() convenience
3319         functions
3320
3321 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3322
3323         * gtk/gtkwindow-decorate.[hc]:
3324         * gtk/Makefile.am:
3325         New files. Contains an implementation of a minimal WM for
3326         linux-fb.
3327
3328         * gtk/gtkwindow.h:
3329         Add the possibility for GtkWindows to specify a frame. This
3330         is used for the window decoration code, but could concievably
3331         be used for X programs too (xmms style windows).
3332         GtkWindow->frame is the toplevel window if the window is framed.
3333         The signal frame_event gets all events that are targeted to
3334         GtkWindow->frame.
3335         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
3336         
3337         * gtk/gtkwindow.c:
3338         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
3339         Call out to gtkwindow-decorate.c for WM support in linx-fb.
3340
3341 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3342
3343         * docs/README.linux-fb:
3344         Correct filename ~/.pangoft2_aliases
3345
3346         * gdk/gdkwindow.h:
3347         Added new function gdk_window_get_decorations.
3348
3349         * gdk/linux-fb/gdkfb.h:
3350         Removed _gdk_window_get_decorations declaration.
3351         Renamed _gdk_window_set_child_handler to
3352         gdk_fb_window_set_child_handler.
3353
3354         * gdk/linux-fb/gdkwindow-fb.c:
3355         Renamed _gdk_window_set_child_handler to
3356         gdk_fb_window_set_child_handler.
3357
3358         * gdk/x11/gdkwindow-x11.c:
3359         New function gdk_window_get_mwm_hints().
3360         Implemented gdk_window_get_decorations.
3361
3362         * docs/reference/gdk/tmpl/windows.sgml:
3363         * docs/reference/gdk/gdk-sections.txt:
3364         Added gdk_window_get_decorations docs.
3365         
3366 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
3367
3368         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
3369         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
3370         gdk_fb_window_send_crossing_events):
3371         Possibly send focus events when the mouse moves from one
3372         window to another.
3373
3374 2001-01-07  Tor Lillqvist  <tml@iki.fi>
3375
3376         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
3377         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
3378         to match current API.
3379
3380         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
3381         environment variable is set, don't call g_error when on a
3382         palettized (PseudoColor) display. Some people want to use GTK+ 
3383         in 256-colour mode even though works only partially.
3384
3385         * gdk/gdk.def
3386         * gtk/gtk.def
3387         * gtk/makefile.mingw.in: Update.
3388
3389 2001-01-05  Havoc Pennington  <hp@redhat.com>
3390
3391         * tests/testtreeview.c: hack on this a bit
3392
3393         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
3394         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
3395
3396         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
3397         was spelled incorrectly
3398         (GTK_IS_TREE_MODEL_SIMPLE): ditto
3399
3400         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
3401         from gtk_tree_view_set_headers_active   
3402
3403         * gtk/gtktexttag.c:
3404         (gtk_text_tag_get_property): handle PROP_DIRECTION
3405         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
3406         properties, bug 40235
3407
3408         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
3409         forward_to_line_end
3410
3411 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
3412
3413         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
3414         modules/input/gtkimcontextxim.c: Adapt to new prototypes
3415         for unicode,locale,filename conversion functions.
3416
3417 2001-01-05  Havoc Pennington  <hp@redhat.com>
3418
3419         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
3420         broken if called on the first position in the buffer.
3421
3422         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
3423         forward_to_delimiters to be called only if we aren't already at
3424         the delimiters.
3425
3426 2001-01-05  Havoc Pennington  <hp@redhat.com>
3427
3428         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
3429
3430 2001-01-05  Alexander Larsson  <alexl@redhat.com>
3431
3432         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
3433         colormap in here. Sync from X port.
3434         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
3435         Sync from X port.
3436         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
3437         This happens now and then, and i don't think it is a bug.
3438         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
3439         != endpoint.
3440         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
3441         GDK_LINE_SOLID.
3442
3443         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
3444         some of the fields filled in at least.
3445
3446         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
3447         miLineArcD is no more, remove it from the function definition.
3448
3449 2001-01-04  Havoc Pennington  <hp@redhat.com>
3450
3451         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
3452         this
3453
3454         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
3455         user_data instead of tree_node
3456
3457         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
3458         TREE_VIEW_COLUMN_SIZE
3459
3460         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
3461         "size" field to "width" finishes bug 40061
3462
3463         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
3464         for bitfields, bug 40268
3465
3466 2001-01-04  Havoc Pennington  <hp@redhat.com>
3467
3468         Rename some stuff:
3469         
3470         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
3471
3472         s/GtkModelSimple/GtkTreeModelSimple/g;
3473         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
3474         s/gtk_model_simple/gtk_tree_model_simple/g;
3475         s/gtkmodelsimple/gtktreemodelsimple/g;
3476
3477         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
3478
3479         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
3480         s/column_set_col_type/column_set_sizing/g;
3481
3482         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
3483         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
3484
3485         s/GtkCellRendererType/GtkCellRendererState/g;
3486         
3487         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
3488         (gtk_cell_renderer_toggle_class_init): change "state" property to
3489         "active", to match GtkToggleButton
3490         (gtk_cell_renderer_toggle_get_active): new function, bug
3491         40269
3492         (gtk_cell_renderer_toggle_set_active): new function
3493         (gtk_cell_renderer_toggle_set_property): route changes to toggle
3494         state through gtk_cell_renderer_set_active
3495
3496 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
3497
3498         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
3499         temporarily until they work again.  Brought up to date with
3500         changes in the model.
3501         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
3502         model.
3503
3504 2001-01-04  Havoc Pennington  <hp@redhat.com>
3505
3506         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
3507         equal to the line length, then position iterator before paragraph 
3508         separators. Fixes crash reported by Mikael Hermansson when
3509         pressing left arrow from the start of a line.   
3510
3511         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
3512         about byte indexes off the end
3513         (iter_set_from_char_offset): add g_error about char offsets
3514         off the end
3515
3516 2001-01-03  Havoc Pennington  <hp@redhat.com>
3517
3518         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
3519
3520         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
3521         of private functions; remove inclusion of private headers.
3522
3523         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
3524         function, so we don't need private functions in gtktextdisplay.c
3525
3526         * gtk/gtktextiterprivate.h: underscore-ification
3527
3528         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
3529         to instead say "only useful to implement widgets"
3530
3531         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
3532         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
3533         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
3534
3535         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
3536         This function was completely broken
3537
3538         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
3539
3540         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
3541
3542         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
3543
3544         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
3545
3546         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
3547
3548         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
3549
3550         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
3551         gtk_paint_layout
3552
3553         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
3554         gtk_paint_layout
3555
3556         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
3557         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
3558         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
3559         which were not implemented.     
3560
3561         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
3562         insert_pixbuf signal. Rename delete_text to delete_range since it
3563         also deletes pixbufs and child anchors. This almost closes bug
3564         40245 (still need to deal with child anchors)
3565
3566         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
3567         insert_pixbuf, change signal names as appropriate, change types of
3568         signals taking marks/tags to have the specific type, not just
3569         G_TYPE_OBJECT
3570         
3571         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
3572         closes bug 40051
3573
3574         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
3575         unnecessary remove_contents() call
3576         (gtk_option_menu_class_init): add a "changed" signal, closes
3577         bug 40039
3578         (gtk_option_menu_update_contents): emit "changed" if the 
3579         active menu item changes
3580
3581         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
3582         cast to GtkObject, reported by Jonas Borgstrom
3583         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
3584         we can't do stuff with side effects in finalize. Instead, spew a
3585         warning if the loader isn't closed.
3586
3587         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
3588         colormap in here, non-X ports probably need to sync to this change
3589
3590         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
3591         assertion that colormap != NULL, you can set the colormap to NULL
3592         if you like.
3593         
3594         * Makefile.am: remove gtk-config-2.0
3595
3596         * configure.in: Use pkg-config to locate GLib. Remove
3597         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
3598         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
3599         Use pkg-config to locate Pango. Output correct Pango libs to
3600         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
3601
3602         * Makefile.am (pkgconfig_DATA): install only target-specific pc
3603         files
3604         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
3605         X11 pc files
3606
3607         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
3608         unref from here
3609
3610 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
3611
3612         * configure.in:
3613         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
3614
3615 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
3616
3617         * gtk/gtktextlayout.c
3618         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
3619         variable when moving back onto a single line.
3620
3621 2001-01-01  Havoc Pennington  <hp@redhat.com>
3622
3623         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3624
3625         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3626
3627         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
3628         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
3629
3630 2001-01-01  Havoc Pennington  <hp@redhat.com>
3631
3632         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
3633
3634         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
3635         GtkTextAttributes
3636
3637         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
3638         #40246
3639         (gtk_text_attributes_copy_values): rename from 
3640         gtk_text_attributes_copy
3641         (gtk_text_attributes_copy): a more standard GTK copy function, 
3642         which returns a new object
3643
3644 2001-01-01  Havoc Pennington  <hp@redhat.com>
3645
3646         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
3647         
3648         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
3649         don't fill in tree_view->priv->selection, kind of an unexpected
3650         side effect
3651
3652         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
3653         gtkintl.h
3654         
3655         * gtk/gtkcellrenderer.c: Remove definition of _ and include
3656         gtkintl.h
3657         (gtk_cell_renderer_get_property): remove calls to g_value_init
3658
3659         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
3660         gtkintl.h
3661
3662         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
3663         and include gtkintl.h
3664         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
3665         property names
3666
3667         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
3668         GtkTreeSelection
3669         (_gtk_tree_selection_new_from_with_view): rename, return
3670         GtkTreeSelection
3671         (_gtk_tree_selection_set_tree_view): rename with uscore
3672         (gtk_tree_selection_get_selected): fill in the "model" out param
3673         first, so it gets filled in even if we return at the top of the 
3674         function
3675         (gtk_tree_selection_real_select_all): add a comment and an else{}
3676         to clarify this a bit
3677         (gtk_tree_selection_real_unselect_all): add the same else{}
3678
3679         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
3680         set_tree_view to have underscore prefixes, move them to the
3681         private header, fix return type of new_with_tree_view
3682         (struct _GtkTreeSelection): mark struct
3683         fields private  
3684
3685         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
3686         GtkTreeModelFlags, not a guint
3687         (gtk_tree_path_prev): return gboolean not gint
3688         (gtk_tree_path_up): return gboolean not gint
3689
3690         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
3691         return GtkTreeModelFlags, not a guint
3692
3693         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
3694         that child model is non-null before unrefing it
3695         (g_value_int_compare_func): make this a qsort compare func, not 
3696         a boolean predicate
3697
3698         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
3699         (add -umn to the end), and mark it unimplemented
3700         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
3701         I don't see what it's for - doesn't the model always sort itself?
3702         (gtk_tree_model_sort_set_compare): this had the wrong signature
3703
3704         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
3705         Fix the docs to say that it destructively replaces existing
3706         attributes (previously said that it added attributes).
3707         (gtk_tree_view_column_set_visible): canonicalize bool before
3708         equality testing. Also, check for realization before
3709         hiding/showing the tree_column->window; if this window could exist
3710         before realization, then it's busted and needs fixing, we can't 
3711         create GDK resources pre-realization. Also, remove
3712         superfluous queue_resize(), since set_size() does that for us.
3713         (gtk_tree_view_column_set_col_type): check realization before 
3714         using tree_column->window
3715
3716         * gtk/gtktreedatalist.c: fix filename in copyright notice
3717
3718 2000-12-31  Havoc Pennington  <hp@pobox.com>
3719
3720         * gtk/gtktextview.c: Rearrange all the
3721         scroll-while-dragging-or-selecting code to be different, not
3722         necessarily better. ;-)
3723         (gtk_text_view_scroll_to_mark): Change this
3724         function to take within_margin as a fraction instead of a pixel
3725         value, and to take alignment arguments (indicating where to align 
3726         the mark inside the visible area)
3727         
3728         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
3729         to GtkObject
3730
3731         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
3732         behavior so that offsets past the end of the line are not 
3733         allowed, and an offset equal to the line length moves the iterator
3734         to the next line
3735         (gtk_text_iter_set_line_index): make parallel change
3736         (gtk_text_iter_get_bytes_in_line): add this function
3737         
3738         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
3739         of byte indexes off the end of the line; byte index at the end of
3740         the line now returns FALSE and doesn't fill in the requested
3741         values, byte index past the end of the line is an error.  Also,
3742         don't allow -1 offset anymore, since its meaning is unclear.
3743
3744         This change exposes some bug in visual cursor motion, where we
3745         end up with a huge invalid byte index; needs fixing. Symptom of 
3746         bug is a crash when you hit up arrow.
3747         
3748         (_gtk_text_line_char_locate): match the change to byte_locate
3749
3750         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
3751         from start of line properly. fixes bug reported by Mikael
3752         Hermansson where backspace would delete all text before the
3753         cursor.
3754
3755 2000-12-30  Tor Lillqvist  <tml@iki.fi>
3756
3757         * gdk/win32/gdkwindow-win32.c
3758         (gdk_window_impl_win32_get_visible_region): New function, as in
3759         the X11 backend.
3760         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
3761         instead of duplicating the same code here.
3762
3763         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
3764         GDK_COLORMAP macro.
3765
3766         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
3767         destroy function.
3768         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
3769         access that.
3770
3771         * gtk/gtk.def: Update.
3772
3773         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
3774
3775 2000-12-30  Havoc Pennington  <hp@pobox.com>
3776
3777         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
3778         colormap on input only windows, to avoid special cases all over
3779         the code for these windows.
3780
3781 2000-12-26  Tor Lillqvist  <tml@iki.fi>
3782
3783         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
3784         we are on a palettized display ("PseudoColor" in X11), as the code
3785         for that doesn't work anyway, and never has.
3786
3787 2000-12-22  Alexander Larsson  <alexl@redhat.com>
3788
3789         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
3790         Don't use isprint() for chars > 255.
3791
3792 2000-12-21  Havoc Pennington  <hp@redhat.com>
3793
3794         * tests/testtreeview.c: more work
3795
3796 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3797
3798         * docs/README.linux-fb:
3799         Update the docs to the new pangoft2 way.
3800
3801 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3802
3803         * configure.in:
3804         For linux-fb get the pangoft2 cflags and libs. This needs a recent
3805         pango version.
3806         Remove modules/linux-fb/Makefile.
3807
3808         * gdk/linux-fb/gdkdrawable-fb2.c:
3809         Render glyphs using freetype.
3810
3811         * gdk/linux-fb/gdkfb.h:
3812         Add new fb-specific functions needed for managing windows.
3813
3814         * gdk/linux-fb/gdkmain-fb.c:
3815         Remove gdk_font_init/fini() calls.
3816
3817         * gdk/linux-fb/gdkpango-fb.c:
3818         Remove old implementation. Use pangoft2 instead.
3819
3820         * gdk/linux-fb/gdkprivate-fb.h:
3821         Remove PangoFBFont and related stuff.
3822
3823         * gdk/linux-fb/gdkwindow-fb.c:
3824         Implement drawable->get_visible_region.
3825         Implement support for _gdk_window_set_child_handler () and
3826         _gdk_window_get_decorations().
3827
3828         * modules/Makefile.am:
3829         Remove linux-fb subdir.
3830
3831         * modules/linux-fb/*:
3832         Removed all.
3833         
3834 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
3835
3836         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
3837         calls, as they are no longer needed.
3838
3839         * gtk/gtktreemodelsort.c: Fix up the comparison code.
3840         
3841         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
3842         figure out how to emit a signal on an interface.
3843
3844 2000-12-20  Havoc Pennington  <hp@redhat.com>
3845
3846         * tests: new directory to contain tests, gtk/test* should move
3847         here sometime (with appropriate on-cvs-server hackery)
3848
3849         * tests/testtreeview.c, tests/Makefile.am: a test
3850         
3851         * configure.in (AC_OUTPUT): add tests/Makefile
3852
3853         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
3854         and "invisible_set" which were missing
3855
3856         * gtk/gtkrbtree.h: some cheesy indentation fix
3857         
3858 2000-12-20  Alexander Larsson  <alexl@redhat.com>
3859
3860         * gtk/gtkinvisible.c (gtk_invisible_realize):
3861         Attach the style to the window so that the style it is not
3862         leaked when unrealizing the window.
3863
3864 2000-12-18  Havoc Pennington  <hp@redhat.com>
3865
3866         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
3867         begin/end user action where appropriate
3868         (gtk_text_view_commit_handler): add begin/end user action
3869
3870         * gtk/gtktextbuffer.c: add begin/end user action signals, and
3871         bracket interactive operations with begin/end user action pair.
3872         
3873         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
3874         "interactive" arg from insert_text and delete_text signals.
3875         Add begin_user_action, end_user_action signals
3876         (gtk_text_buffer_begin_user_action): 
3877         (gtk_text_buffer_end_user_action): New functions to delimit 
3878         a user-visible action
3879
3880         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
3881         signals.
3882         
3883 2000-12-18  Havoc Pennington  <hp@redhat.com>
3884
3885         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
3886         was pretty non-working.
3887
3888         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
3889         by passing the length to g_utf8_validate().
3890
3891 2000-12-16  Havoc Pennington  <hp@pobox.com>
3892
3893         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
3894         Port to GObject, can go back in gdk-pixbuf after setting up 
3895         a gdk-pixbuf-marshal.h header over there.
3896
3897         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
3898         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
3899         args
3900         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
3901         set
3902         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
3903         here, do it when we create the buttons later
3904         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
3905         (gtk_tree_view_map): paranoia checks that column->button is shown 
3906         and unmapped
3907         (gtk_tree_view_size_request): only request visible children.
3908         Move header size calculation in here, for cleanliness, and 
3909         to maintain invariants for child widgets if we eventually 
3910         let users set different children inside the buttons
3911         (gtk_tree_view_map_buttons): factor out code to map buttons,
3912         since it was being called several times
3913         (gtk_tree_view_size_allocate_buttons): move_resize the drag
3914         windows instead of just moving them; their height may change 
3915         if we allow random widgets in there, or the theme changes.
3916         (gtk_tree_view_size_allocate): move button size allocation 
3917         above emitting the scroll signals, to ensure a sane state when we
3918         hit user code
3919         (gtk_tree_view_button_release): remove queue_resize after
3920         tree_view_set_size(), set_size() will handle any resize queuing
3921         that's needed
3922         (gtk_tree_view_focus_in): just queue a draw, don't fool with
3923         draw_focus goo
3924         (gtk_tree_view_focus): use gtk_get_current_event() and
3925         gdk_event_get_state()
3926         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
3927         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
3928         semicolon
3929         (gtk_tree_view_create_button): show the button here
3930         (gtk_tree_view_button_clicked): actually emit the clicked signal
3931         on the column
3932         (_gtk_tree_view_set_size): return right away if the size is
3933         unchanged, as a cheesy optimization
3934         (gtk_tree_view_setup_model): rename set_model_realized to 
3935         setup_model to match the flag that indicates whether we've 
3936         called it
3937         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
3938         exist, because set_scroll_adjustment does that and it shouldn't
3939         matter what order you call these in
3940         (gtk_tree_view_get_vadjustment): ditto
3941         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
3942         for paranoia
3943         (gtk_tree_view_set_headers_visible): call
3944         gtk_tree_view_map_buttons() instead of using cut-and-paste code
3945         (gtk_tree_view_append_column): clarify whether the return value
3946         is the count of columns before or after, and do the increment 
3947         separately from the return statement so you can tell from the code.
3948         (gtk_tree_view_remove_column): ditto
3949         (gtk_tree_view_insert_column): ditto
3950         (gtk_tree_view_get_column): remove g_return_if_fail for columns
3951         outside the existing range, the docs say that outside-range
3952         columns are allowed, so we handle them as documented. (Presumably
3953         this allows a nice loop with column != NULL as test.)
3954         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
3955         mean (left/right/center etc.).
3956         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
3957         (gtk_tree_view_expand_row): add docs
3958         (gtk_tree_view_collapse_row): add docs
3959
3960         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
3961         function to emit the clicked signal on a column
3962         
3963         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
3964         state of an event
3965         (gdk_event_get_time): don't treat GDK_SCROLL 
3966         as a button event, remove default case from switch so gcc 
3967         will whine if we don't explicitly handle all event types
3968
3969         * gtk/gtktreeselection.h: added some FIXME 
3970         
3971         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
3972         "columns" to "n_columns" and "column" to "columns" for clarity
3973
3974 2000-12-16  Havoc Pennington  <hp@pobox.com>
3975         
3976         * gtk/gtktextiter.c: General cleanup of the log attr iteration
3977         stuff. This should make e.g. the delete key work again in the
3978         text widget...
3979         (gtk_text_iter_forward_cursor_positions): handle negative count
3980         (gtk_text_iter_backward_cursor_positions): handle negative count
3981         (gtk_text_iter_forward_word_ends): handle negative count
3982         (gtk_text_iter_backward_word_starts): handle negative count
3983
3984         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
3985         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
3986         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
3987         GObject. No doubt will cause breakage.
3988
3989         * demos/gtk-demo/textview.c: remove hacks around
3990         non-GObject-ification of the text objects
3991
3992         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
3993         the text tag
3994         
3995 2000-12-14  Havoc Pennington  <hp@pobox.com>
3996
3997         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
3998         that we have Xrender
3999
4000 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
4001
4002         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
4003         Add two virtualized functions gdk_drawable_get_clip_region - to
4004         get the clip region when drawing.
4005         
4006         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
4007         use invalidate_region.
4008
4009         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
4010         region.
4011
4012         * acconfig.h configure.in: Check for Xft. For now, assume
4013         that if Xft is found, Pango was compiled with Xft support
4014         as well.
4015
4016         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
4017         gdk_colormap_query_color().
4018         
4019         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
4020         with Xft if appropriate.
4021
4022         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
4023         a pangoxft context if we have XFT and the environment
4024         variable GD_USE_XFT is set.
4025         
4026         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
4027         and also possibly an XftDraw structure.
4028
4029         * gtk/gtkfontsel.c: Handle the case where the font from the
4030         style doesn't match any of the fonts a bit better.
4031         
4032         * gtk/testgtk.c: Add tabs between directional segments for
4033         hebrew/arabic test. (Not really necessary, just a little
4034         prettier.)
4035
4036 2000-12-14  Havoc Pennington  <hp@redhat.com>
4037
4038         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
4039         reading a file
4040
4041 2000-12-14  Havoc Pennington  <hp@redhat.com>
4042
4043         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
4044         unused call to get_last_line()
4045
4046         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
4047         here until boxed is working (and maybe after that - we should
4048         really not gratuitously break old code)
4049
4050         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
4051         specific types for font_desc and tabs args, move them to
4052         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
4053         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
4054
4055         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
4056         use GTK_TYPE_POINTER for signal signatures as a hack-around
4057
4058         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
4059         PangoTabArray
4060
4061         * gtk/gtktextlayout.c (line_display_iter_to_index): 
4062         make static
4063         (line_display_index_to_iter): make static
4064
4065         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4066         to marshal a string not a boxed
4067
4068         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
4069
4070         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
4071         since the UTF-8 isn't validated yet
4072
4073         * gtk/gtktextsegment.c (char_segment_check_func): don't require
4074         lines to end in '\n'
4075         
4076         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
4077         forward_to_delimiters, and grapheme boundaries
4078         (gtk_text_view_delete_from_cursor): properly handle non-newline
4079         delimiters, and grapheme boundaries
4080
4081         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
4082         to gtk_text_iter_forward_to_delimiters, and make it work properly
4083         if empty lines end with a character other than '\n'
4084
4085         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
4086         position
4087
4088 2000-12-15  Tor Lillqvist  <tml@iki.fi>
4089
4090         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
4091
4092         * gtk/gtk.def
4093         * gdk/gdk.def: Update.
4094
4095         * gdk/win32/gdkmain-win32.c
4096         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
4097         gdkmain-win32.c here.
4098
4099         * gdk/win32/makefile.mingw.in (all): No need to make
4100         gdk-win32res.o here, the makefile one step up will call us to make
4101         it.
4102
4103         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
4104         gdkkeys-win32.
4105
4106         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
4107
4108         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
4109         call to g_source_add().
4110
4111         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
4112         leak. Thanks to Andreas Kemnade.
4113
4114 2000-12-13  Havoc Pennington  <hp@pobox.com>
4115
4116         * gtk/gtktextbtree.h: Remove double _ in front of some functions
4117
4118         * gtk/gtktext*.[hc]: update accordingly
4119         
4120 2000-12-13  Havoc Pennington  <hp@pobox.com>
4121
4122         * gtk/gtktextbtree.h: Put _ in front of every function in this 
4123         header file
4124
4125         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
4126
4127 2000-12-13  Alex Larsson  <alexl@redhat.com>
4128
4129         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
4130         Add support for ps2 intellimouse.
4131
4132         * gdkkeyboard-fb.c:
4133         Move shift-F1 repaint handling to xlate handler only.
4134         
4135         * docs/README.linux-fb:
4136         Add imps2 to docs.
4137         Document the new refresh keys.
4138         
4139 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
4140
4141         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
4142
4143         * gtk/gtkbox.c: change property types from (u)long to (u)int for
4144         ::position and ::padding.
4145
4146         * gtk/gtkcontainer.c: make ::border_width an INT property.
4147
4148         * gtk/gtkpacker.c: make ::position an INT property.
4149
4150         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
4151         guard against NULL h/v scrollbars, since this is used at construction
4152         time.
4153
4154         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
4155         internal gtk_clist_constructor().
4156
4157         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
4158         gtk_ctree_constructor().
4159
4160         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
4161         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
4162
4163         * docs/reference/Makefile.am: fun stuff, disabled docs generation
4164         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
4165
4166         * gtk/gtkwidget.[hc]:
4167         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
4168         and gtk_widget_get().
4169         (gtk_widget_new): use g_object_new_valist().
4170         (gtk_widget_set): use g_object_set_valist().
4171
4172         * gtk/gtkobject.[hc]:
4173         removed gtk_object_arg_get_info(), gtk_object_getv(),
4174         gtk_object_query_args(), gtk_object_newv(),
4175         gtk_object_class_add_signals(),
4176         gtk_object_class_user_signal_new(),
4177         gtk_object_class_user_signal_newv(),
4178         gtk_object_arg_set(), gtk_object_arg_get(),
4179         gtk_object_args_collect(),
4180         gtk_object_default_construct(),
4181         gtk_object_constructed(),
4182         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
4183         removed nsignals, signals and n_args members from GtkObjectClass.
4184         (gtk_object_new): use g_object_new_valist().
4185         (gtk_object_set): use g_object_set_valist().
4186         (gtk_object_get): use g_object_get_valist().
4187         
4188         * gtk/gtkcompat.h: define gtk_object_default_construct().
4189         
4190         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
4191         g_object_new().
4192
4193         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
4194         fucntions, cleaned up method assignments (make sure your structures
4195         are setup properly before calling out). removed all GTK_CONSTRUCTED
4196         hacks ;)
4197
4198 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
4199
4200         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
4201         off-by-one error in checks. (Dave Lambert)
4202
4203 2000-12-12  Alexander Larsson  <alexl@redhat.com>
4204
4205         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
4206         Don't free gdk_fb_keyboard twice.
4207
4208 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
4209
4210         * gtk/testgtk.c:
4211         (create_tooltips): 
4212         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
4213         use GObject swapped_signal:: properties instead.
4214
4215         * gtk/gtkcellrenderertoggle.c: 
4216         * gtk/gtkcellrenderertextpixbuf.c: 
4217         * gtk/gtkcellrenderertext.c: 
4218         * gtk/gtkcellrendererpixbuf.c: 
4219         * gtk/gtkcellrenderer.c:
4220         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
4221         missing warnings for invalid property ids, install properties
4222         with g_object_class_install_property() now.
4223         
4224         * gtk/gtksignal.c:
4225         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
4226         
4227 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
4228         
4229         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
4230         to determine if a window is the focus widget within
4231         its toplevel.
4232
4233         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
4234         to be boolean.
4235
4236         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
4237         of the case where the container CAN_FOCUS to here instead
4238         of having it in each individual move-the-focus place.
4239
4240         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
4241         focusing to be geometric in a much more obvious sense. Arrowing
4242         around is still non-intuitive because it isn't perfect and
4243         because entries, etc, grab the arrow keys, but it at least
4244         usually will do what you expect now.
4245         
4246         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
4247         file.
4248
4249         * gtk/gtknotebook.c: Change tabs to be a single item in
4250         the focus chain. Make movement of focus on tabs with arrow
4251         keys wrap around.
4252         
4253         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
4254         CHECK_FIND_CHILD macro to give informative error messages
4255         instead of silent returns.
4256
4257         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
4258         flag since we handle GdkReturn on the tabs.
4259
4260         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
4261         windows rather than sending expose events directly.
4262
4263         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
4264         definition for GtkNotebookPage into .c file, since it is private.
4265
4266         * gtk/testgtk.c (create_notebook): Add option for 
4267         testing borderless notebook.
4268
4269         * gtk/testgtk.c (page_switch): Removed egregious poking
4270         around in GTK+ internals.
4271
4272         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
4273
4274         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
4275         properly through gtk_clist_focus. Make the title headers a
4276         single item in the tab-focus chain, and make left-right wrap
4277         around.
4278
4279         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
4280         focus method so that wrapping around works properly.
4281
4282         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
4283         that is handled for the widget now. 
4284
4285 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
4286
4287         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
4288         widgets as TOPLEVEL.
4289
4290         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
4291         TOPLEVEL widgets are containers.
4292
4293         * gtk/gtkinvisible.h: Remove useless include.
4294
4295 2000-12-11  Havoc Pennington  <hp@redhat.com>
4296
4297         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
4298         Handle chopping off \r\n and 0x2029 in addition to \n before
4299         passing to PangoLayout
4300
4301         * gtk/gtkimcontextsimple.c
4302         (gtk_im_context_simple_get_preedit_string): 
4303         return an empty string if no match is pending
4304
4305         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
4306         assertion that the returned preedit string was sane
4307
4308         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
4309         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
4310         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
4311
4312 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
4313
4314         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
4315         Fix up finalizer to chain to its parent.
4316
4317 2000-12-11  Alexander Larsson  <alexl@redhat.com>
4318
4319         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
4320         Clearified the difference between the keyboard types. Wrote a note
4321         about the magic sysrq key to get out of raw mode.
4322
4323 2000-12-09  James Henstridge  <james@daa.com.au>
4324
4325         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
4326         member to hold masks for detecting the start of a protocol packet.
4327         (mouse_devs): add packet start masks for ps2 and ms device types.
4328         Left the mask for fidmour blank, as I have no idea what it should
4329         be.
4330         (handle_mouse_io): skip bytes until we get to the start of a
4331         packet.  My Logitech mouse seems to be passing an extra NULL pad
4332         byte, and GPM does a similar thing here.
4333         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
4334         this is the ms mouse driver.
4335         (gdk_fb_mouse_ms_packet): fix up button handling, which was
4336         completely broken except for button1.  It was checking the wrong
4337         bit in the packet for the status of the right mouse button, and
4338         wrongly assuming right == button2 rather than 3.  I fixed that and
4339         also added support for middle button (button2).
4340
4341 2000-12-08  Havoc Pennington  <hp@redhat.com>
4342
4343         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
4344         that cause a segfault on text insertion
4345
4346         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
4347         warning
4348
4349         * gtk/gtktextiter.c (test_log_attrs): use
4350         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
4351
4352         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
4353         Get log attrs for a line, using a cache stored on the buffer
4354         
4355         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
4356         reported by Jeff Franks
4357
4358 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4359
4360         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
4361         /dev/ttyS0 -> /dev/mouse
4362
4363 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4364
4365         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
4366         Added dummy gdk_fontset_load.
4367
4368 2000-12-08  Alexander Larsson  <alexl@redhat.com>
4369
4370         * docs/README.linux-fb:
4371         * docs/Makefile.am:
4372         Initial GtkFB docs.
4373         
4374         * gdk/linux-fb/Makefile.am:
4375         Define GDK_DATA_PREFIX.
4376
4377         * gdk/linux-fb/gdkmain-fb.c:
4378         Fix typo.
4379         Change default display to /dev/fb0.
4380
4381         * gdk/linux-fb/gdkpango-fb.c:
4382         Add $(prefix)/share/fonts/ to font path.
4383         
4384 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4385
4386         * gdk/linux-fb/gdkkeyboard-fb.c:
4387         New file containing the abstracted keyboard driver. Most code
4388         taken from gdkinput-ps2.c
4389
4390         * gdk/linux-fb/gdkinput-ps2.c:
4391         Removed file.
4392         
4393         * gdk/linux-fb/Makefile.am:
4394         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
4395
4396         * gdk/linux-fb/gdkcolor-fb.c:
4397         display->fb was renamed to display->fb_fd.
4398
4399         * gdk/linux-fb/gdkcursor-fb.c:
4400         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4401
4402         * gdk/linux-fb/gdkinput.c:
4403         Moved gdk_input_init here from gdkinput-ps2.c
4404
4405         * gdk/linux-fb/gdkmain-fb.c:
4406         display->fb was renamed to display->fb_fd.
4407         Now the tty and the console is opened here instead
4408         of in the keyboard driver. Also check GDK_VT to see what
4409         tty to open.
4410         Move gdk_beep () here from gdkinput-ps2.c
4411         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4412
4413         * gdk/linux-fb/gdkmouse-fb.c:
4414         Add header.
4415         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4416         Return correct keyboard modifiers.
4417         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
4418
4419         * gdk/linux-fb/gdkprivate-fb.h:
4420         Add tty and vt info to display.
4421         Add orignal modeinfo storage to display
4422         Update global functions
4423
4424         * gdk/linux-fb/gdkwindow-fb.c:
4425         Added gdk_fb_window_find_focus().
4426         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4427
4428 2000-12-07  Havoc Pennington  <hp@pobox.com>
4429
4430         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
4431         function, noticed by Alex
4432
4433 2000-12-06  Elliot Lee  <sopwith@redhat.com>
4434
4435         * configure.in: Detect freetype properly
4436
4437         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
4438         above.
4439
4440 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4441
4442         * gdk/linux-fb/Makefile.am:
4443         Add gdkmouse-fb.c
4444         
4445         * gdk/linux-fb/gdkmouse-fb.c:
4446         New file. Abstracted the mouse drivers a bit.
4447
4448         * gdk/linux-fb/gdkcursor-fb.c:
4449         The cursor hide/show functions was moved here from gdkinput-ps2.c.
4450
4451         * gdk/linux-fb/gdkinput-ps2.c:
4452         Removed old mouse handling code. Moved cursor handling code
4453         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
4454         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
4455         gdk_mouse_get_info.
4456
4457         * gdk/linux-fb/gdkmain-fb.c:
4458         Pass NULL pointers for x,y in gdk_mouse_get_info call.
4459
4460         * gdk/linux-fb/gdkprivate-fb.h:
4461         Removed public gdk_fb_find_common_ancestor, added and renamed
4462         functions for the new mouse handling code.
4463
4464         * gdk/linux-fb/gdkwindow-fb.c:
4465         Moved gdk_fb_window_send_crossing_events here. added global
4466         variable gdk_fb_window_containing_pointer. made
4467         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
4468         renamed to gdk_mouse_get_info.
4469
4470 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4471
4472         * gdk/linux-fb/gdkevents-fb.c:
4473         Update to match latest gmain/gsource changes.
4474
4475         * gdk/linux-fb/gdkinput-ps2.c:
4476         Bogus gdk_keymap_get_entries_for_keycode implementation so that
4477         it links. Will be implemented later.
4478
4479 2000-12-03  Havoc Pennington  <hp@pobox.com>
4480
4481         * gdk/Makefile.am: add gdkkeys.[hc]
4482
4483         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
4484         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
4485
4486         * acconfig.h, configure.in: add checks and command line options
4487         for XKB
4488
4489         * gdk/x11/gdkkeys-x11.c: Implement the above functions
4490         
4491         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
4492         and group in the key event
4493
4494         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
4495         field with the low-level hardware key code, and a group
4496         field with the keyboard group
4497
4498         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
4499         and declare a couple globals used for keymap handling
4500         
4501         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
4502         hold down Shift-Control and type a hex number to get a Unicode 
4503         character corresponding to the hex number
4504         (gtk_im_context_simple_get_preedit_string): Fix cursor position
4505         (return bytes not chars)
4506
4507 2000-12-05  Elliot Lee  <sopwith@redhat.com>
4508
4509         * gdk/gdkcolor.h: Make GdkColor specify element sizes
4510         to avoid waste on 64-bit platforms.
4511
4512 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
4513
4514         * INSTALL: Fix link to PNG home, remove reference
4515         to fribidi.
4516
4517         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
4518         
4519         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
4520         tested.)
4521
4522         * gtk/gtkcheckmenuitem.c: Permanently turn on
4523         always_show_toggle.
4524
4525         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
4526         be NULL. (Vladimir Klebanov, #26545)
4527
4528         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
4529         some signed/unsigned comparison problems. (#6510,
4530         David Kaelbling)
4531
4532         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
4533         return type to boolean (Oskar Liljeblad, #18648)
4534
4535 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4536
4537         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
4538         Remove bogus colormap setting.
4539
4540 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4541
4542         * gdk/linux-fb/gdkcolor-fb.c:
4543         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
4544
4545         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
4546         Must set colormap.
4547         
4548 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
4549
4550         * docs/tutorial/gtk-tut.sgml: DND updates
4551
4552 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
4553
4554         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4555         Remove old debug g_warning().
4556         (gdk_fb_draw_drawable): The src argument can be either a wrapper
4557         or an implementation, just pass the implementation to draw_drawable_2.
4558         
4559         * gdk/linux-fb/gdkprivate-fb.h:
4560         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
4561
4562         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4563         clear and invalidate area when window is destroyed.
4564         (send_map_events): Remove old commented out code.
4565
4566 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4567
4568         * gdk/linux-fb/gdkpango-fb.c:
4569         Use italic instead of oblique in font aliases.
4570         
4571         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
4572         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
4573         other unsupported functions.
4574
4575 2000-12-04  Havoc Pennington  <hp@redhat.com>
4576
4577         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
4578
4579         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
4580
4581         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
4582
4583         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
4584         hack to avoid infinite loops (synthetic expose event) - 
4585         Owen has more appropriate fixes in a branch he'll check in later.
4586
4587         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
4588         separator, CR, and CRLF as line ends
4589
4590         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
4591         into lines using pango_find_paragraph_boundary(); other bits of
4592         the widget are still going to be broken if the boundary isn't '\n'
4593         though
4594
4595 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4596
4597         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
4598         multiply.
4599
4600         * gdk/linux-fb/gdkpango-fb.c:
4601         Copied some 26.6 scaling macros from pango to clean up the rounding.
4602         (pango_fb_font_get_glyph_info): Correct sign on x value.
4603
4604         * gdk/linux-fb/gdkprivate-fb.h:
4605         Removed unreferenced external functions.
4606
4607         * modules/linux-fb/Makefile.am: Use ` instead of '.
4608
4609         * modules/linux-fb/basic.c:
4610         Remove dead code. In particular the dummy lang engine which broke all
4611         pango layouts in GtkFB. Don't include tables-big.i anymore.
4612
4613         * modules/linux-fb/tables-big.i:
4614         Upgrade to latest version from pango. Left for reference, basic_ranges
4615         moved to basic.c.
4616         
4617 2000-12-04  Havoc Pennington  <hp@redhat.com>
4618
4619         Fix bugs Alex found:
4620         
4621         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
4622         to "draw"
4623
4624         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
4625
4626         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
4627
4628         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
4629         implementation in here, apparently the expose() implementation was
4630         dead code.
4631
4632 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4633
4634         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4635         Return positive descent.
4636
4637 2000-12-02  Havoc Pennington  <hp@pobox.com>
4638
4639         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
4640         method and signal
4641         
4642         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
4643         calls gdk_window_process_updates() to push the exposes through
4644         (gtk_widget_class_init): No more draw signal, no
4645         gtk_widget_real_draw()  
4646         
4647         * gtk/gtkbin.c (gtk_bin_draw): remove
4648
4649         * gtk/gtkbox.c (gtk_box_draw): remove
4650
4651         * gtk/gtkbutton.c (gtk_button_draw): remove
4652
4653         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
4654
4655         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
4656
4657         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
4658
4659         * gtk/gtkclist.c (gtk_clist_draw): remove
4660
4661         * gtk/gtkentry.c (gtk_entry_draw): remove
4662
4663         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
4664
4665         * gtk/gtkfixed.c (gtk_fixed_draw): remove
4666
4667         * gtk/gtkframe.c (gtk_frame_draw): remove
4668
4669         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
4670
4671         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
4672
4673         * gtk/gtklayout.c (gtk_layout_draw): remove
4674
4675         * gtk/gtklist.c (gtk_list_draw): remove
4676
4677         * gtk/gtklistitem.c (gtk_list_item_draw): remove
4678
4679         * gtk/gtkmenu.c (gtk_menu_draw): remove
4680
4681         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
4682
4683         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
4684
4685         * gtk/gtknotebook.c (gtk_notebook_draw): remove
4686
4687         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
4688
4689         * gtk/gtkpacker.c (gtk_packer_draw): remove
4690
4691         * gtk/gtkrange.c (gtk_range_draw): remove
4692
4693         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
4694
4695         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
4696
4697         * gtk/gtktable.c (gtk_table_draw): remove
4698
4699         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
4700
4701         * gtk/gtktext.c (gtk_text_draw): remove
4702
4703         * gtk/gtktextview.c (gtk_text_view_draw): remove
4704
4705         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
4706
4707         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
4708
4709         * gtk/gtktree.c (gtk_tree_draw): remove
4710
4711         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
4712
4713         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
4714
4715         * gtk/gtkviewport.c (gtk_viewport_draw): remove
4716
4717         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
4718
4719         * gtk/gtkvscale.c (gtk_vscale_draw): remove
4720
4721         * gtk/gtkwindow.c (gtk_window_draw): remove
4722
4723 2000-20-01  Anders Carlsson  <andersca@gnu.org>
4724
4725         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
4726         a GtkToggleButton is both insensitive and active, it was being
4727         drawn by the GtkButton draw handler which doesn't check the
4728         state. Now it's calling gtk_toggle_button_paint instead.
4729         
4730 2000-12-01  Havoc Pennington  <hp@redhat.com>
4731
4732         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
4733         dangling pointers to the appearance attributes from the 
4734         line display
4735
4736         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
4737         width/height to mean "full width/height of drawable"
4738
4739         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
4740         click to select word/line
4741         
4742         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
4743         when getting log attrs. Get a slice, so that pixmaps and stuff
4744         are properly handled.
4745
4746         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
4747         paste into the selection (replaces selection now, previously
4748         crashed or added to selection). Reveals longstanding btree bug -
4749         select multiple lines, middle-click on the selection, boom. This
4750         isn't related to my changes though.
4751
4752         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
4753         PangoLogAttrs changes
4754         (gtk_entry_move_backward_word): ditto
4755
4756         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
4757         functions return bool whether the iter moved onto a
4758         dereferenceable position.
4759  
4760         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
4761         functions for motion in terms of display lines.
4762
4763         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
4764         get the buffer a mark is inside
4765         
4766 2000-12-01  Alexander Larsson  <alexl@redhat.com>
4767
4768         * gdk/linux-fb/Makefile.am:
4769         * modules/linux-fb/Makefile.am:
4770         Freetype 2 final uses freetype-config
4771
4772         * gdk/linux-fb/gdkpango-fb.c:
4773         Upgrade to use Freetype 2 final.
4774         More flexible support for font aliases, this also fixes a bug with
4775         GtkFontSelector, as the aliases must be visible in the font/family list,
4776         or GtkFontSelector reads uninitialized memory.
4777
4778 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
4779
4780         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
4781         XGetIMValues to properly terminate variable argument list, and do
4782         NULL return check for ic_values and xim_styles.
4783
4784         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
4785         Restore preedit state after XmbResetIC().
4786         
4787         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
4788         XvaCreateNestedList() should take XvaNestedList, but not
4789         XvaNestedList*.
4790
4791         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
4792         preedit_draw_callback, preedit_caret_callback): Match
4793         "preedit-changed" signal name to "preedit_changed" to be
4794         consistent to the spec.
4795
4796         * gtk/gtkimcontextsimple.c (check_table):
4797         Match "preedit-changed" to "preedit_changed" to be consistent
4798         to the spec.
4799
4800 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
4801
4802         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
4803         gc->clip_region == NULL>
4804
4805 2000-11-30  Tor Lillqvist  <tml@iki.fi>
4806
4807         Changes by Hans Breuer:
4808         
4809         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
4810         Dont't use negative width and height as max_hints. This fixes
4811         Owen's recent testgtk changes for win32.
4812
4813         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
4814         gdk_win32_hdc_release): These are exported and may be called with
4815         other drawable types than our GdkDrawableImplWin32 (?).
4816
4817         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
4818         so always #define USE_BACKING_STORE.
4819
4820         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
4821         of printf for debugging output.
4822
4823         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
4824         
4825         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
4826
4827         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
4828         declaration.
4829
4830         * gtk/gtktexttypes.h: Ditto.
4831
4832         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
4833         (GDK_VoidSymbol) also if in case of arg check failure.
4834
4835         * gtk/gtkimcontextsimple.c
4836         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
4837         position to the pointer, but to the variable it points to.
4838
4839         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
4840
4841         * gtk/gtk.def: Updates.
4842
4843 2000-11-29  Elliot Lee  <sopwith@redhat.com>
4844
4845         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
4846         GTK_TYPE_TREE_MODEL.
4847
4848 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4849
4850         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
4851         Set the size of the font from the description.
4852         (gdk_text_width): Gross hack that calculates the width
4853         of text by text_length * size/2. This is necessary because
4854         GtkLabel does some ugly gtk_string_width call to calculate
4855         an good size.
4856         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
4857
4858 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
4859
4860         * docs/tutorial/gtk-tut.sgml: DND updates
4861
4862 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4863
4864         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
4865         If you pass width or height == 0 to gdk_window_clear_area they
4866         should be calculated from the window size.
4867
4868 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4869
4870         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
4871         a grab, but no grab-cursor, use the cursor from the grabbed
4872         window. (gdk_fb_window_send_crossing_events): Send normal
4873         enter/leave notifications if grab and owner_events == TRUE.
4874
4875 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4876
4877         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4878         Do implicit button grabs, even if the window doesn't
4879         want the event.
4880         (gdk_fb_window_send_crossing_events): If there is a
4881         grab, only the grabbed window gets normal enter/leave
4882         notifications. On ungrab go from grabbed window to current.
4883         Don't send any notification to b when propagating from c -> b.
4884         If setting a grab on window, don't set prev_window.
4885         (handle_mouse_input): Send enter/leave events to the window the
4886         mouse is over, not the grabbed one.
4887         
4888 2000-11-28  Elliot Lee  <sopwith@redhat.com>
4889
4890         * gdk/gdkregion-generic.c: Zap warning.
4891         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
4892         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
4893
4894 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
4895
4896         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
4897         The cursor should be hidden if it is part of either the
4898         source or destination region. Not only if it is in both.
4899         (gdk_window_set_transient_for): Silence warnings.
4900
4901 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4902
4903         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
4904         The default mode in X is Pie Arcs, therefore that is
4905         what Gtk+ uses.
4906
4907 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4908
4909         * gdk/linux-fb/gdkinput-ps2.c:
4910         Implement correct EnterNotify/LeaveNotify:
4911         (gdk_fb_window_send_crossing_events): New function that sends
4912         all GdkCrossingEvents from the last mouse-window to the specified
4913         destination.
4914         (gdk_fb_window_visibility_crossing): Removed function.
4915         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
4916         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
4917         instead of gdk_window_get_pointer() for better readability.
4918
4919         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
4920         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
4921
4922         * gdk/linux-fb/gdkprivate-fb.h:
4923         removed gdk_fb_window_visibility_crossing, added
4924         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
4925
4926         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
4927         New function that finds the least common ancestor of two windows.
4928         (gdk_window_show, gdk_window_hide):
4929         Use gdk_fb_window_send_crossing_events.
4930         (gdk_fb_window_move_resize): Send configure events to toplevel
4931         windows. Use gdk_fb_window_send_crossing_events.
4932
4933 2000-11-27  Havoc Pennington  <hp@redhat.com>
4934
4935         * gtk/gtkprivate.h (enum): Remove a trailing comma
4936
4937 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
4938
4939         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
4940         the "changed" callback of the adjustment.  We need to redraw the
4941         spin button's arrows when the adjustment's range changes.
4942         (adjustment_changed_cb): Draw the arrows.
4943         (gtk_spin_button_value_changed): Draw the arrows.
4944
4945 2000-11-23  Alexander Larsson  <alexl@redhat.com>
4946
4947         * gdk/linux-fb/gdkselection-fb.c:
4948         Initial selection implementation.
4949
4950         * gtk/gtkselection.c:
4951         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
4952         requestor in gtk_selection_request.
4953         
4954         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
4955         Added gdk_selection_property atom.
4956
4957         * gdk/linux-fb/gdkprivate-fb.h:
4958         Export _gdk_selection_window_destroyed.
4959         Removed mask_off_x/y from GdkCursorPrivateFB.
4960         Removed hbearing, added top, left to PangoFBGlyphInfo.
4961
4962         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4963         Call _gdk_selection_window_destroyed
4964         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
4965         the root window has been created.
4966         (static_dx_hack, static_dy_hack, compare_draw_rects,
4967         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
4968         in region. They are already sorted. Instead just traverse them in
4969         reverse if draw_direction < 0.
4970         
4971         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4972         Double-clicks must be sent after the normal button_press.
4973         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
4974         
4975         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
4976         Pass _gdk_fb_screen_gc instead of NULL.
4977
4978         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
4979         Initialize gdk_selection_property.
4980         (gdk_event_make): Remove unused code.
4981
4982         * gdk/linux-fb/gdkcursor-fb.c:
4983         Make the pixmap for the cursor the same size as the mask. Also remove
4984         the mask_off_x/y fields in GdkCursorPrivateFB and combine
4985         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
4986         Now the whole cursor is visible.
4987
4988         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4989         Fix bug where xdest+height instead of ydest+height was used
4990         to calculate if the source and dest overlapped. This fixes the
4991         redraw bug when the main window in testgtk was scrolled when
4992         partially covered by a tall window.
4993         Copy rectangles in region in order depending on draw_direction.
4994         Also moved the draw_direction flipping of start_y and end_y into
4995         the gc functions, as this might not be what all of them want.
4996         (gdk_fb_draw_lines): Support dashed lines.
4997         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
4998         so that the text is positioned correctly (was 1 pixel high).
4999
5000         gdk/linux-fb/gdkgc-fb.c:
5001         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
5002         all lines were drawn a pixel to short. Also checked the default of
5003         the rest of the values, and they're the same as X now.
5004
5005         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
5006         Clean up pixel positioning of the glyphs. Just use bgy->top and
5007         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
5008         to all divisions to get correct rounding behaviour.
5009
5010         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
5011         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
5012         Moved start_y/end_y flip into draw_drawable implementations.
5013         Flip also x rendering when draw_direction < 0.
5014         Remove unneccesary multiply with draw_direction.
5015
5016 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
5017
5018         * docs/tutorial/gtk-tut.sgml:
5019           - get rid of gtk_toggle_button_toggled FUD
5020           - start DND section - needs work - based on:
5021                 http://wolfpack.twu.net/docs/gtkdnd/
5022
5023 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5024
5025         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5026         Correct calculation of font metrics. Now GtkEntrys have sane
5027         size.
5028
5029 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5030
5031         * gdk/gdktypes.h:
5032         Add new type GdkSpan
5033         
5034         * docs/reference/gdk/gdk-sections.txt,
5035         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
5036         gdk/gdkregion.h:
5037         Implement and document gdk_region_spans_intersect_foreach.
5038
5039         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
5040         Add new file gdkrender-fb.c which contains all core
5041         rendering code.
5042         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
5043         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
5044         (optimized rectangle fillers).
5045
5046         * gdk/linux-fb/gdkdrawable-fb2.c:
5047         Move all rendering code to gdkrender-fb.c.
5048         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
5049         Use the new span intersection functions in gdk_fb_fill_spans.
5050         gdk_fb_draw_rectangle() clips filled rectangles and calls
5051         gc->fill_rectangle with the result.
5052         gdk_fb_fill_spans() gets extra argument "sorted".
5053
5054         * gdk/linux-fb/gdkevents-fb.c:
5055         Remove unused includes and defines.
5056         New function gdk_fb_get_time() to get correct time for events.
5057
5058         * gdk/linux-fb/gdkinput-ps2.c:
5059         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
5060         Make sure to set the time of all events.
5061
5062         * gdk/linux-fb/gdkmain-fb.c:
5063         Use gdk_fb_get_time ().
5064
5065         * gdk/linux-fb/gdkprivate-fb.h:
5066         New virtual GC calls: fill_span & fill_rectangle.
5067         Export gdk_fb_get_time().
5068         gdk_fb_fill_spans() gets extra argument "sorted".
5069
5070         * gdk/linux-fb/mi*.c:
5071         Use GdkSpan instead of GdkRectangle.
5072         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
5073         from XFree 4 source)
5074         
5075 2000-11-22    <jrb@redhat.com>
5076
5077         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
5078         reversing the order in an if statement will do.  Doing so managed
5079         to make the treemodelsort half work.  Other half will follow after
5080         I get the insert function fully fixed.
5081
5082 2000-11-21  Elliot Lee  <sopwith@redhat.com>
5083         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
5084         more than 2 bits. Besides, I need to implement an evil hack. :)
5085
5086 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
5087
5088         * docs/tutorial/gtk-tut.sgml: minor corrections
5089
5090 2000-11-20  Jonathan Blandford <jrb@redhat.com>
5091         * gtk/gtktreemodelsort.h: Add convertion functions to let you
5092           convert to and from relative path's and iters.
5093
5094         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
5095           testing sorting functions a bit better.  Currently broken -- will
5096           fix in morning.
5097
5098 2000-11-20  Havoc Pennington  <hp@redhat.com>
5099
5100         * gtk/gtkwidget.c: Documented a bunch of functions in here
5101         (gtk_widget_realize): Warn if you try to realize
5102         a widget with no parent that isn't a toplevel
5103         (gtk_widget_intersect): return a gboolean
5104
5105 2000-11-20  Havoc Pennington  <hp@redhat.com>
5106
5107         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
5108         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
5109         scrolling to be implemented in GDK to finish. Also, right now
5110         we just size_allocate all children on every layout change,
5111         which is pretty lame. Test commented out of testtext.c, 
5112         until it works better.
5113
5114 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
5115
5116         * gdk/linux-fb/gdkdrawable-fb2.c:
5117         Removed unused arguments from gdk_fb_drawable_get_pixel().
5118
5119         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
5120         Renamed fidur specific mouse packet data in MouseDevice to
5121         generic. Used it in ps2 mouse handling code to avoid blocking
5122         reads.
5123
5124 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
5125
5126         * demos/gtk-demo/main.c: Changed to have the list become
5127         non-italic when the demo window is destroyed through an external
5128         event (like a close button).  Doing so found three bugs in the
5129         widget.
5130
5131         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
5132
5133         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
5134         we actually set the cell.
5135
5136         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
5137
5138         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
5139         free a leaked path.  Thanks memprof.
5140
5141 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
5142
5143         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
5144         off-by-one error when destroying allocated segments
5145         on failure. (Elliot)
5146
5147 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
5148
5149         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
5150         memleaks found by Evan Martin.
5151
5152 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
5153
5154         * Released 1.3.2
5155         
5156         * NEWS: Updates for 1.3.2
5157
5158 2000-11-17  Tor Lillqvist  <tml@iki.fi>
5159
5160         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
5161         but in general for window system specific events.
5162
5163         * gtk/gtk.def
5164         * gtk/makefile.mingw.in
5165         * gtk/makefile.msc.in: Update.
5166         
5167         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
5168
5169 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
5170
5171         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
5172         distribute gtk.immodules.
5173
5174         * gtk/Makefile.am (install-data-local): Don't install the
5175         gtk.immodules file created for the uninstalled modules;
5176         instead run gtk-query-immodules after install
5177
5178 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
5179
5180         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
5181         -rpath to the right install location.
5182
5183         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
5184         -export-dynamic.
5185
5186         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
5187         properly.
5188
5189 2000-11-15  Havoc Pennington  <hp@pobox.com>
5190
5191         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
5192         patch from Mikael Hermansson to temporarily stop blinking while
5193         the user is using the keyboard to type or navigate. 
5194
5195         Also, when blinking, stay on for longer than we stay off. Also,
5196         return from start_cursor_blink if !cursor_visible, to save
5197         checking that flag all over the place before we call
5198         start_cursor_blink.
5199
5200 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
5201
5202         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
5203         only contain a "fontset" line, which is now ignored.
5204
5205         * gtk/gtkentry.c (gtk_entry_button_release): Make 
5206         double-click-to-select-word work.
5207         
5208 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
5209
5210         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
5211         Don't move back one char when we are actually at the end of the 
5212         paragraph.
5213
5214 2000-11-15  Robert Brady  <robert@suse.co.uk>
5215
5216         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
5217         'o' < 'p'.
5218         
5219         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
5220         bind_textdomain_codeset.
5221
5222         (gtk_init_check): Make the warning about translating default:LTR
5223         sterner.
5224         
5225 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
5226
5227         * **/Makefile.am : remove unecessary rules for win32-specific
5228         config-substituted targets. If you want these rules, use
5229         --enable-maintainer-mode (called automatically by autogen.sh).
5230         Stops a lot of unneccessary make-time warnings.
5231
5232         * gtk/gtktext{layout,display}.c: Factor in total width as
5233         well as screen when figuring alignment for word-wrap as well as
5234         no wrap; this is necessary to handle lines that cannot be wrapped
5235         at all.
5236
5237 2000-11-15  Havoc Pennington  <hp@redhat.com>
5238
5239         * gtk/testtext.c: Implement essential color cycling feature
5240
5241 2000-11-15  Havoc Pennington  <hp@redhat.com>
5242
5243         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
5244         when we invalidate the main window.
5245
5246         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
5247         GtkTextView will now invalidate the side windows for us when text
5248         changes.
5249
5250 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
5251
5252         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
5253         unconditionally, since we may need to update the horizontal
5254         scrollbars even if the height didn't change.
5255
5256         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
5257         the extra attrs, since some of them affect size.
5258
5259         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
5260         x_offset correctly.
5261
5262 2000-11-15  Havoc Pennington  <hp@redhat.com>
5263
5264         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
5265         don't move the first line out into the margin, instead move the
5266         whole paragraph in order to make space for the first line within 
5267         the margin
5268
5269 2000-11-15  Havoc Pennington  <hp@redhat.com>
5270
5271         * gtk/gtktextview.c (changed_handler): offset redraw rect by
5272         xoffset in addition to yoffset, so horizontal scrolling doesn't
5273         break redraws
5274
5275 2000-11-15  Havoc Pennington  <hp@redhat.com>
5276
5277         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
5278         from the cursor
5279         (render_layout_line): fix reversed test that caused weird
5280         underlines to get drawn
5281
5282 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5283
5284         * gdk/linux-fb/gdkprivate-fb.h:
5285         Fix debug macros.
5286         
5287 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5288
5289         * gdk/linux-fb/gdkprivate-fb.h:
5290         Added virtual functions set_pixel, get_color,
5291         fill_span and draw_drawable to the GC.
5292         Added global _gdk_fb_screen_gc to use instead of
5293         NULL when drawing to the screen.
5294         Added _gdk_fb_gc_calc_state() prototype.
5295
5296         * gdk/linux-fb/gdkgc-fb.c:
5297         Call _gdk_fb_gc_calc_state() on any gc state change.
5298
5299         * gdk/linux-fb/gdkglobals-fb.c:
5300         Add _gdk_fb_screen_gc
5301                 
5302         * gdk/linux-fb/gdkdrawable-fb2.c:
5303         _gdk_fb_gc_calc_state() calculates best functions
5304         for the GC state and depth.
5305         Moved bpp specialized code to separate functions.
5306         Added optimized 24 bpp AA draw_drawable.
5307
5308         * gdk/linux-fb/gdkevents-fb.c:
5309         Silence gcc warning.
5310
5311         * gdk/linux-fb/gdkimage-fb.c:
5312         Use _gdk_fb_screen_gc
5313
5314         * gdk/linux-fb/gdkwindow-fb.c:
5315         Init and use _gdk_fb_screen_gc
5316
5317         * gdk/linux-fb/mitypes.h:
5318         Remove unused types.
5319
5320 2000-11-14  Havoc Pennington  <hp@pobox.com>
5321
5322         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
5323         to pixels
5324
5325 2000-11-14  Havoc Pennington  <hp@pobox.com>
5326
5327         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
5328
5329         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
5330         unknown char, no real reason we were using a variable. 
5331         Remove gtk_text_unknown_char variable. Fix all the text widget
5332         files accordingly.
5333
5334         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
5335         since the Unicode spec seems to prefer that character for our
5336         purposes.
5337
5338 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
5339
5340         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
5341         value of g_getenv() isn't freeable, so g_strdup it.
5342
5343         * modules/input/inuktitut.c: Inuktitut input method.
5344
5345         * modules/input/Makefile.am: Build this.
5346         
5347 2000-11-14  Elliot Lee  <sopwith@redhat.com>
5348
5349         * gtk/Makefile.am: Install gtk.immodules, needed for operation
5350         of gtk programs.
5351
5352 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
5353
5354         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
5355         reversed > that was causing Home to go to end of previous line.
5356
5357         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
5358         modified-keypresses (leave for bindings.)
5359
5360         * modules/input/Makefile.am: Remove useless -export-dynamic
5361         from module LDFLAGS.
5362
5363 2000-11-14  Havoc Pennington  <hp@redhat.com>
5364
5365         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
5366         higher.
5367
5368         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
5369         account. Also, render rise, underline, background, etc. for
5370         pixbufs as well as text. Also, draw underlines one pixel higher.
5371
5372         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
5373         PangoAttribute for the rise, so it gets drawn properly. Also,
5374         add the GtkTextAppearance attribute for pixbuf/widget segments
5375         as well; we should go ahead and have rise, underline, background,
5376         stipple work for those
5377
5378         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
5379         Pango
5380
5381 2000-11-15  Tor Lillqvist  <tml@iki.fi>
5382
5383         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
5384
5385         * gtk/gtk.def: Update.
5386
5387         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
5388         included.
5389         (gtk_rc_get_im_module_file): Use run-time installation directory
5390         on Win32.
5391
5392         * gdk/win32/rc/gdk.rc: Remove.
5393         * gdk/win32/rc/gdk.rc.in: New file.
5394         * gdk/win32/rc/Makefile.am: New file
5395         * gdk/win32/Makefile.am: Corresponding changes.
5396
5397         * gtk/gtk.rc: Remove.
5398         * gtk/gtk-win32.rc.in: New file.
5399         * gtk/Makefile.am: Corresponding changes.
5400
5401         * configure.in: Corresponding changes.
5402
5403         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
5404         has a built gtkcompat.h. Developers using CVS code on Win32 can
5405         hand-edit it from gtkcompat.h.in.
5406
5407         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
5408         gtkcompat.h from gtkcompat.h.win32.
5409
5410 2000-11-14  Havoc Pennington  <hp@redhat.com>
5411
5412         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
5413         to default to GDK_ACTION_MOVE if the drag is within a single
5414         widget. Defaults to GDK_ACTION_COPY between widgets.
5415
5416 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
5417
5418         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
5419
5420         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
5421
5422         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
5423         srcdir != builddir
5424
5425         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
5426
5427         * configure.in (GTK_VERSION): Up to 1.3.2
5428
5429         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
5430         gtkimcontextxim.h
5431
5432         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
5433         missing doc comment.
5434
5435 2000-11-14  Alexander Larsson  <alexl@redhat.com>
5436
5437         * modules/linux-fb/basic.c:
5438         Use the glib iconv wrappers.
5439
5440 2000-11-13  Havoc Pennington  <hp@pobox.com>
5441
5442         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
5443         still more bugs.
5444
5445         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
5446         scroll the GdkWindows before realization.
5447
5448 2000-11-13  Havoc Pennington  <hp@redhat.com>
5449
5450         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
5451         where GC didn't always get updated properly
5452
5453         * demos/gtk-demo/textview.c (create_tags): Use subattributes
5454         of fonts instead of setting the entire font
5455
5456         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
5457         setting entire font
5458
5459         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
5460
5461         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
5462         a bunch of individually-settable font attributes. You can still 
5463         use the "font" and "font_desc" args, they just set all the font
5464         attributes at once.
5465
5466 2000-11-13 Elliot Lee <sopwith@redhat.com>
5467
5468         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
5469
5470 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
5471
5472         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
5473         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
5474
5475         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
5476         work better.
5477
5478 2000-11-13  Havoc Pennington  <hp@redhat.com>
5479
5480         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
5481         the module file.
5482
5483         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
5484         dest->language
5485
5486         * gtk/testtext.c: Test pixels above/below/inside paragraphs
5487         settings
5488
5489         * gtk/gtktextview.c: Implement object args and setters/getters for
5490         all the aspects of the GtkTextAttributes that are not set from
5491         GtkWidget attributes. This is spacing, justification, margins,
5492         etc.
5493
5494         (gtk_text_view_set_arg)
5495         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
5496         args
5497         (gtk_text_view_class_init): Add args for justify, left_margin,
5498         right_margin, indent, and tabs
5499         
5500
5501         * gtk/gtktextlayout.c (set_para_values): fix to display indent
5502         attribute properly
5503
5504         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
5505         replace with indent attribute
5506
5507         * gtk/gtktextlayout.c (set_para_values): multiply indent by
5508         PANGO_SCALE
5509
5510         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
5511         rearranging code to do that
5512         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
5513         i.e. don't subtract the top_margin first, just to keep
5514         all margin-futzing in one place.
5515
5516         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
5517
5518         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
5519         special case of last line, Pango now handles this itself.
5520         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
5521         Y coordinate
5522         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
5523         (find_display_line_above): wasn't moving the byte index as it
5524         iterated over lines, so always returned byte 0. Also, port to use
5525         PangoLayoutIter.
5526         (find_display_line_below): same problem as
5527         find_display_line_above. Also, port to use PangoLayoutIter.
5528
5529 2000-11-13  Alexander Larsson  <alexl@redhat.com>
5530
5531         * gdk/linux-fb/*.[ch]:
5532         Massive reindent to gtk+ standard. My hands hurt.
5533
5534         * gdk/linux-fb/gdkcolor-fb.c:
5535         Move GdkColorPrivateFB from inherited to windowing_data
5536
5537         * gdk/linux-fb/gdkcursor-fb.c:
5538         _gdk_cursor_new_from_pixmap made static
5539
5540         * gdk/linux-fb/gdkdnd-fb.c:
5541         GdkDragContextPrivate moved to windowing_data
5542
5543         * gdk/linux-fb/gdkdrawable-fb2.c:
5544         Removed endian.h, use glib endianness macros instead
5545         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
5546         and GDK_DRAWABLE_IMPL_FBDATA
5547
5548         * gdk/linux-fb/gdkfont-fb.c:
5549         Add empty gdk_font_load(). Needed for linking of Gtk+.
5550
5551         * gdk/linux-fb/gdkimage-fb.c:
5552         Removed endian.h, use glib endianness macros instead
5553         Moved GdkImagePrivateFB to windowing_data
5554         gdk_image_new_bitmap didn't always allocate enough
5555         memory.
5556
5557         * gdk/linux-fb/gdkinput-ps2.c:
5558         Added semi-working support for MS serial mice.
5559
5560         * gdk/linux-fb/gdkprivate-fb.h:
5561         s/GdkWindowPrivate/GdkWindowObject/
5562         Removed GdkWindowPrivate typedef
5563         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
5564         Removed GDK_DRAWABLE_P
5565         Move GdkColorPrivateFB from inherited to windowing_data
5566         Moved GdkImagePrivateFB to windowing_data
5567
5568         * gdk/linux-fb/gdkvisual-fb.c:
5569         Removed some unused debug code.
5570
5571         * gdk/linux-fb/gdkwindow-fb.c:
5572         Use stock cursors instead of including X headers.
5573         s/GdkWindowPrivate/GdkWindowObject/
5574
5575         * gdk/linux-fb/mitypes.h:
5576         Removed unused types.
5577
5578         * modules/linux-fb/basic.c:
5579         Use the pango fribidi wrappers.
5580
5581 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5582
5583         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
5584         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
5585         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
5586         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
5587         GEqualFunc where applicable.
5588         
5589         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
5590         pango_font_description_equal as changed in pango.
5591         
5592         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
5593
5594         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
5595
5596         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
5597
5598         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
5599
5600         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
5601
5602         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
5603
5604         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
5605         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
5606
5607         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
5608         gtk_rc_styles_compare -> gtk_rc_styles_equal.
5609
5610 2000-11-12  Havoc Pennington  <hp@pobox.com>
5611
5612         * demos/gtk-demo/Makefile.am (democodedir): change demo install
5613         dir to datadir/gtk+-2.0/demo
5614
5615         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
5616         sorts of text widget and Pango font bugs. Urgh.
5617
5618         * demos/gtk-demo/Makefile.am (demos): Add textview.c
5619
5620         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
5621         tree that you should double click to see the demo. Fix 
5622         types of variables to reflect changed return values from 
5623         GtkTreeStore and GtkTreeViewColumn constructors.
5624
5625         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
5626         newly-created buffer to prepare for GObject semantics
5627
5628         * gtk/testtext.c: don't leak the buffer with GObject semantics
5629
5630         * gtk/testtextbuffer.c: ditto
5631         
5632 2000-11-12  Havoc Pennington  <hp@pobox.com>
5633
5634         Rename this testgtk to gtk-demo to avoid confusion, and 
5635         install it so people can use it as a supplement to 
5636         the documentation.
5637         
5638         * demos/gtk-demo: Moved from demos/testgtk
5639
5640         * demos/testgtk: Removed
5641
5642         * configure.in: make Makefile in gtk-demo
5643         
5644         * demos/gtk-demo/Makefile.am: Install sample source to 
5645         datadir/gtk-demo (maybe there's a better place?), and 
5646         rename the binary to gtk-demo
5647         
5648         * demos/gtk-demo/main.c (load_file): Load installed sample
5649         source if source isn't found in pwd.
5650
5651 2000-11-09  Havoc Pennington  <hp@pobox.com>
5652
5653         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
5654         argument to set the char displayed when visibility == FALSE
5655         (gtk_entry_create_layout): If !entry->visible, replace 
5656         all chars with the "invisible char"
5657
5658         * gtk/testgtk.c: Test the invisible_char deal
5659         
5660 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
5661
5662         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
5663         can't get a native font in the right encoding.
5664
5665 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
5666
5667         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
5668         respectively.
5669
5670 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
5671
5672         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
5673         Fix warning when moving between paragraphs.
5674
5675         * gtk/gtkentry.[ch]: Change move => move_cursor, 
5676         delete => delete_from_cursor, insert => insert_at_cursor
5677
5678 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
5679
5680         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
5681
5682         * modules/input/imthai-broken.c: A Thai input method for use if
5683         Thai keys are really generating Latin1 keysyms.
5684
5685         * modules/input/Makefile.am: Build these.
5686
5687 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
5688
5689         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
5690         g_filename_{to,from}_utf8 now takes an extra parameter.
5691
5692         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
5693         strftime into UTF-8.
5694
5695         (column_from_x, gtk_calendar_paint_day_names): Support RTL
5696         calendars.
5697
5698         (gtk_calendar_paint_day_names): Draw day names in the right 
5699         place.
5700         
5701 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
5702
5703         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
5704         problem with using result of g_get_charset() backwards -
5705         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
5706
5707         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
5708         negative min_width/height and max_width/height to
5709         mean "requisition"; this allows setting a window
5710         to be user-resizable in only one direction easily.
5711
5712         * gtk/testgtk.c (create_main_window): Remove hard-coded
5713         usize - set a default size in the vertical direction.
5714
5715 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
5716
5717         * gtk/gtkrange.c: Add some missing casts. Support 
5718         2 and 3 button clicks on the arrows to mean 
5719         "move by pages" and "jump to end". (Like gtkspinbutton)
5720
5721 2000-11-12 Hans Breuer <Hans@Breuer.Org>
5722
5723         * gdk/win32/makefile.msc : reflect build module changes
5724
5725         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
5726         from GdkPixmap*, cast implementation member instead.
5727
5728         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
5729         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
5730         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
5731         more Gdi functions return value checking. 
5732         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
5733         GdkImagePrivateWin32 *.
5734
5735         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
5736         menus useable again. Add #pragma message to keep reminded on this issue.
5737         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
5738         windows. This allows to enable backing store on Win32!
5739
5740         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
5741         in drawable is of impl type. Correct specific type checks appropriate.
5742  
5743         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
5744         GDK_WINDOW_DESTROYED before allocating new resources.
5745
5746         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
5747
5748         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
5749         (gdk_window_foreign_new) initialize parent handle.
5750         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
5751
5752         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
5753         Let the GDI invalidate the window on MoveWindow call to fix scrolling
5754         problems (e.g. main buttons in testgtk). 
5755
5756 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
5757
5758         * gtk/gtkentry.c (gtk_entry_key_press): Call 
5759         gtk_widget_activate for GDK_Return.
5760
5761         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
5762         of preedit cursor position.
5763
5764 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
5765
5766         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
5767         static.
5768
5769 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
5770
5771         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
5772         out support for multiple locales; that simple doesn't
5773         work reliably with current Xlib
5774
5775         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
5776         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
5777         Add support for positioning the cursor within the preedit string.
5778
5779 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
5780
5781         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
5782         at XIM input method module.
5783
5784         * gtk/gtktextview.c: Check for bindings after passing
5785         events to im context filter.
5786
5787 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
5788
5789         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
5790         empty attribute lists properly.
5791
5792 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
5793
5794         * gtk/queryimmodules.c (main): Return non-zero exit
5795         status if errors were encountered querying any
5796         modules.
5797
5798         * modules/input/Makefile.am (moduledir): remove
5799         leftover bin program target.
5800
5801         * docs/make-todo: Fix typo in error message.
5802
5803 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
5804
5805         * configure.in: Add modules/input/Makefile
5806
5807 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
5808
5809         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
5810         don't include gtkthemes.h.
5811
5812         * gtk/testgtk.c gtk/testtext.c: Set environment variables
5813         to point
5814
5815         * gtk/Makefile.am: Add new .c and .h files, build 
5816         gtk-query-immodules and use it to create a gtk.immodules
5817         file for use of test programs.
5818
5819         * gtk/gtkpreview.c: remove extra blank line.
5820
5821 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
5822
5823         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
5824         Add the ability to add extra tables beyond the default
5825         one, and also the ability to have compose sequences 
5826         that are prefixes of other compose sequences. 
5827
5828         * gtk/gtkimcontextsimple.c: Export a preedit string which
5829         consists of possible candidates for keystrokes that have
5830         been entered but not yet committed.
5831
5832         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
5833         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
5834
5835         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
5836         Add a function to add input-method switching menu items
5837         to a menu.
5838
5839         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
5840         when switching input methods.
5841
5842         * gtk/gtkimcontextsimple.[ch]: Change the format of
5843         the compose table to allow compose tables of different
5844         lengths / sequence.
5845
5846 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
5847
5848         * gtk/gtkimmodule.[ch]: Support routines for loading
5849         GtkIMContext implementations dynamically at runtime.
5850
5851         * modules/input/imcyrillic-translit.c: A sample input
5852         method (based on GtkIMContextSimple with an extra table),
5853         which demonstrates preedit strings and the module
5854         system for input modules
5855
5856         * gtk/queryimmodules.c: Program to query the available
5857         input modules and write the results into a file.
5858          
5859         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
5860         extra config options "im_module_file" (cache file for
5861         input method modules), and "im_module_path" - path
5862         to look for modules when generating cache file.
5863
5864         This doesn't scale.
5865
5866 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
5867
5868         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
5869         generic code from gtkthemes into a new abstraction
5870         GtkModule which has the logic for implementing
5871         a loadable module which implements a number of 
5872         GObject types.
5873
5874 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
5875
5876         * gtk/gtkeditable.[ch]: Convert GtkEditable from
5877         a class into an interface  
5878         
5879         * gtk/gtkoldeditable.[ch]: Move the old editable
5880         implementation into here, so legacy widgets can
5881         still rely on the implemenation. GtkOldEditable
5882         exports GtkEditable. Make selection handling
5883         code use new text conversion functions (and
5884         handle UTF-8 as a side-effect). Use GtkClipboard
5885         for CLIPBOARD.
5886
5887         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
5888         Adopt to match above changes.
5889
5890         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
5891         avoid GtkOldEditable implementation. Restructure
5892         to reduce number of places that modify state directly.
5893         Move to GtkBindingSet. Display the preedit string.
5894         Queue recomputation of PangoLayout and scroll position
5895         to improve effiency of doing complex changes naively.
5896         Add a menu with cut/copy/paste and input method selection.
5897
5898 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
5899
5900         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
5901         to set preedit string and attributes; display preedit string by
5902         inserting string and attributes at cursor when creating the
5903         GtkTextLineDisplay.
5904
5905         * gtk/gtktextlayout.c: Move all conversions between byte
5906         positions in PangoLayout and GtkTextIter into new functions
5907         line_display_iter_to_index/index_to_iter that properly
5908         handle the preedit string.
5909
5910         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
5911         it to return const char * (eventually will end up
5912         as GCONST char *, most likely.)
5913
5914         * gtk/gtktextview.[ch]: Handle the preedit string, call
5915         gtk_im_context_reset() as necessary, add a menu to switch
5916         input methods.
5917         
5918         * gtk/gtktextlayout.[ch]: Remove useless
5919         gtk_text_layout_get_log_attrs() function.
5920
5921 2000-11-11  Tor Lillqvist  <tml@iki.fi>
5922
5923         * gdk/gdk.def
5924         * gtk/gtk.def: Update.
5925
5926         * gdk/win32/*.c: Add last argument to g_type_register_static()
5927         calls.
5928
5929         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
5930
5931         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
5932         generated by older wheel mouse drivers. Get the correct y
5933         coordinate from WM_MOUSEWHEEL messages.
5934
5935         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
5936         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
5937         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
5938         Debugging functions.
5939
5940         * gdk/win32/gdkprivate-win32.h: Declare them.
5941
5942         * gdk/win32/gdkinput-win32.h: Add declaration for
5943         gdk_input_window_destroy().
5944
5945         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
5946
5947 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
5948
5949         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
5950         function to help handle keeping things in sync.
5951
5952 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
5953
5954         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
5955         BOXED marshallers.
5956
5957         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
5958         (gtk_list_store_class_init): use the new BOXED marshallers.
5959
5960         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
5961         new_with_values to new_with_types.
5962         (gtk_tree_store_get_column_type): add this.
5963         (gtk_tree_store_class_init): use the new BOXED marshallers.
5964
5965         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
5966         mirror some POINTER marshallers.
5967
5968 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
5969
5970         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
5971         allow more interesting iterators.  Also, made the lifecycle of
5972         iterators more explicit.
5973
5974         * gtk/gtktreemodelsort.[ch]: New model for sorting.
5975
5976         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
5977         types.
5978
5979 2000-11-09  Alexander Larsson  <alexl@redhat.com>
5980
5981         * demos/testgtk/menus.c:
5982         Changes to make the new testgtk compile after
5983         gtk_menu_append was removed.
5984
5985         * gdk/linux-fb/gdkdrawable-fb2.c
5986         (gdk_fb_get_depth, gdk_fb_get_visual,
5987         gdk_drawable_impl_fb_class_init): Implement
5988         these drawable functions. Now GtkImages work again.
5989
5990         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
5991
5992         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
5993         
5994         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
5995         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
5996         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
5997         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
5998
5999 2000-11-08  Havoc Pennington  <hp@pobox.com>
6000
6001         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
6002         visible_set args, don't know where these had gone, I thought they
6003         used to be there
6004
6005         * gtk/testtext.c: Add a menu item to apply invisibility tag;
6006         now we can test the feature and see that it's totally broken.
6007
6008 2000-11-08  Havoc Pennington  <hp@pobox.com>
6009
6010         Make DND copy pixbufs and tags when source and target share a 
6011         tag table.
6012         
6013         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
6014         in-process GTK_TEXT_BUFFER_CONTENTS target
6015         (gtk_text_view_drag_data_received): Paste from
6016         GTK_TEXT_BUFFER_CONTENTS if we receive it.
6017
6018 2000-11-08  Alexander Larsson  <alexl@redhat.com>
6019
6020         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
6021         API changes.
6022
6023         * gtk/gtkmenu.c: Add support for scrolling menus.
6024         Remove gtk_menu_append/prepend/insert, these have been moved to
6025         gtkcompat.h as #defines.
6026
6027         * gtk/gtkcompat.h.in:
6028         Add compatibility #defines for gtk_menu_append/prepend/insert
6029
6030         * gtk/gtkmenu.h: Add data needed for scrolling menus.
6031         GtkMenuPositionFunc gets an extra argument push_in.
6032         gtk_menu_append/prepend/insert removed.
6033         
6034         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
6035         positioning behaviour to fit to scrolling menus.
6036
6037         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
6038         into menuitem->submeny. That is wrong, and broke torn
6039         off submenus of torn off menus, since they were unrealized
6040         when the first menu was unrealized.
6041
6042         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
6043         gtk_menu_shell_select_item() since these need to be overridden in
6044         GtkMenu.
6045
6046         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
6047         positioning behaviour to fit to scrolling menus.
6048         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
6049         the current item so that it is prelighted when the menu pops up.
6050         This is a workaround to the fact that the menu doesn't get the
6051         initial enter event (due to grabs).
6052
6053         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
6054         s/gtk_menu_append/gtk_menu_shell_append/
6055
6056         * gtk/gtknotebook.c:
6057         s/gtk_menu_insert/gtk_menu_shell_insert/
6058
6059         * gtk/testgtk.c (create_menu, create_menus):
6060         Create the first menu with 50 items so that menu scrolling
6061         can be tested.
6062         
6063         
6064         Patch from Jonathan Blandford  <jrb@redhat.com>
6065
6066         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
6067         system to handle size requests.  First, we ask what the size of
6068         the toggle is.  Then, when allocating the size, we allocate the
6069         toggle_size first.  This way we can have multiple menu-item
6070         classes w/o needing a seperate class for each.
6071
6072         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
6073         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
6074
6075         * gtk/gtkcheckmenuitem.c
6076         (gtk_check_menu_item_toggle_size_request): New function to handle
6077         the toggle size-request.
6078
6079 2000-11-07  Havoc Pennington  <hp@redhat.com>
6080
6081         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
6082         Half-ass somewhat fix this function, so that scrolling to the
6083         insertion point works. Pango hacking is in the future to really
6084         fix it.
6085
6086         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
6087         length of data, no longer used.
6088
6089         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
6090         method contents in here, get rid of destroy method
6091         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
6092         that were backward. Remove debug spew.
6093         (cut_or_copy): Make the clipboard work with insert_range to
6094         preserve tags and pixbufs, not just the primary selection.
6095
6096 2000-11-07  Havoc Pennington  <hp@redhat.com>
6097
6098         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
6099         to gtk_text_mark_get_visible
6100
6101         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
6102         bug that was generating an invalid iterator
6103
6104         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
6105         ensure_char_offsets() in front of code placing the iter in an
6106         invalid state.
6107
6108         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
6109         make override_location arg const
6110         (paste): Replace the selection if we paste into the 
6111         current selection
6112
6113         * gtk/gtkselection.h: Remove "GtkSelectioData"
6114         (struct _GtkSelectionData): move the definition here.
6115
6116         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
6117         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
6118
6119         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
6120
6121         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
6122         (gtk_text_buffer_insert_range_interactive): implement
6123         (gtk_text_buffer_get_tags): Remove, replaced by
6124         gtk_text_iter_get_tags()
6125
6126         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
6127         limit parameter, to avoid infinite linear scan.
6128         (gtk_text_iter_backward_search): Add search limit
6129         (gtk_text_iter_forward_find_char): Add search limit
6130         (gtk_text_iter_backward_find_char): Add search limit
6131
6132 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
6133
6134         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6135         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
6136         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
6137         gdk/linux-fb/gdkwindow-fb.c:
6138         use g_object_new() instead of g_type_create_instance() which
6139         is a private function for fundamental type implementations.
6140
6141         * gdk/linux-fb/gdkinput-ps2.c:
6142         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
6143         instead just store the current modifier state. Add a (somewhat broken)
6144         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
6145         Rename exported function gdk_input_ps2_get_mouseinfo to
6146         gdk_input_get_mouseinfo.
6147
6148         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
6149         gdk/linux-fb/gdkwindow-fb.c:
6150         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
6151         
6152
6153 2000-11-02  Havoc Pennington  <hp@redhat.com>
6154
6155         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
6156         use stock buttons. Should be 100% source compatible, appropriate
6157         filesel fields now point to dialog->vbox and dialog->action_area.
6158         On the bizarre side, dialog->action_area and filesel->action_area
6159         are not the same widget.
6160         (gtk_file_selection_init): Put some padding around the selection
6161         entry, so it isn't touching the GtkDialog separator.    
6162
6163         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
6164         use stock buttons, etc. Should also be source compatible.
6165         Set the dialog default title in _init not _new().
6166         
6167         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
6168         Use stock buttons; don't put a button box inside the existing
6169         dialog button box. Don't bother with push/pop colormap anymore.
6170
6171         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
6172         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
6173         for message dialog, and necessary for the font selection and color
6174         selection with help and apply buttons.
6175         
6176         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
6177         to the created button widget. Set GTK_CAN_DEFAULT on the button.
6178         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
6179         between buttons, put less padding around the action area.
6180         (gtk_dialog_run): Exit on unmap rather than on destroy. 
6181         This will also exit the loop if the widget is hidden.
6182         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
6183         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
6184         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
6185         special-case delete event.
6186
6187         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
6188         formatting
6189         
6190 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
6191
6192         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
6193         button to temporarily disable position recording in the
6194         "saved position" test.
6195
6196 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
6197
6198         * gtk/gtkthemes.c: added compat code that temporarily implements
6199         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
6200         going to be revamped by owen's upcoming GtkModule patches, but
6201         untill then people want gtk to build, right? ;)
6202
6203 2000-11-04  Havoc Pennington  <hp@pobox.com>
6204
6205         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
6206         list
6207
6208         * docs/Changes-2.0.txt: Add note about
6209         gtk_container_get_toplevels()
6210
6211         * gtk/gtktextview.h: formatting
6212         
6213         * gtk/gtktextview.c: don't start descriptions with "Returns",
6214         confuses gtk-doc
6215
6216 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
6217
6218         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
6219         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
6220
6221 2000-11-03  Havoc Pennington  <hp@redhat.com>
6222
6223         * gtk/gtktexttagtable.c: Docs
6224         (gtk_text_tag_table_size): return a signed int
6225
6226         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
6227         (gtk_text_tag_event): make the event_object a GObject
6228
6229         * gtk/gtktextview.c: Write API docs for all functions.
6230
6231         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
6232         for gtk_text_view_get_window_type() called on one of the private
6233         windows.
6234
6235         * gtk/gtktextview.c: Instead of accessing text_view->buffer
6236         directly, call get_buffer() which demand-creates a default
6237         buffer. So gtk_text_view_new() can be used to create a view with a
6238         default buffer in it, if you just want an empty text box users can
6239         put data in. Useful for GUI builders also.
6240
6241 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
6242
6243         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
6244         the charset encodign portion MUST be in lowercase.
6245         * gtk/gtkrc.az: added file for Azeri language
6246
6247 2000-11-03  Havoc Pennington  <hp@redhat.com>
6248
6249         Get widgets working on the btree/buffer side. Display of them 
6250         still doesn't work.
6251         
6252         * gtk/gtktextview.c: start implementing child widget stuff
6253
6254         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
6255
6256         * gtk/gtktextlayout.c: handle embedded widgets
6257
6258         * gtk/gtktextdisplay.c: handle embedded widgets
6259
6260         * gtk/gtktextchild.c: Implement all the child anchor goo
6261
6262         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
6263         function
6264
6265         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
6266         (insert_pixbuf_or_widget_segment): abstract out common portions of 
6267         creating a child anchor or a pixbuf segment.
6268         (gtk_text_btree_create_child_anchor): new function
6269         (gtk_text_btree_unregister_child_anchor): new function
6270
6271         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
6272         allocate_child signal on GtkTextLayout
6273
6274         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
6275         values
6276         (gtk_text_iter_get_child_anchor): new function
6277
6278         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
6279         default handler for the changed signal, which calls
6280         gtk_text_buffer_set_modified(), instead of just always emitting
6281         changed then calling set_modified() manually. I guess this is
6282         maybe more flexible. It seems logical.
6283
6284 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
6285
6286         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
6287         now.
6288
6289         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
6290
6291 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
6292
6293         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
6294         been marked static.
6295
6296 2000-11-02  Havoc Pennington  <hp@redhat.com>
6297
6298         * gtk/testgtk.c (create_labels): had a test backward
6299
6300         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
6301         fields, so the dest GC ends up with the correct clip origin, 
6302         etc. Fixes a bug where colored labels didn't redraw 
6303         properly.
6304
6305 2000-11-02  Alexander Larsson  <alexl@redhat.com>
6306
6307         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6308         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
6309         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
6310         Add last argument to t_type_register_static call.
6311         
6312         * gdk/linux-fb/gdkdrawable-fb2.c:
6313         Add last argument to t_type_register_static call.
6314         export the get_image drawable virtual function.
6315
6316         * gdk/linux-fb/gdkimage-fb.c:
6317         Add last argument to t_type_register_static call.
6318         rename gtk_image_get to _gdk_fb_get_image and
6319         export it for use by gdkdrawable-fb2.
6320
6321         * gdk/linux-fb/gdkprivate-fb.h:
6322         export _gdk_fb_get_image.
6323
6324         * gdk/linux-fb/gdkselection-fb.c:
6325         Add new api call stubs.
6326
6327         * gtk/Makefile.am:
6328         Missing ( in linux-fb part.
6329
6330         * modules/linux-fb/Makefile.am:
6331         Must link with gdk_pixbuf or get unresolved symbol.
6332
6333 2000-11-01  Havoc Pennington  <hp@pobox.com>
6334
6335         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
6336         GTK_TYPE_TEXT_ITER and BOXED marshallers
6337
6338         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
6339
6340         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
6341         
6342         * gtk/gtk-boxed.defs: add GtkTextIter
6343
6344         * gtk/gtkmarshal.list: Add marshallers for text widget that 
6345         properly use OBJECT and BOXED
6346
6347 2000-11-01  Havoc Pennington  <hp@redhat.com>
6348
6349         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
6350
6351         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
6352         before returning it. 
6353         
6354 2000-11-01  Havoc Pennington  <hp@redhat.com>
6355
6356         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6357         Clip the rectangle to be rendered to the drawable, since
6358         get_from_drawable() requires a region within the drawable
6359
6360 2000-11-01  Havoc Pennington  <hp@redhat.com>
6361
6362         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
6363         from coordinates.
6364
6365 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
6366
6367         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
6368         it isn't NULL.
6369
6370 2000-11-01  Havoc Pennington  <hp@pobox.com>
6371
6372         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
6373         on a label
6374         (gtk_label_finalize): unref the attr list if any.
6375
6376         * gtk/testgtk.c (create_get_image): close test on second click
6377         (make_message_dialog): close dialog if it exists
6378
6379         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
6380
6381         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
6382         gdk-pixbuf
6383
6384         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
6385         from Pango markup format
6386         (gtk_label_set_markup_with_accel): ditto but with accelerator
6387         parsing
6388
6389         * gtk/gtkimage.c (gtk_image_expose): reformatting.
6390
6391         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
6392         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
6393         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
6394         call gdk_window_get_origin().
6395
6396         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6397         implement GDK_PIXBUF_ALPHA_FULL
6398         
6399 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
6400
6401         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
6402         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
6403         g_signal_handlers_disconnect_matched to block/unblock and disconnect
6404         multiple handlers respectively, instead of only treating the
6405         first handler found (bug reported by owen).
6406
6407 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
6408
6409         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
6410
6411         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
6412
6413         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
6414         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
6415         gtk/gtktreeviewcolumn.h: Fixed inline docs.
6416
6417         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
6418         widget.  Needs writing someday.
6419
6420         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
6421         the docs.
6422
6423 2000-10-30  Havoc Pennington  <hp@redhat.com>
6424
6425         * gtk/gtktextview.h, gtk/gtktextview.c:
6426         Rename delete_at_cursor delete_from_cursor, and 
6427         move to move_cursor.
6428
6429 2000-10-30  Havoc Pennington  <hp@redhat.com>
6430
6431         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
6432         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
6433         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
6434         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
6435         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
6436         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
6437         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
6438         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
6439         gtktexttypes.h, gtktextview.c, gtktextview.h:
6440
6441         Massive reindentation and reformatting. Arg alignment and comments
6442         still need fixing in various places.
6443
6444 2000-10-30  Havoc Pennington  <hp@redhat.com>
6445
6446         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
6447         to be named insert_at_cursor and delete_at_cursor so C++ can
6448         handle them.
6449
6450 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6451
6452         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
6453         to get a double directory separator in case the home directory
6454         ends with one. This would cause trouble especially on Windows,
6455         where the path will be confused with the syntax for an an UNC
6456         (network share) path \\server\share\path.
6457         (gtk_rc_add_initial_default_files): Ditto.
6458
6459 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
6460
6461         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
6462
6463         * gtk/gtktextview.c: Use correct marshallers.
6464
6465 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
6466
6467         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
6468         use new iter stuff, and added all the appropriate signals et al.
6469
6470         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
6471         code is internal to gtk only.
6472
6473 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6474
6475         * gtk/gtk.def
6476         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
6477         glib-genmarshal etc.
6478
6479 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
6480
6481         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
6482         parallel builds.
6483
6484 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
6485
6486         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
6487
6488 2000-10-27  Robert Brady  <robert@suse.co.uk>
6489
6490         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
6491         en_GB (British), ia (Interlingua).
6492
6493 2000-10-26  Havoc Pennington  <hp@redhat.com>
6494
6495         * gtk/gtktextiter.c (my_strrstr): fix constness warning
6496
6497         Fixed output of:
6498         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
6499         
6500         * gtk/gtktextsegment.c (char_segment_new): rename
6501         (_char_segment_new_from_two_strings): rename
6502         (_toggle_segment_new): rename
6503         
6504         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
6505         (make_clipboard_widget): make it static
6506         (text_get_func): static
6507         (text_clear_func): static
6508
6509         * gtk/gtkcolorsel.c (adjustment_changed): make this function
6510         static
6511         (hex_changed): make it static
6512         (hsv_changed): make it static
6513         (opacity_entry_changed): make it static
6514
6515         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
6516         (toggle_segment_check_func): rename with _gtk
6517
6518         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
6519         (_widget_segment_new): rename
6520         (_widget_segment_add): rename
6521         (_widget_segment_remove): rename
6522         (_widget_segment_ref): rename
6523         (_widget_segment_unref): rename
6524
6525         * gtk/gtktextmark.c (_mark_segment_new): Rename
6526         _gtk_mark_segment_new   
6527
6528 2000-10-26  Havoc Pennington  <hp@redhat.com>
6529
6530         * gtk/gtkmarshal.list: add new marshallers used by the text widget
6531         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6532         types
6533
6534         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
6535         marshaller types
6536
6537         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
6538         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
6539         license on these files.
6540
6541         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
6542         work.
6543
6544         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
6545         runtime random number different for each tree, instead of 
6546         a constant I made up.
6547
6548 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
6549
6550         * gtk/Makefile.am: buncha cleanups, kludged build sources
6551         dependencies with a Makefile: oldest-source-stamp dependancy
6552         for the moment. automake is really fighting us here, with
6553         intentionally not allowing user-defined rules or dependancies
6554         prior to it's -include $(DEP_FILES) statement. sucks rocks!
6555
6556         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
6557         to public headers. tehy have a comment stating that they are
6558         "semi-public" aren't included by gtk.h and if enums popup there,
6559         they can be /*< skip >*/-ed.
6560
6561         * gtk/gtktextlayout.h: 
6562         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
6563         added LGPL... <SIGH>
6564
6565 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
6566
6567         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
6568         GtkTreeIter.  Added iterators everywhere.
6569
6570         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
6571
6572         * gtk/gtktreeviewselection.c: Changed to use the iterators.
6573
6574         * gtk/gtktreestore.c: Changed to use the iterators.
6575
6576         * gtk/gtkliststore.c: Commented out the code.  Will convert to
6577         iterators tomorrow.
6578
6579         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
6580         iterators tomorrow.
6581
6582         * gtk/treestoretest.c: Changed to use iterators.
6583
6584         * demos/testgtk/main.c: Moved to use the new iterator system.
6585
6586 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
6587
6588         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
6589         localization misbehaviour.
6590
6591         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
6592         a useless type without copy/free.
6593
6594         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
6595         of GTK_TYPE_CTREE_NODE.
6596
6597 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
6598
6599         * gtk/gtksignal.c:
6600         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
6601         applicable.
6602
6603         * gtk/gtk-boxed.defs (GtkSelectionData): specify
6604         gtk_selection_data_copy and gtk_selection_data_free
6605         do GtkSelectionData work as params in signals.
6606
6607 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
6608
6609         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
6610         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
6611         couldn't they at least give it a non-standard name?
6612         
6613         * gtk/gtktextlayout.c: arg! yet another implementation of
6614         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
6615
6616         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
6617         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
6618         home. now i know this _is_ a conspiracy.
6619
6620         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
6621         ::state-changed.
6622
6623         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
6624         (gtk_accel_group_create_add): marshaller signature fixups.
6625
6626         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
6627         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
6628
6629         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
6630         anymore.
6631
6632 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
6633
6634         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
6635         due to the signal system changes, it wouldn't build currently. to
6636         be fixed soon.
6637
6638         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
6639
6640         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
6641         so it needs gtk_marshal_VOID__ENUM() instead of
6642         gtk_marshal_NONE__UINT().
6643
6644         * gdk/gdk*.c: adapted type registration functions.
6645
6646         * gtk/gtkbindings.c:
6647         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
6648         gone.
6649
6650         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
6651
6652         * gtk/gtkobject.c:
6653         (gtk_object_destroy):
6654         (gtk_object_shutdown): fixed recursion guards. basically we have to
6655         catch the case where any of GObject.shutdown() or gtk_object_destroy()
6656         is called during ::destroy, and avoid recursion there.
6657
6658         * gtk/gtktypeutils.c:
6659         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
6660         boxed_copy/boxed_free. this needs a more general solution based on a
6661         publically installed code-generator utility.
6662
6663         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
6664         glib's gobject has support for that now.
6665         define GtkSignalMarshaller in terms of GSignalCMarshaller.
6666
6667 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
6668
6669         * gtk/gtksignal.[hc]:
6670         * gtk/gtkmarshal.[hc]:
6671         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
6672         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
6673         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
6674         care of that.
6675
6676         * *.c: marshaller name fixups.
6677
6678         * gtk/gtkmarshal.list: added a comment briefing the format.
6679
6680 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
6681
6682         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
6683         compatibility macros here now. more specifically, most of
6684         the API is preserved (yes, _most_, nonwithstanding the
6685         following exceptions listed, the API is stil lHUGE ;)
6686         things that got removed completely:
6687         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
6688         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
6689         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
6690         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
6691         gtk_signal_remove_emission_hook().
6692         non-functional functions variants:
6693         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
6694         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
6695         not supported anymore.
6696         (gtk_signal_compat_matched): new internal function to aid
6697         implementation of the compatibility macros, it  provides
6698         functionality to block/unblock/disconnect handlers based
6699         on func/data.
6700
6701         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
6702
6703         * *.c: adaptions to new type registration API signatures.
6704
6705 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
6706
6707         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
6708
6709 2000-10-25  Robert Brady  <robert@suse.co.uk>
6710
6711         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
6712         gdk_property_delete): If window == NULL, assume the root window.
6713         (restoring the behaviour that was in 1.2).
6714         
6715         * gtk/testtext.c (save_buffer): Allow creation of new files when
6716         saving.
6717
6718         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
6719         calls to read().
6720
6721 2000-10-25  Tor Lillqvist  <tml@iki.fi>
6722
6723         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
6724
6725         * gdk/win32/gdkdrawable-win32.c
6726         * gdk/win32/gdkimage-win32.c
6727         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
6728         X11 backend.
6729
6730         * gdk/win32/gdkcc-win32.c
6731         * gdk/win32/gdkcolor-win32.c
6732         * gdk/win32/gdkfont-win32.c
6733         * gdk/win32/gdkinput-win32.c
6734         * gdk/win32/gdkmain-win32.c
6735         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
6736
6737 2000-10-24  Havoc Pennington  <hp@redhat.com>
6738
6739         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
6740         it a static function
6741
6742         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
6743         redraw text when a tag is applied to it.
6744
6745         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
6746         (gtk_text_tag_affects_nonsize_appearance): private functions to
6747         see if a tag requires various kinds of redraw/layout to be queued
6748         up.
6749
6750         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
6751
6752         * gtk/testtext.c (fill_example_buffer): Put the cursor 
6753         at the start of the buffer, so search works by default
6754
6755         * gtk/gtktextiter.c (lines_match): init match_start always
6756
6757         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
6758         function, get iter at a line + a byte index
6759
6760         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
6761         to set byte position within a line
6762         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
6763
6764 2000-10-23  Havoc Pennington  <hp@redhat.com>
6765
6766         * gtk/testtext.c: Re-enable the "find" dialog
6767
6768         * gtk/testgtk.c: Add test for gdk_drawable_get_image
6769         
6770         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
6771         the arguments to gdk_draw_drawable were in the wrong order
6772         (gdk_window_paint_init_bg): This function was ignoring the
6773         init_region, instead of clipping to it, so the entire backing
6774         pixmap was cleared on every begin_paint()
6775         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
6776         was in here again, the loop kept using the same GtkWindowPaint
6777         over and over.
6778         (gdk_window_begin_paint_region): Fix a bug where we had two
6779         x_offset instead of x_offset and y_offset
6780
6781         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
6782         before we get the image.
6783         (gdk_draw_drawable): get the composite before we draw the drawable.
6784         (gdk_drawable_real_get_composite_drawable): default
6785         get_composite_drawable implementation that returns the drawable 
6786         itself
6787
6788         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
6789         get_composite_drawable virtual function
6790
6791         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
6792         list-walking bug
6793
6794         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
6795         make this work if the source drawable is a GdkDrawableImplX11
6796         instead of a public drawable type. This is really broken; the
6797         problem is that GdkDrawable needs a virtual method get_xid(), but
6798         of course that doesn't work in practice. Enter RTTI.
6799
6800         Also, improve mismatched depth message.
6801
6802         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
6803         GdkPixmap
6804
6805         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
6806         install _gdk_x11_get_image as our implementation of get_image
6807         
6808         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
6809         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
6810
6811         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
6812         gdk_drawable_get_image
6813
6814         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
6815
6816         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
6817         get_image
6818
6819         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
6820         trailing semicolon after for loop
6821
6822 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
6823
6824         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
6825         where font_desc for widget's context lagged widget's font_desc by
6826         one step.
6827
6828 2000-10-22  Tor Lillqvist  <tml@iki.fi>
6829
6830         * gdk/win32/gdkgc-win32.c
6831         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
6832
6833         * gtk/makefile.mingw.in
6834         * gtk/gtk.def: Updates.
6835
6836         * gtk/testgtk.c: sleep() is called _sleep in MS's C
6837         library.
6838
6839         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
6840
6841         * gtk/makefile.msc: Remove
6842
6843         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
6844
6845         * gtk/Makefile.am: Add it.
6846
6847         * configure.in: Generate it.
6848
6849         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
6850         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
6851         something even if not implemented, to satisfy picky MSVC.
6852
6853         Patches by Hans Breuer:
6854         
6855         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
6856         SetBkMode() and SetTextAlign() before calling
6857         pango_win32_render().
6858
6859         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
6860         Set hcliprgn to NULL after destroying it.
6861         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
6862
6863         * gdk/win32/gdkgeometry-win32.c
6864         (_gdk_windowing_window_queue_antiexpose): More effective
6865         implementation.
6866
6867         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
6868         depth as default, not the visual's.
6869
6870         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
6871         against empty title.
6872
6873         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
6874         IMAGE_PRIVATE_DATA.
6875
6876         * gdk/win32/gdkimage-win32.c: Use it.
6877
6878 2000-10-22  Robert Brady  <robert@suse.co.uk>
6879
6880         * configure.in: Check for bind_textdomain_codeset
6881
6882         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
6883         present, make use of it.
6884
6885         Add a translatable string "default:LTR" which, if translated
6886         to "default:RTL", will cause the default direction to be
6887         Right-to-Left.
6888
6889         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
6890         direction if marked as flippable.
6891
6892         * gtk/gtkhscale.c: Mark widget as flippable.
6893         
6894 2000-10-04  Havoc Pennington  <hp@redhat.com>
6895
6896         * gtk/testgtk.c (create_buttons): create some stock buttons
6897         with the default accel group
6898         (create_image): test some new GtkImage features
6899         (make_message_dialog): test GtkMessageDialog
6900         (create_modal_window): fix someone's bizzarro indentation
6901
6902         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
6903         GTK_WIN_POS_CENTER_ON_PARENT. 
6904         Add "destroy with parent" setting, which means the window goes
6905         away with its transient parent.
6906         (gtk_window_get_default_accel_group): get the default accel group
6907         for the window.
6908         (gtk_window_set_destroy_with_parent): set/unset destroy with
6909         parent flag
6910         (gtk_window_read_rcfiles): invalidate icon set caches
6911         after reloading rcfiles 
6912
6913         * gtk/gtkenums.h (GtkWindowPosition): add
6914         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
6915         on its parent window when the dialog is mapped for the first time.
6916
6917         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
6918         a simple message dialog class
6919         
6920         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
6921         handler to emit response signal, and maybe later it would
6922         honor a hide_on_delete flag - though that isn't there yet.
6923         Set border width on the vbox to 2, so we get some padding.      
6924         Use a button box for the action area.
6925         (gtk_dialog_key_press): synthesize a delete event if Esc
6926         is pressed and the GtkWidget key press handler didn't 
6927         handle the escape key.
6928         (gtk_dialog_new_with_buttons): new function creates a dialog
6929         with some default buttons in it.
6930         (gtk_dialog_add_action_widget): add an activatable widget
6931         as a button in the dialog - you can also add a non-activatable
6932         widget by accessing the action area directly.
6933         (gtk_dialog_add_button): add a simple button - stock ID or 
6934         label - to the action area
6935         (gtk_dialog_response): emit response signal
6936         (gtk_dialog_run): block waiting for the dialog, return 
6937         the response. Override normal delete_event behavior, so that 
6938         delete_event does nothing inside gtk_dialog_run().
6939
6940         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
6941         emitted when an action widget is clicked or the dialog gets
6942         delete_event
6943
6944         * gtk/gtk.h: add gtkmessagedialog.h
6945
6946         * gtk/Makefile.am: add gtkmessagedialog.[hc]
6947
6948 2000-10-18  Havoc Pennington  <hp@redhat.com>
6949
6950         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
6951         where any number of empty lines would get skipped
6952
6953         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
6954         edge.
6955
6956         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
6957         warning about invalid iterators (explain more thoroughly)
6958         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
6959
6960         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
6961         big
6962
6963         * demos/*.c: Add error handling
6964
6965         * gtk/gtktextbuffer.c: don't modify const iterators
6966
6967         * gtk/gdk-pixbuf-loader.c: Add full error handling here
6968
6969         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
6970         on file load
6971
6972         * gtk/gtkiconfactory.c: Update to reflect addition of error
6973         handling to gdk-pixbuf loaders
6974
6975 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
6976
6977         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
6978         move to new modularized testgtk.
6979
6980 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
6981
6982         * gtk/gtktreeview.c: Draw the arrows correctly.
6983
6984         * gtk/gtktreemodel.c: Added user docs.
6985
6986         * gtk/gtk.h: remove gtktreedatalist.h.
6987
6988         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
6989         parent when generating my type.
6990
6991         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
6992         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
6993
6994 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6995
6996         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
6997         GtkTreeModel from object to interface.
6998
6999 2000-10-16  Havoc Pennington  <hp@redhat.com>
7000
7001         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
7002         compilation
7003
7004 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7005
7006         * gtk/gtktreeselection.c: Add API documentation to all public
7007         functions.
7008
7009         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
7010         functions.
7011
7012 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
7013
7014         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
7015         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
7016         docs to all public functions.
7017
7018         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
7019         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
7020         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
7021         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
7022         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
7023         issue.
7024
7025 2000-10-14  Robert Brady  <robert@suse.co.uk>
7026
7027         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
7028
7029 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
7030
7031         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
7032         values other then G_TYPE_STRING.
7033         * gtk/gtktreeselection.c: Minor commenting updates.
7034         * gtk/gtktreeview.c: Format updates.
7035
7036 2000-10-09  Tor Lillqvist  <tml@iki.fi>
7037
7038         * README.win32: Update.
7039
7040         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
7041         lines that had been deleted by mistake (?).
7042
7043         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
7044         also the case fg==white and bg==black (but still not randomly
7045         coloured cursors). Thanks to Wolfgang Sourdeau.
7046
7047         * gdk/win32/*.c: Silence gcc -Wall.
7048
7049         * gtk/gtk.def: Add missing entry points.
7050
7051         Fixes by Hans Breuer:
7052
7053         * gdk/makefile.msc
7054         * gdk/win32/makefile.msc: Update.
7055
7056         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
7057         some MSVC thing, presumably), cause breakpoint on failures. Add
7058         GDK_NOR case. Call g_log_set_always_fatal.
7059
7060         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
7061         should be pased by reference.
7062         
7063         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
7064         
7065         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
7066
7067         * gdk/win32/gdkevents-win32.c
7068         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
7069
7070         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
7071         implementation object.
7072
7073         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
7074         not just windows.
7075         
7076         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
7077         Use the wrapper object.
7078         
7079 2000-10-06  Havoc Pennington  <hp@redhat.com>
7080
7081         * Makefile.am (SRC_SUBDIRS): contrib subdir
7082
7083         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
7084         so it can be used in Xlib version
7085
7086         * demos/testpixbuf.c (update_timeout): error checking from 1.0
7087         tree
7088
7089         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
7090         change from 1.0 tree that returns first frame of animation
7091         if the loaded file is an animation.
7092
7093         * contrib: add new directory to hold stuff that comes with GTK+
7094         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
7095         
7096         * configure.in: add contrib/*
7097
7098 2000-10-05  Havoc Pennington  <hp@redhat.com>
7099
7100         * demos/testpixbuf-save.c: add pixbuf save test
7101
7102         * demos/Makefile.am: add testpixbuf-save.c
7103
7104 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
7105
7106         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
7107         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
7108         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
7109         * gtk/gtktreeselection.[ch]: Replaced
7110         "node_selected"/"node_unselected" signal with "selection_changed"
7111         signal.
7112
7113 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7114
7115         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
7116         tree widget.
7117
7118 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7119
7120         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
7121         drawing.
7122
7123 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
7124
7125         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
7126         Move list pointer forwards before removing item from
7127         list. (Crash reported by Salmaso Raffaele)
7128
7129         * gdk/gdkwindow.h: Remove spurious trailing ,
7130
7131         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
7132         dependencies on uninstalled libraries, sorry folks.
7133
7134 2000-10-04  Havoc Pennington  <hp@redhat.com>
7135
7136         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
7137         gtk/gtkiconfactory.c: Fix copyrights    
7138
7139         * demos/testpixbuf.c: add inline pixbuf test
7140         
7141 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
7142
7143         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
7144         Add gdk_window_iconify.
7145
7146         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
7147         (gdk_window_set_geometry_hints): Add win_gravity
7148         to geometry structure.
7149
7150         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
7151         Implement _NET_WM_PING.
7152
7153         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
7154         Set _NET_WM_PID on the client leader.
7155
7156         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
7157         Handle UTF-8 better.
7158
7159         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
7160         UTF-8 better, set _NET_WM_NAME as well. Only set
7161         icon name if it hasn't previously been explicitely 
7162         set.
7163
7164 2000-10-03  Havoc Pennington  <hp@redhat.com>
7165
7166         * gtk/testtextbuffer.c: clean up trailing whitespace,
7167         add extensive tests for tag toggle iteration.
7168         
7169         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
7170         distance
7171
7172         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7173         optimize case where the tag root is on level 1
7174         (gtk_text_line_previous_could_contain_tag): attempt to implement
7175         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
7176         functionality
7177
7178         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
7179         Implement this, though not very efficiently.
7180
7181         * gtk/gtktextiterprivate.h: reformat
7182
7183         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
7184         iterator
7185
7186         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
7187         this to properly revalidate the iterators.
7188
7189         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
7190         properly at the end of the line (and therefore on empty lines)
7191
7192         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
7193         maybe we should return a value...
7194
7195 2000-10-03  Tor Lillqvist  <tml@iki.fi>
7196
7197         * config.h.win32: Guard definition of alloca(). glib.h now handles
7198         that.
7199
7200         * gdk/gdk.def
7201         * gtk/gtk.def: Add new entry points.
7202
7203         Changes just to make GTK+ build without errors on Win32. No hope
7204         of it working in its current state, though...:
7205         
7206         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
7207         some functions from the X11 backend, just to make GTK+ build.
7208
7209         * gdk/makefile.mingw.in
7210         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
7211         number. Add new object files.
7212
7213         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
7214         GetMessageTime to get timestamp (where on X11 uses
7215         gdk_x11_get_server_time()).
7216
7217 2000-10-02  Havoc Pennington  <hp@pobox.com>
7218
7219         * gtk/gtktextview.c: text_window_* weren't static and should have
7220         been.
7221         Start work on child widgets; not yet complete, syncing to 
7222         office computer.
7223
7224         * gtk/gtktextchild.h: change this to contain a public interface,
7225         starting work on child interfaces.
7226         * gtk/gtktextchildprivate.h: move private interfaces here
7227
7228         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
7229
7230         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
7231         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
7232         gtk/gtktextmark.c: copyright notices
7233
7234         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
7235         internal functions      
7236
7237         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
7238         internal function
7239
7240         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
7241         Reformatting    
7242
7243 2000-09-30  Havoc Pennington  <hp@pobox.com>
7244
7245         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
7246         NULL start/end pointers
7247
7248         * gtk/gtktextbuffer.c: Write some docs
7249         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
7250         NULL, so you can just check whether there's a selection.        
7251
7252         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
7253         cleanup_line or segments_changed ourselves, it gets done 
7254         in unlink_segment
7255
7256         * gtk/gtktextmark.h:
7257         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
7258         
7259         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
7260
7261         * gtk/gtktextmark.c: delete some more old Tk cruft
7262
7263         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
7264         mark before removing it, so we can emit MARK_DELETED with a valid
7265         pointer.
7266         (gtk_text_buffer_mark_set): hold ref across signal emission
7267
7268         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
7269         whining about attempts to delete special marks
7270
7271         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
7272         underscore, since it's internal.
7273
7274         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
7275         now implemented in terms of iterators in gtktextiter.h
7276
7277         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
7278         New function, destructively sets contents of buffer. Also 
7279         a convenient way to clear the buffer by setting text to ""
7280
7281         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
7282         multiline string literal
7283
7284         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
7285         text changes.
7286
7287         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
7288         is not dereferenceable
7289         (gtk_text_iter_forward_lines): fix return value
7290
7291 2000-09-29  Havoc Pennington  <hp@redhat.com>
7292
7293         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
7294
7295         * gtk/gtktextview.c: Implement drag thresholding; change functions 
7296         that set border window size to have nicer name
7297         (gtk_text_view_mark_set_handler):  Fix this to have the 
7298         right signature.
7299
7300         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
7301
7302         * gtk/testtext.c: Update with API changes, put line numbers on 
7303         both sides.
7304         
7305         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
7306         with this
7307
7308         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
7309         pixbuf; delete a big block of #if 0 Tk code
7310
7311         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
7312         insert_pixmap with insert_pixbuf
7313
7314 2000-09-29  Martin Baulig  <baulig@suse.de>
7315
7316         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
7317         confusion with the GdkPixbuf of the GNOME 1.x platform.
7318
7319 2000-09-29  Havoc Pennington  <hp@pobox.com>
7320
7321         * gtk/gtktextview.c: Implement the side windows.
7322
7323         * gtk/testtext.c: Implement simple line numbering in the 
7324         left side window; seems to make scrolling sloooow. Oops.
7325         Also, cursor blink is for some reason causing redraws
7326         of the line numbers. Should investigate...
7327
7328 2000-09-28  Havoc Pennington  <hp@redhat.com>
7329
7330         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
7331         scrolling child windows, and draw focus rectangle properly.
7332         
7333         (gtk_text_view_buffer_to_window_coords):
7334         Coordinate transformation to deal with all these freaking windows
7335         and offsets
7336         (gtk_text_view_window_to_buffer_coords): transform the other way
7337
7338         * gtk/testtext.c (create_buffer): Update to match Pango API change
7339
7340         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
7341         anonymous tags
7342         (foreach_unref): don't emit remove signal from finalize, just
7343         set tag's parent to NULL
7344
7345 2000-09-26  Havoc Pennington  <hp@redhat.com>
7346
7347         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
7348         Fix some warnings       
7349
7350 2000-09-26  Havoc Pennington  <hp@redhat.com>
7351
7352         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
7353         headers into the private header list
7354
7355         * Makefile.am (pkgconfig_DATA): install pkg-config files
7356
7357         * configure.in: add pkg-config files
7358
7359         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
7360
7361         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
7362         outstanding icon caches on theme change.
7363
7364         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
7365         important types:
7366
7367         (GtkIconSource): Specification for creating a pixbuf 
7368         appropriate for a direction/state/size triplet from 
7369         a source pixbuf or filename
7370
7371         (GtkIconSet): List of GtkIconSource objects that are used to
7372         create the "same" icon (e.g. an OK button icon), and cache for
7373         rendered icons
7374
7375         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
7376         up the icon set for a given stock ID.  GTK maintains a stack of
7377         GtkIconFactory to search, and applications or libraries can add
7378         additional icon factories on top of the stack
7379         
7380         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
7381         the set of GtkIconSource specified for a given stock ID into 
7382         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
7383         RcStyle, under the specified stock ID.
7384
7385         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
7386         render_icon used to derive a GdkPixbuf from a GtkIconSource.
7387         This allows people to theme how prelight, insensitive, etc. are
7388         done.
7389
7390         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
7391         icon factories for a style, and return the resulting 
7392         icon set if any.
7393
7394         (gtk_style_render_icon): Render an icon using the render_icon 
7395         method in the GtkStyleClass.
7396
7397         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
7398         Use the style for a given widget to look up a stock ID, get the
7399         icon set, and render an icon using the render_icon method 
7400         of the style
7401
7402         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
7403         (contains information about a stock item), the built-in stock item
7404         IDs, and functions to add/lookup stock items.
7405
7406         * gtk/stock-icons/*: Stock icons that come with GTK
7407
7408         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
7409         a button based on a GtkStockItem
7410         (gtk_button_new_accel): Takes a uline string and accel group, and
7411         installs the accelerator.
7412
7413         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
7414         image-display widget.
7415
7416 2000-09-25  Havoc Pennington  <hp@redhat.com>
7417
7418         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
7419
7420         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
7421         Fix a bug when removing node data, we didn't properly 
7422         re-splice the linked list after removing the data.
7423
7424         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
7425         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
7426
7427         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
7428
7429         * gtk/gtktextlayout.c (set_para_values): Set tab array 
7430         for the layout from the GtkTextTag.
7431
7432         * gtk/gtktexttypes.h: delete tab and search cruft, 
7433         remove g_convert() in favor of GLib version
7434
7435         * gtk/gtktexttypes.c: remove tab implementation from here,
7436         move to Pango
7437
7438         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
7439         tab stuff using new PangoTabArray from Pango
7440
7441         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
7442         unused border_width stuff
7443
7444 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
7445
7446         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
7447         glib) and now useless utf_to_latin1() latin1_to_utf()
7448
7449         * gtk/gtktextview.[ch]: Change ::move_insert and
7450         ::delete_text action signals to ::move and ::delete;
7451         create the signals with the right enumeration type,
7452         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
7453         C-v bindings, change Home, End to move to beginning/end
7454         of line, Add C-Home C-End to move to beginning/end
7455         of buffer. Change ::cut_text to ::cut_clipboard, etc;
7456         combine ::scroll_text into ::move; use new GtkSelectionData
7457         functions to simplify DND text handling.
7458         
7459         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
7460         deletion enumerations here, rename enumeration values to 
7461         be consistently plural.
7462
7463         * gtk/gtktextbuffer.c: Use new clipboard interfaces
7464         for cut/copy/paste and primary selection.
7465
7466         * gtk/gtktextbuffer.[ch]: Remove excess time and
7467         'interactive' arguments from cut/copy/paste;
7468         rename cut to cut_clipboard, etc; remove
7469         gtk_text_buffer_get_clipboard_contents().
7470
7471         * gtk/gtktextlayout.[ch]: Add 
7472         gtk_text_layout_move_iter_to_line_end() to move the iter to 
7473         line ends.
7474
7475         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
7476         Functions to set or get a UTF-8 string on the selection
7477         data.
7478
7479         * gtk/gtkclipboard.[ch]: New, simplified selection handling
7480         interfaces.
7481
7482         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
7483         created widgets - one of these is useless if we don't.
7484
7485         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
7486         a public function clear all targets registered for the
7487         widget.
7488
7489         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
7490         Never call gtk_widget_realize() - that was just asking
7491         for bizarre side-effects.
7492
7493         * gtk/gtkselection.c (gtk_selection_owner_set): Call
7494         gdk_selection_owner_set even if the widget is the
7495         same so that we reliably update the timestamp on
7496         the server.
7497
7498         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
7499         gdk_x11_get_server_time() function.
7500         
7501         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
7502         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
7503         Add some tricky filtering on serial numbers for
7504         selection clear events to fix up long-standard
7505         race condition FIXME's in gtkselection.c.
7506
7507         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
7508         routines to convert from utf8 to compound text or
7509         STRING and from a text property to UTF-8.
7510
7511         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
7512         a convenience function gdk_get_current_event_time().
7513
7514         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
7515         and free selection_data->data properly
7516
7517 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
7518
7519         * gtk/gtkthemes.c: Remove some unecessary includes.
7520
7521 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
7522
7523         * gtk/gtktextdisplay.c
7524         * gtk/gtktextlayout.c
7525         * gtk/gtktexttag.c
7526         * gtk/gtktexttag.h
7527         * gtk/testtext.c: Change the overstrike property to strikethrough,
7528         to closer match pango.
7529
7530 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
7531
7532         * gtk/gtktextview.c: Fix up visibility so that focus,
7533         cursor_visible and blink interact properly.  Reenable cursor blink
7534         which had been roughly disabled. Make blink and focus
7535         properly per-view.
7536
7537         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
7538         Add a flag for whether to display insertion cursor and
7539         a function to set the flag.
7540
7541         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
7542         get_line_y() to get_line_yrange(), to be a bit more generally
7543         useful.
7544
7545 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
7546
7547         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
7548           do stop_navigating_submenu, to clear last timeout properly.
7549           Also in gtk_menu_motion_notify move ignore_enter above
7550           the conditional to make it always happen as suggested by Owen
7551
7552 2000-09-07  Tor Lillqvist  <tml@iki.fi>
7553
7554         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
7555
7556         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
7557         w32api headers.
7558
7559         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
7560         declarations.
7561
7562         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
7563         (gdk_win32_get_colormap): A line had been deleted by mistake.
7564
7565         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
7566         (gdk_event_translate): Handle more virtual keycodes to be able to
7567         generate GDK events for Control-comma, Control-period, etc.
7568
7569         * gtk/gtk.def: Add some missing entry points.
7570
7571 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
7572
7573         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
7574         Doc comment fixing. (Mostly non-matching parameter names.)
7575
7576         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
7577         comments a little to avoid looking like a doc comment.
7578
7579         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
7580         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
7581         conversions be changed to GError?)
7582
7583         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
7584         Move private #defines into .c file.
7585
7586         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
7587         order of argument addition, remove duplicates.
7588
7589         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
7590         parent class is FrameClass, not BinClass.
7591
7592         * gtk/gtk.h: Add gtkinvisible, which was missing.
7593         (It's occasionalyl useful for client apps, if seldom.)
7594
7595         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
7596         #define.
7597
7598 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
7599
7600         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
7601         coordinates when creating window, instead of GDK-space
7602         coordinates. (Avoid BadValue on too large windows.)
7603
7604 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7605
7606         * configure.in (use_mmx_asm): Remove conftest* after use along the
7607         lines of AC_TRY_COMPILE.        
7608         
7609         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
7610         of g_dirname, which is deprecated.
7611         (gtk_rc_parse_any): Removed calls to
7612         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
7613
7614         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
7615         Removed calls to g_hash_table_{freeze,thaw}, as they are
7616         deprecated now.
7617
7618         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
7619         instead of g_basename.
7620         
7621 2000-09-04 Elliot Lee <sopwith@redhat.com>
7622         
7623         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
7624         ANSI warning.
7625
7626 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
7627
7628         * gtk/gtkwidget.h:  Add some documenting comments about 
7629           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
7630           just as owen said on irc.
7631
7632         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
7633           set HAS_DEFAULT.  Only set it if there isn't another window
7634           holding it (a focus window which RECEIVES_DEFAULT) and only unset
7635           it if the widget is not the focused window with RECEIVES_DEFAULT.
7636           This fixes weird double default bugs in dialogs which has things
7637           call gtk_window_set_default at times.
7638
7639 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
7640
7641         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
7642         Nils Barth and David Santiago to improve submenu
7643         navigation. The patch does this by creating a triangular
7644         region from the point where the pointer leaves the
7645         menu to the submenu.  While the pointer is in
7646         that region and a timeout has not expired, events 
7647         that would cause the active submenu to change are
7648         ignored.
7649
7650 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
7651
7652         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
7653         moving a toplevel window immediately after sizing it would
7654         result in it being sized back to the old size since 
7655         impl->width, impl->height aren't updated until we hear
7656         back from the server. There is still a (longstanding) bug
7657         here that gdk_window_get_size() will give the wrong size
7658         until we do hear back.
7659
7660 2000-08-31  Havoc Pennington  <hp@redhat.com>
7661
7662         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
7663         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
7664         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
7665         Rename GtkTextStyleValues to GtkTextAttributes
7666
7667 2000-08-31  Havoc Pennington  <hp@pobox.com>
7668
7669         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
7670         for rapid testing whether an iterator is the end iterator
7671         (gtk_text_btree_new): init end line cache
7672         (gtk_text_line_is_last): use fast cached line to 
7673         see if we're the last line.
7674         (get_last_line): use cached line here too, should 
7675         speed up some random unrelated code.
7676         
7677 2000-08-30  Havoc Pennington  <hp@pobox.com>
7678
7679         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
7680         signals.
7681
7682         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
7683         delete_text signals. This allows the signals to be used for
7684         implementing undo.
7685
7686         * gtk/gtktextbuffer.c: Change signal handler signatures; 
7687         provide "interactive" argument when emitting insert_text or
7688         delete_text signal.
7689         
7690 2000-08-30  Havoc Pennington  <hp@pobox.com>
7691
7692         * gtk/gtktextbuffer.c: Docs
7693
7694 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
7695
7696         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
7697         from switch statements, since Tor removed the enumeration
7698         value.
7699         
7700         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7701         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
7702
7703 2000-08-29 Elliot Lee <sopwith@redhat.com>
7704         * */*.h: Use G_GNUC_CONST.
7705
7706 2000-08-27  Havoc Pennington  <hp@pobox.com>
7707
7708         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
7709         minor indentation fixes, inserted some FIXME about stuff I
7710         realized was broken while documenting it.
7711         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
7712         GTK convention  
7713
7714 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
7715
7716         * gtk/testgtk.c (create_styles): Fix double free of
7717         font desc.
7718
7719 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7720
7721         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
7722         
7723         * gtk/testgtk.c (create_styles): Add a test for modifying
7724         the style through gtk_widget_modify_*.
7725
7726         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
7727         a function to get the current modifier style.
7728
7729         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
7730         of the passed in GtkRcStyle instead of ref'ing it.
7731
7732         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
7733
7734 2000-08-20  Tor Lillqvist  <tml@iki.fi>
7735
7736         * gdk/gdkimage.h
7737         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
7738         shared memory image+pixmap GdkImage type, or
7739         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
7740         I am dropping that.
7741
7742         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
7743         actually call gtk_init_abi_check(), passing also
7744         sizeof(GtkWindow). Ditto for gtk_init_check(). 
7745
7746         * gtk/gtk.def
7747         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
7748         New functions, used to check that the GTK+-using code has been
7749         compiled using the correct compiler and switches. In particular,
7750         with gcc one has to use the -fnative-struct switch as GTK+ is
7751         compiled with that.
7752
7753 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
7754
7755         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
7756         ->prev fields when merging lists. (Found simultaneously
7757         by Pawel Salek and Jakub Jelinek)
7758
7759 2000-08-12  Tor Lillqvist  <tml@iki.fi>
7760
7761         * gdk/gdk.def
7762         * gtk/gtk.def: Add missing entries.
7763
7764         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
7765         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
7766
7767         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
7768         function. Dummy implementation at this point.
7769
7770         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
7771         rules. Undefine GTK_COMPILATION when compiling the test programs.
7772         
7773         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
7774
7775 2000-08-11  Tor Lillqvist  <tml@iki.fi>
7776
7777         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
7778         to convert back and forth from UTF-8 and the "system" (or "current
7779         locale") charset when necessary. Indentation/spacing cleanup.
7780
7781 2000-08-10  Havoc Pennington  <hp@redhat.com>
7782
7783         * Makefile.am (snapshot): Change the format of the snapshot
7784         version to match glib
7785
7786         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
7787         from EXTRA_DIST since it doesn't seem to exist
7788
7789 2000-08-10  Tor Lillqvist  <tml@iki.fi>
7790
7791         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
7792         version of the directory name (not the UTF-8 one) when building
7793         the path name to stat().
7794
7795 2000-08-03  Elliot Lee  <sopwith@redhat.com>
7796
7797         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
7798         PANGO_ATTR_SHAPE set.
7799
7800 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
7801
7802         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
7803         Peter Osterlund to simplify the code while keeping the
7804         functionality the same.
7805
7806 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
7807
7808         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
7809         is_viewable() test further inside the function, since removing the 
7810         window from the redraw list without clearing ->update_area
7811         was also very broken.
7812
7813 2000-08-02  Tor Lillqvist  <tml@iki.fi>
7814
7815         * configure.in: Check for <unistd.h>.
7816
7817 2000-08-01  Martin Baulig  <baulig@suse.de>
7818
7819         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
7820         to display the message that this is a development version of GTK+.
7821
7822 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
7823
7824         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
7825         was depending on widget->allocation instead of the width of text_area,
7826         which was incorrect for subclasses like GtkSpinButton.
7827
7828         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
7829         with width == 1 tests that should be width == -1.
7830
7831 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
7832
7833         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
7834         (broken, Elliot, every single window blank on X) custom code with call
7835         to gdk_window_is_viewable() which a) prevents code duplicate and
7836         b) works. 
7837
7838 2000-07-31  Elliot Lee  <sopwith@redhat.com>
7839
7840         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
7841         to get the GDK_PARENT_ROOT() macro to work.
7842         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
7843         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
7844         of, windows that aren't shown.
7845         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
7846         pointer grab stuff.
7847
7848 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
7849
7850         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
7851           s/gtk_main_iteration/g_main_iteration/
7852
7853           Did this already in change:
7854                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
7855           don't know how it got reverted.
7856
7857 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
7858
7859         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
7860         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
7861
7862         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
7863         not gdk_pixbuf.
7864
7865 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
7866
7867         * configure.in,po/{sp,sr}.po: Added Serbian files
7868
7869 2000-07-30  Tor Lillqvist  <tml@iki.fi>
7870
7871         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
7872
7873         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
7874         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
7875         GIOChannel implementation.
7876
7877         * gdk/win32/gdkinput.c
7878         * gdk/win32/gdkpango-win32.c: Update license name here, too.
7879
7880         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
7881         definition to match prototype.
7882
7883         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
7884
7885 2000-07-27  Elliot Lee  <sopwith@redhat.com>
7886
7887         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
7888         function, to allow handling image formats that cannot be detected
7889         by looking at content alone.
7890
7891 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
7892
7893         * docs/tutorial/*.gif *.jpg *.eps
7894           Update these to the same look-n-feel.
7895           Why does including images in DocBook suck so badly?
7896
7897 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
7898
7899         * gtk/gtktable.c: applied patch from Phil Thompson
7900         <phil@river-bank.demon.co.uk> that enables space settings for
7901         the last row/columns as well.
7902
7903 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
7904
7905         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
7906         updates the license headers to the GNU Lesser General Public License,
7907         as well as updating the copyright year to 2000.
7908
7909 2000-07-26  Robert Brady  <rwb197@zepler.org>
7910
7911         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
7912           and po/Makefile, was installing and looking for them under gtk20
7913           and gtk2 respectively.
7914
7915 2000-07-25  Havoc Pennington  <hp@redhat.com>
7916
7917         * gtk/testtext.c: Comment out some stuff that depends on the rest
7918         of my patches.
7919
7920 2000-07-25  Havoc Pennington  <hp@redhat.com>
7921
7922         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
7923         buffer
7924
7925 2000-07-25  Havoc Pennington  <hp@redhat.com>
7926
7927         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
7928         widget changes.
7929
7930         * gtk/gtktextview.h: To be consistent with usage of "line"
7931         throughout the API to mean "newline-terminated thingy", change
7932         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
7933         to MOVEMENT_LINE.
7934
7935         (GtkTextView): Add flags for default editability, and whether to
7936         show the cursor. Add functions to get/set that. Add 
7937
7938         (gtk_text_view_get_iter_location): new function
7939
7940         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
7941         gtktextlayout.h
7942         (g_convert): Add g_convert temporarily, will go in glib in a bit
7943         
7944         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
7945         GtkTextTagTableForeach instead of brokenly using GHFunc.
7946         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
7947
7948         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
7949         moved to public header.
7950
7951         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
7952         "invisible", since "elide" was a bad name.
7953         (gtk_text_tag_get_priority): Added
7954
7955         (GtkTextStyleValues): put this in public header, along with
7956         functions to use it.
7957
7958         * gtk/gtktextmarkprivate.h: Include more headers, since we no
7959         longer include gtktextbtree.h.
7960
7961         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
7962         gtk_text_mark_deleted
7963
7964         * gtk/gtktextlayout.h: Don't include the "really private" headers,
7965         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
7966         to make this possible. Now we only need to install
7967         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
7968         (However the Makefile.am isn't changed yet because of the
7969         logistics of merging gtk-hp-patches piecemeal)
7970
7971         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
7972         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
7973         gtk_text_iter_get_line is now used in the public API for a
7974         different purpose.
7975
7976         * gtk/gtktextiter.h: Clean up function names to be more
7977         consistent. Always call char offset "offset" and byte index
7978         "index". A "line" is always a line number. 
7979
7980         (gtk_text_iter_is_last): new function, more efficient than 
7981         the existing way to check
7982         (gtk_text_iter_is_first): new function, also more efficient
7983
7984         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
7985
7986         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
7987         gtk_text_iter_forward_char, etc.
7988
7989         (gtk_text_iter_forward_to_tag_toggle): Renamed from
7990         forward_find_tag_toggle, since this isn't a linear search
7991
7992         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
7993
7994         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
7995         New functions, search for a buffer substring.
7996
7997         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
7998         interactive and default editable (since we need to store that info
7999         until we receive the selection data).
8000
8001         Remove all the _at_char and at_line etc. versions of functions;
8002         only have iterator versions.
8003
8004         Add _interactive() versions of functions, that consider the
8005         editability of text. (FIXME add interactive flag to the 
8006         insert/delete signals per Darin's suggestion)
8007
8008         (gtk_text_buffer_get_tag_table): new function, demand-creates the
8009         tag table if necessary
8010
8011         Remove declaration of gtk_text_buffer_get_iter_from_string
8012
8013         (_gtk_text_buffer_get_btree): private/internal function, added.
8014         
8015
8016         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
8017         (gtk_text_line_is_last): new function
8018
8019 2000-07-25  Havoc Pennington  <hp@redhat.com>
8020
8021         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
8022         using GtkProgressBar. See Changes-2.0.txt for details.
8023
8024         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
8025         "pulse_step" which are the equivalent of
8026         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
8027         Implement new API.
8028         
8029         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
8030         (use_text_format) to mark whether text set on the progress bar is
8031         a format string. Deprecate entire GtkProgress interface.
8032
8033         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
8034         (gtk_progress_build_string): make this a no-op if use_text_format
8035         is FALSE
8036
8037         * docs/Changes-2.0.txt: Describe progress bar changes.
8038
8039 2000-07-25  Tor Lillqvist  <tml@iki.fi>
8040
8041         * Makefile.am: Include the build directory.
8042
8043         * configure.in: Generate build/Makefile, build/win32/Makefile,
8044         gdk/, gdk/win32/, and gtk/makefile.mingw.
8045
8046         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
8047         Add GETTEXT_PACKAGE.
8048         
8049         * gdk/gdk.def
8050         * gtk/gtk.def: Updates.
8051
8052         * gdk/gdkfont.h
8053         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
8054         need them any longer.
8055
8056         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
8057
8058         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
8059         PANGOWIN32_LIBS and gdk_pixbuf.
8060
8061         * gdk/win32: Compiles, but no doubt doesn't work at all.
8062
8063         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
8064
8065         * gdk/win32/gdkinput.c: New file, temporarily.
8066         
8067         * gdk/win32/gdkinput-win32.h: New file
8068
8069         * gdk/win32/gdkinputprivate.h: Remove.
8070
8071         * gdk/win32/gdkpango-win32.c: New file.
8072
8073         * gtk/makefile.mingw.in: New file
8074
8075         * gtk/makefile.cygwin: Removed
8076         
8077         * gtk/Makefile.am: Update accordingly.
8078
8079         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
8080         made externally visible.
8081
8082         * gtk/gtkmain.c: Use it.
8083         
8084         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
8085         is enough.
8086
8087         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
8088
8089 2000-07-24 Elliot Lee <sopwith@redhat.com>
8090         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
8091         individual backends already.
8092         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
8093         again. Yes, there really is a good reason for this, if you are using the gdkregion
8094         internals, and if you're not, why do you care?
8095         * gdk/gdkwindow.c: Fix inverted condition
8096         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
8097         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
8098         * gtk/gtkrange.c: Redraw trough when moving.
8099         * gtk/gtktypeutils.c: Fix warning by adding const cast.
8100         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
8101
8102 2000-07-23  Tor Lillqvist  <tml@iki.fi>
8103
8104         * configure.in: Check for mkstemp and sigsetjmp. Output
8105         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
8106
8107         More work on GDK for Win32. Still in an intermediate state.
8108
8109         * gdk/makefile.cygwin
8110         * gdk/win32/makefile.cygwin: Removed.
8111         
8112         * gdk/makefile.mingw.in
8113         * gdk/win32/makefile.mingw.in: New files.
8114
8115         * gdk/Makefile.am
8116         * gdk/win32/Makefile.am: Generate and distribute them.
8117
8118         * gdk/win32/gdkwindow-win32.h
8119         * gdk/win32/gdkdrawable-win32.h
8120         * gdk/win32/gdkpixmap-win32.h: New files.
8121
8122         * gdk/win32/gdkcolor-win32.c
8123         * gdk/win32/gdkcursor-win32.c
8124         * gdk/win32/gdkdrawable-win32.c
8125         * gdk/win32/gdkgc-win32.c
8126         * gdk/win32/gdkimage-win32.c
8127         * gdk/win32/gdkprivate-win32.h
8128         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
8129         Rename fields and variables called xcursor, xid, etc (these names
8130         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
8131
8132 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
8133
8134         * gtk/gtkentry.[ch]: Fix some problems with vertical
8135         alignment.
8136
8137         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
8138         char/byte confusion.
8139
8140 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
8141
8142         * gtk/gtktextview.c (changed_handler): Fix bug where
8143         redraw wasn't being done properly when height of
8144         dirty region changed.
8145
8146         * demos/Makefile.am: Remove various references to
8147         -lgmodule
8148
8149 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
8150
8151         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
8152         PangoAttrShape to reserve space for pixmaps, add 
8153         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
8154         in the display functions.
8155         
8156         * gtk/testgtk.c (create_layout): Set some more exotic
8157         scrolled window options
8158
8159         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
8160         Add function to set the shadow type of a window, to allow
8161         putting a shadow around widgets such as GtkLayout or GnomeCanvas
8162         which don't draw their own frame.
8163
8164 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
8165
8166         * docs/tutorial/package-db-tutorial.sh: New file for
8167           packaging DocBook format tutorial
8168
8169 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
8170
8171         * docs/tutorial/gtk-tut.sgml: Minor updates
8172
8173         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
8174
8175 2000-07-19  Tor Lillqvist  <tml@iki.fi>
8176
8177         * gtk/gtksignal.c: Fix C++ comment.
8178
8179         * gtk/gtkimmulticontext.c
8180         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
8181         don't return value from void functions.
8182
8183         * gtk/gtk.def: Add gtk_rc_style_unref.
8184
8185 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8186
8187         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
8188         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
8189         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
8190         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
8191         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
8192         gtk/gtktypeutils.h: Include files outside of the extern "C"
8193         block. Makes some C++ compiler happy. Reported by Denis Vakatov
8194         <vakatov@peony.nlm.nih.gov>.
8195
8196 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
8197
8198         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
8199           Completes first pass. Hurrah!
8200
8201 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
8202
8203         * docs/tutorial/gtk-tut.sgml: More clean ups.
8204
8205 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
8206
8207         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
8208         paint the background of the text area which was accidentally
8209         removed at some point.
8210
8211         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
8212           
8213          - Move most of the functionality from the theme vtable
8214            into GtkRcStyleClass and GtkStyleClass. The moved
8215            vtable functions were changed a bit in the move to
8216            work better in their new home.
8217
8218          - Get rid of the engine and engine_data fields from
8219            GtkRcStyle and GtkStyle; instead the theme
8220            engine derives theme-specific subclasses of GtkRcStyle
8221            and GtkStyle
8222
8223          - Add extra dlsym() found entry point to themes,
8224            theme_create_rc_style().
8225
8226         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
8227         in gtk_style_real_copy.
8228
8229         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
8230         to register a type associated with an engine. (The engine
8231         won't be unloaded as there is an instance of the type.)
8232
8233
8234 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
8235
8236         * docs/tutorial/gtk-tut.sgml: Clean ups.
8237
8238 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
8239
8240         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
8241           of cleaning up to do.
8242
8243 2000-07-15  Tor Lillqvist  <tml@iki.fi>
8244
8245         * gdk/testgdk.c: New file, quick hack to test backends for
8246         pixel-by-pixel correctness of the most simple graphic operations.
8247
8248 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
8249
8250         * Really release 1.3.1
8251         
8252         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
8253         include structure.
8254
8255 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
8256
8257         * Released 1.3.1
8258
8259 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
8260
8261         * gtk/gtktextlayout.c: use FALSE for size_only most
8262         of the time when calling gtk_text_layout_get_line_display()
8263         to avoid causing double reshapes when a redraw follows
8264         immediately after.
8265
8266 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
8267
8268         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
8269         appropriate region and gdk_window_process_updates() so trough
8270         updating doesn't lag behind the window being scrolled.
8271
8272         * gdk/gdkgc.c: Make parent_class pointer static.
8273          
8274 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
8275
8276         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
8277         include <string.h>.
8278          
8279         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
8280         cut-and-paste error in computing memory offset for 4 channels.
8281
8282 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
8283
8284         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
8285         gtk_rc_append_default_pixmap_path(), since it wasn't
8286         adding an interesting path and we don't have a meaningful
8287         default for this value.
8288
8289 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
8290
8291         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
8292         gtk-config to gtk-config-2.0 move gtk_.m4 to
8293         gtk-2.0.m4
8294
8295         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8296         gdk/Makefile.am demos/Makefile.am: Change 
8297         library names to libgtk-1.3.la, etc, so that we
8298         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
8299
8300         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8301         gdk/Makefile.am gdk/x11/Makfile.am
8302         Move include files into /usr/include/gtk-2.0, 
8303         /usr/lib/gtk-2.0/include/
8304          
8305         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
8306         gtk/gtkintl.h: Change package for gettext from 
8307         gtk+ to gtk20. Put hack in autogen.sh to modify
8308         po/Makefile.in.in after gettextize to make this
8309         possible.
8310
8311         * gtk+.spec: Some updates, not tested.
8312
8313         * gdk-pixbuf/Makefile.am: Move loaders into
8314         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
8315
8316         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
8317         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
8318         to THEMENAME/gtk-2.0/. Move engine directory  to
8319         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
8320         
8321 2000-07-12  Tor Lillqvist  <tml@iki.fi>
8322
8323         Win32 changes, still doesn't build though.
8324
8325         * gdk/makefile.cygwin
8326         * gdk/win32/makefile.cygwin
8327         * gtk/makefile.cygwin: Updates.
8328
8329         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
8330         default values for fg and bg pixel as X11 does (0 and 1), not
8331         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
8332         Use 0 for pen width by default (treated as 1 anyway later, but for
8333         apps that might check the value in the GdkGC).
8334         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
8335         interface to gdk_gc_predraw and _postdraw.
8336
8337         * gdk/win32/gdkwin32.h
8338         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
8339
8340         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
8341         extraneous semicolon.
8342
8343         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
8344
8345         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
8346         not the Win32 bitspixel value.
8347
8348         * gdk/win32/gdkcc-win32.c:
8349         * gdk/win32/gdkcolor-win32.c 
8350         * gdk/win32/gdkprivate-win32.h
8351         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
8352         GDK object structure.
8353
8354 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
8355
8356         * docs/tutorial/gtk_tut_12.es.sgml (name): 
8357         * docs/tutorial/gtk_tut_it.sgml (name): 
8358         * docs/tutorial/gtk_tut_fr.sgml (name): 
8359         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
8360         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
8361
8362 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
8363
8364         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
8365           small changes.
8366
8367 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
8368
8369         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
8370         a bug here, never been here and never fixed anything ;(
8371         (don't segfault if tree->root_tree is NULL, which happens prior
8372         to widget realization, but puke instead).
8373
8374 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
8375
8376         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
8377         add the necessary tokens.
8378
8379         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
8380         (gtk_rc_style_to_style): copy thicknesses.
8381         (gtk_rc_init_style): apply thicknesses.
8382         (gtk_rc_parse_style): parse xthickness and ythickness.
8383
8384         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
8385
8386         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
8387         (gdk_window_new): 
8388         (_gdk_windowing_window_init): 
8389         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
8390         (gdk_pixmap_create_from_data): 
8391         (gdk_bitmap_create_from_data): 
8392         (gdk_pixmap_new): 
8393         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8394         (gdk_image_new): 
8395         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
8396         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
8397         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
8398         (gdk_colormap_get_system): 
8399         (gdk_colormap_new): 
8400         * gdk/gdkwindow.c (gdk_window_init): 
8401         * gtk/gtkstyle.c (gtk_style_new):
8402         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
8403         * gdk/gdkpixmap.c (gdk_pixmap_init): 
8404         * gtk/gtkrc.c (gtk_rc_style_new):
8405         use g_object_new() instead of g_type_create_instance() which
8406         is a private function for fundamental type implementations.
8407
8408 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
8409
8410         * configure.in: Add check for db2html
8411
8412 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
8413
8414         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
8415         hack to set glib_debug_objects based on gtk_debug_flags.
8416
8417 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
8418
8419         * INSTALL.in: Update the Prerequisites section.
8420
8421         * Makefile.am demos/Makefile.am docs/Makefile.am
8422         docs/tutorial/Makefile.am gdk/x11/Makefile.am
8423         gdk/linux-fb/Makefile.am: Dist fixes
8424
8425 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
8426
8427         * NEWS: 10,000 foot view of 1.3.1 changes.
8428
8429 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
8430
8431         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
8432         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
8433         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
8434         gdk/x11/gdkmain-x11.c: 
8435
8436         Patch from George Lebl to add a GdkGrabStatus enumeration to use
8437         as a return value of gdk_*_grab(). Previously, we just
8438         returned the X11 values directly.
8439
8440 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
8441
8442         * gdk/x11/Makefile.am: Patch from George Lebl to 
8443         install all the headers in the right place.
8444
8445 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
8446
8447         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
8448           initial conversion to DocBook.
8449
8450 2000-07-04  Tor Lillqvist  <tml@iki.fi>
8451
8452         * README.win32: Improve a bit.
8453
8454         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
8455         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
8456         Alt+0nnn on the numpad (used to enter characters by numeric code
8457         from current DOS or ANSI codepage) working correctly, as in other
8458         Windows apps.
8459
8460         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
8461         same argument validity tests as in X11 version.
8462         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
8463
8464         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
8465         definitions in case missing from headers.
8466
8467         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
8468         destroy the window-specific cursor.
8469         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
8470         calling GetModuleHandle(NULL).
8471         (gdk_window_set_cursor): Reworked to always copy the passed cursor
8472         with CopyCursor before setting it as the window-specific
8473         cursor. It is OK for the caller to destroy the GdkCursor (and thus
8474         also its Windows cursor) after calling this function. Destroy any
8475         previous window-specific cursor.
8476
8477 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
8478
8479         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
8480         font charset is iso8859-1, not iso-8859-1.
8481
8482 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
8483
8484         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
8485         Use g_get_charset() instead of g_get_codeset().
8486
8487         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
8488         Comment out some strdup'ing functions to keep timj
8489         happy until we finish fighting this out.
8490
8491 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
8492
8493         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
8494         <= width or height.
8495
8496         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
8497         from 1.2 for parent/child states.
8498
8499         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
8500         of typos.
8501
8502         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
8503         event structures, replace with a generic axes field. Replace 
8504         deviceid/sourec with GdkDevice *device.
8505
8506         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
8507         to extract particular axis use value from event. (Also
8508         can be used for normal X/Y.)
8509
8510         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
8511         allow for arbitrary number of axes, namespace everything
8512         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
8513         everywhere.
8514
8515         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
8516         Get rid of the gdk_input_vtable setup if favor of simply
8517         defining the functions in gdkinput-none/gxi/xfree.c in
8518         a similar fashion to the way that the port structure is 
8519         done.
8520
8521         * gtk/gtkdnd.c: Fix fields of synthesized button press event
8522         for new event structures. 
8523
8524         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
8525         new device interfaces.
8526
8527 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
8528
8529         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
8530         set the initial text.
8531
8532         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
8533         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
8534         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
8535         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
8536
8537         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8538         pango_layout_set_font_description to simplify.
8539
8540 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
8541
8542         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8543         pango_layout_set_font_description to simplify.
8544
8545 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
8546
8547         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
8548         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
8549         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
8550
8551         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
8552         PANGO_PIXELS() macro.
8553
8554 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
8555
8556         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
8557         that returns a PangoContext owned by the widget and updated to
8558         match future changes in the widget. Also, make 
8559         gtk_widget_create_pango_layout() use this context. If we ever
8560         add a ::changed signal to PangoContext, this will make things
8561         much more convenient. 
8562
8563         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
8564         in the appropriate places instead of destroying the layouts and
8565         creating new ones.
8566
8567         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
8568         in a few strategic places.
8569
8570 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
8571
8572         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
8573         gtk_widget_size_request() on reparented child, if one. Otherwise,
8574         queue_resize() on the child never results in it getting size-requested
8575         at all.
8576
8577         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
8578         in option menus, so that (with luck) people won't copy it into
8579         their apps in the future.
8580
8581         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
8582         to gtk_option_menu_calc_size. This isn't perfect, but should fix
8583         a lot of problems with changing the size of the menu's menu
8584         items after adding it to the option menu.
8585
8586         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
8587
8588         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
8589         the text direction for a widget changes.
8590
8591         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
8592         ::direction_changed to get rid of various hacks.
8593
8594 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
8595
8596         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
8597         name.
8598
8599 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
8600
8601         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
8602         flag to the structure. Do not call XFreePixmap on pixmaps created
8603         by gdk_pixmap_foreign_new().
8604
8605 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
8606
8607         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
8608         value using GdkRGB functionality given GdkColormap and GdkColor.
8609         (name not final, waiting for inspiration.)
8610         
8611         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
8612         set the foreground/background of a GC using the GC's colormap
8613         and GdkRGB. (name not final, waiting for inspiration.)
8614
8615         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
8616         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
8617
8618         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
8619         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
8620         purely a function of the corresponding colormap. Make
8621         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
8622
8623         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
8624         gdk_pixbuf_*create_from_xpm_* in terms of
8625         gdk_pixbuf_new_from_xpm_data(), move into platform independent
8626         code.
8627
8628         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
8629         advantage of the new draw_rgb_32_image_dithalign.
8630
8631         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
8632
8633         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
8634         on each created GC.
8635
8636         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
8637
8638         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
8639         which we initialize from the drawable when the GC is created,
8640         if the drawable has a colormap.
8641
8642         * gdk/x11/gdkgc-x11.c: include string.h for memset.
8643
8644         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
8645
8646         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
8647
8648 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
8649
8650         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
8651         actually returning expose events, make sure to set
8652         the count field properly.
8653
8654         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
8655         accidentally reintroced bug which always cleared
8656         the graphics_exposures value. 
8657
8658 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
8659
8660         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
8661
8662 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
8663
8664         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
8665
8666 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
8667
8668         * docs/faq/gtk-faq.sgml: Start of Section 6.
8669
8670 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
8671
8672         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
8673         
8674         (Fixes problem with drawing childless frames. Pointed out
8675         by and a first patch from Anders)
8676         
8677         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
8678         compute a child_allocation, even if we don't have a child.
8679
8680         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
8681         Always chain to the parent's impl, even if we don't have a child.
8682
8683 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8684
8685         * gdk/gdkrgb.c: If possible, create only a single shm segment and
8686         use multiple parts of it instead of creating a bunch of separate
8687         segments, since the maximum number of segments per system is not
8688         large. (This might be worth backporting to GTK+-1.2.x if we make a
8689         new release )
8690
8691         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
8692         structure in preparation for per-colormap GdkRGB.
8693
8694         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
8695         to False when we get EINVAL from shmget so that the caller of
8696         gdk_image_new can retry with a smaller segment size.
8697
8698 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
8699
8700         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
8701
8702 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
8703
8704         * configure.in: make the current version number 1.3.1 (binary age 0,
8705         interface age 0).
8706         
8707         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
8708         gtkcompat.h is all we want.
8709
8710         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
8711         GLib primitive types. fixed g_type_register_fundamental() argument
8712         ordering.
8713
8714         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
8715         compiles.
8716
8717         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
8718         object code cleanup, comment trigraph fixes, etc...
8719
8720 2000-06-23  Havoc Pennington  <hp@redhat.com>
8721
8722         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
8723         instead of making up a bogus name for first_para_mark
8724
8725         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
8726         0 as a context ID
8727
8728 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
8729
8730         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
8731
8732 2000-06-21  Havoc Pennington  <hp@pobox.com>
8733
8734         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
8735         we didn't check window->bg_pixmap != GDK_NO_BG.
8736
8737         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
8738         gdk-pixbuf
8739
8740 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
8741
8742         * docs/faq/gtk-faq.sgm: Move file to here.
8743           TODO: Update Makfile.am 
8744
8745 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
8746
8747         * docs/gtk-faq.sgm: Add Section 2
8748
8749 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
8750
8751         * docs/gtk-faq.sgm: New file. Start of DocBook
8752           version of the FAQ.
8753
8754 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
8755
8756         * configure.in (GDK_PIXBUF_MAJOR): Define version
8757         numbers for GDK_PIXBUF_*, as they get substituted
8758         into a header file. Need to consider versioning
8759         for gdk-pixbuf more carefully later.
8760
8761 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
8762
8763         Work with srcdir != builddir.   
8764         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
8765         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
8766         * demos/testpixbuf.c: Likewise.
8767         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
8768         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
8769         <gdk/x11/gdkx.h>.
8770         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
8771         "gdk-pixbuf.h".
8772         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
8773
8774 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
8775
8776         * TODO.xml: Change 1.4 version numbers to 2.0.
8777
8778 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
8779
8780         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
8781         fixups to GTK+ standard.
8782
8783 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
8784
8785         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
8786         gdk-pixbuf.
8787
8788         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
8789         fixups for GObject.
8790
8791         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
8792         gdk-pixbuf with GDK dependencies moved into GDK.
8793         
8794         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
8795         move gdk-pixbuf-loader here until GObject has signals.
8796
8797         * demos/: New directory of demos. Move demos from
8798         gdk-pixbuf here.
8799
8800         * demos/pixbuf-init.c: Small bit of code to check for
8801         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
8802         set GDK_PIXBUF_MODULEDIR appropriately.
8803
8804         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
8805         define which no longer makes sense.
8806
8807 2000-06-21  Havoc Pennington  <hp@redhat.com>
8808
8809         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
8810         gtk_get_default_language
8811
8812         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
8813         new function to get the default language
8814
8815         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
8816         s/gtk_text_view_style_values/gtk_text_style_values/
8817
8818         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
8819         Add a "language" field to tags.
8820
8821         (gtk_text_tag_set_arg): Fix bug in setting
8822         "bg_full_height_set" tag.
8823
8824 2000-06-21  Havoc Pennington  <hp@redhat.com>
8825
8826         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
8827         in the interfaces
8828
8829         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
8830         stuff instead when possible.
8831
8832         * gtk/gtktexttypes.h: Delete some unused constants
8833
8834         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
8835         testtextbuffer.c: use glib instead of custom unicode routines
8836
8837 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
8838
8839         * docs/es/: Removed mistakenly added generated sgml
8840
8841         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
8842         Remove outdated info files.
8843
8844         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
8845         Moved tutorial files into subdir
8846
8847         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
8848         subdir.
8849
8850         * docs/man/gtk_button.pod: Remove. (contents will be
8851         integrated into gtk-reference button page.)
8852
8853         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
8854         docs/faq/Makefile.am: Adjust for new organization
8855
8856 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
8857
8858         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
8859         not $(MKINSTALLDIRS)
8860
8861 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
8862
8863         * gtk/testgtk.c (create_text): Finish the job Elliot started
8864         of removing font setting test for text widget. (Since text widget
8865         and GdkFont are not deprecated, and cause portability problems.)
8866
8867 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
8868
8869         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
8870         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
8871         Remove use of libunicode in favor of new GLib functions.
8872
8873         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
8874         nano-x, framebuffer. The X11 include is just a hack until we get
8875         the necessary functions in gdkcolor.h, so there is no reason to
8876         add other includes of platforms.
8877
8878         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
8879         window bigger than the screen change.
8880
8881         * gtk/testgtk.c: Revert some random changes from Elliot
8882         that had no particular point and were causing testgtkrc
8883         not to function correctly.
8884         
8885         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
8886         because GdkSegment and GdkRegionBox have the same fields,
8887         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
8888         results in clearer code.
8889
8890         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
8891         gdk_input_translate_coordinates): Fix missed GdkObjectification
8892
8893 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8894
8895         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
8896         * gtk/gtk{plug,socket}.h: Missed commits from previous.
8897
8898 2000-06-20  Havoc Pennington  <hp@redhat.com>
8899
8900         * modules/linux-fb/Makefile.am: Make this compile
8901         without framebuffer enabled
8902
8903         * gdk/linux-fb/Makefile.am: Add conditional to not build
8904         framebuffer unless specified in configure
8905
8906         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
8907         the size of the target instead of source if -1 was passed for
8908         width/height
8909
8910         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
8911         width/height confusion.
8912
8913 2000-06-19  Havoc Pennington  <hp@redhat.com>
8914
8915         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
8916         GDK_DRAWABLE_XID. In the future, we probably want to make it
8917         faster with G_DISABLE_CHECKS turned on.
8918
8919 2000-06-14  Havoc Pennington  <hp@redhat.com>
8920
8921         * gdk/Makefile.am: add gdkpixmap.c
8922
8923         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
8924         s/gdk_image_init/_gdk_windowing_image_init
8925
8926         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
8927         ref/unref
8928
8929         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
8930
8931         * gdk/gdkcompat.h: remove GdkWindowType compat, since
8932         GdkWindowType is now non-deprecated; 
8933         change gdk_window_get_type() compat to be
8934         gdk_window_get_window_type().
8935
8936         * gdk/gdkdnd.h: make GdkDragContext a GObject.
8937
8938         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
8939         virtual GObject. Make all functions call into the vtable.
8940         Move gdk_image_put() guts in here. Remove GdkDrawableType
8941         and gdk_drawable_get_type(), these are now GdkWindow-specific.
8942         draw_image, get_depth, get_size, set_colormap, get_colormap,
8943         get_visual added to the vtable.
8944         
8945         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
8946         GObject. Virtualize everything. 
8947         (gdk_gc_new_with_values): remove check for destroyed window,
8948         because now GdkWindow::create_gc will check this.
8949         (gdk_gc_set_values): New function to set GC values, this 
8950         was already implemented but wasn't in the header
8951
8952         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
8953
8954         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
8955         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
8956         remove _gdk_window_class; add _gdk_window_impl_get_type() and
8957         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
8958         _gdk_windowing_window_init, rename gdk_image_init to
8959         _gdk_windowing_image_init.
8960         
8961         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
8962         (gdk_draw_layout): Remove check for destroyed window, 
8963         because all the drawable methods already check it.
8964         
8965         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
8966         Add gdkpixmap.c which contains implementation of GdkDrawable
8967         virtual table (by chaining to a platform-specific implementation
8968         object).
8969         
8970         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
8971         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
8972         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
8973         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
8974         GdkColormapPrivate. 
8975
8976         * gdk/gdktypes.h: #include <glib-object.h>
8977
8978         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
8979         Move most functionality to platform-specific implementation
8980         object. GdkWindow itself now handles the backing store, then
8981         chains to the platform-specific implementation.
8982         (gdk_window_get_window_type): return GdkWindowType of the window.
8983         (gdk_window_peek_children): New routine, returns the children of 
8984         a GdkWindow
8985         (gdk_window_get_children): Was in X11-specific code and did 
8986         XQueryTree. Changed to simply return a copy of window->children; 
8987         so it can go in cross-platform code.
8988         
8989         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
8990
8991         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
8992         GdkColormap; just changed to use the new private data instead
8993         of casting to GdkColormapPrivate.
8994
8995         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
8996         gdk_cursor_new().
8997
8998         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
8999         (private data member in the GObject). 
9000         (xdnd_manager_source_filter): Function had broken 
9001         error handling, fix it (use gdk_error_trap_push).
9002
9003         * gdk/x11/gdkdrawable-x11.c: This file now implements
9004         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
9005         base class is purely for the convenience of the X port,
9006         and not part of the interface to cross-platform GDK.
9007
9008         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
9009         
9010         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
9011         specific to X, and returned by the create_gc virtual method
9012         of GdkDrawableImplX11. 
9013         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
9014         rather than gchar, this was also changed in the GdkGC vtable.
9015         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
9016         mask is 0, return immediately, instead of checking every flag.
9017         This is faster, and keeps us from segfaulting if values is NULL
9018         and the mask contains some nonzero flags.
9019
9020         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
9021         GdkWindow.
9022
9023         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
9024         GdkWindowPrivate is gone.
9025
9026         * gdk/x11/gdkim-x11.c: rename things that got renamed.
9027
9028         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
9029         remove the image_put stuff that got transferred to GdkDrawable.
9030         
9031         * gdk/x11/gdkinput.c: renamings
9032
9033         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
9034
9035         * gdk/x11/gdkpixmap-x11.c: GObject conversion
9036
9037         * gdk/x11/gdkprivate-x11.h: indentation fixes
9038
9039         * gdk/x11/gdkproperty-x11.c: renamings
9040
9041         * gdk/x11/gdkselection-x11.c: renamings
9042
9043         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
9044         implements the platform-specific "impl" object.
9045         Moved gdk_window_get_children to gdk/gdkwindow.c
9046
9047         * gdk/x11/gdkx.h: Remove all the private structs and private datas
9048         that no longer exist. Add declaration of GdkGCX11 object here.
9049         Fix all the macros to still work. 
9050
9051         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
9052         GdkDragContext from the boxed types since they are now GObjects.
9053
9054         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
9055         moved xthickness/ythickness into the instance. GtkStyleClass
9056         functions are now in the standard vtable for GtkStyle, so you have
9057         to create a GObject subclass to write a theme engine.
9058         (gtk_style_copy): fixed a leaked PangoFontDescription
9059         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
9060         can be the standard GObject function.
9061         
9062         * Throughout GTK:
9063         s/style->klass->[xy]thickness/style->[xy]thickness
9064         s/pango_layout_unref/g_object_unref/
9065
9066         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
9067         
9068         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
9069         accessing GDK internals.
9070
9071         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
9072         accessing GDK internals.
9073
9074 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9075
9076         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
9077
9078         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
9079         problem by calculating event position relative to the trough
9080         rather than the slider.
9081         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
9082
9083         * gdk/gdkgc.h: Add GDK_NOR.
9084
9085         * configure.in, Makefile.am: Add modules top level dir
9086         * configure.in: Only use pangox library if building x11 target.
9087         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
9088
9089 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9090
9091         * gtk/gtkcolorsel.c: Change private class member to be named
9092         private_data throughout the file.
9093
9094         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
9095         private_data to avoid clashing with keyword.
9096
9097 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9098
9099         * gdk/gdkdnd.h: Add comment to remove warning.
9100
9101 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
9102
9103         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
9104         Byelorussian language; changed the Makefile and file names 
9105         to reflect that.
9106
9107 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
9108
9109         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
9110         rather than gdk_window_hide; this makes things work
9111         correctly if the window is programmatically hidden while
9112         iconified.
9113
9114 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
9115
9116         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
9117         cut and paste typo where wrong pixmap was being
9118         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
9119
9120 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
9121
9122         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
9123         Add helper function to compute format / bytes 
9124         relationship. Use in a couple places to fix up
9125         errors which assume 8 * format.
9126
9127         * gtk/gtkselection.c (gtk_selection_request): Use 32
9128         rather than 8 * sizeof (GdkAtom), to work correctly
9129         on Alpha.
9130
9131 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
9132
9133         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
9134         libgtk.la
9135         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
9136         versions
9137
9138         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
9139         checking macros return NULL since the function has a return value.
9140
9141 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
9142
9143         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
9144         GTK+ from building at all.
9145
9146         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
9147
9148 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
9149
9150         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
9151         gtk/Makefile.am: make it possible to configure gtk for different
9152         targets on the same platform. The library name is now 
9153         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
9154         flag. Only the x11 target compiles right now.
9155         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
9156         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
9157         * gdk/nanox/gdk*generic*: delete generic region code.
9158         * gdk/linux-fb/gdk*generic*: delete generic region code.
9159         * README.nanox: update information.
9160         
9161 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
9162
9163         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
9164         prepend not append. (Pointed out by Brett Hall.)
9165
9166 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
9167
9168         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
9169
9170 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
9171
9172         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
9173         need this later, and this makes sure that the atexit for
9174         glib gets called after that for GDK, so atexits are
9175         properly ordered for object leak checking.
9176
9177         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
9178
9179         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
9180         pango_x_shutdown_display()
9181
9182         * gtk/simple.c (main): Close window on destroy.
9183
9184 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
9185
9186         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
9187         to treat initial creation different from setting with 
9188         regards to the graphics-exposures parameter, so add a parameter
9189         indicating whether this is initial or not.
9190
9191 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
9192
9193         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
9194         to sort of work by adding an extra return_exposes arg
9195         to gdk_event_translate() - it might be better to simply
9196         deprecate the function altogether and force people to rewrite
9197         without it. gdk_window_scroll() handles most of it, and where
9198         gdk_window_scroll() doesn't work, simply redrawing more does.
9199
9200         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
9201         assertion.
9202
9203         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
9204
9205         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
9206         bunch of pretty much useless /* Print debugging info */ comments 
9207         which had drifted away from the code they were commenting.
9208
9209 2000-06-02  Havoc Pennington  <hp@pobox.com>
9210
9211         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
9212         is in working order.
9213         
9214         * gtk/testtext.c: Change to reflect anonymous mark API
9215
9216         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
9217
9218         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
9219         field, which was unused.
9220
9221         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
9222         saves some typing.
9223
9224         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
9225
9226         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
9227         flag on the insertion point and selection bound
9228
9229         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
9230         make mark-manipulation functions take a GtkTextMark* instead of a
9231         mark name.
9232         
9233         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
9234         GtkTextMarkBody; will be used to detect attempts to delete
9235         the permanent marks (insert and selection bound)
9236
9237         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
9238
9239 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
9240
9241         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
9242         flag to on.
9243
9244         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
9245         Honor DOUBLE_BUFFRED_FLAG
9246
9247         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
9248         function to set the DOUBLE_BUFFERED flag.
9249
9250         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
9251         or not exposes done on the widget should be double-buffered.
9252
9253         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
9254         to be what would be expected. (Fixes problem with a
9255         g_return_if_fail() validating a TextDirection enumeration)
9256
9257 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
9258
9259         * gtk/gtkwidget.c: Remove all references to 
9260         offscreen flag which was no longer used.
9261
9262         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
9263
9264         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
9265         for non-null label_widget->parent.
9266
9267         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
9268         which no longer was used.
9269
9270         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
9271
9272         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
9273         for null arguments.
9274
9275         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
9276         check for destroyed windows.
9277
9278 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
9279
9280         * gtk/gtkimmulticontext.c: Add a finalize method and unref
9281         the slave context there.
9282
9283         * gtk/gtkinvisible.[ch]: Make reference counting behavior
9284         identical to GtkWindow.
9285
9286 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
9287
9288         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
9289         pangox to here, so we can write them independent of rendering
9290         system, using GDK primitives.
9291
9292         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
9293         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
9294         since we have a rendering-system independent implementation in
9295         terms of draw_glyphs().
9296         
9297         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
9298         function to render a single line.
9299
9300         * gdk/x11/gdkpango.c: Move the guts of this file mostly
9301         into ../gdkpango.c, which simplifies things, since we
9302         don't have to deal with raw X gc's.
9303
9304 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
9305
9306         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
9307         get the logical attributes for a given GtkTextLine.
9308
9309 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
9310
9311         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
9312         g_locale_get_codeset() to g_get_codeset() change.
9313
9314 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
9315
9316         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
9317         descriptions.
9318
9319         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
9320         the entry.
9321
9322         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
9323         redoing (vastly simplifying) for Pango. Still needs quite
9324         a bit of work. (Size selection is currently poor. List of 
9325         predefined sizes is not a good idea, since all of these
9326         sizes won't necessarily be distinct.)
9327
9328 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
9329
9330         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
9331         CODESET results for LANG=C.
9332
9333 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
9334
9335         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
9336         which takes a stringized pango font description;
9337         ignore the older 'font' and 'fontset' declarations.
9338
9339         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
9340         field with a GdkFont derived via gdk_font_from_description(),
9341         for compatibility. (Should we just remove it entirely?
9342         Probably too much compatibility breakage, but people
9343         should be migrating to the new Pango stuff as quickly
9344         as possible.)
9345
9346 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
9347
9348         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
9349
9350 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
9351
9352         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
9353         redoing; there are some bugs in size allocation right
9354         now, the semi-existant distinction between header / day
9355         fonts was removed, but, with Pango, could actually
9356         be made functional in a nice way.
9357         
9358         * gtk/testcalender: Move calender from examples into this
9359         directory as a test program. (We really need to restrcture
9360         testgtk into a whole directory full of tests for every
9361         widget or functionality group, separated into multiple .c
9362         files.)
9363
9364 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
9365
9366         * gtk/testgtk.c (file_exists): Fix stupid typo that
9367         was keeping RC file from being loaded.
9368
9369         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
9370         RC file font code.
9371
9372 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
9373
9374         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
9375         Add function to load a GdkFont from a PangoFontDescription.
9376
9377 2000-05-29  Tor Lillqvist  <tml@iki.fi>
9378
9379         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
9380         variable should be of type GdkEventPrivate.
9381
9382 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
9383
9384         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
9385         to have any widget for the label, use a GtkLabel widget
9386         to display the text. (Based partially on a patch from
9387         Anders Carlson.)
9388
9389         (Quite a bit of code reorganization - strip 90% of the
9390         guts out of gtkaspectframe and add a single virtual
9391         func to GtkFrameClass - compute_child_allocation.)
9392
9393 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
9394
9395         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
9396         (Removed clist->row_center_offset field because caching
9397         it wasn't saving time or code, added private function
9398         _gtk_clist_create_cell_layout()).
9399
9400 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
9401
9402         * gtk/gtkaccellabel.c: Pangoized.
9403
9404         * gtk/[hv]ruler.c: Pangoized
9405
9406 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
9407
9408         * gtk/gtkfilesel.c (gtk_file_selection_init):
9409         Use gtk_clist_set_column_auto_resize() to remove need
9410         need for manual column width computations.
9411
9412 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
9413
9414         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
9415         ensuring Pango correctness, and considerably simplifying the
9416         code.
9417         
9418         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
9419
9420         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
9421         getting of numbers of lines.
9422
9423         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
9424         to the actual requested width of the lable, not to the wrap
9425         width we set.
9426
9427         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
9428
9429         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
9430           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
9431
9432         * gtk/gtktextview.c: Fix structure inheritance.
9433
9434         * gtk/gtkprogressbar.c: Pangoize.
9435
9436 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
9437
9438         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
9439         in a function.
9440
9441         * gtk/gtktextlayout.c (find_display_line_above): Fixed
9442         bug with computing line tops.
9443
9444         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
9445
9446 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9447
9448         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
9449         and y_offset coordinates to do what we need now. (The offset between
9450         buffer and layout coordinates has been reintroduced, but is a 
9451         bit different than before.)
9452
9453         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
9454         handle the adjustments ourselves, and scroll as necessary using
9455         the new gdk_window_scroll().
9456         
9457         The advantage of this is that when we are incrementally revalidating,
9458         we are essentially rearranging things around the visible portion
9459         of the screen. With the old setup, the visible portion of the
9460         screen was moved around in the layout, so scrolling and redrawing
9461         to track that caused jumping of the display. Since we now
9462         control the scrolling ourselves, we can suppress this and
9463         only redraw when things actually change.
9464
9465 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
9466
9467         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
9468         the region not just redisplay it after-all, since we store the
9469         cursors in the LineDisplay. (Ugly interactions here between
9470         GtkLayout and GtkTextBTree here.)
9471         
9472         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
9473
9474 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9475
9476         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
9477         Added function to scroll contents of a window while keeping the
9478         window constant. Works by XCopyArea or guffaw-scrolling depending
9479         on the details of how the window is set up. (guffaw-scrolling
9480         still needs to be filled in.)
9481
9482 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
9483
9484         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
9485         move the debugging that was tied to a global variable
9486         to that.
9487
9488         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
9489
9490         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
9491         validated flag, in line data instead of setting height/width to
9492         -1. This allows us to perform operations with partially invalid
9493         buffer (using the old size for invalid lines) and thus to do
9494         incremental vaidation. Keep height/width aggregates up to date
9495         when deleting text and rebalancing the tree.
9496
9497         * gtk/gtktextbtree.[ch]: Add functions validate a line
9498         (gtk_text_btree_validate_line), and to validate up
9499         to a number of pixels (gtk_text_btree_validate).
9500
9501         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
9502         that indicates that something is changed and a revalidation
9503         pass is needed. Change ::need_repaint to ::changed, and
9504         make it take old and new yranges instead of a rectangle.
9505
9506         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
9507         the line_data_destroy() function from 
9508         gtk_text_btree_add_view() to a virtual function in 
9509         GtkTextLayout
9510
9511         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
9512         since we are handling partial repaints in a different fashion
9513         now.
9514
9515         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
9516         of the selection instead of queueing a repaint on the
9517         entire widget.
9518
9519         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
9520         get_selection_bounds() down to btree, make the function
9521         in buffer a wrapper around the btree function.
9522
9523         * gtk/gtktextlayout.[ch]: Add functions to check if the
9524         layout is valid and to recompute either a range of pixels
9525         aroudn a line or a certain total number of pixels.
9526
9527         * gtk/gtktextlayout.[ch]: Cache a single line display;
9528         now that we only redraw the needed portions, the hit rate
9529         for this cache is quite high.
9530         
9531         * gtk/gtktextview.[ch]: Keep track of the first paragraph
9532         on the screen so that when re-laying-out the buffer, we can
9533         keep the same place. This requires connecting to ::value_changed
9534         on the adjustments
9535
9536         * gtk/gtktextview.[ch]: Add idle functions to revalidate
9537         the buffer after we receive an ::invalidated signal.
9538         
9539 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
9540
9541         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
9542         to max of allocation and layout size, not just to the
9543         layout size.
9544
9545         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
9546         Invalidate window so it gets redrawn properly.
9547
9548         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
9549         to mean the entire window.
9550
9551         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
9552         into public header.
9553
9554 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
9555
9556         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
9557         to get the name of a mark.
9558
9559         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
9560         to find the paragraph from a y position.
9561
9562 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
9563
9564         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
9565         nodes have width/height >= 0, not > 0.
9566
9567 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
9568
9569         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
9570         Add a size_only flag, so when we only need the size, we don't create
9571         useless appearance attributes.
9572
9573         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
9574         duplicate setting of font description.
9575
9576         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
9577
9578 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9579
9580         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9581         EXTRA_DIST. It does not work well when the file that
9582         everything depends on is not in the tarball.
9583
9584 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9585
9586         * gtk/testgtk.c: Some hacks and fixes so that it basically
9587         works when not sitting in the GTK+ build tree.
9588
9589 2000-05-03  Havoc Pennington  <hp@redhat.com>
9590
9591         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9592         Properly determine the ordering of the tag root and the current
9593         line within the tree. Previous algorithm only worked if the tag
9594         root's immediate parent was the common root of both the current
9595         line and the tag root.
9596
9597 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
9598
9599         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
9600         alignment.
9601
9602         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
9603         the widget text directional dynamically.
9604
9605         * gtk/gtktextview.[ch]: Added functions to get and set default
9606         wrap mode.
9607
9608 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
9609
9610         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
9611         in cursor location computation.
9612
9613 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
9614
9615         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
9616         vadjusment values properly when layout gets smaller.
9617
9618         * gtk/gtktextview.c (need_repaint_handler): Areas being
9619         passed in are far completely inaccurate, and sometimes
9620         too small, so, for now, just queue a redraw on the
9621         whole visible region.
9622
9623 2000-04-25  Havoc Pennington  <hp@redhat.com>
9624
9625         * gtk/gtktextbtree.c (summary_destroy): new function to 
9626         destroy tag summary nodes
9627         (gtk_text_line_next_could_contain_tag): this function was 
9628         totally broken if the line passed in wasn't below the tag
9629         root. Fix it.
9630         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
9631         "wildcard" case, we have to do a linear scan. Blah.
9632         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
9633         we have to do the linear scan
9634         (tag_removed_cb): When a tag is removed from the tag table, 
9635         remove the GtkTextTagInfo node from the btree.
9636         (gtk_text_btree_spew): Implement the spew function, for 
9637         our debugging pleasure.
9638
9639 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
9640
9641         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
9642         a problem with referring to the wrong buffer.
9643
9644         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
9645
9646         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
9647         font description to gtk_style_new() - otherwise things
9648         don't work without a .gtkrc file.
9649
9650         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
9651         tags table if we create it ourself, too.
9652
9653         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
9654         it was conflicting with XKB modifiers.
9655
9656         * gtk/gtktextview.[ch]: Add simple support for 
9657         GtkIMContext.
9658
9659 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
9660
9661         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
9662         with deletion from last commit.
9663
9664 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
9665
9666         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
9667         in the context from the current locale.
9668         
9669         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
9670         context, not hardcoded value.
9671
9672         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
9673         not logical.
9674
9675 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9676
9677         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
9678         attributes - that doesn't handle partial-glyph selection
9679         properly. Instead use new pango_layout_line_get_x_ranges()
9680         functionality to draw the selection.
9681
9682         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
9683         now properly handles out-of-range coordinates.
9684
9685         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
9686
9687         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
9688         public.
9689
9690         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
9691         for paragraphs opposite to the base direction of the widget.
9692
9693         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
9694
9695         * gtk/gtktextlayout.c: Don't split segments on marks, since that
9696         causes Arabic words to reshape as you cursor through.
9697
9698         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
9699         cursor position when moving vertically with the arrow keys and
9700         scrolling with page-up/page-down. (Arrow keys save only the X,
9701         scrolling saves both X and Y.)
9702
9703         This means you can line-up / line-down or page-up / page-down
9704         without losing your place, and also that moving vertically
9705         with the cursor keys keeps the same X position, not the same
9706         character count:
9707
9708         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
9709         arrow keys move by display lines, not paragraphs.
9710
9711 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9712
9713         * gtk/gtklayout.c: Make sure that the bin window is at least
9714         as big as the allocation. (Should we also make sure that the
9715         bin window is big enough to completely cover widget->window?)
9716
9717         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
9718         function to get the onscreen rectangle.
9719
9720         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
9721         for offsets in window coordinates.
9722
9723 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
9724
9725         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
9726         confusion.
9727
9728         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
9729         from the widget direction.
9730
9731         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
9732         Add a "direction" attribute.
9733
9734         * gtk/gtktextview.c: global s/tkxt/text_view/.
9735
9736         * gtk/testtext.c: Added long block of text in Arabic, to test out
9737         the direction attributes. (Some problems with the shaping system
9738         for arabic become obvious - like the fact the cursor splits words
9739         into unjoined pieces.)
9740
9741 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
9742
9743         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
9744
9745         * gtk/gtktextlayout.c: Fix up alignment.
9746
9747         * gtk/testtext.c: Add some tests for centering, wrapping.
9748
9749 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
9750
9751         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9752         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
9753         If we wrote GTK+-specific layout-render function this could just replace
9754         the draw_layout() operation in the vtable.
9755
9756         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
9757         pango_layout_get_cursor_pos() and use that function.
9758
9759         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
9760         is a non-static symbol.
9761
9762         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
9763         with gtk_text_btree_find_line_by_y()
9764
9765         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
9766         renderer that handles GtkTextAppearance attributes.
9767
9768         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
9769
9770           - Move the values in the style that don't affect geometry into a
9771             GtkTextAppearance structure.
9772           - Change underline to take a PangoUnderline and "font" a string
9773             representation of a font description
9774           - Add a "font_desc" attribute which takes a FontDescription structure.
9775
9776         * gtk/gtktextlayout.[ch]:
9777
9778           - Get rid of the display-line list per each line. Instead, we
9779             generate, on demand, a GtkTextLineDisplay structure which]
9780             contains a PangoLayout * and other necesary information
9781             (offsets, cursor locations) for displaying a paragraph.
9782           - Get rid of the code to wrap lines, create display chunks,
9783             etc. Instead, we just go through a paragraph and convert
9784             it into the necessary inputs to a PangoLayout.
9785           - Implement a new attribute type, GtkTextAttrAppearance. This
9786             holds a GtkTextAppearance, and is used to pass colors, 
9787             stipple, etc, through from the layout to the display without
9788             having to use lots and lots of individual attributes.
9789           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
9790             in terms of PangoLayout functions.
9791         
9792         * gtk/gtktextview.c: 
9793          
9794           - Handle passing the necessary PangoContext to the layout
9795           - Some fixups in painting to deal with the automatic backing store
9796             and offsetting of GTK+-1.4
9797           - Add a style_set handler so that the default style reacts
9798             properly to theme changes.
9799         
9800         * gtk/gtktext?*.[ch]: Random code-style fixes.
9801
9802         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
9803
9804 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
9805
9806         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
9807         in original form preparatory to Pango-ization and gdkimcontext-ization.
9808
9809 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
9810
9811         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
9812         so that we can derive from gtkimcontext in language bindings properly.
9813
9814 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
9815
9816         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
9817         Add a compose table including (almost) all the compose combinations
9818         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
9819         data in the XIM implementation.
9820
9821         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
9822         Moved functions to convert keyvalues from and to unicode here from
9823         the win32 port and made them public.
9824
9825 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9826
9827         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
9828
9829 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
9830
9831         * gtk/gtkimcontext.[ch]: Base class for new input context system
9832
9833         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
9834         the real input context implementation to be loaded from modules
9835         and switched on the fly.
9836
9837         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
9838         context that just does direct keysymbol => unicode translation.
9839
9840         * gtk/gtkentry.[ch]: Start switching editing over to using
9841         GtkInputContext. (No handling of preedit yet.)
9842
9843 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
9844
9845         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
9846         many substitutions. (klass should not be subsituted.)
9847
9848 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
9849
9850         * configure.in: Add checks for Pango
9851
9852         * configure.in docs/Makefile.am: Add test for sgml2html
9853         and allow 'make dist' without building html, but print out
9854         warnings in that case. (For making snapshots)
9855
9856         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
9857         Add Pango libraries and C flags
9858
9859         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9860         Add function (gdk_draw_layout) to draw a pango layout.
9861
9862         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
9863         for getting Pango contexts for GDK.
9864
9865         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
9866
9867         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
9868         editing.
9869
9870         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
9871         keysym => unicode translations. More languages can be added
9872         here, but real input-method support is needed.
9873
9874         * docs/Changes-1.4.txt: Added note about entry behavior.
9875         
9876         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
9877         to set the reading direction for a widget and the global direction.
9878         Add test which allows toggling the global direction. Two private
9879         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
9880
9881         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
9882           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
9883
9884         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
9885
9886         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
9887         underlining now handled by Pango.
9888
9889         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
9890         to RCStyle and Style. (Having both this and the old font name and GdkFont 
9891         is temporary.)
9892
9893         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
9894         convenience functions for creating contexts and layouts for widgets.
9895
9896         * gtk/testgtk.c: Enhance label tests with multilingual labels.
9897
9898 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
9899
9900         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
9901         titles to be active, even if they aren't visible.
9902         (gtk_clist_column_titles_passive):  Ditto.
9903
9904 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
9905
9906         * gtkmenu.c:
9907         * gtkmenu.h:
9908         * gtktypeutils.h: Spelling/grammar fixes in comments.
9909
9910 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
9911
9912         * gdk/nanox/*.h: add missing header files.
9913
9914 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
9915
9916         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
9917         send_event to TRUE.
9918         (gtk_drawing_area_size): queue a resize.
9919
9920 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
9921
9922         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
9923         the handlers, also invalidate them. bug nailed down by Karl Nelson
9924         <kenelson@ece.ucdavis.edu>.
9925
9926 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
9927
9928         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
9929         "(nil)" foundries, patch from Grigorios Magklis.
9930
9931         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
9932         on non-available fonts, based on a patch by Grigorios Magklis
9933         <maglis@cs.rochester.edu>.
9934
9935 2000-05-18  Elliot Lee  <sopwith@redhat.com>
9936
9937         * gdk/x11/gdkregion-generic.c: If a region does not have any
9938         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
9939         instead of GDK_OVERLAP_RECTANGLE_IN.
9940
9941 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
9942
9943         * gtk/gtklayout.c (gtk_layout_map): Remove references to
9944         OFFSCREEN, as it is no longer necessary.
9945
9946 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
9947
9948         * gtk/gtkcolorsel.c: Patch from David Santiago
9949         <mrcooger@cyberverse.com> to change things so that the 
9950         indicator of the active palette entry is done independently,
9951         not via the focus, since it should always be visible.
9952
9953 2000-05-17  Tor Lillqvist  <tml@iki.fi>
9954
9955         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
9956         refcount leaks as in the X11 backend.
9957
9958         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
9959         cosmetics.
9960
9961         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
9962         backend. Add _gdk_windowing_window_destroy().
9963
9964         * gtk/gtkcolorsel.c: Include correct backend-specific header.
9965         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
9966         either, but these probably do exist on nanox?)
9967         
9968         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
9969         which isn't necessarily defined by <math.h>.
9970
9971         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
9972         ancestry past GtkObject.
9973
9974         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
9975         from DLL on Win32.
9976
9977         * gtk/gtk.def: Update corresponding to recent changes.
9978
9979         * gtk/makefile.{cygwin,msc}: Updates.
9980
9981 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
9982
9983         * docs/Changes-1.4.txt: A bit of editing.
9984
9985         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
9986         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
9987         to clear the update area for the window, and clear it
9988         when hiding a window.
9989
9990         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
9991         if window destroyed.
9992
9993         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
9994
9995         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
9996         gdk_window_destroy() to the generic code, since there was a lot of 
9997         window-system-independent logic it in. Add a function:
9998         
9999          _gdk_window_destroy() 
10000
10001         to the internal API to destroy a window without unreferencing it.
10002         Add a function:
10003
10004          _gdk_windowing_window_destroy()
10005
10006         That does the windowing-system-dependent part of destroying 
10007         the window.
10008
10009 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
10010
10011         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
10012
10013 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
10014
10015         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
10016         Make gtk_widget_shape_combine_mask() keep a reference count on
10017         the pixmap since it keeps it around.
10018
10019 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
10020
10021         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
10022         leak.
10023
10024         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
10025         leak with event filters.
10026
10027 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
10028
10029         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
10030         signal handlers with the right data arguments. (Fixes
10031         some warnings when a widget was repeatedly set as a drag
10032         destination.)
10033
10034         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
10035         window so we can avoid avoid setting the DND properties on the
10036         toplevel window repeatedly.
10037
10038 2000-05-13  Tor Lillqvist  <tml@iki.fi>
10039
10040         * gdk/win32/gdkwin32.h: Define more message types missing from
10041         mingw headers.
10042
10043         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
10044         call gdk_window_destroy_notify(). It was never called. This
10045         probably meant that the GdkWindow was never freed. Thanks Owen for
10046         noticing (!).
10047
10048         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
10049         window as destroyed before calling DestroyWindow(). DestroyWindow()
10050         causes a call to the window procedure (gdk_WindowProc), which
10051         calls gdk_event_translate(), which calls
10052         gdk_window_destroy_notify(), which gets confused unless the window
10053         is set as destroyed.
10054
10055         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
10056         this function to indicate it's win32 only. Put inside #ifdef
10057         G_ENABLE_DEBUG.
10058
10059         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
10060         debugging function. (gdk_event_translate:) Add a default branch
10061         that uses the above function to print debug messages with all
10062         Windows messages symbolically.
10063
10064         * gdk/win32/gdkprivate-win32.h: Declare it, and
10065         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
10066
10067 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
10068
10069         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
10070         public header file.
10071
10072 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
10073
10074         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
10075
10076         * gtk/gtktext.c: made the adjustments no-construct args, simply
10077         provide default adjustments.
10078         (gtk_text_destroy): release adjustments.
10079
10080         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
10081         adjustment argument non-construct.
10082
10083         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
10084         instead of in finalize.
10085         (gtk_progress_get_text_from_value): 
10086         (gtk_progress_get_current_text): 
10087         (gtk_progress_set_value): 
10088         (gtk_progress_get_percentage_from_value): 
10089         (gtk_progress_get_current_percentage): 
10090         (gtk_progress_set_percentage): 
10091         (gtk_progress_configure): ensure an adjustment is present.
10092
10093 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
10094
10095         * gtk/gtkcolorsel.[hc]:
10096         * gtk/gtkcolorseldialog.[hc]:
10097         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
10098         their parent implementation, use bit fields for boolean values, don't
10099         create unused widgets, usage of glib types, braces go on their own
10100         lines, function argument alignment, #include directives etc. etc. etc..
10101
10102         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
10103
10104 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
10105
10106         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
10107
10108         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
10109         of NULL.
10110
10111         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
10112         to freed data.
10113         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
10114
10115         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
10116         to NULL when the toplevel is getting destroyed.
10117         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
10118         (gtk_menu_destroy): 
10119         (gtk_menu_init): store the information of whether we have to
10120         readd the initial child ref_count during destruction in a new
10121         GtkMenu field needs_destruction_ref_count.
10122
10123         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
10124         here, those reading: learn from my mistake! ;)
10125         in order for set_?adjustment to support a default adjustemnt if
10126         invoked with an adjustment pointer of NULL, the code read (pseudo):
10127         if (v->adjustment) unref (v->adjustment);
10128         if (!adjustment) adjustment = adjustment_new ();
10129         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
10130         now imagine the first unref to actually free the old adjustment and
10131         adjustment_new() creating a new adjustment from the very same memory
10132         portion. here, the latter comparision will unintendedly fail, and
10133         all hell breaks loose.
10134         (gtk_viewport_set_hadjustment):
10135         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
10136         after unreferencing it.
10137
10138         * gtk/gtkcontainer.[hc]: removed toplevel registration
10139         functions: gtk_container_register_toplevel(),
10140         gtk_container_unregister_toplevel() and
10141         gtk_container_get_toplevels() which had wrong semantics
10142         anyways: it didn't reference and copy the list.
10143
10144         * gtk/gtkwindow.c: we take over the container toplevel registration
10145         bussiness now. windows are registered across multiple destructions,
10146         untill they are finalized. the initial implicit reference count
10147         users are holding on windows is removed with the first destruction
10148         though.
10149         (gtk_window_init): ref & sink and set has_user_ref_count, got
10150         rid of gtk_container_register_toplevel() call. add window to
10151         toplevel_list.
10152         (gtk_window_destroy): unref the window if has_user_ref_count
10153         is still set, got rid of call to
10154         gtk_container_unregister_toplevel().
10155         (gtk_window_finalize): remove window from toplevel list.
10156         (gtk_window_list_toplevels): new function to return a newly
10157         created list with referenced toplevels.
10158         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
10159
10160         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
10161         adjustment a non-construct arg.
10162         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
10163         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
10164         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
10165
10166         * gtk/gtkrange.c: added some realized checks.
10167         (gtk_range_destroy): get rid of the h/v adjustments in the
10168         destroy handler instead of finalize. remove timer.
10169         (gtk_range_get_adjustment): demand create adjustment.
10170
10171         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
10172         we simply create them on demand now and get rid of them in
10173         the destroy handler.
10174         (gtk_viewport_destroy): get rid of the h/v adjustments in the
10175         destroy handler instead of finalize.
10176         (gtk_viewport_get_hadjustment): 
10177         (gtk_viewport_get_vadjustment): 
10178         (gtk_viewport_size_allocate): demand create h/v adjustment
10179         if required.
10180
10181         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
10182         gtk_widget_real_destroy () functionality.
10183         (gtk_widget_real_destroy): reinitialize with a new style, instead
10184         of setting widget->style to NULL.
10185
10186 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
10187
10188         * gtk/gtkcalendar.c:
10189         * gtk/gtkbutton.c: ported _get_type() implementation over to
10190         GType, either to preserve memchunks allocation facilities,
10191         or because Gtk+ 1.0 GtkTypeInfo was still being used.
10192
10193         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
10194         over. prepare for ::destroy to be emitted multiple times.
10195         removed reference tracer magic. chain into GObjectClass.shutdown()
10196         to emit ::destroy signal.
10197
10198         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
10199         fundamental.
10200
10201         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
10202         cludge.
10203
10204         * gtk/gtksocket.c:
10205         * gtk/gtkplug.c:
10206         * gtk/gtklayout.c:
10207         * gtk/gtklabel.c:
10208         * gtk/gtkargcollector.c:
10209         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
10210         not being a fundamental anymore, and to work with the new
10211         type system (nuked fundamental type varargs clutter).
10212
10213         * gtk/*.c: install finalize handlers in the GObjectClass
10214         part of the class structure.
10215         changed direct GTK_OBJECT()->klass accesses to
10216         GTK_*_GET_CLASS().
10217         changed direct object_class->type accesses to GTK_CLASS_TYPE().
10218
10219         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
10220         GType. made most of the GTK_*() type macros and Gtk* typedefs
10221         simple wrappers around macros and types provided by GType.
10222         most notably, a significant portion of the old API vanished:
10223         GTK_TYPE_MAKE(),
10224         GTK_TYPE_SEQNO(),
10225         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
10226         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
10227         GTK_TYPE_ARGS,
10228         GTK_TYPE_CALLBACK,
10229         GTK_TYPE_C_CALLBACK,
10230         GTK_TYPE_FOREIGN,
10231         GtkTypeQuery,
10232         gtk_type_query(),
10233         gtk_type_set_varargs_type(),
10234         gtk_type_get_varargs_type(),
10235         gtk_type_check_object_cast(),
10236         gtk_type_check_class_cast(),
10237         gtk_type_describe_tree(),
10238         gtk_type_describe_heritage(),
10239         gtk_type_free(),
10240         gtk_type_children_types(),
10241         gtk_type_set_chunk_alloc(),
10242         gtk_type_register_enum(),
10243         gtk_type_register_flags(),
10244         gtk_type_parent_class().
10245         replacements, where available are described in ../docs/Changes-1.4.txt.
10246         implemented compatibility functions for the remaining API.
10247
10248         * configure.in: depend on glib 1.3.1, use gobject module.
10249
10250 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
10251
10252         * TODO.xml: Various updates to current status.
10253
10254 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
10255
10256         * gtk.m4: Print out version when test succeeds.
10257
10258 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
10259
10260         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
10261         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
10262         
10263         (Original triangle color selector from Simon Budig
10264         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
10265         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
10266         Santiago <mrcooger@cyberverse.com>)
10267
10268         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
10269         out into a separate widget.
10270
10271         * gtk/testgtk.c: Add some checkbuttons for toggling palette
10272         and opacity controls.
10273
10274 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
10275
10276         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
10277         snuck in prematurely.
10278
10279 2000-05-07  Tor Lillqvist  <tml@iki.fi>
10280
10281         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
10282         had deleted a ! operator by mistake, which caused
10283         GDK_SELECTION_CLEAR events never to be generated, which caused
10284         only the first copy to the clipboard from an gtkeditable to
10285         actually cause a copy to the Windows clipboard.
10286
10287 2000-05-06  Tor Lillqvist  <tml@iki.fi>
10288
10289         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
10290         compilation, too. Current mingw gcc distributions include the
10291         necessary headers. Also the necessary IIDs are now in mingw
10292         headers/libraries, and own definitions unnecessary.
10293
10294         More hacking on OLE2 DND, still doesn't work though, and thus
10295         ifdeffed out.
10296
10297         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
10298         here, too.
10299
10300 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
10301
10302         * gdk/nanox/*: nano-X port work in progress.
10303         * gdk/simple.c: simple test for Gdk.
10304         * README.nanox: notes about the port: read this first!
10305         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
10306         with nano-X.
10307
10308 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
10309
10310         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
10311         gdk_window_clear() into common code, implement in terms of
10312         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
10313         not redirected to the backing rectangle.
10314
10315 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10316
10317         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10318         EXTRA_DIST. It does not work well when the file that
10319         everything depends on is not in the tarball.
10320
10321 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
10322
10323         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
10324         with recursion where process_updates() is called from
10325         an expose handler. (GtkTextView is highly broken in
10326         doing this, but it should work, so it is a nice test
10327         case.)
10328
10329 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10330
10331         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
10332         handle the case where updates are queued during processing of
10333         updates.
10334
10335 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10336
10337         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
10338         window is on gdk_display - use that instead of segfaulting.
10339
10340 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
10341
10342         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
10343         broken and require an empty arg, give it to them.
10344
10345 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
10346
10347         * gtk/gtklabel.h: indentation fixes.
10348
10349 2000-05-02  Tor Lillqvist  <tml@iki.fi>
10350
10351         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
10352         draw too narrow or too low arcs, they seem to fail, at least with
10353         some display drivers.
10354
10355         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
10356
10357         Large changes to the Win32 backend, partially made necessary by
10358         the changes to the backend-independent internal
10359         structures. Attempts to implement similar backing store stuff as
10360         on X11. The current (CVS) version of the Win32 backend is *not* as
10361         stable as it was before the no-flicker branch was merged. A
10362         zipfile with that version is available from
10363         http://www.gimp.org/win32/. That should be use by "production"
10364         code until this CVS version is usable. (But note, the Win32
10365         backend has never been claimed to be "production quality".)
10366
10367         * README.win32: Add the above comment about versions.
10368
10369         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
10370
10371         * gdk/gdk.def: Update.
10372
10373         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
10374         presumably be replaced by some more better mechanism as 1.4 gets
10375         closer to release shape.
10376
10377         * gdk/makefile.{cygwin,msc}: Update.
10378
10379         * gdk/win32/*.c: Correct inclusions of the backend-specific and
10380         internal headers. Change code according to changes in these. Use
10381         gdk_drawable_*, not gdk_window_* where necessary.
10382
10383         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
10384         our old DND.
10385
10386         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
10387         to interpret single characters as UTF-8. Thanks to Hans Breuer.
10388         Use correct function name in warning messages.
10389
10390         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
10391         GSourceFuncs gdk_event_prepare and gdk_event_check.
10392         (gdk_event_get_graphics_expose): Do implement, use
10393         PeekMessage. Thanks to Hans Breuer.
10394         (event_mask_string): Debugging function to print an GdkEventMask.
10395         (gdk_pointer_grab): Use it.
10396
10397         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
10398         (old) book I used claimed was Hangul actually is CJK Unified
10399         Ideographs Extension A. Also, Hangul Syllables were missing.
10400         Improve logging.
10401
10402         * gdk/win32/gdkgc-win32.c: Largish changes.
10403
10404         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
10405         g_win32_getlocale() from GLib, and not setlocale() to get current
10406         locale name.
10407
10408         * gdk/win32/gdkprivate-win32.h
10409         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
10410         gdkwin32.h, similarily as in the X11 backend.
10411
10412         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
10413         assignment was used instead of equals in if test. Thanks to Hans
10414         Breuer.
10415
10416         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
10417         the X11 version.
10418
10419         * gdk/win32/makefile.{cygwin,msc}
10420         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
10421         path to the Win32 headers that works also with the mingw compiler.
10422
10423         * gtk/gtkstyle.c: Include <string.h>.
10424
10425 2000-04-26  Havoc Pennington  <hp@redhat.com>
10426
10427         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
10428         replacing the broken gtk_label_get ()
10429
10430 2000-04-15  Havoc Pennington  <hp@pobox.com>
10431
10432         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
10433         this keeps scanner scripts from getting confused.
10434
10435         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
10436         data, rather than void
10437
10438 2000-04-15  Tor Lillqvist  <tml@iki.fi>
10439
10440         * gtk/gtkclist.c (gtk_clist_motion)
10441         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
10442         with is_hint FALSE, get x and y from the event. They used to be
10443         used uninitialised. The Win32 backend never sends motion events
10444         marked as hints. This for instance fixes the annoying file and
10445         font selector behaviour in the Win32 version.
10446
10447 2000-04-14  Tor Lillqvist  <tml@iki.fi>
10448
10449         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
10450         gtk_private_n_signals variables, they are used by some software,
10451         sigh.
10452
10453         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
10454         installation directory from the Registry, where the installer
10455         should have put it.
10456
10457 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
10458
10459         * gdk/x11/Makefile.am: Fix problem with installation directory for
10460         gdkx.h
10461
10462         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
10463         <mrcooger@cyberverse.com> so that when selecting menus with the
10464         mouse, the first item will not be selected, but when selecting
10465         with an accelerator, or navigating left-right on a menubar with
10466         the menus popped up, the first item will be selected.
10467
10468 2000-04-05  Dan Damian  <dand@dnttm.ro>
10469
10470         * configure.in: Added "ro" to ALL_LINGUAS.
10471
10472 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
10473
10474         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
10475         indentation.
10476
10477         * Makefile.am (EXTRA_DIST): Fix typo.
10478
10479         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
10480         to catch gdkconfig.h
10481
10482         * gtk/gtkitemfactory.c: Added FIXME.
10483
10484 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
10485
10486         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
10487         s/return_if_fail/return_val_if_fail/g and add a return value.
10488
10489 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10490
10491         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
10492         merge slipup.
10493
10494         * gdk/gdkinput.h: Fix missing line from merge.
10495
10496 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
10497
10498         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
10499         instead of gdkprivate.h.
10500
10501 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
10502
10503         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
10504         parent class to correctly be GtkDialogClass.
10505
10506 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
10507
10508         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
10509         toplevel windows and their immediate children by their parents,
10510         since the size of toplevel windows is out of our immediate
10511         control and we don't get any real benefit from trying to track
10512         this size for clipping.
10513
10514         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
10515         for input_only windows.
10516
10517         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
10518         to fix some hacks and make sure that we don't try to set the
10519         background of input only windows.
10520
10521 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
10522
10523         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
10524         the _really_ internal stuff, and leave gdkprivate.h for the fake private
10525         stuff that we've traditionally exposed.
10526
10527         * gdk/**.c: Use gdkinternals.h where appropriate.
10528
10529         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
10530         not include gdkprivate-x11.h, move all stuff of conceivable public
10531         interest into gdkx.h; keep all really private stuff in
10532         uninstalled header gdkprivate-x11.h.
10533
10534         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
10535         image->image_put on windows through a new function _gdk_window_draw_image()
10536         to allow us to do backing store for images. (Sort of ugly)
10537
10538         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
10539         contexts locally so that we can offset them properly when drawing 
10540         onto backing pixmaps.
10541
10542         * gdk/gdkinput.h: Reindented
10543
10544         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
10545         pixmap or color for the window, so we can properly initialize
10546         our double-buffer pixmaps, and also so that we temporarily set
10547         a background of None while scrolling.
10548
10549         * gdk/gdkregion.h: Revise region boolean operators to have an
10550         interface that is actually convenient - switch from creating new
10551         regions on every op, to "methods" that modify existing regions
10552         (A = A OP B). 3 argument forms which allow dest == src, would also
10553         be possible, but the current interfaces seem to map nicely
10554         onto what needs to be done. (There is quite a lot of region
10555         code in GDK now.)
10556
10557         * gdk/gdkregion.h: Add constructor from rectangle and a copy
10558         operator.
10559
10560         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
10561         gdkpoly-generic.h: Copy region code from Xlib, switch it over
10562         to 32 bit coordinates, modify it to be mostly GTK+ style
10563         and to have interfaces that match gdkregion.h.
10564
10565         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
10566         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
10567         create a backing pixmap and redirect all drawing to
10568         that backing pixmap until a matching gdk_window_end_paint().
10569
10570         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
10571         Create a special drawable class for GtkWindow's that 
10572         redirects the drawing to the backing pixmap as necessary
10573         and then calls the real operations in _gdk_windowing_window_class.
10574
10575         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
10576         Store invalid region for each window. Generate expose events for invalid
10577         region in an idle. This replaces both the expose compression
10578         and the redrawing queuing in GTK+. It is both more efficient and
10579         simpler than either one individually and far more so then the
10580         combination.
10581
10582         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
10583         Emulate 32 bit coordinates for windows with 16 bit coordinates
10584         by offsetting drawing, guffaw scrolling techniques and
10585         mapping/unmapping child windows as necessary.
10586
10587         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
10588         where, when invalid regions are processed, the region is stored,
10589         and if expose events come in that are detectably duplicate
10590         the processed exposes (by comparison of event serial numbers),
10591         the stored region is subtracted out of those exposes.
10592
10593         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
10594         regions newly exposed when scrolling or resizing windows.
10595         This, combined with forcing processesing of queued invalidated
10596         regions, gives nice flicker-free scrolling.
10597
10598         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
10599         invalidated regions after every scroll.
10600
10601         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
10602         emulation in GDK. Its, for all practical purposes just a
10603         GtkViewport/GtkFixed hybrid now.
10604
10605         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
10606         (16-bit) structures as necessary instead of just casting.
10607
10608         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
10609         in terms of the structures from gdkregion-generic.c, using appropriate
10610         offsets from GDK to X11 coordinates. Cache clip mask and
10611         origin and ts origin locally and only flush to the server
10612         when drawing, to avoid constantly setting and resetting these
10613         values when offsetting GC's for scrolling and backing pixmaps.
10614
10615         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
10616
10617         * gtk/gtkcontainer.c: Call process_all_updates at end
10618         of resizing to reduce flicker. (Avoids having redraw
10619         lag arbitrarily behind resize under some circumstances)
10620
10621         * gtk/gtkentry.c: Remove old backing store code, and simply take
10622         advantage of the new backing store capabilities of GDK.
10623
10624         * gtk/gtkmain.c: Simple implementation of widget backing
10625         store - simply push a paint while handling each expose.
10626         (Should really be configurable widget for widget.)
10627         
10628         * gtk/gtkwidget.c: Remove all the old complicated redraw
10629         code, and simply invalidate the GDK windows from
10630         gdk_window_queue_clear(), etc. (Sigh, so much carefully
10631         debugged complexity ... gone to the winds.)
10632
10633         Remove all the code for suppressing expose events while
10634         resizes are pending; this isn't needed since the invalid
10635         areas won't be processed until after the resizes are
10636         processed, since they are in a lower priority idle.
10637
10638 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
10639
10640         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
10641         and height of dest rectangle for non-intersecting rectangles.
10642
10643 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
10644
10645         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
10646         for GdkRectangle.
10647
10648 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
10649
10650         * gdk/gdk{events,image,private,types,window}.h
10651          gdk/x11/gdkinputprivate.h: Change all coordinates
10652          from int16 to int. Also, Change width and height from
10653          unsigned to signed to avoid all the stupid C 
10654          signedness bugs.
10655
10656 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
10657
10658         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
10659         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
10660         Add some more detailed checking.
10661
10662         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
10663         New function to retrieve the depth of a drawable.
10664
10665         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
10666         field, reorder fields to save memory. 
10667
10668 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
10669
10670         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
10671         of the background image instead of scaling the background down to
10672         a line.
10673
10674         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
10675         which temporarily set slider to wrong size.
10676
10677         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
10678         queue_clear().
10679
10680 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
10681
10682 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
10683
10684         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
10685
10686 2000-03-17  Tor Lillqvist  <tml@iki.fi>
10687
10688         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
10689         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
10690
10691         * gdk/win32/gdkfont-win32.c
10692         * gdk/win32/gdkproperty-win32.c
10693         * gdk/win32/gdkselection-win32.c
10694         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
10695         now declared such.
10696
10697 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
10698
10699         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
10700
10701 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
10702
10703         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
10704         is called without trapping X errors.
10705
10706 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
10707
10708         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
10709         way into the fontset lists.
10710
10711 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
10712
10713         * gtk/gtkthemes.h: add extern "C" scope.
10714
10715 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
10716
10717         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
10718         to make appends to the list constant. (gtk-guy-990901-0.patch)
10719
10720 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
10721
10722         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
10723         for the typename hash table.
10724
10725 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
10726
10727         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
10728         to make sure we never divide by zero. 
10729         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
10730
10731 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
10732
10733         * gtk/gtkfontsel.c: Apply patch from
10734         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
10735         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
10736
10737         Also, some cleanups in atom handling.
10738
10739 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
10740
10741         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10742         not GtkWidget.
10743
10744 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
10745
10746         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
10747         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
10748         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
10749         more guint wrap-around bugs before going to bed.
10750
10751 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
10752
10753         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
10754         guint wrap arounds in allocation.width.
10755
10756         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
10757         process untill we fit the allocation given.
10758
10759 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
10760
10761         * gtk/gtkwidget.c:
10762         (gtk_widget_unrealize): guard widget access with ref/unref
10763         around signal emission.
10764         (gtk_widget_hide): same here, but also check its destroyed
10765         state before queueing a resize.
10766
10767 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
10768
10769         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
10770         of gtk_default_insensitive_bg as insensitive base color.
10771
10772         * gtk/gtktext.c (gtk_text_style_set): set the background color according
10773         to the widget's state.
10774         (gtk_text_realize): same here.
10775         (gtk_text_state_changed): same here.
10776         (draw_bg_rect): compare background color against base[] from
10777         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
10778
10779 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
10780
10781         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
10782         grabs are active, unless a delete event is send to the toplevel
10783         of the currently grab holding widget.
10784
10785 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
10786
10787         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
10788         debugging g_print's.
10789
10790 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
10791
10792         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
10793         ever make the scrolled-window requisition ever depend on the 
10794         visibility state of the scrollbars for the AUTOMATIC policy. 
10795         This breaks the GTK+ requisition model, and causes loops.
10796
10797 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
10798
10799         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
10800         the default font to avoid problems with XFree86-4.0 where the
10801         default charset is iso10646-1, not iso8859-1.
10802
10803 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
10804
10805         * acinclude.m4
10806         * config.guess
10807         * config.sub
10808         * ltconfig
10809         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
10810
10811         * gtk/Makefile.am: minor cosmetic consistency tweak
10812
10813 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
10814
10815         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
10816         the activate_time to 0, so that we handle a quick
10817         press/release press/release properly and don't suppress
10818         the second release. (Red Hat bug #7545)
10819
10820 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
10821
10822         * gtk/gtkctree.c (row_delete):
10823         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
10824         bugs with destruction notifier, *always* update internal
10825         structures *before* calling user code.
10826
10827 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
10828
10829         A few more fixes for bug #5487, #2051, #2677.
10830         * gtk/gtkclist.c : 
10831         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
10832         not GDK_BUTTON_PRESS.
10833         (resync_selection): resync only if selection_mode is
10834         GTK_SELECTION_EXTENDED
10835         * gtk/gtkctree.c (resync_selection): same here
10836
10837 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
10838
10839         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
10840         gdk_drag_get_selection() and gtk_menu_detach().
10841
10842         [ From Jeroen Ruigrok/Asmodai ]
10843
10844 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
10845
10846         * gtk/gtknotebook.c (gtk_notebook_size_request): 
10847         page->tab_label can be NULL.
10848
10849 2000-01-25  Havoc Pennington  <hp@pobox.com>
10850         
10851         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
10852         arg is boolean
10853
10854         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
10855
10856         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
10857
10858         * gdk/gdkproperty.c (gdk_property_get): return boolean
10859
10860         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
10861
10862         * gdk/gdkim.c (gdk_im_ready): return boolean
10863
10864         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
10865
10866         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
10867         glib clash, should fix glib)
10868
10869         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
10870         (gdk_get_show_events): return gboolean, and canonicalize 
10871         to TRUE/FALSE
10872
10873         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
10874         colormap is private
10875         (gdk_colors_alloc): gboolean whether to be contiguous
10876         (gdk_color_equal): return gboolean since we are a predicate
10877         and not a qsort() (this looks semi-wrong due to glib breakage,
10878         IMO glib should be fixed)
10879         
10880         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
10881         (gdk_get_use_xshm): return gboolean
10882         (gdk_pointer_is_grabbed): return gboolean
10883
10884         * gdk/gdk.h: Change prototypes to match all the above changes,
10885         and re-run egtk-format-protos as required.
10886
10887 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
10888
10889         * gtk/gtkctree.c (resync_selection): 
10890         * gtk/gtkclist.c (resync_selection):
10891
10892         Return immediately if clist->drag_pos < 0. This is a workaround
10893         for the corrupt state that the clist gets into when a
10894         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
10895
10896         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
10897         
10898         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
10899         variable from recent commit.
10900
10901 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
10902
10903         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
10904
10905 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
10906
10907         * gtk/Makefile.am: prefix all autogenerated source that get build in
10908         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
10909         in builddir. since we subsequently cd into srcdir for autogeneration,
10910         the paths have to be stripped from the target file names, thusly we
10911         use $(@F) as target names now.
10912         put a comment about configure.in's --disable-rebuilds option,
10913         which can be used for non-writable source directories, for development
10914         setups though, srcdir has to be *writable*.
10915
10916 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
10917
10918         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
10919           Finish the job of allowing event to be NULL.
10920           (Fixes bug #4283, reported by Chris Blizzard)
10921
10922         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
10923           things so that the cursor appears on screen, properly
10924           take into account INNER_BORDER.
10925           (Fixes bug #4754, reported by Antonio Campos)
10926
10927 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
10928
10929         * gtk/gtknotebook.c (gtk_notebook_map): Don't
10930           show the tab_label unless it itself is visible.
10931
10932           gtk/gtknotebook.c (gtk_notebook_size_request):
10933           Do a better job of making sure that the visibility
10934           of the tab label corresponds to whether it should
10935           be mapped or not.
10936
10937 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
10938
10939         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
10940           Use the requisition, not the allocation, since the
10941           allocation has not necessarily been computed yet.
10942           (Pointed out by Eugene Osintsev)
10943
10944 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
10945
10946         * gtk/gtkstyle.c (gtk_style_new): Dont' set
10947           style/base[GTK_STATE_INSENSITIVE] both to
10948           gtk_default_insensitive_bg!
10949           (Bug #2187, reported by Jonathan Blandford)
10950
10951         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
10952           Add Alt_L, Alt_R to list of invalid accelerators.
10953           (Bug #3736, reported by Vlad Harchev)
10954
10955 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
10956
10957         * gtk/gtkfilesel.c (open_ref_dir): Fix several
10958         bugs which occured after an attempt to open 
10959         invalid home directory left cmpl_state->reference_dir == NULL.
10960
10961          - completion on files in home directory didn't work
10962          - completion on an empty string caused  segfault
10963
10964          (Bug #3678, reported by Steve Ratcliffe)
10965
10966         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
10967         cut and paste error that was causing scales to
10968         be incorrectly positioned.
10969         (Bug #2956,
10970          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
10971
10972 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
10973
10974         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
10975         when checking for dcgettext, if we've found we needed
10976         it for dgettext.
10977 +
10978 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
10979
10980         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10981         queue_clear on NO_WINDOW widgets during a reparent,
10982         since at that point the window and widget heirarchies
10983         are out of sync. This stops crashing in some cases
10984         (the scrolled window reparent test, for instance), and
10985         _probably_ won't cause drawing errors.
10986
10987         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
10988         test do what it was supposed to do and be robust against
10989         window closings, etc. (Bug #2443)
10990
10991 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
10992
10993         * gtk/gtkentry.c: Fix return values on mouse events.
10994         (Bug #2686, Sky <seb_sky@yahoo.com>)
10995
10996         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
10997         (pointed out by George Lebl)
10998
10999         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
11000         (From Ettore Perazzoli  <ettore@helixcode.com>)
11001  
11002 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
11003
11004         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
11005         clicks between rows or outside calender area correctly.
11006         (Patch from Damon Chaplin)
11007
11008         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
11009         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
11010           Call destroy function when overwriting existing data. 
11011           (Pointed out by Damon Chaplin)
11012
11013 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
11014
11015         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
11016           which was causing problems on various systems with Xmu.
11017           This hasn't been needed for a very long time.
11018           (Fixes #1185 3167)
11019
11020 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
11021
11022         * gdk/gdki18n.h: Include <ctype.h> when defining
11023           gdk_isw* in terms of is* as a fallback.
11024           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
11025
11026 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
11027
11028         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
11029           realize the widget when it is size allocated!
11030           (old, old bug)
11031
11032         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
11033           Removed unused call to gdk_window_get_size() that
11034           showed up when the above was fixed.
11035
11036 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
11037
11038         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
11039           fix up widget->window when the widget is a
11040           NO_WINDOW container widget.
11041
11042 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
11043
11044         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
11045           to account for the fact that feof() does _not_ 
11046           return TRUE on errors, and thus avoid infinite loops
11047           when trying to use gdk_pixmap_create_from_xpm()
11048           on unreadable values.
11049
11050 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
11051
11052         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
11053
11054 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
11055
11056         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
11057           gdk_gc_set_dashes to take gint8 instead of gchar to
11058           make it clearer that it is _not_ a NULL terminated string.
11059
11060         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
11061           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
11062           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
11063           arguments.
11064
11065 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
11066
11067         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
11068         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
11069         background size relative to our allocation, guard against small
11070         allocations, we may have not yet been size allocated.
11071
11072 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
11073
11074         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
11075         not just version == 3. We implement all 3 + most of 4 - 
11076         (we don't support matching text/plain;charset=iso-8859-1
11077         to a dest that expects text/plain). We'll still advertise
11078         3 to be safe, but any client implementing version >= 3
11079         must interoperate with 3.
11080         
11081 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11082
11083         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
11084         background and gc members, add a warning in gtk_tooltips_set_color()
11085         indicating that this function is deprecated.
11086
11087 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
11088
11089         * docs/gtkfaq.sgml: FAQ Update:
11090           - Minor cleanups (Emmanuel, me)
11091           - New questions:
11092                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
11093                 How can I retrieve the text from a GtkMenuItem? (timj)
11094                 How do I validate/limit/filter the input to a GtkEntry? (me)
11095                 Memory does not seem to be released when I free the list
11096                         nodes I've allocated (timj)
11097
11098 2000-03-07  Tor Lillqvist  <tml@iki.fi>
11099
11100         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
11101         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
11102         for which it is no use to call GetLastError onWin9x.
11103         (gdk_other_api_failed) New function, for general error
11104         reporting without calling GetLastError.
11105         (gdk_win32_api_failed) OTOH, this function always calls
11106         GetLastError. (gdk_win32_last_error_string) Remove this function,
11107         GLib has the equivalent now.
11108
11109         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
11110         call them with function name, file name and line number in the
11111         arguments.
11112
11113         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
11114         functions.
11115         
11116         * gtk/gtk.def: Add some missing entry points.
11117
11118         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11119         gtk_paned_set_gutter_size, which don't exist any longer, as void.
11120         
11121         Fixes by Hans Breuer:
11122
11123         * gdk/makefile.msc: Update for debugging.
11124
11125         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
11126         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
11127         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
11128         in the dash_list.
11129
11130         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
11131         the x11 backend.
11132
11133         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
11134
11135         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
11136
11137 2000-03-04  Tor Lillqvist  <tml@iki.fi>
11138
11139         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
11140         just pixel value of background colour.
11141
11142         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
11143         containing code snippet previously duplicated in a couple of
11144         places.
11145         
11146         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
11147         gdk_colormap_color.
11148
11149         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
11150         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
11151         events for autorepeated Shift, Control and Alt keys. Use
11152         gdk_colormap_color.
11153
11154         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
11155         pointer is inside the window the cursor of which we are setting,
11156         call SetCursor immediately.
11157
11158         * gdk/win32/makefile.cygwin
11159         * gtk/makefile.cygwin: If we don't have the build number stamp
11160         file, use zero.
11161
11162         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11163         gtk_paned_set_gutter_size as empty.
11164
11165         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
11166         
11167 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
11168
11169         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
11170           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
11171           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
11172           docs/gtk_tut.sgml docs/gtk.texi TODO:
11173
11174           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
11175
11176 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
11177
11178         * gtk/gtkcalendar.c: Implement num_marked_dates,
11179           and don't emit mutiple day_selected signals on
11180           month_prev.
11181
11182 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
11183
11184         * docs/make-todo (lineno): let title and logo be configurable so
11185         that GNOME can use this script too.
11186
11187         * TODO.xml: added logourl and a title
11188
11189 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
11190
11191         * TODO.xml: Added some UI items, and an explanatory
11192         comment at the top of the file.
11193
11194 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
11195
11196         * TODO.xml: some updates, added abunch of new entries.
11197         a note for those fiddeling with this file, when done
11198         with it, invoke:
11199         $ ./docs/make-todo TODO.xml >/dev/null
11200         and correct output errors before comitting changes.
11201
11202 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
11203
11204         * TODO.xml: Added XML-structured TODO file.
11205         * docs/make-todo: python script to turn TODO.xml into
11206           pretty XML output. 
11207
11208 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
11209
11210         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
11211         the function to let it draw the seven dots, instead of the old,
11212         much maligned, method.
11213         (draw_dot): New function to draw a dot.
11214
11215         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
11216         to draw the handle inside the border width as opposed to outside.
11217         Use paint function instead of gdk_draw_point.
11218
11219         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
11220         to draw the handle inside the border width as opposed to outside.
11221         Use paint function instead of gdk_draw_point.
11222
11223         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
11224         Change indenting to be more GTK like.
11225
11226 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
11227
11228         * docs/gtk_tut.sgml: New section on GtkCalendar
11229         * examples/calendar: Update example code
11230
11231 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
11232
11233         * docs/gtkfaq.sgml: FAQ Update
11234
11235 2000-02-19  Anders Carlsson  <andersca@gnu.org>
11236
11237         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
11238         to prevent the scroll event to be propagated upwards.
11239
11240 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
11241
11242         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
11243         OwnerGrabButtonMask from button entries for
11244         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
11245
11246         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
11247         to the event mask (which will result in button/press release
11248         being added to the event mask on Unix) so scrolling works
11249         for layouts in scroll windows.
11250
11251         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
11252
11253         Patch from Anders Carlsson  <andersca@gnu.org> to add
11254         a scroll event.
11255
11256         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
11257         scrolling to the "Test Scrolling" part of testgtk.
11258  
11259         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
11260  
11261         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
11262         it against GDK_SCROLL.
11263  
11264         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
11265         way of mouse wheel scrolling.
11266  
11267         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
11268  
11269         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
11270  
11271         * gtk/gtkmain.c: Removed previous mouse wheel hack.
11272  
11273         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
11274         gdk_event_mask_table.
11275  
11276         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
11277         GdkEventScroll handler.
11278  
11279         * gdk/gdkevents.h: Added GdkEventScroll structure.
11280  
11281 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
11282
11283         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
11284         and Anders Carlsson to change the Paned widgets so that they
11285         can be dragged from anywhere along the length. Also change
11286         the way that this is drawn to make this apparent.
11287
11288         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
11289         from George Lebl to check that option_menu->menu is present
11290         before getting history.
11291
11292 2000-02-14  Tor Lillqvist  <tml@iki.fi>
11293
11294         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
11295         before the assertion for non-NULL segment list.
11296
11297         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
11298         Seems that pattern brushes *must* be 8x8 pixels! At least on my
11299         machine, but it might be display driver dependent. Sigh, so make
11300         sure the stipple is that size. Does Windows suck or what?
11301
11302         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
11303         places.
11304
11305 2000-02-13  Havoc Pennington  <hp@pobox.com>
11306
11307         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
11308         refcount to 1
11309         (gdk_cursor_new): init refcount to 1
11310
11311         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
11312
11313 2000-02-13  Tor Lillqvist  <tml@iki.fi>
11314
11315         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
11316         so that we don't have to do unnecessary settings to the HDC.
11317
11318         * gdk/win32/gdkdrawable-win32.c
11319         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
11320         gdk_gc_predraw.
11321
11322         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
11323         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
11324         GDI paths, call WidenPath to get the outline of the stroken path,
11325         and then fill the outline (with the brush that was built from the
11326         stipple).
11327
11328         * gdk/win32/gdkgc-win32.c: Factor out common code from
11329         _gdk_win32_gc_new and gdk_win32_gc_set_values into
11330         gdk_win32_gc_values_to_win32values. Use correct colour for
11331         SetBkColor() (Until now the code actually used a random colour in
11332         the call to SetBkColor()... but that didn't show up as not many
11333         GDI APIs use the background colour. Pattern (opaque stippled)
11334         brushes do.)
11335
11336         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
11337         gdk_win32_api_failed): New functions for error logging.
11338
11339         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
11340         WIN32_API_FAILED to call them, passing function or file name and
11341         line number.
11342
11343         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
11344
11345         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
11346         GdkColor for foreground and background in GdkGCWin32Data.
11347
11348         * gdk/makefile.cygwin: Link in the resource object separately.
11349
11350         * gdk/win32/rc/gdk.rc
11351         * gtk/gtk.rc (New file)
11352         * gdk/win32/makefile.cygwin
11353         * gtk/makefile.cygwin: Update build number in DLLs automatically,
11354         as in GLib.
11355
11356 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
11357
11358         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
11359         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
11360         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
11361         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
11362         parameters given and cursor->ref_count. coding style fixups.
11363
11364         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11365         not GtkWidget.
11366         
11367         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
11368         fix up widget macros and add _GET_CLASS() variant.
11369         
11370         * gtk/*.c: some GtkType fixups.
11371
11372 2000-02-09  Tor Lillqvist  <tml@iki.fi>
11373
11374         * gdk/win32/gdkproperty-win32.c
11375         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
11376         were reversed.
11377
11378 2000-02-04  Tor Lillqvist  <tml@iki.fi>
11379
11380         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
11381         g_filename_to_utf8 to convert the font names Windows gives us from
11382         whatever is the default codepage to UTF-8.
11383         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
11384         in the other direction.
11385
11386         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
11387         error in debugging output.
11388
11389 2000-02-02  Tor Lillqvist  <tml@iki.fi>
11390
11391         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
11392         and height parameters to gdk_window_clear_area(). Not minus one.
11393
11394 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
11395
11396         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
11397         checks if the widget passed to gtk_drag_get_data() was not the
11398         dest widget.
11399
11400 2000-02-01  Tor Lillqvist  <tml@iki.fi>
11401
11402         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
11403         g_filename_from_utf8 functions (which were added a moment ago to
11404         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
11405         size buffers.
11406
11407         gtk_file_selection_get_filename returns the filename in the C
11408         runtime encoding. It calls g_filename_from_utf8, but copies the
11409         returned string to a static buffer, which is returned. I think
11410         this is better than returning the result from g_filename_from_utf8
11411         directly, which would mean all apps that use it would have to free
11412         the return value. Or should this function care about this issue at
11413         all? Maybe a new function with clearly defined semantics.
11414
11415         * gtk/gtkfilesel.h: Add comment about
11416         gtk_file_selection_get_filename returning the filename in the C
11417         runtime's encoding.
11418
11419         * README.win32
11420         * gdk/gdk.def
11421         * gdk/makefile.{cygwin,msc}
11422         * gtk/gtk.def: Updates.
11423
11424         * gdk/gdkcursor-win32.c: Initialise refcount.
11425
11426 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
11427
11428         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
11429
11430 2000-01-30  Havoc Pennington  <hp@pobox.com>
11431
11432         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
11433         destroy
11434
11435         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
11436
11437         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
11438         implemented in platform-specific code
11439
11440         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
11441
11442         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
11443         underscore in front
11444
11445         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
11446         put an underscore in front
11447
11448         * gdk/gdkcursor.c: new file, implements
11449         gdk_cursor_ref/gdk_cursor_unref
11450
11451         * gdk/gdkcursor.h: Refcount GdkCursor
11452
11453         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
11454
11455 2000-01-29  Tor Lillqvist  <tml@iki.fi>
11456
11457         * gdk/gdkwindow.h
11458         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
11459
11460 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
11461
11462         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
11463         structures to properly inherit from GtkWidget not GtkBin.
11464
11465 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
11466
11467         * gtk+.spec.in: Added lib/gtk+/include/* to %files
11468         (bug #5178 - Peter Wainright)
11469         
11470         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
11471         so that it will be installed.
11472         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
11473
11474 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
11475
11476         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
11477         for the GtkStyleClass vtable const.
11478
11479         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
11480         take a const string argument like GtkTranslateFunc. This will
11481         require changes in use code.
11482
11483 2000-01-19  Tor Lillqvist  <tml@iki.fi>
11484
11485         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
11486         semantics (to mimic the X11 backend, which just calls XClearArea)
11487         is to check for zero width (and height), and in that case use the
11488         window's width minus x (height minus y). This fixes for instance
11489         some redraw problems with gtkclist, which were easily noticeable
11490         in the gtk file selection widget.
11491
11492         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
11493         windows.
11494
11495 2000-01-13  Tor Lillqvist  <tml@iki.fi>
11496
11497         * configure.in
11498         * gdk/Makefile.am
11499         * gdk/x11/Makefile.am
11500         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
11501         (bug #5177).
11502         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
11503         out later.
11504
11505 2000-01-09  Tor Lillqvist  <tml@iki.fi>
11506
11507         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
11508         WM_MOVE for iconified or invisible windows. This fixes various
11509         problems when minimising windows. Thanks to Bernd Herd.
11510
11511 2000-01-05  Tor Lillqvist  <tml@iki.fi>
11512
11513         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
11514         backend's draw_lines method, not draw_points.
11515
11516 2000-01-02  Tor Lillqvist  <tml@iki.fi>
11517
11518         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
11519         before Owen's reorganisation: Don't have queued_events and
11520         queued_tail statics in this file, but use gdk_queued_events and
11521         gdk_queued_tail. This makes exposure event compression work again.
11522
11523         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
11524         seem to be needed?
11525
11526 1999-12-30  Tor Lillqvist  <tml@iki.fi>
11527
11528         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
11529         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
11530         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
11531         doesn't do anything.
11532
11533         * gdk/gdk.def: Add gdk_xid_table_insert.
11534
11535         * gdk/win32/gdkprivate-win32.h
11536         * gdk/win32/gdkevents-win32.c
11537         * gdk/win32/gdkinput-win32.c
11538         
11539         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
11540         extension_events field in the GdkWindowWin32Data struct. Use only
11541         the extension_events field in GdkWindowPrivate. Previously one was
11542         set, and the other one tested, which broke tablet
11543         functionality. Thanks to Keishi Suenaga for pointing this out.
11544
11545 1999-12-18  Tor Lillqvist  <tml@iki.fi>
11546
11547         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
11548         When handling a single character (text length == 1), don't handle
11549         it as if it was UTF-8.
11550
11551 1999-12-11  Tor Lillqvist  <tml@iki.fi>
11552
11553         * Makefile.am: Distribute README.win32.
11554         
11555         * gdk/Makefile.am
11556         * gdk/win32/Makefile.am: Distribute Win32 files.
11557
11558         * gdk/makefile.msc: New file.
11559
11560         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
11561         after label).
11562
11563         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
11564         gdk_error_code as GDKVAR, as they are referred outside GDK.
11565
11566         * gdk/win32/makefile.msc: Update.
11567
11568         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
11569         tweaks. Check only if at least one of those Unicode subrange bits
11570         we care for is set. If no code page bits are set, guess (wildly)
11571         based on the charset.
11572
11573         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
11574
11575         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
11576         non-NULL.
11577
11578         * gtk/gtkdnd.c
11579         * gtk/gtklayout.c
11580         * gtk/gtkplug.c
11581         * gtk/gtkselection.c
11582         * gtk/gtksocket.c
11583         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
11584         appropriate. There must be a cleaner way to handle this?
11585
11586         * gtk/gtkrc.c: Must include windows.h on Win32.
11587
11588         * gtk/testgtk.c: No need to include gdkx.h.
11589
11590         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
11591
11592 1999-12-07  Tor Lillqvist  <tml@iki.fi>
11593
11594         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
11595         the rbearing is set to the same as the width, but this should be
11596         fixed.
11597
11598 1999-12-06  Tor Lillqvist  <tml@iki.fi>
11599
11600         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
11601         function. If Windows doesn't tell us what Unicode subranges a font
11602         covers, guesstimate based on the codepages it covers. This will
11603         hopefully help those Windows versions or fonts that don't give us
11604         any useful Unicode subrange information with GetTextCharsetInfo.
11605         Call this function in gdk_font_load_internal.
11606
11607         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
11608         minor changes.
11609
11610 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
11611
11612         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
11613         New function, long needed.
11614
11615 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
11616
11617         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
11618         only_if_exists argument of gdk_atom_intern to
11619         bool.
11620
11621 1999-11-25  Tor Lillqvist  <tml@iki.fi>
11622
11623         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
11624         Fix two copy&paste errors.
11625
11626         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
11627         win32 has changed.
11628
11629         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
11630         GdkWin32SingleFont struct.
11631
11632         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
11633         subranges of loaded fonts. Clear font signature first, in case
11634         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
11635         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
11636
11637         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
11638         Unoffset clip region.
11639
11640 1999-11-23  Tor Lillqvist  <tml@iki.fi>
11641
11642         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
11643         event->any.window before calling filter functions.
11644
11645 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
11646
11647         * gtk/gtkgamma.h: Adapt cast macros to standard.
11648
11649 [ Merges from 1.2 ]
11650
11651 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
11652
11653         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
11654         If translation does not include a '/', use entire
11655         translation instead of crashing.
11656
11657 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
11658
11659         * docs/gtk_tut.sgml:
11660         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
11661
11662 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
11663
11664         * gtk/gtkselection.c (gtk_target_list_remove): Use
11665         g_list_remove_link, not g_list_remove.
11666
11667         [ From Geert Bevin <gbevin@thunderstorms.org> ]
11668         
11669 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
11670
11671         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
11672         statement upon unselection (how the heck did that slip in?).
11673
11674 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
11675
11676         * gtk/gtktext.c (gtk_text_freeze): 
11677         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
11678         in frozen state (and aparently crashes). patch provided by Anders
11679         Melchiorsen <and@kampsax.dtu.dk>.
11680
11681 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
11682
11683         * fix insensitive default/focus widget activation,
11684         reported by Matt Goodall <mgg@isotek.co.uk>.
11685
11686         * gtk/gtkwindow.c (gtk_window_key_press_event): 
11687         (gtk_window_activate_default):
11688         (gtk_window_activate_focus):
11689         return handled=FALSE for actiavtion of insensitive default
11690         widgets. return handled=TRUE for activation of insensitive
11691         focus widgets. don't activate in either case.
11692
11693 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
11694
11695         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
11696         and $glib_cflags to match library order and in the
11697         theory that an old version of GLib is more likely to
11698         be in the include directory for X then vice-versa.
11699         (Bug #2776)
11700
11701 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11702
11703         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
11704         to determine the locale for fontsets, not LC_MESSAGES;
11705         the user may want English messages with a handling
11706         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
11707         will still be broken) (Bug #2891)
11708
11709 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11710
11711         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
11712
11713 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11714
11715         * gtk/gtkrc.ko: Changed the Korean default fontset.
11716
11717 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
11718
11719         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
11720         where when scrolling to the left or top double exposes
11721         were done, causing major slowdowns.
11722
11723 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
11724
11725         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
11726         names to lowercase and alphanumeric, before looking
11727         them up.
11728
11729         * gtk/Makefile.am: Install codeset variant gtkrc files
11730         with normalized names.
11731
11732 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
11733
11734         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
11735         popup menus when the menu is already visible, but its parent
11736         is still hidden, (happens after tornoff window got hidden).
11737
11738 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
11739
11740         * gtk/Makefile.am (install-data-local): Fix
11741         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
11742         deleted, causing error messages on install.
11743
11744 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
11745
11746         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
11747         the handle as well, since we now sometimes ignore
11748         exposes on the handle while resizing.
11749
11750 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
11751
11752         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
11753         extra g_free introduced in one of the last one or two 
11754         commits.
11755
11756 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
11757
11758         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
11759         consistent, put each style that a gtkrc.* file creates
11760         in a unique namespace, remove old files before installing.
11761
11762 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
11763
11764         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
11765         gtk_rc_init is called multiple times. (Yes, people who
11766         do that have bugs in their code.)
11767
11768 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
11769
11770         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
11771         Remove it since it's generated by the Makefile anyway
11772
11773 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
11774
11775         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
11776         device->info.axes for core pointer.
11777
11778 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
11779
11780         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
11781         idle_id, to deal with obsolete, broken C libraries.
11782
11783 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
11784
11785         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
11786         allocation->x/y twice!
11787
11788         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
11789         consistent with gtk_vscale_pos_trough().
11790
11791 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
11792
11793         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
11794         be queueing a resize on a toplevel container between
11795         the time we show it and when we map it. So, we need
11796         to test GTK_WIDGET_VISIBLE() for toplevels, and only
11797         use GTK_WIDGET_DRAWABLE() for child windows.
11798
11799 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
11800
11801         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
11802         (fixes bug #2144)
11803
11804 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
11805
11806         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
11807         container DRAWABLE (instead of VISIBLE), so we don't queue
11808         resizes on non-toplevel containers.
11809
11810 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
11811
11812         * gtk/gtkselection.[ch]: Make the data argument
11813         const guchar *.
11814
11815 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
11816
11817         * gtk/gtkwindow.c: Try to behave sensibly if 
11818         the focus widget is the window itself. (Should
11819         we allow this at all?)
11820
11821 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11822
11823         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
11824         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
11825         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
11826         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
11827         in prototypes and implementations consistent (Tomas Ogren).
11828
11829         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
11830         before the widget is unparented (reported by damon).
11831
11832         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
11833         since we provide unsigned data anyways.
11834
11835 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
11836
11837         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
11838         the call to gtk_tooltips_layout_text() until later.
11839
11840         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
11841         Call gtk_widget_ensure_style() before using the style.
11842
11843 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
11844
11845         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
11846         for old widgets that don't propagate draws to all
11847         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
11848
11849 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
11850
11851         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
11852         for a redraw but just the widget that requested the resize.
11853
11854 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
11855
11856         * gtk/gtkcontainer.c: added new widget level method
11857         gtk_container_set_reallocate_redraws() and a GtkContainer flag
11858         reallocate_redraws : 1 to reflect the setting, exported this through
11859         the argument system as a boolean ::reallocate_redraws.
11860
11861         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
11862         on the widget because the allocation changes, do so as well for
11863         widget->parent if the parent has reallocate_redraws set to TRUE.
11864         with that containers requesting reallocation redraws get automatically
11865         redrawn if their children changed allocation (this unfortunately
11866         affects also other children that didn't change allocation, but we
11867         cannot work around that before 1.3).
11868
11869 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11870
11871         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
11872         _and_ height are >0 (not _or_).
11873
11874         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
11875         instead of gtk_container_queue_resize(), which is a core gtk internal
11876         function (must have been on crack when i queued that).
11877
11878         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
11879         we can check more reliably if we want to discard expose events.
11880         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
11881         flag.
11882         
11883         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
11884         we simply trust these events. for deciding whether to discard exposes,
11885         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
11886         
11887 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
11888
11889         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11890         queues of areas that are completely off screen.
11891
11892         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
11893         logic for handleboxes.
11894
11895         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
11896         check on width/height.
11897
11898 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
11899
11900         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
11901         we are fine with using $@ the way we do (if we actually encounter
11902         brokeness with $@ in VPATH builds because of additional path prefixes,
11903         we need to use $(@F) actually).
11904
11905 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
11906
11907         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
11908         short lived bugs, that would allow language bindings to do surgeries
11909         to our guts.
11910
11911 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
11912
11913         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
11914         where comparison was being done against an uninitialized
11915         value causing intermittant results depending on
11916         compiler flags. Also make it clearer that we aren't
11917         ever initializing the child as 0x0 (though this will
11918         be caught in gtk_widget_size_allocate())
11919
11920 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
11921
11922         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
11923         gtk_window_unset_transient_for() call after we do checks
11924         involving the old transient parent.
11925         [ From Lance Capser <lmc@cyberhighway.net> ]
11926
11927 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
11928
11929         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
11930         an empty file.
11931
11932 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
11933
11934         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
11935         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
11936
11937 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
11938
11939         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
11940         `$@' is valid only in the build dir, not after we've done 
11941         `cd $srcdir'.  Also use `test -f' instead of less portable
11942         `test -e'.
11943
11944 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
11945
11946         * gtk/gtktext.c (correct_cache_insert): Rewrite
11947          for simplicity, and hopefully correctness.
11948          (Fixes bug #1322, which was a segfault when
11949           on some insertions with the properties around
11950           the insertion set up just wrong.)
11951
11952         * gtk/gtktext.c (gtk_text_adjustment): When we receive
11953          a "changed" signal, clamp the new value to the adjustment
11954          bounds to avoid segfaulting if someone tries to change
11955          the adjustment to a bogus value. (Bug #1795)
11956
11957 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11958
11959         * gtk/gtkmain.c: Ignore unexpected destroy notifies
11960         for children, for toplevel windows handle them
11961         like delete_event.
11962
11963         * gtk/gtkplug.c: Add an unrealize handler so that
11964         we unref plug->socket_window when we are done
11965         with it.
11966
11967 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
11968
11969         * gtk/gtktext.c (clear_area): Fix stupid signedness
11970          problem that was causing background to sometimes
11971          be misaligned.
11972
11973 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
11974
11975         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
11976         
11977         * gtk/gtkmenu.c (gtk_menu_position): Make
11978          sure we never position menus with negative x, y,
11979          since gtk_widget_set_uposition() can't handle that.
11980
11981         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
11982          Modify the positioning code a bit so that we always
11983          put the top-left corner onscreen. (This is for
11984          UI reasons, gtk_menu_position() now takes care of
11985          gtk_widet_set_uposition() brokeness.)
11986
11987 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
11988
11989         * gtk/Makefile.am: fixed up things for -jx, x > 1.
11990
11991 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
11992
11993         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
11994           RC style that is passed in. The lack of the ref
11995           before was a bug. If people worked around this
11996           bug, this will introduce a slight memory leak
11997           in their code. The code should typically look like:
11998
11999             rc_style = gtk_rc_style_new ();
12000             [...]
12001             gtk_widget_modify_style (widget, rc_style);
12002             gtk_rc_style_unref (rc_style);
12003
12004         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
12005           the style if it was already set.
12006
12007         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
12008           style if it was set before.
12009
12010 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12011
12012         * gtk/testgtk.c (main): Add a check to see if we
12013           are being run from the correct directory and
12014           to quit nicely if we are not.
12015
12016         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
12017           static.
12018
12019 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
12020
12021         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
12022
12023         * gtk/gtkwindow.c:
12024         queue resizes unconditionally (gtk_widget_queue_resize will figure
12025         what to do if the window is not realized).
12026         (gtk_window_move_resize): only recenter the window
12027         for GTK_WIN_POS_CENTER_ALWAYS.
12028         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
12029         the same way as GTK_WIN_POS_CENTER.
12030
12031 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
12032
12033         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
12034         with (!(info->last_flags & GDK_HINT_POS)) instead of
12035         (!info->last_flags & GDK_HINT_POS).
12036
12037         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
12038         new_height unconditionally, because we use these values even if
12039         !default_size_changed && !hints_changed.
12040         comented the (default_size_changed || hints_changed) case with
12041         respect to resize rejects from the window manager.
12042
12043         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
12044         in the zvt condition hack, since this includes the window hints, set
12045         the hints after the handling_resize case.
12046
12047         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
12048         window is initially shown with to the geometry.
12049
12050 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
12051
12052         * gtk/gtkwindow.c (gtk_window_move_resize):
12053         s/size_changed/default_size_changed/g so i know what's
12054         really going on (frying brain on smaller flame now).
12055
12056 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
12057
12058         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
12059         we have size_changed upon handling_resize. this is a gross
12060         workaround for the broken zvt widget and should be removed in
12061         1.3 again (search for FIXME).
12062         Owen provided an accurate comment for this:
12063
12064         /* We could be here for two reasons
12065          *  1) We coincidentally got a resize while handling
12066          *     another resize.
12067          *  2) Our computation of size_changed was completely
12068          *     screwed up, probably because one of our children
12069          *     is broken. It's probably a zvt widget.
12070          *
12071          * For 1), we could just go ahead and ask for the
12072          * new size right now, but doing that for 2)
12073          * might well be fighting the user (and can even
12074          * trigger a loop). Since we really don't want to
12075          * do that, we requeue a resize in hopes that
12076          * by the time it gets handled, the child has seen
12077          * the light and is willing to go along with the
12078          * new size. (this happens for the zvt widget, since
12079          * the size_allocate() above will have stored the
12080          * requisition corresponding to the new size in the
12081          * zvt widget)
12082          *
12083          * This doesn't buy us anything for 1), but it shouldn't
12084          * hurt us too badly, since it is what would have
12085          * happened if we had gotten the configure event before
12086          * the new size had been set.
12087          */
12088
12089 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
12090
12091         * gtk/gtkrc.c: deal properly with the fact that RC
12092           style lists may include rc styles more than once.
12093
12094         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
12095           unused static function.
12096
12097         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
12098           stack of directories of RC files currently being
12099           parsed and implicitely add them to pixmap path.
12100           
12101           This fixes a bug where the directory would get
12102           appended then overwritten by pixmap_path declarations.
12103
12104           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
12105
12106         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
12107           theme's exit function. (Patch from Peter Wainwright,
12108           bug #1454)
12109
12110         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
12111           Add a destroy() handler to take care of removing
12112           group for menu item. (Fixes bug #1197)
12113
12114         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
12115           in warning message.
12116
12117 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
12118
12119         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
12120         roundtrip to figure window's width and height, since we know that
12121         anyways from widget->allocation.
12122
12123 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
12124
12125         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
12126           the hints after we request the new size.
12127
12128 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
12129
12130         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
12131           GTK_WIDGET_REALIZED() assertion - we can compute the
12132           hints before we are realized.
12133
12134         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
12135           hint changing so that we have a value of hints_changed
12136           when we decide whether to constrain the window size.
12137
12138         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
12139
12140         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
12141         change back to G_MAXINT.
12142
12143 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
12144
12145         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
12146         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
12147         contain uncluttered values.
12148         (gtk_window_compute_hints): simply assert that window is realized
12149         and that geometry_info is valid, since we rely on this anyways.
12150         (gtk_window_constrain_size): major cleanups to the code.
12151         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
12152         for the base size, instead of the minimums. use 32767 as max width
12153         and height (like in gtkwindow.c) instead of G_MAXINT.
12154
12155 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
12156
12157         * cleaned up the GtkContainer.need_resize flag handling mess, we
12158         only need to force resize requests when we were prematurely
12159         realized, or our widget tree was modified when we were temporarily
12160         hidden. handling these cases directly upon showing the window (i.e.
12161         while the GdkWindow is still unmapped) avoids the need to wait for
12162         a configure event response and therefore makes the GUI more snappier
12163         and avoids blank windows during the roundtrip.
12164
12165         * gtk/gtkwidget.c:
12166         (gtk_widget_hide): 
12167         (gtk_widget_show): don't queue resizes on toplevels, they know how
12168         to deal with matters.
12169
12170         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
12171         flag directly for not visible resize containers and spare us unecessary
12172         signal emissions.
12173
12174         * gtk/gtkwindow.c:
12175         (gtk_window_realize): if we need to enforce premature size allocation,
12176         queue a container resize so we are correctly resized later on.
12177         (gtk_window_init):
12178         (gtk_window_size_request):
12179         don't freak around with the ->need_resize flag,
12180         gtk_container_queue_resize() will care about that.
12181         (gtk_window_show):
12182         handle initial resizing issues here, we can handle matters better in
12183         this place, especially since we know that our GdkWindow is still
12184         unmapped.
12185         (gtk_window_move_resize):
12186         don't care about ->need_resize at all.
12187         handle size changes properly that occoured while we waited for a
12188         configure event.
12189
12190 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
12191
12192         * gtk/gtkwidget.c (gtk_widget_set_uposition):
12193         * gtk/gtkwindow.[hc] (gtk_window_reposition):
12194         Move the hint setting code from gtk_widget_set_uposition
12195         to here; set the hints so that we respect any previously
12196         set geometry hints.
12197
12198         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
12199         change the window hints here or move the window here,
12200         let that happen in gtk_window_move_resize().
12201
12202 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
12203
12204         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
12205         to already queued resizes (and therefore redraws) on a widget, check
12206         its anchestry as well.
12207
12208         * gtk/gtkcontainer.c:
12209         (gtk_container_queue_resize): clear resize widgets for resize
12210         containers before aborting prematurely. this is especially important
12211         for toplevels which may need imemdiate processing or their resize
12212         handler to be queued.
12213         (gtk_container_dequeue_resize_handler): added new internal function for
12214         gtkwindow.c.
12215
12216         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
12217         configure event, take possible changes in window position into account
12218         as well.
12219         if we request a new window size, queue up a resize handler that will
12220         last until the configure event response arrives.
12221         combined the ->need_resize case (initial show) with the general size
12222         (hints) changed case and added even more comments.
12223         if !auto_shrink, only revert to the old allocation if the new size
12224         is smaller than the current allocation.
12225
12226 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
12227
12228         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
12229                            gtk_window_set_geometry_hints
12230                            gtk_window_set_default_size):
12231         When hints are set, queue a resize so that the hints will
12232         be eventually reset on the toplevel.
12233
12234         * gtk/gtkwindow.c (gtk_window_show): Use
12235         gtk_window_compute_default_size(). Clear the need_resize flag
12236         on the initail map so that we don't unnecessarily trigger the
12237         resize code.
12238
12239         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
12240         into separate functions. Compare the hints we are setting
12241         with what we set last time so that we can accurately
12242         tell when we need to reset the hints.
12243
12244         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
12245         function to figure out the size from requisition
12246         and default_size.
12247
12248         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
12249         from fvwm to constrain a size to the geometry hints.
12250
12251         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
12252         to compare two sets of geometry hints.
12253
12254         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
12255         from gtk_window_set_hints(), just compute the hints,
12256         don't set them.
12257
12258         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
12259         code from gtk_window_move_resize() to separate function,
12260         rationalize a bit.
12261
12262 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
12263
12264         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
12265         structure into a new private structure.
12266
12267         * gtkrc.c: Split GtkRcStyle into public/private.
12268         In the private part, add a list of pointers to the
12269         RcStyle lists this RcStyle participates in.
12270
12271         * gtkrc.c: When a RcStyle is free, remove all
12272         lists referencing it from the 
12273         realized_style_ht hash, and free those lists.
12274         
12275         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
12276         gtk_rc_init(), since that adds the default styles
12277         to the list of parsed RC files again.
12278
12279         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
12280         
12281 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
12282
12283         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
12284         checks that ensure that a widget's allocation is at least 1 in width
12285         and height. (GNOME note: this doesn't affect old panel code anymore,
12286         because GtkSocket will request width and height of at least 1 since
12287         Fri Jul 23).
12288
12289         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
12290         allocated yet (happens if the user realizes the window prematurely),
12291         size request and allocate it.
12292         (gtk_window_size_allocate): guard against guint underflows.
12293
12294 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
12295
12296         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
12297         in gtk_built_sources, so gtk.defs gets built prior to all other
12298         sources.
12299
12300 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12301
12302         * gtk/Makefile.am:
12303         invoke indent on gtkmarshal.*. 
12304         rewrote source generation rules, use COPYING as oldest source tag for
12305         a piggyback rule to generate all sources from (don't touch it ;).
12306         major cleanups, strip spaces on build rules for GNU Make.
12307
12308         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
12309         source and target files from commandline arguments. don't invoke indent.
12310
12311 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12312
12313         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12314         notebook after switch to avoid drawing problems.
12315         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12316         
12317         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12318         show them instead. 
12319         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12320
12321 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12322
12323         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12324         notebook after switch to avoid drawing problems.
12325         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12326         
12327         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12328         show them instead. 
12329         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12330
12331 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
12332
12333         * gtk/gtkwindow.c:
12334         we use window->need_resize from configure_event now, to indicate that
12335         the gtkwindow should keep its allocation (e.g. because the user resized
12336         the window through window manager handles). resize_count is now reliably
12337         used to figure whether we got the allocation we requested from the
12338         window manager.
12339         configure events get queued as resizes now, the real stuff (size
12340         computation and allocation) now only goes on in gtk_window_move_resize().
12341         GtkWindow's requisition now contains its *real* requisition (like all
12342         other widgets), *not* taking usize into account.
12343         geometry_info->last_{width|height} is now updated from set_hints() only
12344         so it always contains the last hints we set for the window manager.
12345         made some event handlers return TRUE instead of FALSE.
12346         the overall code should be much more straight forward now, and the
12347         significant code portions are accompanied by comments now.
12348         (gtk_window_set_hints):
12349         removed requisition argument and made it
12350         fetch the requisition through gtk_widget_get_child_requisition.
12351         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
12352         does that now.
12353         (gtk_window_show):
12354         ensure that the widget is realized before calling 
12355         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
12356         ensure that we got properly size requested and allocated before
12357         realization.
12358         (gtk_window_configure_event):
12359         ignore plain window moves, or reallocate the widget tree through the
12360         resize queue otherwise.
12361         (gtk_window_move_resize):
12362         mostly rewrote this function to figure window manager hints more
12363         reliably, coalesce window moves and resizes to reduce configure events
12364         and do actuall size allocations.
12365
12366 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12367
12368         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
12369         that have a resize pending, because a redraw is already queued for them.
12370
12371         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
12372         hack to clear resize_widgets.
12373
12374         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
12375         for resize containers prior to size allocation. (this is also a bit
12376         ugly, but avoids side effects for stopped emissions and is thus more
12377         reliable).
12378         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
12379
12380         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
12381         function from gtk_tooltips_expose, as we connect to ::expose_event
12382         *and* ::draw now.
12383
12384 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12385
12386         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
12387         checks.
12388         (gtk_target_list_unref): Likewise.
12389
12390         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
12391
12392 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
12393
12394         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
12395         guard against division by zero. (Fixes bug #1339)
12396
12397 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
12398
12399         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
12400         Prevent the trivial leak of information of allowing
12401         word motion when the entry is not visible.
12402
12403 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
12404
12405         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
12406         modality to error dialog as well as confirmation dialogs.
12407         (Bug #1803, reported by Rosanna Wing Sze Yuen)
12408
12409 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12410
12411         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
12412         tree->view_lines.
12413         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
12414
12415         * gtk/Makefile.am (install-data-local): Solaris apparently
12416         has various troubles with ln -f; use rm first instead.
12417         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
12418
12419 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
12420
12421         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
12422         use `cp' followed by `rm' (the `rm' was already there).
12423
12424 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12425         
12426         * configure.in: Fix autoconf warnings about cross compilation by
12427         trying to provide sane defaults for AC_TRY_RUN.
12428         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
12429         put them into $(srcdir) when generated. Also add a dependency of
12430         gtksignal.h on gtkmarshal.h for -j builds. 
12431         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
12432
12433 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
12434
12435         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
12436         GDK_THREADS_{LEAVE,ENTER} pair.
12437         (From Paul Fisher <pnfisher@redhat.com>)
12438
12439 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
12440
12441         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
12442         width and height are always >0 (owen).
12443
12444 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
12445
12446         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
12447         change that assured that a widget's allocated with and height are
12448         always >1, since this breaks *buggy* panel code. unfortunately this
12449         back-breaks the gimp's color selector.
12450
12451         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
12452         allocation is always >0 in width and height, before sending the
12453         configure event; this is a *gross* hack to get the gimp back to work.
12454         
12455         * marked both cases with TODO-1.3
12456
12457 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
12458
12459         * gtk/gtktext.c: Don't display wrap indicators when
12460         text is not editable and word wrap is on.
12461
12462 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
12463
12464         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
12465         option menus here as they are not derived from menu shell, assure that
12466         the option menu has a menu we can add items to.
12467
12468 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
12469
12470         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
12471         width/height to (gint) before calculations and check against < 0 to
12472         avoid guint wraparounds.
12473
12474 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
12475
12476         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
12477         width and height is never zero. sanity check both dimensions against
12478         32767 and issue a warning if the allocation is greater than that.
12479
12480 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
12481
12482         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
12483         to g_main_pending() as well.
12484
12485 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
12486
12487         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
12488         call to g_main_iteration() - since that will regrab
12489         GTK+ lock to process events.
12490
12491 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
12492
12493         * gtk/gtkwindow.c
12494         - Regularize with the rest of GTK+ by making widget->requisition
12495           not reflect the set_usize()
12496         - Always recompute geometry hints, then check if they
12497           changed before sending them to the X server. The
12498           previous checks for changes would fail in a number
12499           of circumstances. 
12500
12501 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
12502
12503         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
12504
12505 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
12506
12507         * gtk/gtkdnd.c:
12508         - Code cleanups
12509         - Instantaneously update on modifier key presses
12510         - Allow cancellation of the drag with Escape.
12511
12512 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
12513
12514         * gtk/testgtk.c (create_handle_box): Set the policy
12515         to auto_shrink - otherwise the appearance is rather
12516         strange when flipping between horizontal and vertical.
12517
12518 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
12519
12520         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
12521         (gtk_window_set_default_size): don't change a value if it's < 0.
12522         queue a resize.
12523
12524 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
12525
12526         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
12527
12528 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
12529
12530         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
12531         add an extra "/" when concating "/" + filename.
12532         (From Matt Grossman <mattg@oz.net>)
12533
12534 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
12535
12536         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
12537         for fg_gc if we set it for drawing pixmap.
12538
12539 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
12540
12541         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
12542         
12543         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
12544         already set, call old engine's destroy function and
12545         unref the old engine.
12546
12547 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
12548
12549         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
12550
12551 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
12552
12553         * gtk/gtkaccelgroup.h: mark certain functions as internal.
12554
12555 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
12556
12557         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
12558         expand behaviour changed.
12559
12560         * gtk/gtklabel.c (gtk_label_set_pattern):
12561         (gtk_label_set_justify):
12562         (gtk_label_set_line_wrap):
12563         don't bother invoking queue_clear, the reallocation does
12564         that for us, always free_words so the upcoming resize will
12565         relayout the label's contents.
12566
12567 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
12568
12569         * applied argument implementation patches from Elena Devdariani
12570         <elena@cogent.ca>.
12571
12572         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
12573         ::space_style, ::relief
12574         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
12575         * gtk/gtkpreview.c: ::expand
12576         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
12577         * gtk/gtknotebook.c: ::homogeneous
12578         * gtk/gtklabel.c: ::wrap
12579         * gtk/gtklist.c: ::selection_mode
12580         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
12581         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
12582         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
12583         * gtk/gtkclist.c: ::sort_type
12584         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
12585         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
12586
12587 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
12588
12589         * gtk/gtkstyle.c: Removed ill-thought-out part of last
12590         comment.
12591
12592 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
12593
12594         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
12595         counting right when we have to attach a new style
12596         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
12597
12598         * gtk/gtkstyle.c: Documented the refcounting
12599         peculularities of gtk_style_attach.
12600
12601 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12602
12603         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
12604         window types.
12605
12606         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
12607         of GTK_TOPLEVEL for creating the window.
12608
12609 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12610
12611         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
12612         the last argument (reported by Per Winkvist).
12613         
12614 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
12615
12616         Fixes for invisible XOR lines (Frank Loemker
12617         <floemker@TechFak.Uni-Bielefeld.DE>)
12618         
12619         * gtk/gtkclist.c (gtk_clist_realize): Always use
12620         a non-zero pixel for GDK_XOR.
12621
12622         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
12623         Use GDK_INVERT instead of GDK_XOR.
12624
12625 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
12626
12627         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
12628         signals if h/voffsets differ from adjustment values.
12629         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
12630
12631 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
12632
12633         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
12634         ::selection-done emissions up to the topmost menu shell.
12635
12636 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
12637
12638         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
12639         the user data on the window before destroying it.
12640
12641         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
12642         unrealize handler to take care of destroying 
12643         notebook->panel properly. 
12644         (Bug #1198 - Morten Welinder <terra@diku.dk>)
12645
12646         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
12647         of g_new and g_realloc to stop memory leak. (Actually,
12648         we could just use g_realloc(), but I'm not 100% sure
12649         that is portable).
12650         (Bug #1196 - Morten Welinder <terra@diku.dk>)
12651
12652 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12653
12654         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
12655
12656         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12657         for fontsets.
12658
12659         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
12660         with bin/button confusion.
12661
12662 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
12663
12664         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
12665         and show how preselection of radio items is done.
12666
12667 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
12668
12669         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
12670         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
12671         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
12672         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
12673         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
12674         * gtk/gtktable.c (gtk_table_attach): 
12675         * gtk/gtklist.c (gtk_list_insert_items): 
12676         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
12677         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
12678         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
12679         * gtk/gtkbin.c (gtk_bin_add): 
12680         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
12681         * gtk/gtkfixed.c (gtk_fixed_put): 
12682         * gtk/gtklayout.c (gtk_layout_put):
12683         general fixups to container_add logic. always realize child if
12684         child->parent is realized, only map the child and queue a resize
12685         if child and child->parent are both visible.
12686
12687 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
12688
12689         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
12690         instead of gtk_container_foreach to walk and unrealize children, so
12691         composite children get also unrealized.
12692         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
12693         (gtk_widget_map): assert that the widget is visible (basic constrain).
12694         (gtk_widget_real_map): assert that the widget is realized (basic
12695         constrain).
12696
12697 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
12698
12699         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
12700
12701 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
12702
12703         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
12704         file for iso-8859-2 locales.
12705
12706         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
12707
12708 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
12709
12710         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
12711          (Pointed out by andy@rz.uni-karlsruhe.de and others).
12712          Remove some suspicious and useless lines. 
12713
12714 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
12715
12716         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
12717         width,height = 0, 0 to mean - here to edge of window,
12718         instead of -1, -1, since the former is all we support.
12719
12720 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
12721
12722         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
12723         when removing from quit_functions list.
12724
12725 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
12726
12727         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
12728
12729 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
12730
12731         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
12732          When redrawing characters on non-visible entry, use appropriate
12733          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
12734
12735 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
12736
12737         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
12738         from drag coordinates.
12739         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
12740         use drag_dest_cell.
12741
12742         * gtk/gtktree (drag_dest_cell)
12743         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
12744         (Bug #1129)
12745
12746 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
12747
12748         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
12749         translate_* fields.
12750         (gtk_item_factory_finalize): invoke translate_notify independant from
12751         translate_data.
12752         (gtk_item_factory_set_translate_func): likewise.
12753         (gtk_item_factory_destroy): only remove ifactory pointer from those
12754         widgets that belong to us (stupid me).
12755
12756 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
12757
12758         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
12759         rc_style list when lookup succeeeds.
12760
12761 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
12762
12763         * gtk/gtkctree.c (resync_selection): 
12764         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
12765         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
12766         bug.
12767
12768 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
12769
12770         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
12771         Add some missing GDK_THREADS_ENTER()/LEAVE around
12772         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
12773
12774 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
12775
12776         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
12777         rather than emit_by_name.
12778
12779         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
12780         on the widget across multiple signal emissions.
12781         (gtk_editable_delete_text): same here.
12782         (gtk_editable_class_init): set widget_class->activate_signal after
12783         editable_signals[ACTIVATE] has been created.
12784
12785 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
12786
12787         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
12788         position here prematurely -- we might not have the
12789         right ->min_position and ->max_position yet.
12790
12791 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12792
12793         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
12794         Add error traps so if the other end of the connection
12795         dies, we survive.
12796
12797         * gtk/gtkselection.c (gtk_selection_notify): Clean
12798         up properly when selection property retrieval fails.
12799         
12800         * gtk/gtkselection.c (gtk_selection_request): Correctly
12801         reject SelectionRequest notifies where the handler
12802         returns no data.
12803
12804 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12805
12806         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
12807         when we've previously highlighted.
12808
12809         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
12810         emit two "drag_leave" signals for Motif drops.
12811
12812         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
12813         back the correct status messages when dropping from
12814         Motif onto a proxy window that is rejecting the
12815         drop.
12816
12817 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
12818
12819         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
12820         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
12821         to compare two argument values. added gtk_arg_to_valueloc() to set a
12822         variable from an arg through its location (pointer).
12823
12824         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
12825         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
12826         as gfloat*, uchars are collected as guchar*, ints are collected as
12827         gint*, etc...
12828
12829 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
12830
12831         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
12832         Include <string.h> instead of <strings.h>.
12833
12834         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
12835         (actually, a lot more duplicate includes occur if
12836          you trace through the sequence of #include's)
12837         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
12838         
12839 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12840
12841         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12842         gtk-a-higuti-990322-[0-3]
12843
12844         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12845         that was causing -DX_LOCALE not to work.
12846
12847         * gtk/gtkrc.c (gtk_rc_init):
12848         X_LOCALE will never have LC_MESSAGES defined
12849
12850 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
12851
12852         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
12853         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
12854
12855         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
12856         left/right as well (gtk-michael-980726-0.patch.gz).
12857
12858         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
12859         for pointer values, use gchar instead of char. fixed uline allocation
12860         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
12861         chunks instead of G_ALLOC_ONLY.
12862         (gtk_label_size_request): always alter requisition as passed and leave
12863         widget->requisition alone.
12864         (gtk_label_set_text): allow NULL strings.
12865         (gtk_label_new): likewise.
12866
12867 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
12868
12869         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
12870
12871 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
12872
12873         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
12874         *and* mapped (i.e. drawable).
12875         (gtk_bin_expose): only send exposes to drawable children.
12876
12877         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
12878         (gtk_box_expose): only send exposes to drawable children.
12879
12880         * gtk/gtkhscale.c (gtk_hscale_draw): 
12881         * gtk/gtkvscale.c (gtk_vscale_draw):
12882         hm, this is an ugly one. we first compute the size of our trough area
12883         here (window relative) and then check intersection with the draw_area
12884         which is parent relative because we're a NO_WINDOW widget, so we need
12885         to offset the trough area by allocation.x and allocation.y before the
12886         check. (this must not be done for the background area though, since
12887         that's already computed parent relative).
12888
12889 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
12890
12891         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
12892         unrealize title buttons.
12893
12894 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
12895
12896         * gtk/gtkclist.c (gtk_clist_column_title_passive)
12897         (gtk_clist_column_title_active): 
12898         only connect/disconnect to GtkWidgetClass::event to block mouse events.
12899
12900         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
12901         zero initialize event, removed superfluous gdk_window_get_pointer call
12902
12903         * gtk/gtklist.c (gtk_list_vertical_timeout)
12904         (gtk_list_horizontal_timeout): removed superfluous
12905         gdk_window_get_pointer call
12906
12907 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12908
12909         * plugging problems reported by "Bruce Mitchener, Jr."
12910         <bruce@puremagic.com> due to a purify session.
12911
12912         * gtk/gtkstyle.c:
12913         (gtk_style_ref): 
12914         (gtk_style_unref): assert ref_count to be > 0.
12915
12916         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
12917         the requisition.
12918         (gtk_clist_set_shift): likewise.
12919
12920         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
12921         adjustments.
12922
12923         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
12924         event before sending it and set send_event to TRUE (which needs to
12925         be done for *all* synthesized events).
12926         (gtk_list_vertical_timeout): likewise.
12927
12928         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
12929         leaks.
12930
12931         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
12932         to TRUE when synthesizing events.
12933
12934 [ *** end of merges from 1.2 *** ]      
12935         
12936 1999-11-21  Tor Lillqvist  <tml@iki.fi>
12937
12938         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
12939         (or copied from gdkconfig.h.win32 on Win32, sigh).
12940
12941         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
12942
12943         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
12944
12945         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
12946
12947         * gdk/gdkconfig.h.win32: New file.
12948
12949         * gdk/win32/makefile.cygwin: Build just a static archive here.
12950
12951         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
12952         for the DLL from the static archive built above.
12953
12954         * gdk/gdk.def: Moved here from the win32 subdirectory.
12955
12956         * gdk/win32/*: Adapt for the changed private struct organisation.
12957
12958         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
12959
12960 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
12961
12962         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
12963         for wheel mice (buttons 4 and 5).
12964
12965 1999-11-18  Tor Lillqvist  <tml@iki.fi>
12966
12967         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
12968         drawables use just the pixel field in the foreground and
12969         background GdkColor of the GdkGC.
12970
12971         gdk_gc_set_{fore,back}ground() are called in the GIMP with
12972         GdkColors containing uninitialized (red,green,blue) fields, and
12973         just the pixel field filled in, and furthermore in the
12974         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
12975         It thus turns out that we really don't need to have the full
12976         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
12977         it later to have just the pixel values.
12978
12979 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
12980
12981         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
12982
12983 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
12984
12985         * docs/gtkfaq.sgml: threads example from Erik Mouw.
12986         New question on GtkLabel background colors.
12987
12988         * docs/gtk_tut.sgml:
12989           - Correct the example code callback
12990             function definitions.
12991           - Update the gtkdial example code, from Frans van Schaik.
12992           - Update setselection.c to current API.
12993
12994         * examples/Makefile examples/*/*.c: Update to code
12995         listed in tutorial.
12996
12997 1999-11-10  Tor Lillqvist  <tml@iki.fi>
12998
12999         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
13000         subrange table (from the "Developing International Software for
13001         WIndows 95 and Windows NT" book) was missing the Hangul syllable
13002         block... Get the loaded font's charset correctly.
13003
13004         (Note that this, and the other *-win32.c files, still really are
13005         the old ones, the win32 subdirectory is not ready for compilation
13006         yet after the reorg.)
13007
13008 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
13009
13010         * gtk/gtkclist.c: Fix off-by-one bug in parameter
13011         check.
13012
13013 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
13014
13015         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
13016         on results of XQueryDeviceState().
13017
13018 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
13019
13020         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
13021         we need to accesss only ->children. We need an accessor
13022         for the children.
13023
13024         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
13025         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
13026         to get rid of gdkx.h include.
13027         
13028         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
13029         and random references to 'None'.
13030
13031         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
13032         Get rid of unused #include <gdk/gdkx.h>
13033
13034         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
13035         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
13036         gdkconfig.h.
13037
13038 1999-11-08  Tor Lillqvist  <tml@iki.fi>
13039
13040         * gdk/win32/gdkdraw.c
13041         * gdk/win32/gdkfont.c
13042         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
13043         following yesterday's changes. (Unrelated to Owen's reorg.)
13044
13045 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
13046
13047         * gdk/x11/gdkinput-gxi.c: Add missing include,
13048           fix GdkWindowPrivate => GdkDrawablePrivate.
13049
13050         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
13051
13052         * gdk/x11/Makefile.am (xinput_sources): Add missing
13053         backslash to fix building with --with-xinput=none
13054
13055 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
13056
13057         Move all X specific code into the x11/ directory.
13058         Aside from shuffling things around, did the following:
13059
13060        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
13061          gdk_arg_context_* - a simple argument parsing system
13062          in the style of popt.
13063
13064        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
13065          gdk/x11/gdkprivate-x11.h:
13066          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
13067          add ->klass and ->klass_data fields. The klass_data
13068          field points to an auxilliary structure that is
13069          windowing system dependent.
13070
13071        * gdk/gdkfont.c: Make most of the measurement functions
13072          simply wrappers around gdk_text_extents().
13073
13074        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
13075          _gdk_font_strlen() function that hides the weird
13076          behavior in gtk+-1.[02] where a string is interpreted
13077          differently for 8-bit and 16-bit fonts.
13078
13079        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
13080          to store common code for synthesizing double/triple
13081          press events.
13082         
13083        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
13084          Make all the function that modify an existing GC
13085          simply wrappers around gdk_gc_set_values().
13086          
13087        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
13088          for throwing out later.
13089
13090        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
13091          GdkImagePrivate and GdkColormapPrivate to have a
13092          windowing system dependent part (GdkFontPrivateX etc.)
13093          that "derives" from the system-independent part.
13094
13095        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
13096          Got rid of the included-source-files for XInput in
13097          favor of automake conditionals. (Which didn't exist
13098          when XInput support was originally added.)
13099
13100        * gdk/gdkrgb.c: Remove the visual id from the debugging
13101          statements since that is X11 specific; print out
13102          type/depth info instead.
13103          
13104
13105 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
13106
13107         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
13108         loading duplicates of hashed fonts.
13109
13110         * gdk/gdk.c (gdk_keysym_convert_case): rename
13111         gdk_XConvertCase to gdk_keysym_convert_case, allow
13112         results to be NULL in the GTK+ style.
13113
13114         * gdk/gdkcompat.h: Started compatibility header
13115         for renames.
13116
13117 1999-11-07  Tor Lillqvist  <tml@iki.fi>
13118
13119         * gdk/win32/gdkprivate.h: New font private structures, related to
13120         fontsets.
13121
13122         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
13123         gdk_font_list_free(). On X11, will just be wrappers to
13124         XListFonts() and XFreeFontNames(). On Win32, the code previously
13125         in gtkfontsel.c is now here.
13126
13127         New function gdk_font_xlfd_create(). On X11 will get the FONT
13128         property of the font (for GDK_FONT_FONTs), or call
13129         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
13130         builds a XLFD style name from the font information in the LOGFONT
13131         struct(s).
13132
13133         New function gdk_font_xlfd_free(), which correspondingly frees the
13134         string returned by gdk_font_xlfd_create().
13135
13136         Implement fontsets on Win32. Add a function that iterates over a
13137         wide char string and calls a callback function for each substring
13138         of wide chars from the same Unicode subrange (and thus probably
13139         available in the same real font).
13140
13141         Improve the XLFD emulation a bit.
13142
13143         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
13144
13145         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
13146         Beta3, WM_IME_CHAR messages don't seem to contain the composed
13147         multi-byte char as with the Active IMM on Win9x. Oh well, handle
13148         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
13149         ImmGetCompositionStringW() to get the composed Unicode chars.
13150
13151         * gdk/win32/gdkgc.c
13152         * gdk/win32/gdkdraw.c: Changes needed because of the font private
13153         struct changes.
13154
13155         * gdk/win32/gdk.def: Add the new functions.
13156
13157 1999-11-04  Tor Lillqvist  <tml@iki.fi>
13158
13159         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
13160         get the Platform SDK to get <dimm.h>.
13161
13162         * gdk/win32/gdkevents.c: More event handling fixes and
13163         simplification. Never generate motion events with is_hint true. We
13164         used to do that on bogus grounds earlier. Windows sends
13165         WM_MOUSEMOVE messages on button events even if the mouse hasn't
13166         moved, ignore these.
13167
13168         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
13169
13170         * gdk/win32/gdkglobals.c
13171         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
13172         the TrackMouseEvent function, and use it.
13173
13174         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
13175         char before calling WideCharToMultiByte in order to get a string
13176         for the window title.
13177
13178         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
13179
13180         * gdk/win32/gdk.def: Remove obsolete functions.
13181
13182         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
13183         /nodefaultlib and /defaultlib switches.
13184
13185         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
13186
13187 1999-10-31  Tor Lillqvist  <tml@iki.fi>
13188
13189         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
13190         EuroSign).
13191
13192         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
13193         same type as GdkWChar, especially on Win32.
13194
13195         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
13196
13197         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
13198         before passing to Windows GDI for drawing etc. Convert to the
13199         system default codepage before passing to Windows as window
13200         titles.
13201
13202         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
13203         support changing input locale on the fly.
13204
13205         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
13206         on-the-fly changes. Convert incoming characters from the current
13207         codepage to Unicode (and then to a UTF-8 multi-byte string) based
13208         on the current input language. Use keysym<->Unicode mapping tables
13209         and functions borrowed from xterm sources.
13210
13211         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
13212         editions of Win9x, use the ActiveX-based Active IMM (Input Method
13213         Manager) if available. IMEs and the Active IMM are available under
13214         the disguise of Chinese, Korean and Japanese support for IE and
13215         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
13216         support is present in all editions (as long as you install it).
13217
13218         Call DispatchMessage from gdk_events_queue() (and thus
13219         gdk_WindowProc()), instead of duplicating the code in
13220         gdk_WindowProc().
13221
13222         Reworked the grab handling and propagation code, factored out
13223         duplicated code snippets into separate functions. Other cleanups,
13224         too.
13225
13226         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
13227         the <dimm.h> header describing the Active IMM.
13228
13229         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
13230         just do the same as for "single" fonts.
13231
13232         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
13233         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
13234         the new keysyms from gdkkeysyms.h.
13235
13236         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
13237         fontset, so that gtkentry uses wide characters.
13238
13239         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
13240         GTk+'s system directory "gtk+", not "gtk".
13241
13242 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
13243
13244         * docs/gtkfaq.sgml: FAQ update
13245
13246 1999-10-21  Tor Lillqvist  <tml@iki.fi>
13247
13248         * gdk/win32/gdkprivate.h: Add more font private data.
13249
13250         * gdk/win32/gdkfont.c
13251         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
13252         fonts and strings. Now works much better. You still have to
13253         have a correct font selected, though. No fontset emulation yet.
13254
13255 1999-10-19  Tor Lillqvist  <tml@iki.fi>
13256
13257         * gtk/maketypes.awk: Use G_OS_WIN32.
13258
13259         * gtk/gtk.def: Add some missing entry points. Also some non-public
13260         ones, but PyGTK porter claims to need them.
13261
13262         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
13263         built-in type generation.
13264
13265 1999-10-14  Tor Lillqvist  <tml@iki.fi>
13266
13267         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
13268         GDK_FONT_FONT fonts (which is all we have for now, we don't
13269         emulate fontsets). The X11 version uses plain XDrawString in that
13270         case, too. The string passed to gdk_draw_text_wc seems to be in
13271         fact (at least, when used by gtkentry and gtktext) either in a
13272         single-byte charset, or a DBCS. Not Unicode.
13273
13274         This fixes the problem in gtkfontsel, where even if you had
13275         selected a font with a non-Latin1 charset (windows-greek, for
13276         instance), the preview still used Latin-1 glyphs.
13277
13278         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
13279         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
13280         (gdk_font_load): Recognize the demibold etc weights, even if we
13281         don't have the corresponding constants in the headers.
13282         (gdk_font_hash_insert): Use same hash mechanism as in the X11
13283         version. Should save font resources a bit, when we don't have
13284         multiple HFONTs for the same font.
13285
13286         * gdk/win32/gdkprivate.h: Add the names field as in the X11
13287         version.
13288
13289 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
13290
13291         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
13292         X values
13293
13294 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
13295
13296         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
13297         layout support (as mentioned on
13298         http://www.jcinteractive.com/gnome-ui/software/widgets/)
13299
13300 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
13301
13302         * gtk/fnmatch.c
13303         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
13304
13305 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
13306
13307         * configure.in (ALL_LINGUAS): Added Galician (gl)
13308
13309 1999-10-05  Tor Lillqvist  <tml@iki.fi>
13310
13311         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
13312
13313         * gdk/win32/gdkcompat.c: New file, actually provide an
13314         implementation for the deprecated functions. (Just temporarily.)
13315
13316         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
13317
13318         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
13319
13320         * gdk/win32/gdk.def gtk/gtk.def: Updates.
13321
13322 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
13323
13324         * configure.in: Added "uk" to ALL_LINGUAS.
13325         
13326 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
13327
13328         * configure.in: correct checking for BeOS check
13329
13330         * gdk/gdktypes.h
13331         * gtk/fnmatch.c
13332         * gtk/gtkfilesel.c
13333         * gtk/gtkitemfactory.c
13334         * gtk/gtkmain.[ch]
13335         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
13336
13337 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13338
13339         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
13340         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
13341         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
13342         by Bulgarian). 
13343
13344 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
13345
13346         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
13347         Fix a reference to window_private->destroyed.   
13348
13349         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
13350         (ugly) setting of an internal GdkWindow member to use
13351         a _slightly_ cleaner macro.
13352
13353         * gdk/gdkprivate.h: Split GdkWindowPrivate into
13354         GdkDrawablePrivate and GdkWindowPrivate.
13355         Add extra macros for accessing GDK_DRAWABLE_ components.
13356
13357         * *.[ch]: Massive adjustments for the above, use the
13358         new macros in a lot of places.
13359
13360 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
13361
13362         * gdk/gdktypes.h: Make GdkDrawable the base type,
13363         not GdkWindow.
13364
13365 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
13366
13367         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
13368
13369 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
13370
13371         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
13372
13373 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
13374
13375         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
13376         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
13377
13378         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
13379
13380         * docs/gtk-config.1: Now autogenerated.
13381         * docs/Changes-1.4.txt: started
13382         
13383 1999-10-03  Tor Lillqvist  <tml@iki.fi>
13384
13385         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
13386         to #ifdef also here.
13387
13388         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
13389         Owen did to the X11 backend.
13390
13391         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
13392         ScrollWindowEx when blitting inside a window, it can't be correct
13393         in the general case.
13394
13395         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
13396         WM_GETMINMAXINFO is easier.
13397
13398         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
13399         depth equal to the bitspixel value, not the visual's depth.
13400
13401         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
13402         to 24 even if the bitspixel value is 32.
13403
13404         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
13405         need to check for depth==32 when bpp==32, depth will always be 24.
13406
13407 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
13408
13409         * docs/Changes-1.4.txt: Started
13410         
13411         * gtk/Makefile.am (gdk_headers): Include all the new headers.
13412
13413         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
13414         
13415         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
13416         into C file.
13417         
13418         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
13419         header to gdkinputprivate.h.
13420
13421         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
13422         unused since before 1.2.
13423
13424 1999-09-30  Tor Lillqvist  <tml@iki.fi>
13425
13426         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
13427         expand possible hex escapes in the font family (put there by
13428         logfont_to_xlfd if the font name isn't a legal XLFD font family,
13429         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
13430         On Win32, add hex escapes here, too.
13431
13432 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
13433
13434         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
13435         to #ifdef GDK_WINDOWING_X11.
13436
13437 [ Merges from gtk-1-2 ]
13438
13439 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
13440
13441         * configure.in: fixed "GNU Make" check to pass with new make version
13442         3.77.95.
13443
13444 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
13445
13446         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
13447         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
13448         AM_PATH_GTK() macros don't get confused by the -pre1.
13449
13450 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13451
13452         * configure.in (REBUILD): Change check for perl5
13453           to check explicitely for v >= 5.002. (5.001
13454           does not work with our scripts.)
13455
13456 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
13457
13458         * configure.in: evaluate $PERL for the perl version check. added
13459         --disable-rebuilds to give the user an option to completely disable
13460         any source autogeneration rules.
13461
13462 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
13463
13464         * configure.in: evaluate $ac_make when checking for GNU Make.
13465
13466 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13467
13468         * docs/Makefile.am: added generation.txt.
13469
13470         * Makefile.am: require automake 1.4, build README from README.in and
13471         INSTALL from INSTALL.in in dist-hook.
13472         
13473         * README.in:
13474         * INSTALL.in: new files to autogenerate README and INSTALL from.
13475
13476         * configure.in: figure whether we have GNU Make
13477
13478         * docs/generation.txt: minor additions/corrections.
13479
13480 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13481
13482         * docs/gtkfaq.sgml: FAQ Update
13483
13484 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13485         
13486         * configure.in: Fix autoconf warnings about cross compilation by
13487         trying to provide sane defaults for AC_TRY_RUN.
13488
13489 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
13490
13491         * ltconfig
13492         * ltmain.sh: upgrade to libtool 1.3.3
13493
13494 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
13495
13496         * INSTALL: Indicate that the --with-glib= configure
13497         time flag is unsupported.
13498
13499 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
13500
13501         * docs/generation.txt: Added a file that gives
13502         documenation about the autogeneration process for
13503         various autogenerated files.
13504         
13505 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13506
13507         * configure.in (LIBS): Look for libgmodule in the
13508         right location.
13509
13510 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
13511
13512         * docs/gtk_tut.sgml: Removed references to
13513         code examples in my directory on gtk.org as
13514         they should all be in the tutorial now.
13515
13516         * docs/gtk_tut.sgml: Added sources for dial-test
13517         and scribble-xinput programs that were previously
13518         missing.
13519
13520 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
13521
13522         * TODO: Added entry about menu keyboard navigation, removed
13523         some finished items.
13524
13525 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
13526
13527         * acinclude.m4: Standardize on func_dgettext
13528         not func_gettext, so that the checks for dgettext
13529         actually are paid attention to.
13530
13531 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
13532
13533         * configure.in (LIBS): Add $INTLLIBS into $LIBS
13534         directly, rather than repeating the checks for
13535         gettext.
13536
13537         * INSTALL: Added information about gettext and
13538         NLS support.
13539
13540         * acinclude.m4 (LIBM): Check for dgettext, not
13541         just gettext. This should hopefully fix things wrt
13542         systems with old versions of GNU gettext installed.
13543
13544 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13545
13546         * configure.in (LIBS): Look for libgmodule in the
13547         right location.
13548
13549 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13550
13551         * autogen.sh: add --enable-maintainer-mode
13552
13553         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
13554
13555 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
13556
13557         * docs/gtk-config.1.in:
13558           docs/Makefile.am:
13559           configure.in: gtk-config is now generated.
13560
13561         * docs/gtk-config.1: Removed, now generated.
13562
13563 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
13564
13565         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
13566         handle CreateNotify itself, still put out a debuging message for
13567         --gdk-debug=events. made the ReparentNotify debugging message more
13568         verbose.
13569         wrap xcoords translation for ConfigureEvents into an error trap,
13570         a destroy event may already be pending, and in that case, the
13571         actuall coordinate values are not at all critical.
13572
13573 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
13574
13575         * gdk/gdkcc.c: Stop leaking the color_hash all over
13576         the place. Simplify and improve the logic.
13577
13578 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13579
13580         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
13581         for prototypes and function implementations consistent (reported
13582         by Tomas Ogren).
13583
13584 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
13585
13586         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
13587         send_event set in debugging output.
13588         (gdk_compress_exposures): default initialize the event so we don't
13589         operate on bogus values (namely send_event).
13590
13591 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13592
13593         * gdk/gdkwindow.c: When we receive an unexpected
13594         destroy notify on one of our windows, don't just
13595         warn about it, also mark our windows as destroyed.
13596
13597 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
13598
13599         * gdk/gdkfont.c (gdk_font_hash_insert): Add
13600           name => font and name => fontset hashes. The 
13601           name => fontset hash is a _big_ win since we
13602           weren't previously caching fontsets at all and loading
13603           fontsets is expensive. The name => font hash
13604           is less of a win, but it does save us from doing
13605           repeated XQueryFont calls on the same font.
13606
13607         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
13608           list so we can remove font/fontset from hash.
13609
13610 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13611
13612         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
13613           and slightly confusing test. [ XInternAtom (,,TRUE)
13614           will never return None ].
13615
13616 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
13617
13618         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
13619           gdk/gdkwindow.c (gdk_window_set_hints):
13620
13621         Don't omit setting the properties if flags == 0 -
13622         there may be an existing set of properties there
13623         already. (Very old bug. Would it be better to
13624         delete the property instead?)
13625
13626         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
13627           spelling error in comment.
13628
13629 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
13630
13631         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
13632           to avoid stomping over gdk_error_warnings.
13633
13634         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
13635           as (bits_per_pixel + 7) / 8. This gives the same
13636           result as before for multiples of 8, but actually
13637           a "reasonable" value for 1bit or 4bit displays.
13638
13639 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13640
13641         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
13642         GNU Make.
13643
13644 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13645
13646         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
13647         discarding configure events.
13648
13649 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13650
13651         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
13652         refcount is greater than zero.
13653
13654         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
13655
13656         * gdk/gdkfont.c (gdk_font_unref): Likewise.
13657
13658         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
13659
13660         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
13661
13662 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13663
13664         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
13665         that format 32 => sizeof(item) == 4. It really is
13666         sizeof(long).
13667
13668 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
13669
13670         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
13671         core dump at all on X IO errors, only core dump
13672         if --enable-debug for X errors.
13673
13674 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
13675
13676         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
13677         unknown window:" message. disabled ConfigureNotify discarding code,
13678         because it led to events being processed out of order.
13679
13680 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
13681
13682         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
13683
13684         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
13685         we export this function, supress error warnings and don't reset the
13686         error code in the first half of this function.
13687
13688         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
13689         code (instead of just -1) so gdk_error_trap_pop() reveals something
13690         actually informative about the error that happened.
13691
13692         * gdk/*.c:
13693         don't rely on gdk_error_code being -1 if an error occoured, but just
13694         gdk_error_code != 0.
13695
13696 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
13697
13698         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
13699         pointer *before* invoking the filter function, so we at least don't
13700         crash if a filter is removed that is currently executed. window filters
13701         *really* need to be made truely reentrant at some point.
13702
13703 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
13704
13705         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
13706         PropertyNotify debug messages.
13707
13708 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
13709         
13710         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
13711         
13712         * gdk/gdkim.c: Fix cut-and-paste errors for 
13713         x/y and PreeditAttributes/StatusAttributes.
13714
13715 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13716
13717         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
13718         G_MAXINT to 2^16 to alleviate overflow problems in
13719         various window managers.
13720
13721 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13722
13723         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13724         for fontsets.
13725
13726 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
13727
13728         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
13729         Initialize size_hints.x and size_hints.y because kwm
13730         brokenly pays attention to them.
13731         (Bug #1181 -  Lars Heete <hel@admin.de>)
13732
13733 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
13734
13735         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
13736         return value of gdk_list_visuals(). 
13737         (Bug #1193 - Morten Welinder <terra@diku.dk>)
13738
13739 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
13740
13741         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
13742         XSetIMValues to (void *) when comparing to NULL, to workaround
13743         the problem of some compilers barfing since older X headers don't
13744         have the prototype for it.
13745
13746 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
13747
13748         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
13749         for pseudocolor where colormap->colors was double
13750         allocated.
13751
13752         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
13753         color value in the hash table with the pixel filled
13754         in so when we do later hash table lookups, the color
13755         value is correct.
13756         
13757 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
13758
13759         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
13760         making the call
13761
13762 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
13763
13764         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
13765         pointed out by Morten Welinder <terra@diku.dk>.
13766
13767 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13768
13769         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13770           default filter from the list
13771
13772 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13773
13774         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13775           default filter from the list
13776
13777 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
13778
13779         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
13780
13781         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
13782         g_strdup_printf instead of calcing the length separately
13783
13784 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
13785
13786         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
13787         that we don't do in many other places. (Fixing duplicate 
13788         #include of config.h)
13789
13790         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
13791         Otherwise, #ifndef XINPUT_NONE check in the latter
13792         doesn't work. (Bug #546)
13793
13794 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
13795
13796         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
13797         "None" case insensitive.
13798
13799 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13800
13801         * gdk/gdkselection.c: 
13802         Add error traps so if the other end of the connection
13803         dies, we survive.
13804
13805 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13806
13807         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
13808         dest_xid field into two fields - one for the window
13809         to send in messages, one to indicate the last looked
13810         up window for caching purposes. This is needed, so
13811         that Leave messages get the correct window.
13812
13813 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
13814
13815         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
13816         Fix warning created by people mucking around
13817         with the gsource API.
13818
13819         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
13820         Change mapping between GIOCondition and GdkInputCondition
13821         to match the way the Linux kernel does it. This should
13822         fix problems where closed pipes were no longer signalling
13823         GDK_INPUT_READ on systems with a native poll().
13824
13825 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
13826
13827         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
13828         explicitly for the string "None" - it is in the XPM
13829         spec and some servers treat unknown colors in odd ways
13830         (like asking the user!)
13831
13832 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13833
13834         * gdk/gdkevents.c: made "->" into a "." of previous change so
13835         it compiles
13836
13837 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
13838
13839         * gdk/gdkevents.c (gdk_compress_exposures): Set the
13840         window field of the event structure before calling
13841         user filters.
13842
13843 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13844
13845         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
13846         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
13847
13848 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
13849
13850         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
13851         intermediate text property - prevents major memory
13852         leak when gdk_use_mb.
13853         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
13854
13855 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13856
13857         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13858         gtk-a-higuti-990322-[0-3]
13859
13860         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
13861         sizeof(wchar_t) != sizeof (GdkWChar)
13862
13863         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13864         that was causing -DX_LOCALE not to work.
13865
13866         * gtk/gtkrc.c (gtk_rc_init):
13867         X_LOCALE will never have LC_MESSAGES defined
13868
13869         * gdk/gdk.c (gdk_init_check):
13870         Remove --xim-preedit and --xim-status from argv properly.
13871
13872         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
13873         that the client window is present on the X server
13874         before we pass it to the input method.
13875
13876 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13877
13878         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
13879         if --display is specified on the command line, than
13880         the drag window will not be created on that display.
13881         
13882 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
13883
13884         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
13885         lookups with only_if_exists == TRUE were inserting
13886         bogus values into the atom cache.
13887
13888 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13889
13890         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
13891         then reset it to NULL.
13892
13893         * gdk/gdkcolor.c:
13894         (gdk_colors_free): 
13895         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
13896         key for g_hash_table_remove() in both functions, this prevents us
13897         from accessing possibly uninitialized portions of a GdkColor structure
13898         where we are only interested in its pixel value.
13899
13900 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13901
13902         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13903         font hash table, if we have a GdkFontPrivate entry for this font
13904         already, simply increment its reference count, provided by Olaf Dietsche
13905         <olaf.dietsche+list.gtk@netcologne.de>.
13906
13907 1999-09-21  Tor Lillqvist  <tml@iki.fi>
13908
13909         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
13910         just to be sure.
13911
13912         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
13913         unused variables, leftovers from the X11 version.
13914
13915         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
13916
13917         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
13918         downcase fields on X11.
13919
13920 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13921         
13922         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
13923         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
13924
13925 1999-09-17  Tor Lillqvist  <tml@iki.fi>
13926
13927         * gdk/win32/gdk.def: Add gdk_threads_mutex.
13928
13929         * gtk/makefile.msc: Correct path to libintl.
13930
13931         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
13932         use of gint vs. int, and gint vs. gboolean in headers and
13933         definitions. Use GtkType for the *_get_type functions. Note that
13934         these changes preserve binary compatibility.
13935
13936         * gdk/gdk.c
13937         * gdk/win32/gdk.c
13938         * gdk/gdk.h: Fix inconsistencies: gint vs int.
13939
13940         * gtk/gtkmain.c
13941         * gtk/gtkclist.c
13942         * gtk/gtkmenufactory.c
13943         * gtk/gtknotebook.c
13944         * gtk/gtkwidget.c: Fix inconsistencies, also gint
13945         vs. gboolean.
13946
13947         * gtk/gtkcolorsel.[ch]
13948         * gtk/gtkcombo.[ch]
13949         * gtk/gtkdrawingarea.[ch]
13950         * gtk/gtkgamma.[ch]
13951         * gtk/gtkhandlebox.[ch]
13952         * gtk/gtkhpaned.[ch]
13953         * gtk/gtkhruler.[ch]
13954         * gtk/gtkplug.[ch]
13955         * gtk/gtkpreview.[ch]
13956         * gtk/gtkruler.[ch]
13957         * gtk/gtksocket.[ch]
13958         * gtk/gtkstatusbar.[ch]
13959         * gtk/gtktoolbar.[ch]
13960         * gtk/gtkvbbox.[ch]
13961         * gtk/gtkvpaned.[ch]
13962         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
13963         functions.
13964
13965         * gtk/gtkgamma.h: Fix bug, missing () in call of
13966         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
13967
13968 1999-09-14  Tor Lillqvist  <tml@iki.fi>
13969
13970         * gdk/gdkcolor.c (gdk_colormap_new)
13971         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
13972         colormap->colors was allocated twice.
13973
13974         * gdk/win32/gdk.c: Remove some unused stuff.
13975
13976         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
13977         colormap.
13978
13979         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
13980         * gtk/gtklabel.h (gtk_label_get_type)
13981         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
13982         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
13983         in a couple of places, not guint.
13984
13985 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13986
13987         * configure.in,po/et.po: added Estonian language file
13988
13989 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13990
13991         * configure.in,po/da.po: added Danish file
13992
13993 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
13994
13995         * docs/gtkfaq.sgml: Minor FAQ Update
13996
13997 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
13998
13999         * docs/gtkfaq.sgml: FAQ update
14000
14001 1999-08-27  Tor Lillqvist  <tml@iki.fi>
14002
14003         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
14004         way to get window contents continually refreshed while resizing. I
14005         didn't like the effects myself, so it's not on by default.
14006
14007         * gdk/win32/gdkprivate.h: New flag variable
14008         gdk_event_func_from_window_proc, FALSE by default.
14009
14010         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
14011         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
14012         are passed --gdk-event-func-from-window-proc.
14013
14014         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
14015         and we have am event_func, call it instead of enqueing the event.
14016
14017 1999-08-23  Tor Lillqvist  <tml@iki.fi>
14018
14019         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
14020         Kelley: Set expose_count in GdkEventExposes correctly.
14021
14022         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
14023         MULTIPLE_WINDOW_CLASSES).
14024
14025         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
14026         for bug in NT, apparently NT *does* draw the end pixel, too, in
14027         LineTo with a one-pixel pen, so we don't have to do it ourselves.
14028
14029 1999-08-21  Tor Lillqvist  <tml@iki.fi>
14030
14031         Improvements by Hans Breuer: 
14032
14033         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
14034
14035         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
14036         CS_?REDRAW flags as they cause lots of (late) redraws when "show
14037         window contents while dragging" is turned on. Allocate at least
14038         one unique class for every GdkWindowType. If support for single
14039         window-specific icons is ever needed (eg. Dialog specific), every
14040         such window should get its own class.
14041
14042 1999-08-19  Tor Lillqvist  <tml@iki.fi>
14043
14044         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
14045         error that caused crashes.
14046
14047 1999-08-17  Tor Lillqvist  <tml@iki.fi>
14048
14049         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
14050         window, use ScrollWindowEx, and call UpdateWindow. This prevents
14051         bugs when for instance part of the window was outside the
14052         display. Thanks to Philippe Colantoni for finding and fixing this.
14053
14054 1999-08-16  Tor Lillqvist  <tml@iki.fi>
14055
14056         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
14057         endpoint calculations which were totally wrong. (A little RTFMing
14058         helps a lot ;-)
14059
14060         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
14061         from a separate directory, not from gettext, because of licensing
14062         issues (we want to use the LGPL version).
14063
14064         * README.win32: Mention the intl from glibc vs from gettext issue.
14065
14066 1999-08-13  Tor Lillqvist  <tml@iki.fi>
14067
14068         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
14069         in the key event handling: Now AltGr chars work again. Also,
14070         now Alt-digits are passed up as well as Control-digits.
14071         Pass keypad plus and minus as normal plus and minus.
14072
14073 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14074
14075         * docs/gtkfaq.sgml: FAQ Update
14076
14077 1999-07-25  Tor Lillqvist  <tml@iki.fi>
14078
14079         * README.win32
14080         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
14081         the Wintab SDK.
14082
14083         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
14084         OK, but getting closer. Guard against bogus tilt data from Wacom
14085         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
14086         enable easier building without Wintab.
14087
14088         * gdk/win32/gdkinput.h
14089         * gdk/win32/gdkevents.c 
14090         * gdk/win32/gdkwindow.c: Minor changes related related to above.
14091         
14092         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
14093         code. As we have just one visual on Win32, no sense to have it in a
14094         table, and no need for the hash table.
14095
14096         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
14097         better on white background.
14098
14099 1999-07-21  Tor Lillqvist  <tml@iki.fi>
14100
14101         * README.win32: Update gcc build instructions. Mention gettext is
14102         GPL.
14103
14104         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
14105         supported cursor size with GetSystemMetrics.
14106
14107         * gdk/win32/gdkfont.c
14108         * gtk/gtkfontsel.c: Guard against some font weight and charset
14109         symbols being undefined (in mingw32 headers).
14110
14111         * gdk/win32/makefile.cygwin
14112         * gtk/makefile.cygwin
14113         * gtk/gtkthemes.c: No longer need to have differently named
14114         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
14115
14116 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
14117
14118         * docs/gtkfaq.sgml: Long awaited FAQ update.
14119
14120 1999-07-15  Tor Lillqvist  <tml@iki.fi>
14121
14122         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
14123         it. Obscure bit manipulation needed.
14124
14125         * gdk/win32/gdkevents.c: Logging.
14126         
14127         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
14128         style (file name include compiler name) for theme engines.
14129
14130 1999-07-13  Tor Lillqvist  <tml@iki.fi>
14131
14132         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
14133
14134         * gdk/win32/gdkevents.c: Fix long-standing bug in key
14135         events. The key.string wasn't zero-terminated, still we strdup'ed
14136         it in gdk_event_copy(). Synthesize crossing events for button
14137         events before possible propagation.
14138
14139         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
14140
14141         * gdk/win32/makefile.cygwin
14142         * gtk/makefile.cygwin: Use new DLL naming style for the
14143         GCC-compiled ones.
14144
14145         * gdk/win32/makefile.msc
14146         * gtk/makefile.msc: Cosmetics mostly.
14147
14148         * gtk/gtk.def: Add missing entry points.
14149
14150         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
14151
14152 1999-07-09  Tor Lillqvist  <tml@iki.fi>
14153
14154         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
14155         or height is zero. Don't print a warning if Pie or Arc fails, they
14156         always fail (?) for very narrow ellipses.
14157
14158         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
14159         the part or the destination window corresponding to source area
14160         outside of the source drawable's boundary.
14161
14162         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
14163         anything if less than two points.
14164
14165         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
14166         return NULL. Gtk cut-and-paste inside a single program works
14167         better this way. (It always gets the clipboard contents from
14168         Windows, not from its own copy, which is cleared anyway. I can't
14169         say I fully understand what happens... Emulating the X selection
14170         and property stuff is a bit of a mess.)
14171
14172         * gdk/win32/gdkevents.c
14173         * gdk/win32/gdkproperty.c: A bit more verbose logging.
14174
14175         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
14176         that never got deleted). Revamp gdk_region_shrink.
14177
14178         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
14179         after use.
14180
14181         * gtk/gtk.def: Add some missing entry points.
14182
14183         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
14184         component.
14185
14186 1999-07-04  Tor Lillqvist  <tml@iki.fi>
14187
14188         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
14189         Control-digits specially.
14190
14191 1999-07-03  Tor Lillqvist  <tml@iki.fi>
14192
14193         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
14194
14195 1999-06-28  Tor Lillqvist  <tml@iki.fi>
14196
14197         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
14198         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
14199         finding this.)
14200
14201 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
14202
14203         * gtk+.spec.in: Corrected some typos in files section.
14204         
14205 1999-06-15  Tor Lillqvist  <tml@iki.fi>
14206
14207         * README.win32: Mention using GNU gettext.
14208         * config.h.win32: Enable NLS stuff.
14209         * gtk/makefile.msc: Use GNU gettext.
14210         * gdk/win32/gdkdnd.c: Minor header reorg.
14211         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
14212         cosmetics.
14213         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
14214         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
14215
14216 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
14217
14218         * acinclude.m4
14219         * config.guess
14220         * config.status
14221         * ltconfig
14222         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
14223
14224 1999-05-30  Tor Lillqvist  <tml@iki.fi>
14225
14226         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
14227         SafeAdjustWindowRectEx. Don't override all calls to
14228         AdjustWindowRectEx by it, but use it only in two places: When
14229         creating a new top-level window and when moving a top-level
14230         window.
14231
14232         Use screen coordinate rectangle, not client rectangle, in
14233         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
14234         when we try to place a window so that the decoration (mainly,
14235         title bar) isn't visible.
14236
14237         These changes fix the bug that showed up for instance as the
14238         GIMP's saved top-level windows moving right and down (by an amount
14239         equal to the window decoration) for each session. This bug showed
14240         up also in testgtk's "Saved Position".
14241
14242         gdk_window_resize also redone a bit.
14243
14244 1999-05-25  Tor Lillqvist  <tml@iki.fi>
14245
14246         * gtk/testgtkrc: Add (commented out) Windows-style theme
14247         include line.
14248
14249         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
14250
14251 1999-05-18  Tor Lillqvist  <tml@iki.fi>
14252
14253         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
14254         gdkx.h to a gdk subdirectory, so that applications can include
14255         these with <gdk/*.h> without trouble.
14256
14257         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
14258         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
14259         have their bitmap destroyed.
14260
14261         * gdk/win32/gdk.def: Add gdk_root_parent.
14262
14263 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
14264
14265         * configure.in
14266           gtk-config.in
14267           ltconfig
14268           ltmain.sh     
14269           gtk/Makefile.am: changes to compile nicely (with xlib) 
14270           on BeOS
14271
14272 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
14273
14274         * acinclude.m4
14275         * config.guess
14276         * config.sub
14277         * ltconfig
14278         * ltmain.sh: upgrade to libtool 1.3
14279
14280 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
14281
14282         * gtk/gtkclist.c:
14283         * gtk/gtkctree.c: merges from gtk-1-2
14284
14285 1999-04-25  Tor Lillqvist  <tml@iki.fi>
14286
14287         Support added for building using a GNU toolchain on Win32,
14288         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
14289
14290         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
14291         * config.h.win32: Changes for gcc.
14292         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
14293         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
14294         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
14295         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
14296         Protect shl stuff unavaiilable with mingw32 headers.
14297         * gdk/win32/gdkevents.c: Fix typo.
14298         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
14299         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
14300         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
14301         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
14302         the mingw32 headers.
14303         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
14304         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
14305         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
14306         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
14307         Test for NATIVE_WIN32, not _MSC_VER.
14308         * gtk/gtkmain.c: No use warning about developer version on Win32,
14309         there aren't any non-developer versions anyhow.
14310         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
14311         * gtk/makefile.msc: Use pthread from another directory. Minor other
14312         changes. 
14313
14314 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14315
14316         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14317           default filter from the list
14318
14319 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
14320
14321         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
14322          when gtk_widget_grab_default() is called for a widget that
14323          is not within a GtkWindow.
14324
14325 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
14326
14327         * docs/gtk_tut.sgml, examples/clist.c: use a
14328           scrolled window in the clist example. Minor
14329           tutorial fixes.
14330
14331 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
14332
14333         * docs/gtk_tut.sgml: Style check from David King
14334           <dking@youvegotmail.net>
14335
14336 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
14337
14338         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
14339         compile with unknown value of GDK_WINDOWING
14340
14341 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
14342
14343         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
14344         after the rule is fired.
14345         (install-exec-local): Install gdkconfig.h only if the contents are
14346         different from the currently installed gdkconfig.h.
14347
14348 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
14349
14350         * gdk/Makefile.am (configexecincludedir): Rename from 
14351         configincludedir so that gdkconfig.h will be installed 
14352         as part of `make install-exec'. 
14353
14354 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
14355
14356         * acinclude.m4
14357         * config.guess
14358         * config.sub
14359         * ltconfig
14360         * ltmain.sh: upgrade to libtool 1.2f
14361
14362         * autogen.sh: libtool is not required to autogen gtk+
14363
14364         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
14365         needed)
14366
14367 1999-03-18  Tor Lillqvist  <tml@iki.fi>
14368
14369         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
14370         declaring gdk variables exported/imported from the DLL. New image
14371         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
14372         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
14373         GDK_DRAG_PROTO_OLE2.
14374
14375         * gdk/gdk.h: Merge in Win32 version: Two new functions,
14376         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
14377         declared only for the Win32 version, but could be in the X11
14378         version as well. (Needed for a Xlib-less gdk_imlib.)
14379         gdk_color_hash should have only one parameter. Declare
14380         gdk_threads_mutex with GDKVAR.
14381         
14382         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
14383         just one parameter.
14384
14385         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
14386         per pixel, not bits.
14387
14388         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
14389         Fetch bpp (which means bits-per-pixel here) from another place on
14390         Win32. Accept also depth==32 (which we might get on Win32) with
14391         bpp==32.
14392
14393         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
14394         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
14395         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
14396         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
14397         in the backend-dependent directory, not in the common gdk
14398         directory.
14399
14400         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
14401         headers.
14402
14403 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
14404
14405         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
14406         want to use the Gtk+ devel version (which is true, and yes - even i am
14407         currently working with the 1.2.x branch). so everyone reading this, you
14408         probably want to issue
14409         cvs checkout -r glib-1-2 glib
14410         and
14411         cvs checkout -r gtk-1-2 gtk+
14412         as your next two comands.
14413
14414 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
14415
14416         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
14417         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
14418
14419         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
14420         file. strongly deprecated the GTK_HAVE_* macros, we provide
14421         GTK_CHECK_VERSION() for people that need to check for certain
14422         Gtk+ versions.
14423
14424         * gtk/gtkcompat.h: removed this from CVS.
14425         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
14426         idea right from the start, it just didn't seem like that back then.
14427
14428 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
14429
14430         * merges from gtk-1-2:
14431
14432 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
14433
14434         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
14435         item factory class has been created.
14436         (gtk_item_factory_parse_rc): likewise.
14437
14438         * gtk/gtkmenu.c:
14439         keep proper references for old_active_menu_item.
14440         (gtk_menu_reparent): unset the usize of the new parent,
14441         so the menu can sanely be size requested and we don't get nasty screen
14442         artefacts upon next reparentation.
14443         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
14444         enter notify. only synthesize enter notifies if the pointer really is
14445         inside the event window.
14446         (gtk_menu_popdown): use gtk_menu_shell_deselect().
14447         (gtk_menu_popup): move the background setting stuff into
14448         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
14449
14450         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
14451         gtk_menu_shell_select_item() to select the new item.
14452         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
14453         do the right thing for deselection as well.
14454
14455 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
14456
14457         * gtk/gtkwidget.[hc]:
14458         (gtk_widget_accelerators_locked): return whether a widget's accelerators
14459         are locked.
14460
14461         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
14462         existing accelerators if the widget's accelerators are locked.
14463
14464 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
14465
14466         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
14467
14468         * gtk/gtkmenu.c: truely forward key press and key release events to
14469         the menu widget from the toplevel or tearoff window. we can't simply
14470         connect to that, we need to stop further processing of the events as
14471         well.
14472
14473 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
14474
14475         * gtk/gtkmenu.c:
14476         (gtk_menu_key_press): pass event->keyval, event->state to
14477         gtk_accelerator_valid, instead of event->keyval twice.
14478         refuse to install single letter accelerators for menus that use
14479         single letter shortcuts.
14480
14481         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
14482         gtk_menu_ensure_uline_accel_group().
14483
14484         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
14485         which will always return an uline accel group, made
14486         gtk_menu_get_uline_accel_group() return NULL if the group isn't
14487         yet created.
14488
14489 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
14490
14491         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
14492
14493         * gtk/gtkclist.c (gtk_clist_column_title_passive):
14494         Leave button sensitive, trap  button_press, button_release,
14495         motion_notify, enter_notify and leave_notify events instead.
14496         (gtk_clist_column_title_active): disconnect event handler.
14497         (gtk_clist_drag_data_get): fixed memory leak. Reported by
14498         Guillaume Laurent <glaurent@worldnet.fr>
14499
14500 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
14501
14502         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
14503         width/height mixups.
14504
14505         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
14506         if needed.
14507
14508 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
14509
14510         * gtk/testgtk.c (create_item_factory): unref the item factory after
14511         window's destruction.
14512
14513         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
14514         count on the menu shell around the menu item's activation, since the
14515         signal emission may cause menu shell destruction.
14516
14517         * gtk/gtkitemfactory.c:
14518         the previous code leaked one accel group per menu. we use
14519         gtk_menu_get_uline_accel_group() now to fix that, and with that
14520         also create the underline accelerator group of the menus only if
14521         required (i.e. an underline accelerator has been specified).
14522         (gtk_item_factory_construct):
14523         (gtk_item_factory_create_item): removed code that would create an
14524         extra accel group for the menu (and leak references).
14525         (gtk_item_factory_create_item): adapted the underline accelerator
14526         installation code to properly feature gtk_menu_get_uline_accel_group().
14527
14528         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
14529         menu->accel_group, this may return NULL if the accelerator group
14530         hasn't been set yet.
14531         added gtk_menu_get_uline_accel_group() to retrive the underline
14532         accelerator group of the menu, this will be created on demand
14533         and proper care is taken about its reference count.
14534
14535         * gtk/gtkitemfactory.h:
14536         * gtk/gtkitemfactory.c:
14537         dumped the approach of keeping a widgets by action list on the
14538         factory since the factory<->widget destroy negotiation didn't work
14539         and would be hard to get going at all. instead we keep a list of
14540         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
14541         persistant throughout a program's life time).
14542         also, i removed the static const gchar *key_* variables, and made
14543         them inline strings (they weren't actually used anyways).
14544         (gtk_item_factory_add_item): update ifactory->items.
14545         (gtk_item_factory_destroy): destroy ifactory->items (and remove
14546         the item factory pointer from the remaining ifactory widgets).
14547         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
14548         list to find the widget.
14549         (gtk_item_factory_get_item): new function that works around
14550         gtk_item_factory_get_widget() limitations, this function will only
14551         return menu items, even for <Branch> entries.
14552
14553 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14554
14555         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14556         font hash table, if we have a GdkFontPrivate entry for this font
14557         already, simply increment its reference count, provided by Olaf Dietsche
14558         <olaf.dietsche+list.gtk@netcologne.de>.
14559
14560         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14561         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14562
14563 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
14564
14565         * gtk/gtkcontainer.c:
14566         (gtk_container_add_with_args):
14567         (gtk_container_addv):
14568         (gtk_container_add): before adding a child to a conatiner, make sure
14569         it is (default) constructed, this is neccessary because under certain
14570         circumstances the child will get relized and mapped immediatedly, in
14571         which case it has to be constructed already.
14572
14573 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
14574
14575         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
14576         values > 1 as TRUE also.
14577
14578 1999-03-16  Tor Lillqvist  <tml@iki.fi>
14579
14580         * README.win32: New file.
14581                 
14582         * configure.in: Check for lstat.
14583
14584         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
14585         completeness.
14586
14587         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
14588
14589         * gtk/gtk.def: Removed CRs.
14590
14591         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
14592         ..\gdk\win32).
14593
14594         * gdk/win32/makefile.msc: Correct upwards relative paths.
14595         
14596 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
14597
14598         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
14599           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
14600           it was connecting a void function to expose_event and the int
14601           returning function to the draw signal
14602
14603 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
14604
14605         * configure.in:
14606         Use correct path to libgmodule.la when ref'ing uninstalled copy
14607         of glib.  (Already in stable branch, Bug #417)
14608
14609 1999-03-15  Tor Lillqvist  <tml@iki.fi>
14610
14611         Win32 merge and general portability stuff:
14612                 
14613         * acconfig.h,configure.in: Check for <sys/time.h>.
14614
14615         * gdk/win32: New directory (actually, been there for a while).
14616         
14617         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
14618         NATIVE_WIN32, and use these. Always case fold on Win32. No
14619         backslashed escapes on native Win32.
14620
14621         * gtk/{gtk.def,makefile.msc}: New files.
14622
14623         * gtk/Makefile.am: Add above new files.
14624         
14625         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
14626         instead of <strings.h>.
14627
14628         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
14629         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
14630         <unistd.h> appropriately.
14631
14632         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
14633         Use ABS() (from <glib.h>) instead of abs().
14634         
14635         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
14636         of gtk (and thus glib) headers, so that WIN32 will be
14637         defined. With MS C, include <direct.h> for mkdir prototype.
14638
14639         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
14640         some casts, needed by MS C.
14641
14642         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
14643         implemented).
14644
14645         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
14646         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
14647         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
14648
14649         * gtk/gtkmain.h: Mark variables for export/import on Win32.
14650                 
14651         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
14652         the event is not a hint, or its window is not the slider. Needed
14653         on Win32, at least.
14654
14655         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
14656         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
14657         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
14658         a subdirectory of the Windows directory as gtk system
14659         configuration directory.
14660
14661         * gtk/gtkselection.c: No chunks on Win32.
14662
14663         * gtk/gtksocket.c: Not implemented on Win32.
14664
14665         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
14666
14667         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
14668
14669         * gtk/maketypes.awk: Declare variables with a macro that expands to
14670         necessary export/import magic in the case of Win32.
14671                 
14672         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
14673
14674 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
14675
14676         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
14677         since those were meant only for gdki18n.h.  
14678         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
14679         for widechar tests.
14680         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
14681
14682 1999-03-13  Tor Lillqvist  <tml@iki.fi>
14683
14684         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
14685         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
14686
14687         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
14688         installed) to CFLAGS.
14689
14690         * gdk/Makefile.am: Add rules for gdkconfig.h.
14691
14692         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
14693         APIs.
14694
14695         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
14696         gdkx.h anyway when compiling for X11.
14697         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
14698         general): Merge in Win32 version.
14699         
14700         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
14701         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
14702         expansion (if we don't have HAVE_PWD_H), allow for drive
14703         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
14704         included code from Craig Setera's port to Win32 (the one that uses
14705         X11, and the cygwin dll), even if it probably will be abandoned.
14706
14707         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
14708         the user entered one herself.  This way one can complete *.h and
14709         don't get matches on any .help files, for instance.
14710         
14711 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14712
14713         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14714         font hash table, if we have a GdkFontPrivate entry for this font
14715         already, simply increment its reference count, provided by Olaf Dietsche
14716         <olaf.dietsche+list.gtk@netcologne.de>.
14717
14718         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14719         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14720
14721 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14722
14723         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
14724         the number of calls to gdk_draw_point() (and thus to X) by
14725         clipping the points by hand.
14726
14727         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
14728         the clip parameter.
14729         (gtk_handle_box_paint): Only paint the handle if the expose area
14730         intersects it.
14731
14732 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14733
14734         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
14735
14736 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
14737
14738         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
14739         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
14740
14741 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14742
14743         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
14744          textmode (O_TEXT) for OS/2 version.
14745
14746 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
14747
14748         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
14749         GtkSpinButton, "input" and "output", to make the output more flexible.
14750         The user has to provide a mapping between adjustment->value and the
14751         output string (and vice versa, if the spin button is editable). 
14752         See testgtk for examples.
14753
14754 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
14755
14756         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
14757         new one.
14758         
14759         * configure.in: set gtk+ version to 1.3.0.