]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
rename set_cursor_pos to set_cursor_location in GtkInputContext class
[~andy/gtk] / ChangeLog.pre-2-4
1 2001-03-15  HideToshi Tajima  <tajima@happy>
2
3         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
4         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
5         * gtk/gtkentry.c (update_im_cursor_location): 
6         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
7         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
8         set_cursor_pos to set_cursor_location in GtkInputContext class
9
10 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
11
12         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
13         the location of the cell relative to its area.
14         * gtk/gtkcell*: modified for above change
15         * gtk/gtktreeview.c: modified for above change.
16
17 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
18
19         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
20          (gtk_tree_view_finalize): actually unref the model.  Thanks to
21         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
22
23 2001-03-14  Havoc Pennington  <hp@redhat.com>
24
25         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
26         
27         * gtk/gtk.h: remove gtkdata.h
28
29         * gtk/Makefile.am: remove gtkdata
30         
31         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
32         not "disconnect" on the adjustments.
33         
34         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
35         GtkData
36
37         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
38         not GtkData
39
40         * configure.in: handle case where X render exists, but Pango lacks
41         Xft support.
42
43 2001-03-15 Alexander Larsson  <alexl@redhat.com>
44
45         * gtk/gtktoolbar.[ch]:
46         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
47         to add stock items to toolbars.
48
49         * gtk/Makefile.am:
50         Remove ../gdk/gdkim.h from gdk_headers.
51
52 2001-03-15  Sven Neumann  <sven@gimp.org>
53
54         * gdk/gdkim.h: removed
55         
56         * gdk/gdkprivate.h
57         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
58
59 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
60
61         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
62         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
63         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
64         set_cursor_pos() virtual method
65
66         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
67         (gtk_im_context_xim_set_cursor_pos): add implementation for
68         set_cursor_pos() method
69
70         * gtk/gtkentry.c (recompute_idle_func): set current cursor
71         position to input methods
72
73 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
74
75         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
76         code a lot.
77
78         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
79         g_mem_chunk.
80         (_gtk_tree_data_list_alloc): use g_mem_chunk.
81         (_gtk_tree_data_list_node_to_value): Fix to switch on
82         G_TYPE_FUNDAMENTAL.
83         (_gtk_tree_data_list_value_to_node): Fix to switch on
84         G_TYPE_FUNDAMENTAL.
85         (_gtk_tree_data_list_node_copy): Fix to switch on
86         G_TYPE_FUNDAMENTAL.
87
88 2001-03-12  Havoc Pennington  <hp@redhat.com>
89
90         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
91         to convert to new property API. Also, change default_width and
92         default_height get_property to return 0 as the flag value for
93         "unset"; -1 is not a valid value for these fields.
94
95 2001-03-12  Havoc Pennington  <hp@redhat.com>
96
97         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
98         enum with registration for icon sizes, instead of strings.
99
100         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
101         gtkwidget.c: Fix to reflect GtkIconSize
102         
103 2001-03-12  Alexander Larsson  <alexl@redhat.com>
104
105         Make GtkFB compile and link.
106         
107         * gdk/linux-fb/gdkdrawable-fb2.c:
108         window->mapped to GDK_WINDOW_IS_MAPPED(). 
109         
110         * gdk/linux-fb/gdkwindow-fb.c:
111         window->mapped to GDK_WINDOW_IS_MAPPED(). 
112         Added gdk_window_shape_combine_region.
113         Added assorted placeholders for unimplemented new GdkWindow API calls.
114
115 2001-03-12  Alexander Larsson  <alexl@redhat.com>
116
117         * gtk/gtkfilesel.c:
118         Add more test when converting filenames from/to utf-8.
119         Don't allow entering text in the filename entry which isn't allowed in
120         a filename. Just beep instead.
121
122 2001-03-12  Alexander Larsson  <alexl@redhat.com>
123
124         * gtk/gtkclist.c:
125         Scroll using gdk_window_scroll(). Don't wait for exposes.
126         Move the column headers in an order that makes them flash less.
127
128 2001-03-10  Hans Breuer  <hans@breuer.org>
129
130         * gdk/gdk.def : updated
131
132         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
133         to offseting the clip_mask at the right place
134
135         * gdk/win32/gdkwindow-win32.c : don't create background brushes
136         for all the gdkClasses, especially not for the input_only case.
137         Otherwise flickering wont be avoidable, because we don't get
138         WM_ERASEBKGND message for these windows.
139
140         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
141         and fixed massive redraw problems apparently triggered by Alexanders 
142         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
143         but it seems to work quite well :-)
144
145         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
146         prototype
147
148 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
149
150         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
151         (gtk_list_store_set_cell): Fix a stupid typo.
152
153 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
154
155         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
156         select_all not work if you're in SINGLE mode (it doesn't make that
157         much sense, anyway.)
158
159         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
160         handle types more sanely.
161         (_gtk_tree_data_list_value_to_node): handle types more sanely.
162         (_gtk_tree_data_list_node_copy): handle types more sanely.
163
164         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
165         GValue better. Converts the type as well.
166
167         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
168         GValue better. Converts the type as well.
169
170 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
171
172         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
173         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
174         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
175         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
176
177         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
178         gdk_im/gdk_ic.
179
180 2001-03-09  Hans Breuer  <hans@breuer.org>
181
182         * gdk/gdk.def : updated
183
184         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
185         for their palette
186
187         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
188         removing
189
190         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
191         removing and implemented Havoc's GdkWindow state functions; 
192         stick/unstick only as no-op, cause I don't know how to emulate 
193         on win32 ...
194
195         * gtk/gtk.def : updated
196
197         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
198
199         * gtk/gtktypeutils.c : #include <string.h>
200
201         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
202
203 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
204
205         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
206         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
207         not a boxed.
208
209 2001-03-09  Alexander Larsson  <alexl@redhat.com>
210
211         * docs/Changes-2.0.txt:
212         Document expose event->region change and that gtk_widget_event
213         doesn't allow passing expose events.
214
215         * gdk/gdkevents.h:
216         Add region to expose event.
217         
218         * gdk/gdkevents.c:
219         Handle event->region in gdk_event_copy() and gdk_event_free().
220
221         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
222         Generate expose_event->region when creating expose events.
223
224         * gdk/x11/gdkevents-x11.c:
225         Generate expose events with regions when translating X events.
226
227         * gtk/gtkcontainer.[ch]:
228         Default expose handler that propagates expose events to NO_WINDOW
229         children. New function gtk_container_propagate_expose()
230
231         * gtk/gtkwidget.[ch]:
232         Moved gtk_widget_event implementation to gtk_widget_event_internal.
233         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
234         expose events. New function gtk_widget_send_expose() to send expose
235         events. New function gtk_widget_region_intersect() to calculate
236         window/region intersections.
237         
238         * gtk/gtkmain.c (gtk_main_do_event):
239         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
240         Use gtk_widget_send_expose() to send expose events.
241         
242         * gtk/gtkbin.c:
243         * gtk/gtkbox.c:
244         * gtk/gtkfixed.c:
245         * gtk/gtkimagemenuitem.c:
246         * gtk/gtklist.c:
247         * gtk/gtkpacker.c:
248         * gtk/gtktable.c:
249         * gtk/gtktree.c:
250         Remove expose handler, using the default container implementation
251         instead.
252         
253         * gtk/gtkbutton.c:
254         * gtk/gtkcheckbutton.c:
255         * gtk/gtkeventbox.c:
256         * gtk/gtkfixed.c:
257         * gtk/gtkhandlebox.c:
258         * gtk/gtklayout.c:
259         * gtk/gtklistitem.c:
260         * gtk/gtkmenu.c:
261         * gtk/gtkmenubar.c:
262         * gtk/gtkmenuitem.c:
263         * gtk/gtknotebook.c:
264         * gtk/gtkoptionmenu.c:
265         * gtk/gtkpaned.c:
266         * gtk/gtkscrolledwindow.c:
267         * gtk/gtktogglebutton.c:
268         * gtk/gtktoolbar.c:
269         * gtk/gtktreeitem.c:
270         * gtk/gtkviewport.c:
271         Chain expose handler to parent class handler. Use
272         gtk_container_propagate_expose() to propagate exposes.
273
274         * gtk/gtkclist.c (check_exposures):
275         * gtk/gtktext.c (process_exposes):
276         Use gtk_widget_send_expose instead of gtk_widget_event.
277
278 >>>>>>> 1.1811
279 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
280
281         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
282
283 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
284
285         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
286         unref the nodes.   Fixes bug #50058.
287
288         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
289         "::ref_iter" to "::ref_node".
290         (gtk_tree_model_unref_node): change "::unref_iter" to
291         "::unref_node". Fixes bug #50064.
292
293 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
294
295         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
296         support for invisible cells.
297          (gtk_tree_view_bin_expose): ditto
298
299 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
300
301         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
302         on gobjects.
303
304         * tests/testtreefocus.c (main): New test file.
305
306         * tests/testtreeview.c: update to latest glib changes.
307
308         * tests/testtreecolumns.c: update to latest glib changes.
309
310 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
311
312         * gtk/testgtk.c: re-enabled event watcher emission hooks.
313
314 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
315
316         * *.c: added accumulator data argument to g_signal_newc()
317         functions.
318
319         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
320         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
321         * gtk/treestoretest.c (make_window):
322         s/g_signal_connect/g_signal_connectc/.
323
324         * gtk/gtktextbuffer.c: completed signal arg fixups,
325         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
326
327 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
328
329         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
330         G_CONST_RETURN.
331
332         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
333         ::hierarchy-changed signal when a widget changes
334         from anchored to unanchored or vice versa.
335         (anchored means 
336          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
337         Use a private flag to keep track of this efficiently.
338
339 2001-03-07  Havoc Pennington  <hp@redhat.com>
340
341         * gtk/testgtk.c (create_spins): uglify so that size request gets
342         tested.
343
344         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
345         request on values for upper/lower, completes #6152
346
347 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
348
349         * Makefile.am: Remove gtk-config-2.0 again.
350         (Grrrr, pkg-config. And stops make loops.)
351
352 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
353
354         * gtk/gtksignal.[hc]: removed old emission hook API.
355         
356         * docs/Changes-2.0.txt: fixed sections.
357         
358         * gtk/gtktextbuffer.c: signal arg fixups.
359
360 2001-03-07  Havoc Pennington  <hp@redhat.com>
361
362         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
363
364         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
365         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
366         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
367         validation and the redraw which is higher priority than the
368         validation.
369
370 2001-03-07  Havoc Pennington  <hp@redhat.com>
371
372         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
373         (gtk_entry_set_property): remove trailer
374
375         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
376         (gtk_entry_get_width_chars): new functions, to set size request to 
377         a given number of characters
378
379         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
380
381         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
382         (gtk_dialog_get_has_separator): new function
383         (run_delete_handler): fix to not emit "response" signal
384         because we already did in the delete event handler installed
385         at dialog creation time.
386         
387         * gtk/gtkdialog.h: add a has_separator property,
388         add GTK_DIALOG_NO_SEPARATOR flag
389
390 2001-03-07  Havoc Pennington  <hp@redhat.com>
391
392         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
393         off decorations for a window.
394
395         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
396         changes
397
398         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
399         to get location of PangoLayout inside the label, closes #51198
400
401         * gtk/testgtk.c (create_bbox): fix up button box usage
402
403         * gtk/testcalendar.c (create_calendar): fix up button box usage
404
405         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
406
407         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
408
409         * gtk/gtkhbbox.h: deprecations
410
411         * gtk/gtkvbbox.h: deprecations
412
413         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
414         emulate deprecated gtk_button_box_get_spacing
415
416         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
417         the "set global default" functions
418         (struct _GtkButtonBox): remove "spacing" field, use the one from 
419         GtkBox base class
420
421         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
422
423         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
424         render the icon, return the missing image icon.
425
426         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
427         image icon if the load fails.   
428
429         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
430         when no image is found; should be the Netscape "missing image"
431         icon eventually but for now is a random image
432
433         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
434         role for the session manager
435
436         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
437
438         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
439         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
440
441         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
442
443 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
444
445         * gtk/*.c: marshaller fixes.
446         
447         * gtk/gtkmarshal.list: extreme cleanup.
448
449         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
450         param spec for now.
451
452         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
453         where appliable.
454
455         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
456         special cased autogenerated boxed types from gtktypebuiltins_ids.c
457         which are not reference counted:
458         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
459         PangoFontDescription, GtkTreeIter and GtkTreePath.
460
461 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
462
463         * gtk/gtktreeselection.h: 
464         * gtk/gtktreemodel.c:
465         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
466         file should be included directly, and gobject/gmarshal.h
467         as well as gtk/gtkmarshal.h even can't be included directly.
468
469         * Makefile.am: grr, install gtk-config-2.0.
470
471         * gtk/testgtk.c:
472         * gtk/simple.c:
473         * gtk/gtkmenu.c:
474         * gtk/gtkitemfactory.c: use g_object_connect() instead of
475         passing "*signal*::*" args to gtk_widget_set().
476         
477         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
478         
479         * gtk/*.c: removed trailer arg from property setters and getters.
480         macro fixups.
481
482 2001-03-07  Alexander Larsson  <alexl@redhat.com>
483
484         * gtk/gtklabel.c (set_markup): Removed warning
485
486 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
487
488         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
489         field to allow you to hide cell renderers.
490
491         * gtk/gtkcellrenderer.c: Add support for invisible cells.
492
493         * gtk/gtktreeview.c: Add support for invisible cells.
494
495 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
496
497         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
498         Add "clicked" signal back to columns.
499
500         * ChangeLog: remove conflict markers.
501
502 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
503
504         * gtk/gtkbutton.c: Add animation of activation by, on 
505         activate, pressing the button, and adding a timeout that 
506         releases the button after 250ms or on key release and
507         emits ::clicked. (#51501)
508
509         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
510         action area, we connect to ::clicked instead of ::activate
511         so the dialog stays up through the animation.
512
513 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
514
515         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
516         check the ignore_enter flag for the menu shell that
517         the item is actually a child of, not for attached
518         submenus. (#51536)
519
520 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
521
522         * gtk/gtkmain.c (gtk_propagate_event): Only do special
523         special key-press grab handling for widgets within
524         GtkWindows. Otherwise, fall through to normal case.
525
526         This prevents key events being sent twice to GtkInvisible
527         widgets, which can cause all sorts of mischief.
528
529 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
530
531         * gtk/gtkmain.c (gtk_propagate_event): When a grab
532         widget is in effect, give the grab widget a first
533         crack at KEY_PRESS/RELEASE events. (#424)
534
535 2001-03-06  James Henstridge  <james@daa.com.au>
536
537         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
538         offset for the window_state_event to point at window_state_event
539         rather than no_expose_event.
540
541 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
542
543         * gtk/gtkimmodule.h: fix busted /* comment */
544
545 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
546
547         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
548         object properties.
549
550 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
551
552         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
553         add object properties.
554
555         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
556         to add object properties.
557
558         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
559         object properties.
560
561         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
562         add object properties.
563
564         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
565         object properties.
566
567 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
568
569         * gtk/gtktreemodel.c: renamed "child_toggled" to
570         "has_child_toggled".
571
572         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
573         handle new signal name.
574
575         * gtk/gtktreestore.c: Updated to handle new signal name.
576         * gtk/gtklisttore.c: Updated to handle new signal name.
577         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
578
579 2001-03-05  Alexander Larsson  <alexl@redhat.com>
580
581         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
582         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
583
584 2001-03-05  Michael Natterer  <mitch@gimp.org>
585
586         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
587         pixbuf-engine coincidentially also failed to make one of it's
588         parent_class pointers static, causing overwriting of GtkLabel's
589         parent_class pointer in pixbuf_style_class_init().
590         (Will commit the fix to the pixbuf-engine too).
591
592 2001-03-05  Alexander Larsson  <alexl@redhat.com>
593
594         * gdk/gdkwindow.h:
595         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
596         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
597         gdk_window_set_icon_list for net wmspec functionality.
598
599         * gdk/x11/gdkwindow-x11.c:
600         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
601         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
602         gdk_window_set_icon_list.
603         Added gdk_wmspec_change_state helper function and used it in the code.
604         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
605
606         * gtk/gtkdialog.c (gtk_dialog_init):
607         Set GDK_WINDOW_TYPE_HINT_DIALOG.
608
609         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
610         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
611
612         * gtk/gtkwindow.c:
613         new function gtk_window_set_type_hint.
614         On realize, set type hint and modal hint.
615
616         * gtk/gtkwindow.h:
617         Added type_hint field and gtk_window_set_type_hint.
618
619 2001-03-05  Alexander Larsson  <alexl@redhat.com>
620
621         * gtk/gtklabel.[ch]:
622         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
623         New function gtk_label_get_accel_keyval () to get the underline accelerator
624         of the label. Setting the label pattern overrides other attributes.
625
626 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
627
628         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
629         Added missing initializers to gtk_rc_style_init().
630
631 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
632
633         * gtk/gtktextview.c: fixed bug #51097 about setting 
634         gtk_text_view_set_border_window_size() if the widget is 
635         already realized.
636
637 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
638
639         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
640
641         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
642         comment. Won't do to have duplicated doc comments between
643         the platform subdirs.
644
645 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
646
647         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
648           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
649
650         Detectable auto-repeat - make a repeating key generate
651         press/press/press/release instead of press/release pairs.
652
653         If we have Xkb and XkbSetDectableAutoRepeat supports
654         that, we do it that way. Otherwise, when we get
655         a release event, we check ahead with XPending to see
656         if the next key is a KeyPress with the same keycode
657         and timestamp. (Not 100% reliable, but pretty close.)
658           
659 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
660         
661         * gtk/gtkmain.c (gtk_propagate_event): Only do special
662         special key-press grab handling for widgets within
663         GtkWindows. Otherwise, fall through to normal case.
664  
665         This prevents key events being sent twice to GtkInvisible
666         widgets, which can cause all sorts of mischief.
667  
668 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
669  
670         * gtk/gtkmain.c (gtk_propagate_event): When a grab
671         widget is in effect, give the grab widget a first
672         crack at KEY_PRESS/RELEASE events. (#424)
673  
674 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
675
676         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
677         to extend the selection. (Roughly based on patch
678         from Jay Cox, #50939)
679
680         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
681         to properly handle previous GDK_BUTTON_PRESS. 
682         (Patch from Jay Cox, #50938)
683
684         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
685         '\0' back along with the deleted text. (#51148)
686
687 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
688
689         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
690         the group when extracting it from the X keyboard event.
691
692         * modules/input/Makefile.am modules/input/imipa.c: 
693         Simple module for entering IPA. (Do we need a 
694         gtk-stupid-input-tricks CVS module?)
695
696 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
697
698         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
699         const.
700
701         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
702
703         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
704         is no focus widget for the dialog currently, grab the focus as well
705         as the default.
706
707         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
708         the action area's children to iterate through, not the
709         dialog's children.
710
711 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
712
713         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
714         Add plug-socket tests. (Won't work worth a darn until I commit
715         the rest of the plug-socket changes, but no reason these
716         can't go into CVS now.)
717
718 2001-03-02  Havoc Pennington  <hp@redhat.com>
719
720         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
721         _gdk_region_get_xrectangles()
722
723         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
724
725         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
726
727         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
728         function, contributed by Ron Steinke    
729
730         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
731         gdk_net_wm_supports
732
733         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
734         New function, contributed by Ron Steinke
735
736         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
737         used to line up the text in the entry when using the entry for
738         editable sheet cell hacks
739
740         * gtk/testgtk.c (create_entry): test the activate_default setting
741         on GtkEntry
742
743         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
744         cause the entry to activate the default button for a dialog when 
745         activated
746         (gtk_entry_get_activates_default): new function
747
748 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
749
750         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
751         Hwang to move call to sync_selection() up a few lines
752         to before the row list is modified, to fix crash when
753         removing rows in the undo_selection list.
754
755         (Test case provided by Daniel Elstner:
756
757         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
758
759 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
760
761         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
762         of tree->root_tree in parent_set rather than _map(), 
763         fixing #50892 in a bit better manner.
764
765 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
766
767         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
768
769 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
770
771         * gtk/gtkstyle.c : Remove duplicate fwd decl for
772         gtk_default_draw_shadow.
773
774 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
775
776         * gdk/gdkimage.c (gdk_image_new): Remove excess 
777         warning, make warnings more verbose, treat a error
778         in shmat as permanent, and don't try again.
779         (#51163, Ed Randall.)
780
781 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
782
783         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
784         delay for the first click before starting to scroll.
785         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
786
787         * gtk/gtktext.c: GtkText should have I-beam cursor. 
788         (based on gtk-enf-990513-1.patch, Eric Fisher.)
789
790 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
791
792         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
793         cleanup to remove some references to unused
794         ->xoffset, ->yoffset.
795
796 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
797
798         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
799         mask. (#51039, fix from Martin Maierhofer)
800
801 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
802
803         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
804         for unshifted + and shifted = for non-us keyboards.
805         Make <Control>+ and <Control>- work as well as 
806         <Control>KP_Plus, <Control>KP_Minus for recursive
807         open/close.  (#2682, René Seindal)
808
809 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
810
811         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
812         the active menu item before deactivating the menu,
813         so gtk_menu_popdown doesn't change the history. (#50964)
814         
815 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
816
817         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
818         draw lines with text_gc rather than black_gc.
819         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
820
821 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
822
823         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
824         Move handling of buttons fully in gtktreeviewcolumn.  This code is
825         less interrelated then it was, but it still requires the
826         GtkTreeView to map it.
827
828         * test/testtreecolumn.c: Now I can add a column to one view,
829         remove it, add it to the another view, remove it, then re-add it
830         to the first.  Nifty.
831
832 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
833
834         * docs/tutorial/gtk-tut.sgml: Minor corrections
835
836 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
837
838         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
839         GtkRowReference.
840
841 2001-02-28  Havoc Pennington  <hp@redhat.com>
842
843         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
844         draw_default
845         (gtk_widget_draw_focus): remove this function; we could instead
846         make it just gtk_widget_draw(), but in most cases I think the
847         result would be broken user code, so think it's better to have
848         that code not compile and get fixed
849         (gtk_widget_draw_default): ditto
850
851         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
852         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
853         
854         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
855         widgets lose/get the default, instead of calling draw_default
856         
857         * docs/Changes-2.0.txt: note about all this
858
859         Then fixed every widget in GTK, I won't list all the filenames.
860
861 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
862
863         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
864         _gtk_tree_row_reference_deleted.
865         (inserted_callback): Proxy out to
866         _gtk_tree_row_reference_inserted.
867         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
868         get around signal emission ordering problem.
869
870         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
871         fix to work with SINGLE 
872         (_gtk_tree_selection_internal_select_node): Major sanitization on
873         selections.  SINGLE now seems to work.
874
875         * tests/Makefile.am: add testtreecolumn.c:
876
877         * tests/testtreecolumn.c: New test.  Mostly points out selection
878         bugs currently, but will test columns later.
879
880         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
881         selection bug.  I hate touching this code -- it's scary.
882
883 2001-02-26  Havoc Pennington  <hp@redhat.com>
884
885         * gtk/testgtk.c: test the window state stuff
886
887         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
888         window come to the user's attention as if it were just created
889         (gtk_window_iconify): new function
890         (gtk_window_deiconify): new function
891         (gtk_window_stick): new function
892         (gtk_window_unstick): new function
893         (gtk_window_maximize): new function
894         (gtk_window_unmaximize): new function
895
896         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
897
898         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
899
900         * gdk/x11/gdkevents-x11.c: create window state events when
901         appropriate
902         (gdk_wmspec_supported): new function
903
904         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
905         iconification before showing the window
906         (gdk_window_deiconify): new function
907         (gdk_window_stick): new function
908         (gdk_window_unstick): new function
909         (gdk_window_maximize): new function
910         (gdk_window_unmaximize): new function
911
912         * gdk/gdkwindow.c: store the window state in the window; 
913         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
914         window->mapped.
915         (gdk_window_get_state): return the current window state
916
917         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
918         (gdk_event_get_state): handle GDK_WINDOW_STATE
919         (gdk_synthesize_window_state): function to create the window state
920         events
921
922         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
923         event, for changes to "window state" such as maximized, sticky, 
924         etc.
925         
926         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
927         focuses a window
928
929         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
930         finds out if we support a given WM spec hint
931
932 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
933
934         * docs/faq/gtk-faq.sgml: New question re memory leaks.
935
936 2001-02-25  Hans Breuer  <hans@breuer.org>
937
938         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
939         cause we want to loose those prototypes only in the latter case
940
941         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
942         GdkPixmapImplWin32 because it itsn't derived from it. Use the
943         impl member variable instead
944
945         * gtk/gtk.def : updated
946
947         * gtk/gtklist.c : 
948         * gtk/gtkmenus.c : include <string.h> for memset ()
949
950         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
951         for everthing built here, but for gtk-x.x.dll only. This solves
952         problem of indifferent gtk type definitions
953
954 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
955
956         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
957
958 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
959
960         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
961         column that is exposed.
962
963         (_gtk_tree_view_update_size): Changed name from set_size, and
964         changed function to do more work, and not force people calling it
965         to figure out the size.  Simplifies a lot of code elsewhere.
966
967 2001-02-23  Alexander Larsson  <alexl@redhat.com>
968
969         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
970         return solid masks for xpms that have no transparent color.
971         This makes the ..._create_from_xpm... API backwards
972         compatible.
973
974 2001-02-23  Tor Lillqvist  <tml@iki.fi>
975
976         * README.win32: Update. Mention the gtk-1-3-win32-production
977         branch.
978
979         * gdk/win32/bdfcursor.c: New file. A program that generates
980         xcursors.h. Thanks to Stefan Ondrejicka.
981
982         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
983         compact format.
984
985         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
986
987         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
988         function, uses xcursors.h.
989         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
990         cursor from inline data instead of using LoadCursor() to generate
991         it from a resource.
992
993         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
994         event, must check the Windows message for mouse button state, as
995         the GDK event state might not have been built if it is
996         undelivered. Remove one goto.
997
998         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
999         SetCursor() if the current cursor as returned by GetCursor() is
1000         the window's previous cursor. The ChildWindowFromPoint() test
1001         apparently didn't work correctly.
1002
1003         * gdk/win32/rc/*.cur: Remove.
1004
1005         * gdk/win32/rc/gdk.rc.in: Remove cursors.
1006
1007         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
1008
1009         * gtk/makefile.{mingw,msc}.in: Updates.
1010
1011 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
1012
1013         * gtk/gtktreemodel.h: add functions for signal emission.
1014
1015         * gtk/gtktreestore.c: move to use above functions instead of
1016         g_signal_emit.
1017
1018         * gtk/gtkliststore.c: ditto
1019
1020 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
1021
1022         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
1023         GObject instead of GtkObject.
1024
1025         * gtk/gtkliststore.c: ditto.
1026
1027         * gtk/gtktreemodelsort.c: ditto.
1028
1029         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
1030         GtkTreeModelIface, instead of in each model.
1031
1032 2001-02-21  Havoc Pennington  <hp@redhat.com>
1033
1034         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
1035         unbreak this function
1036
1037         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
1038         properties
1039
1040         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
1041         properties
1042
1043         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
1044         properties
1045
1046         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
1047         mean unset the max length
1048
1049 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
1050
1051         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
1052         Changed name to be set_cell_data_func to make it clear what
1053         the functino does.  Close bug #51069.
1054
1055 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
1056
1057         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
1058         have memory actually freed.  Keeps box running longer.
1059
1060 2001-02-21  Alexander Larsson  <alexl@redhat.com>
1061         
1062         * gtk/gtkseparatormenuitem.[ch]:
1063         Added new menu separator item. The drawing and size handling
1064         is still done in GtkMenuItem, but the API is a bit more sane.
1065         
1066         * gtk/Makefile.am:
1067         Add gtkseparatormenuitem.[ch].
1068
1069         * gtk/gtk.h:
1070         Add gtkseparatormenuitem.h.
1071         
1072         * gtk/gtkentry.c:
1073         * gtk/gtkmenufactory.c:
1074         * gtk/gtktextview.c:
1075         Use the new API for menu separators.
1076         
1077         * demos/gtk-demo/menus.c (create_menu):
1078         Add some GtkSeparatorMenuItem demo code.
1079
1080 2001-02-20  Havoc Pennington  <hp@redhat.com>
1081
1082         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
1083         Lee Mallabone
1084
1085         * gtk/gtkarrow.c: Convert to new property API, patch from 
1086         Lee Mallabone
1087
1088 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
1089
1090         * tests/testtreeview.c (toggled_callback): fix to reflect change
1091         in GtkTreeModelStore.
1092
1093 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
1094
1095         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
1096         function to create an icon set from a pixbuf.
1097
1098 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1099
1100         * gtk/gtkcellrenderertext.[ch]:
1101         Add a "markup" property.
1102
1103         * gtk/treestoretest.c:
1104         Use the markup property, remove some leftover stuff from
1105         GtkTreeModelMapping.
1106
1107 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1108
1109         * gtk/gtklabel.c (gtk_label_set_selectable):
1110         Queue a redraw if the selectable setting was changed.
1111
1112 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1113
1114         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
1115         Actually copy the whole gc, not just the public parts.
1116         
1117         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1118         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
1119         labels.
1120
1121 2001-02-19  Havoc Pennington  <hp@pobox.com>
1122
1123         * gdk/gdkwindow.c: docs
1124
1125         * gdk/gdkrgb.c: docs
1126
1127         * gdk/gdkregion-generic.c: docs
1128
1129         * gdk/gdkgc.c (gdk_gc_set_values): docs
1130
1131         * gdk/gdkdraw.c: docs
1132
1133         * gdk/gdkdrawable.h: deprecate drawable get/set data
1134
1135 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
1136
1137         * demos/gtk-demo/dialog.c: Add simple new demo.
1138
1139 2001-02-19  Havoc Pennington  <hp@redhat.com>
1140
1141         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
1142         insert_child_anchor signal, bug #50245
1143
1144         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
1145         from create_child_anchor, so the anchor is passed in
1146
1147         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
1148         (_gtk_widget_segment_new): have the child anchor object passed in, 
1149         instead of creating it.
1150
1151         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
1152         to gtk_text_buffer_get_modified
1153
1154 2001-02-19  Havoc Pennington  <hp@redhat.com>
1155
1156         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
1157         changed GLib without fixing GTK
1158
1159         * gtk/gtkrange.h: Rename all the stupid implementation detail 
1160         functions to have an underscore in front. Most of them should 
1161         probably just go away, but for starters don't export them.
1162         Bug #50482
1163
1164 2001-02-19  Havoc Pennington  <hp@redhat.com>
1165
1166         * gdk/gdkcolor.h: test was backward, so deprecated functions were
1167         excluded by default
1168
1169         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
1170         clean up the old code a bit
1171
1172         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
1173         inconsistent state
1174
1175         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
1176         draw inconsistent state
1177
1178         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
1179         (create_menu): add inconsistent test
1180
1181         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
1182         new function
1183         (gtk_check_menu_item_get_inconsistent): new function
1184         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
1185         state (using etched in for now)
1186
1187         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
1188         draw inconsistent state
1189
1190         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
1191         function, used when the user has selected a range of stuff in
1192         different states
1193         (gtk_toggle_button_get_inconsistent): accessor for that
1194         (gtk_toggle_button_paint): draw inconsistent state (etched in?
1195         don't know what else to do)
1196
1197 2001-02-19  Hans Breuer <hans@breuer.org>
1198
1199         * gtk/gtk.def : updated exported symbols
1200
1201         * gtk/makefile.msc.in : updated
1202
1203         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
1204         a colormap, when invoked from testgtk::entry. I'm not sure where
1205         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
1206         avoids immediate crashing ...
1207
1208         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
1209         any objections ?
1210
1211         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
1212         0 parameter. At least msvc doesn't like macros with var args. 
1213         I simply removed the extra 0, was it a feature or a typo ?
1214
1215         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
1216         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
1217         because the value assignment to the internal struct wasn't working.
1218         I'm not absolutely sure. The problem could have been resolved by
1219         changing the "func" declartion in the struct, but was the pointer
1220         to the function pointer intended ?
1221
1222         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
1223
1224         * gdk/gdk.def : updated exported symbols
1225
1226         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
1227         only use SetDIBitsToDevice if there is a palette at the drawable
1228         and the image is GDK_VISUAL_PSEUDO_COLOR
1229
1230         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
1231
1232         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
1233
1234         * gdk/*/makefile.msc : updated
1235
1236 2001-02-19  Havoc Pennington  <hp@redhat.com>
1237
1238         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
1239         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
1240
1241         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
1242         (gdk_key_repeat_restore): nuke
1243
1244         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
1245         (gdk_init_check): no atexit func
1246
1247         * gdk/gdkrgb.h: mark some stuff deprecated
1248
1249         * gdk/gdkcolor.h: mark some stuff deprecated
1250         
1251         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
1252
1253         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
1254
1255 2001-02-16  Havoc Pennington  <hp@redhat.com>
1256
1257         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
1258         scroll steps.
1259
1260         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
1261         steps, and add Ctrl-arrow shortcuts for paging visually as with
1262         HScale, since Page Up and Page Down move logically.
1263
1264         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
1265         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
1266         
1267         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
1268         steps
1269         (gtk_range_scroll): handle the visual steps
1270
1271         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
1272         scroll steps
1273
1274         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
1275         steps, not the logical ones.
1276
1277         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
1278         (scroll_vertical): handle up/down steps
1279
1280 2001-02-19 Alexander Larsson  <alexl@redhat.com>
1281
1282         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
1283         Copy data and free data with free().
1284
1285         * gdk-pixbuf/gdk-pixbuf.c:
1286         * gdk-pixbuf/io-jpeg.c:
1287         * gdk-pixbuf/io-png.c:
1288         Use g_try_malloc/g_free instead malloc/free.
1289         
1290         * gdk-pixbuf/test-gdk-pixbuf.c:
1291         Must... initialize... gobject...
1292         
1293         * gdk-pixbuf/pixops/timescale.c:
1294         * gtk/gtkcalendar.c:
1295         Use g_malloc instead of malloc.
1296         
1297 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
1298
1299         * gtk/testgtkrc:
1300         Comment out property assignments, these don't work yet.
1301
1302 2001-02-17  Havoc Pennington  <hp@pobox.com>
1303
1304         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
1305         bit.
1306
1307 2001-02-17  Havoc Pennington  <hp@pobox.com>
1308
1309         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
1310         shadowed variables that had broken size request in some cases,
1311         leading to bogus tooltips (#50996)
1312
1313 2001-02-06  Jon K Hellan  <hellan@acm.org>
1314
1315         Implement fast browsing of tooltips, bug #50619
1316         
1317         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
1318         and last_popdown
1319         
1320         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
1321         use_sticky_delay and last_popdown.
1322         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
1323         time of popdown.
1324         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
1325         is NULL.
1326         (gtk_tooltips_recently_shown): New static function.  Return true
1327         if < sticky_delay has elapsed since last popdown.
1328         (gtk_tooltips_event_handler): Display window after sticky_delay
1329         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
1330         since last popdown.
1331         
1332 2001-02-17  Havoc Pennington  <hp@pobox.com>
1333
1334         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
1335         instead of (). #6394
1336
1337         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
1338         G_CONST_RETURN, make it return by reference, #50473
1339         
1340 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
1341
1342         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
1343         generated ENTER_NOTIFY event with 0, otherwise not explicitely
1344         setup fields contain garbage (e.g. subwindow, breaking
1345         gdk_drawable_ref() upon event copy).
1346         (gtk_menu_stop_navigating_submenu_cb): same here.
1347
1348         * gtk/gtklist.c (gtk_list_vertical_timeout): 
1349         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
1350         * gtk/gtkclist.c (vertical_timeout): 
1351         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
1352         default-zero-intialization for unions to memset(,0,), as unions are
1353         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
1354         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
1355
1356         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
1357         g_closure_sink() warning.
1358
1359         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
1360         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
1361         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
1362         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
1363         
1364 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
1365
1366         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
1367         gtk_*_store_get, and moved to GtkTreeModel.
1368
1369         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
1370
1371         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
1372
1373         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
1374
1375         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
1376         set the func.
1377
1378         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1379         freeze/thaw notify between setting all the properties for a cell.
1380
1381         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
1382
1383 2001-02-15  Havoc Pennington  <hp@redhat.com>
1384
1385         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
1386         the X coordinates so they're with respect to the line, rather than 
1387         with respect to the layout.
1388
1389         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
1390         Mallabone
1391
1392         * gtk/testgtk.c (create_range_controls): add vscale tests, 
1393         and inverted test
1394
1395         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
1396         #50806
1397
1398         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
1399
1400         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
1401         gtk_text_iter_is_end
1402
1403         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
1404         rename gtk_text_buffer_get_end_iter
1405
1406         * gtk/testgtk.c (create_labels): Add test for selectable
1407
1408         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
1409         the selection stuff. This code is kind of broken since it doesn't 
1410         use the theme engine.
1411
1412         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
1413         fix infinite loop and y offset problem
1414         (gdk_draw_layout_line_with_colors): fix foreground color handling
1415
1416         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
1417         that makes the label selectable.
1418         
1419         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
1420         layout when the style is set, since fonts etc. could have changed.      
1421
1422 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
1423
1424         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
1425
1426         * gtk/gtktreemodelsimple.[ch]: removed.
1427
1428 2001-02-16  Alexander Larsson  <alexl@redhat.com>
1429
1430         * gtk/gtktreemodelmapping.[ch]:
1431         New files. Implement GtkTreeModelMapping.
1432         
1433         * gtk/Makefile.am:
1434         Add gtktreemodelmapping.[ch].
1435         
1436         * gtk/gtk.h:
1437         Add gtktreemodelmapping.h
1438
1439         * gtk/treestoretest.c:
1440         Test the GtkTreeModelMapping
1441
1442 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
1443
1444         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
1445         have a demo, we might as well pass in real values.  Thanks to
1446         clahey for pointing this out.
1447
1448 2001-02-14  Havoc Pennington  <hp@pobox.com>
1449
1450         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
1451         "static" to a private function
1452         (gtk_image_menu_item_class_init): remove destroy handler,
1453         add "image" object property
1454
1455 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
1456
1457         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
1458         Add a shortcut if the window and the current clip_region doesn't
1459         overlap. This is needed when there are a lot of windows in a
1460         window. The layout test in testgtk is a good test.
1461
1462         * gdk/linux-fb/gdkwindow-fb.c:
1463         Whitespace fix.
1464
1465 2001-02-13  Sven Neumann  <sven@convergence.de>
1466
1467         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
1468
1469 2001-02-13  Alexander Larsson  <alexl@redhat.com>
1470
1471         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
1472         Don't reference last_cursor if it is null. Fixes crash when rotating
1473         the screen before having moved the mouse.
1474
1475         * gdk/linux-fb/gdkcc-fb.c: Zapp!
1476
1477         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
1478
1479         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
1480         when using 90 or 270 degrees rotation.
1481
1482 2001-02-12  Havoc Pennington  <hp@pobox.com>
1483
1484         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
1485         it always set the foreground, even if we were only using
1486         a stipple.
1487         (gdk_draw_layout_line_with_colors): new function, allow
1488         override colors
1489         (gdk_draw_layout_with_colors): new function, allow override
1490         colors
1491         (gdk_pango_layout_line_get_clip_region): function to get the clip
1492         region for a logical text range
1493         (gdk_pango_layout_get_clip_region): get the clip region for a
1494         logical text range
1495
1496         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
1497         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
1498         the right number of arguments.
1499
1500         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
1501         enhance the function to check that node data corresponds to a 
1502         view still belonging to the tree.
1503
1504         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
1505         GtkTreePath
1506         (gtk_tree_view_inserted): ditto
1507         (gtk_tree_view_child_toggled): ditto
1508
1509         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
1510         simplify this code.
1511
1512         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
1513         a PangoAttrList
1514
1515         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
1516
1517         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
1518
1519         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
1520         size in the size request 
1521         (gtk_menu_bar_size_allocate): consider toggle size here
1522
1523         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
1524         that displays a widget in the toggle slot
1525
1526         * gtk/testgtk.c: test GtkImageMenuItem
1527
1528         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
1529         
1530         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
1531         request and allocation
1532
1533         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
1534
1535         * gtk/gtkcheckmenuitem.c
1536         (gtk_check_menu_item_toggle_size_request): ditto
1537         
1538 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
1539
1540         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
1541         reference.
1542
1543         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
1544         and refuse to initialize GTK+ if they fail.
1545
1546 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
1547
1548         * configure.in: Add check for gtk-doc version.
1549
1550 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
1551
1552         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
1553         where the xpad/ypad was only being used on one side!
1554
1555 2001-02-11  Tor Lillqvist  <tml@iki.fi>
1556
1557         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
1558         function, copied from X11 version.
1559
1560         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
1561         DestroyCursor failures. The reason for the problem (despite the
1562         inconsistent messages from GetLastError()) was that
1563         DestroyCursor() cannot be called while a cursor is set in a
1564         window. Set the new cursor first and then destroy the old one.
1565         Thanks to jpe@archaeopteryx.com.
1566
1567         * gdk/win32/gdkcc-win32.c: Remove.
1568
1569         * gdk/win32/Makefile.am: Remove from here, too.
1570         
1571         * gdk/gdk.def
1572         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
1573
1574         * gtk/gtk.def
1575         * gtk/makefile.mingw.in: Updates.
1576
1577 2001-02-08  Havoc Pennington  <hp@redhat.com>
1578
1579         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
1580         add a widget to a bin that already has a child.
1581
1582         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
1583
1584         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
1585         
1586         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
1587
1588         * gdk/gdk.h: remove gdkcc.h
1589
1590         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
1591
1592         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
1593         GdkPixbuf, since the previous implementation was GdkColorContext
1594         dependent.
1595
1596         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
1597         
1598 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
1599
1600         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
1601         a sane value!
1602
1603 2001-02-08  Havoc Pennington  <hp@redhat.com>
1604
1605         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
1606         lighten them.
1607
1608 2001-02-08  Havoc Pennington  <hp@redhat.com>
1609
1610         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
1611         validation idle
1612
1613         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
1614         cell renderer
1615
1616         * demos/pixbuf-demo.c (timeout): remove deprecated
1617         gtk_widget_draw
1618
1619         * demos/testpixbuf-save.c (main): remove deprecated
1620         gtk_drawing_area_size
1621
1622         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
1623         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
1624         at the start of the allocation.
1625         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
1626         unsetup or NULL model.
1627
1628         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
1629         even/odd/sorted cells in the tree view.
1630
1631         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1632         bugfixes
1633
1634         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
1635         backgrounds with draw_flat_box using different detail for even/odd
1636         rows.
1637
1638         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
1639         row, so we can draw the alternating colors thing
1640
1641         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
1642         property from a synonym property, notify for the synonym.
1643         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
1644         (gtk_text_tag_get_property): Always return the font, even if
1645         all its fields aren't set
1646
1647         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
1648         store the attr list; it leaves us with no way to change attributes
1649         in _render according to the render flags, and no way to implement
1650         get_property. Instead store all the specific text attributes. 
1651         Separate whether an attribute is enabled from its value. Sync all
1652         properties with GtkTextTag, make them all consistent, etc.
1653
1654         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
1655         renderers can highlight the sort row/column     
1656
1657         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
1658         accessor functions to get values; this has the side effect of
1659         showing up which accessor functions were missing. Added those.
1660
1661         * gtk/gtktreeviewcolumn.h: Replace set_justification with
1662         set_alignment, to be consistent with GtkLabel, GtkMisc
1663
1664         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
1665         arrow.
1666
1667         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
1668
1669         * gtk/gtktreesortable.h: updates in here
1670
1671 2001-02-07  Sven Neumann  <sven@convergence.de>
1672
1673         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
1674         pango dimensions after painting the background. We used to draw
1675         gigantic flat boxes here.
1676
1677 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
1678
1679         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
1680         error introduced with earlier commit) (pointed out by
1681         Ollie Lho)
1682
1683 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
1684
1685         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
1686         which are no longer necessary.
1687
1688 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
1689
1690         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
1691
1692 2001-02-04  Tor Lillqvist  <tml@iki.fi>
1693
1694         * gdk/gdk.def
1695         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
1696         Provide dummy implementations.
1697
1698 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
1699
1700         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
1701
1702         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
1703         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
1704         deprecated this function.
1705
1706         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
1707         argument.
1708
1709 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
1710
1711         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
1712
1713 2001-02-03  Havoc Pennington  <hp@pobox.com>
1714
1715         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
1716         Mikael Hermansson with patch from Mikael (if there was a toggle
1717         start one after the first character in the range, this function
1718         was broken). Bug #50380
1719
1720 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
1721
1722         * configure.in: Remove confusing comment about X11.
1723
1724 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
1725
1726         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
1727         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
1728         
1729 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
1730
1731         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
1732         it breaks things on BSD. If you want to compile GTK+ with
1733         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
1734         when configuring, since GTK+ simply can't be "pure ANSI" 
1735         in the header files it uses. (#8170, Greg Hudson)
1736
1737 2001-02-02  Havoc Pennington  <hp@redhat.com>
1738
1739         * gtk/gtkwindow.c: docs
1740
1741         * gtk/gtkwidget.c: docs
1742         (gtk_widget_set_colormap): add a reference to the colormap
1743         (gtk_widget_get_default_colormap): add a reference to the colormap
1744
1745         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
1746
1747         * gtk/gtktextiter.c: docs
1748
1749         * gtk/gtkmain.c (gtk_propagate_event): docs
1750
1751         * gtk/gtkpaned.c (gtk_paned_get_position): docs
1752         (gtk_paned_set_position): docs
1753
1754         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
1755         sort interface, no implementation yet.
1756
1757         * demos/testpixbuf.c (new_testrgb_window): replace
1758         gtk_drawing_area_size() with gtk_widget_set_usize()
1759
1760         * demos/testpixbuf-drawable.c (main): ditto
1761         
1762         * gtk/testgtk.c: remove use of GtkStatusbarMsg
1763
1764         * gtk/gtktextbuffer.c: docs
1765
1766         * gtk/gtkstock.c: docs
1767
1768         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
1769
1770         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
1771
1772         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
1773         
1774         * gtk/gtkimage.c: add some docs in here
1775         (gtk_image_size_request): change name of
1776         gtk_widget_render_stock_icon
1777         (gtk_image_get_icon_set): don't dup returned string
1778         (gtk_image_get_icon_set): don't dup returned string
1779
1780         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
1781         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
1782         and gtkiconfactory.h functions
1783
1784         * gtk/gtkiconfactory.c: add some docs in here
1785
1786         * gtk/gtkmain.c (gtk_get_default_language): document
1787         (gtk_get_current_event): document
1788         (gtk_get_current_event_state): document
1789         (gtk_get_event_widget): document
1790
1791         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
1792
1793         * gtk/gtkcontainer.c: Add some documentation
1794         (gtk_container_add): give a more explanatory warning on adding an
1795         already-parented widget, this is kind of a FAQ and also a common
1796         typo that's easier to debug with a nice warning 
1797
1798         * gtk/gtkcellrenderertoggle.c
1799         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
1800         adding this, it's useless
1801         (gtk_cell_renderer_toggle_set_active): remove
1802         (gtk_cell_renderer_toggle_get_radio): add
1803
1804         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
1805         the NULL cell renderer, that doesn't make any sense to me. 
1806
1807         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
1808         demo code should never use deprecated features.
1809
1810         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
1811         code should never use deprecated features.
1812
1813         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
1814         gtk_widget_queue_clear_area deprecated
1815
1816         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
1817         deprecated
1818
1819         * gtk/gtklabel.h: mark gtk_label_get() deprecated
1820
1821         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
1822         a GdkImage deprecated, replaced by new consistently-named
1823         functions       
1824
1825         * gtk/gtkmain.h: Mark gtk_exit() deprecated
1826
1827         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
1828
1829         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
1830         deprecated
1831
1832         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
1833         so it won't appear in docs and confuse people.
1834
1835         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
1836
1837         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
1838         macros deprecated. (can't mark the type itself deprecated, since
1839         GtkProgressBar is not deprecated and we need the type decl to use
1840         GtkProgressBar)
1841
1842         * gtk/gtkpixmap.h: Mark deprecated
1843
1844         * gtk/gtkoldeditable.h: Mark deprecated
1845
1846         * gtk/gtklist.h: Mark deprecated
1847
1848         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
1849         for anything anymore.
1850
1851         * gtk/gtkctree.h: Mark deprecated
1852
1853         * gtk/gtkclist.h: Mark deprecated
1854
1855         * gtk/gtkpreview.h: Mark deprecated
1856
1857         * gtk/gtkpacker.h: Mark deprecated
1858
1859         * gtk/gtktipsquery.h: Mark deprecated
1860
1861         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
1862
1863         * gtk/gtkvruler.h: Add comment that it will move out of GTK
1864
1865         * gtk/gtkhruler.h: Add comment that it will move out of GTK
1866
1867         * gtk/gtkruler.h: Add comment that it will move out of GTK
1868
1869         * gtk/gtkgamma.h: Add comment that it will move out of GTK
1870
1871         * gtk/gtkcurve.h: Add comment that it will move out of GTK
1872
1873 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
1874
1875         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
1876         gdk_colormap_sync private since it was never exported
1877         in a header file.
1878
1879         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
1880         colormap->colors[] for StaticGray, StaticColor colormaps.
1881
1882         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
1883         was being used as if it was image->bits_per_pixel.
1884
1885         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
1886         for the image in the GdkImage structure since it isn't
1887         reconstructable, and we need it to handle packed types
1888
1889         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
1890         the assumption that on Win32 image->bits_per_pixel == image->depth,
1891         always.
1892
1893         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
1894
1895         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
1896         warning message if no converter can be found. 
1897
1898 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
1899
1900         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
1901         chars to isupper() / tolower(). (#567)
1902
1903         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
1904         to clear up 64-bit warnings. (#567)
1905
1906 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
1907
1908         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
1909         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
1910
1911         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
1912         since some people set $(libdir) separately. (#1290, David Kaelbling)
1913
1914 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
1915
1916         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
1917         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
1918         MAXPATHLEN, but the code here depends on a fixed value.)
1919         (#4524)
1920
1921 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
1922
1923         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
1924         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
1925
1926 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
1927
1928         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
1929         viewable there is no way that moving the node will cause the 
1930         focus row to become not viewable, so omit check on the visibility
1931         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
1932
1933 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
1934
1935         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
1936         selection before inserting new text.
1937
1938 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
1939
1940         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
1941         Make the sensitivity of the reparented child track that of
1942         the original parent menu item. (#34218, David Hodson)
1943
1944         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
1945         the case where the current item is destroyed properly.
1946
1947         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
1948         some edge cases with child-less menuitems.
1949         
1950 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
1951
1952         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
1953         key pop down window. (#12074, Jon K Hellan)
1954
1955 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
1956
1957         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
1958         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
1959         The solution here isn't perfect - you get an extraneous
1960         emission of "toggle", which could conceivably confuse an app,
1961         but better than the current situation. LXR search seems to
1962         indicate that no apps in GNOME CVS connect to "toggle".
1963
1964 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
1965
1966         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
1967         gtk_public_h_sources to directly here to avoid warning when
1968         building srcdir != builddir. (#9656)
1969
1970 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
1971
1972         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
1973         handlers in gtkrange.c return the proper values (TRUE == handled)
1974         (#10316).
1975
1976         This is just the tip of the iceberg, but gtkrange.c is the
1977         most common place where the propagation is problematical,
1978         and also a place where it is almost certainly safe to change
1979         this in the stable branch.
1980
1981         (You don't want right click popups on a range control or anything...)
1982
1983 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
1984
1985         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
1986         area on focus out, even if a background pixmap isn't set.
1987         (#13941)
1988         
1989 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
1990
1991         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
1992         to deal with setting the shape properly when scrolling arrows are
1993         turned on, but not visible because there is sufficient space.
1994         (#13432)
1995
1996 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
1997
1998         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
1999         items with submenus, destroy the item along with the submenu.
2000         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
2001         properly.
2002
2003         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
2004         later.
2005
2006 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
2007
2008         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
2009         the focus widget sometimes wasn't drawn with the default if there
2010         was no default widget.
2011
2012         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
2013         unreference pixmaps. 
2014
2015         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
2016         for some extra safety.
2017
2018 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
2019
2020         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
2021         the text of a cell to the old pointer value better, by
2022         copying the new text before freeing the old text. Some code
2023         cleanup. (#8079, Karl Nelson)
2024
2025 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
2026
2027         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
2028         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
2029
2030 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
2031
2032         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
2033         item from a menu, check to see if it matches 
2034         menu->old_active_menu_item, and if so, unref and clear
2035         old_active_menu_item (Patch from Pavel Cisler)
2036
2037         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
2038         menu_shell->active_menu_item, if it is the child being
2039         removed. (Patch based on that of Gene Ragan, #50337)
2040
2041 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
2042
2043         * gdk/linux-fb/gdkselection-fb.c: 
2044         * gdk/linux-fb/gdkcolor-fb.c: 
2045         * gdk/linux-fb/gdkdrawable-fb2.c: 
2046         * gdk/linux-fb/gdkfont-fb.c: 
2047         * gdk/linux-fb/gdkim-fb.c: 
2048         * gdk/linux-fb/gdkinput.c: 
2049         * gdk/linux-fb/gdkkeyboard-fb.c: 
2050         * gdk/linux-fb/gdkmain-fb.c: 
2051         * gdk/linux-fb/gdkrender-fb.c: 
2052         A bunch of whitespace cleanup.
2053         
2054 2001-01-30  Havoc Pennington  <hp@pobox.com>
2055
2056         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
2057         #ifdef GTK_ENABLE_BROKEN.
2058
2059         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
2060         GTK_ENABLE_BROKEN just before including the broken headers.
2061         
2062         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
2063         deprecated types registered.
2064
2065         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
2066         we have to test the broken stuff.
2067
2068         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
2069         
2070 2001-01-30  Havoc Pennington  <hp@redhat.com>
2071
2072         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
2073         here where prev pointer was set to the wrong thing
2074
2075         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
2076         (gtk_tree_path_is_descendant): new function
2077
2078         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
2079         cached length
2080         (gtk_list_store_get_iter): don't modify iter if we can't get the
2081         path.
2082
2083         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
2084         
2085         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
2086         GtkTreeDragDest
2087
2088         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
2089         was causing segfault
2090
2091         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
2092         pointer to NULL
2093
2094         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
2095
2096         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
2097         on returning FALSE
2098         (gtk_list_store_iter_children): ditto
2099         (gtk_list_store_iter_nth_child): ditto
2100         (gtk_list_store_iter_nth_child): ditto
2101         (gtk_list_store_iter_parent): ditto
2102
2103         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
2104         on iter->user_data != NULL instead of silently accepting it.
2105         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
2106         we are returning TRUE.
2107         (gtk_tree_store_iter_children): ditto
2108         (gtk_tree_store_iter_nth_child): ditto
2109         (gtk_tree_store_iter_parent): ditto
2110         (gtk_tree_store_insert): remove handling of parent->user_data ==
2111         NULL, replace with parent == NULL       
2112
2113         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
2114         and a comment explaining things
2115
2116         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
2117         interface support to GtkTreeStore.
2118
2119         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
2120         FALSE if no prev, fix
2121
2122         * gtk/gtktreeview.c (set_source_row): use a row reference
2123         (set_dest_row): use a row reference
2124
2125 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
2126
2127         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
2128         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
2129         (gtk_tree_selection_select_iter): The same as above.
2130
2131 2001-01-26  Havoc Pennington  <hp@redhat.com>
2132
2133         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
2134         which holds a handle to a specific row (particular set of values
2135         in the model, i.e. pointer-identity row).
2136
2137         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
2138         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
2139         Still need to use it for the src/dest row saved on the drag context.
2140
2141 2001-01-26  Havoc Pennington  <hp@redhat.com>
2142
2143         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
2144
2145         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
2146         not offset by TREE_VIEW_HEADER_HEIGHT
2147         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
2148         TREE_VIEW_HEADER_HEIGHT
2149
2150         * configure.in (included_loaders): for me, --with-included-loaders
2151         generates the error "the specified loader yes does not exist",
2152         i.e. the arg defaults to "yes", so change test for value ""
2153         to test for value "yes", and include all loaders in that case.
2154
2155         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
2156
2157         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
2158         handle TREE_VIEW_VERTICAL_SEPARATOR
2159         (gtk_tree_view_bin_expose): fix to consider the row offset as
2160         pointing halfway into vertical separator.       
2161         (gtk_tree_view_draw_node_focus_rect): ditto
2162
2163         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
2164         --gtk-debug=updates, which causes gdk_window_set_debug_updates
2165         (TRUE) to be called.
2166
2167         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
2168         debug mode where the invalid region is colored in on invalidate,
2169         so you can see the flicker and know whether your redraw code is 
2170         doing a good job.
2171
2172         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
2173         tree window coordinates (clip rect is in tree window coords)
2174
2175         * gtk/Makefile.am: add gtktreednd.[hc]
2176
2177         * gtk/gtkliststore.c: implement gtktreednd interfaces.
2178
2179         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
2180         drag-and-drop data operations on a model (so we can set up tree
2181         drag-and-drop automatically)
2182
2183         * gtk/testgtk.c: Add a window to change sensitivity in the
2184         GtkLabel test; add a way to change the entry frame in GtkEntry
2185         test
2186
2187         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
2188         (gtk_entry_get_has_frame): new functions to remove the frame
2189         around an entry
2190         (gtk_entry_size_request): shrink requisition if no frame
2191         (gtk_entry_draw_focus): don't draw frame if no frame
2192
2193         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
2194         checks inside a cell renderer
2195         (gtk_default_draw_option): ditto for options
2196
2197         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
2198         children from the alignment, not the button
2199         (gtk_tree_view_column_init): ref/sink the column, to emulate
2200         GObject refcounting.
2201
2202         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
2203         
2204         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2205         Use theme functions to draw the toggles 
2206
2207         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
2208
2209         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
2210         GdkPangoAttrEmbossed to use in rendering insensitive text
2211
2212         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
2213
2214         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
2215         using new GDK features
2216         
2217 2001-01-24  Alexander Larsson  <alexl@redhat.com>
2218
2219         * gtk/gtkimage.c:
2220         Splitted gtk_image_clear into gtk_image_clear() and
2221         gtk_image_reset(). Call gtk_image_clear() in ::destroy
2222         to avoid leaks.
2223
2224         * gtk/gtklabel.c (set_markup):
2225         Don't leak text.
2226
2227         * gtk/gtktextlayout.c:
2228         Always free display->shaped_objects.
2229
2230         * gtk/testgtk.c (create_clist):
2231         Don't leak custom style.
2232
2233 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2234
2235         * gtk/gtkcolorsel.c (grab_color_at_mouse):
2236         Don't leak image. Simplify using gdk_colormap_query_color().
2237         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
2238
2239         * linux-fb/gdkcolor-fb.c:
2240         Implemented gdk_colormap_query_color.
2241
2242 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2243
2244         * linux-fb/gdkcursor-fb.c:
2245         Don't leak built-in cursors.
2246
2247         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
2248         Don't leak tmp_points.
2249
2250         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
2251         Don't modify desc. Don't leak font if the PangoFont
2252         isn't found.
2253         
2254         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
2255         Free dash_list.
2256
2257         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
2258         Don't leak string.
2259         
2260 2001-01-20  Havoc Pennington  <hp@pobox.com>
2261
2262         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
2263         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
2264         me, matches Pango
2265
2266 2001-01-22  Havoc Pennington  <hp@redhat.com>
2267
2268         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
2269
2270         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
2271
2272         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
2273         Remove, move back to gdk-pixbuf
2274
2275         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
2276         to all the word functions
2277
2278         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
2279         before doing anything on NULL layout or if we don't have the focus
2280
2281         * gtk/testtext.c (fill_example_buffer): "justification"
2282
2283         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
2284         to be called "justification" not "justify"
2285
2286         * demos/gtk-demo/textview.c (create_tags): "justification"
2287         
2288         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
2289
2290 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2291
2292         * gdk/gdkwindow.c (gdk_window_invalidate_region):
2293         Don't leak visible_region. Use visible_region instead of region.
2294         
2295         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2296         Don't do extra gdk_drawable_ref(). This is not X.
2297         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
2298         gdk_fb_focused_window is ref:ed.
2299         (gdk_fb_window_send_crossing_events): Watch out for destroyed
2300         windows.
2301
2302 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2303
2304         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
2305         Don't leak the PangoFontDescriptor.
2306
2307 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
2308
2309         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
2310         when not realized.
2311         (gtk_tree_view_scroll_to_cell): Make work when not realized.
2312         (gtk_tree_view_realize): add scroll_to support
2313         (gtk_tree_view_finalize): add a finalize method.  Populate.
2314         (gtk_tree_view_insert_column): ref and sink the column.
2315         (gtk_tree_view_append_column): ref and sink the column.
2316         (gtk_tree_view_queue_draw_node): New function to handle redrawing
2317         individual nodes.  Should make the code much more efficient, if
2318         actually used.
2319
2320 2001-01-19  Havoc Pennington  <hp@redhat.com>
2321
2322         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
2323         byte_offset variable was being used to mean both "offset into
2324         layout" and "offset into buffer line" which was no longer true
2325         with addition of preedit string; fix
2326
2327 2001-01-19  Havoc Pennington  <hp@redhat.com>
2328
2329         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
2330
2331         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
2332         function
2333
2334         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
2335         implement
2336
2337         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
2338         scroll_to_cell, matches TextView scroll functions better
2339         (gtk_tree_view_tree_to_widget_coords): new function
2340         (gtk_tree_view_widget_to_tree_coords): new function
2341         (gtk_tree_view_get_visible_rect): new function
2342         (gtk_tree_view_get_path_at_pos): accept negative coordinates
2343         (gtk_tree_view_draw_node_focus_rect): new function moved from
2344         draw_focus, also, use width of bin_window as width of the focus
2345         rect
2346         (gtk_tree_view_expand_row): fix bug where it didn't recognize
2347         already-expanded rows
2348         (gtk_tree_view_get_cell_rect): new function
2349         (gtk_tree_view_get_path_at_pos): return the click position
2350         relative to the passed-in cell
2351         (gtk_tree_view_set_expander_column): new function
2352
2353         * configure.in: remove gtk-config-2.0 chmod
2354
2355         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
2356         and properly handle drags with targets we don't understand
2357         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
2358         scrolling anyway
2359         (gtk_text_view_drag_drop): stop scrolling here though, and set the
2360         mark invisible
2361
2362         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
2363         function
2364         (gtk_drag_dest_get_target_list): new function
2365         (gtk_drag_dest_set_target_list): new function
2366         
2367         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
2368
2369         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
2370         related to drag-and-drop
2371
2372 2001-01-19  Alexander Larsson  <alexl@redhat.com>
2373
2374         * gdk/linux-fb/gdkprivate-fb.h:
2375         Define EMULATE_GDKFONT.
2376         Add extra pango_font stuff to GfkFontPrivate.
2377         
2378         * gdk/linux-fb/gdkdrawable-fb2.c:
2379         * gdk/linux-fb/gdkfont-fb.c:
2380         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
2381         emulation using PangoFont.
2382
2383 2001-01-17  Havoc Pennington  <hp@pobox.com>
2384
2385         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
2386         all the non-deprecated set_foo functions. Added missing object
2387         properties, and added g_object_notify() to setters. 
2388         Wrote docs.
2389         
2390 2001-01-18  Tor Lillqvist  <tml@iki.fi>
2391
2392         * gtk/gtkmain.c
2393         * gtk/gtkrc.c: (Win32) Use the new
2394         g_win32_get_package_installation_(sub)directory() functions.
2395
2396         * config.h.win32.in: New file.
2397         
2398         * config.h.win32: Removed.
2399
2400         * configure.in: Output config.h.win32.
2401
2402         * Makefile.am: Add it to EXTRA_DIST.
2403
2404         * gtk/gtk.def: Update.
2405
2406 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
2407
2408         * gtk/gtklabel.c (gtk_label_size_request): Set the
2409         attributes onto the PangoLayout even if they are newly
2410         created from label->pattern.
2411
2412 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
2413
2414         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
2415
2416         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
2417         structures in functions. Fixes bug where gtk_dataset_*
2418         was accidentally still being used in one place, causing
2419         every dest side event to be treated independently.
2420
2421         * gtk/gtkdnd.c: Remove last vestages of handling
2422         ::draw (fixes warning)
2423         
2424         * gtk/gtkentry.[ch]: Add drag and drop support.
2425
2426         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
2427         new function gtk_check_drag_threshhold() for checking
2428         to check if (dx,dy) has exceeded the threshhold for starting
2429         a drag and use it everywhere.
2430
2431 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
2432
2433         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
2434         add -I{includedir}/gtk-2.0.
2435
2436         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
2437         gdk/gdk-pixbuf.h: Doc fixups.
2438         
2439         * gtk/gtkobject.h: Remove trailing , from enum
2440
2441 2001-01-17 Alexander Larsson <alexl@redhat.com> 
2442
2443         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
2444         Doh! Mixed up x and y.
2445
2446         * gdk/linux-fb/gdkglobals-fb.c:
2447         Removed gdk_fb_pointer_grab_window_events,
2448         added _gdk_fb_pointer_grab_owner_events and
2449         _gdk_fb_keyboard_grab_owner_events.
2450
2451         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
2452         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
2453         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
2454         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
2455         Send crossing events after ungrab finished.
2456         (gdk_keyboard_grab): Set ..._owner_events
2457         (type_masks): Move out of function.
2458         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
2459         gdk_fb_keyboard_event_window): New functions, return the
2460         window an event should be targeted at. Handles grabs and
2461         event propagation. Can return NULL.
2462         (gdk_event_make): Remove event_mask checking. Now always
2463         returns an event.
2464                 
2465         * gdk/linux-fb/gdkkeyboard-fb.c:
2466         * gdk/linux-fb/gdkproperty-fb.c:
2467         * gdk/linux-fb/gdkselection-fb.c:
2468         Use new event_window/gdk_event_make() behaviour.
2469         
2470         * gdk/linux-fb/gdkmouse-fb.c:
2471         Use new event_window/gdk_event_make() behaviour.
2472         Only send motion events if in the same window.
2473         If grabbed, use cursor from window if sibling of grabbed
2474         window, and cursor from grabbed window otherwise.
2475
2476         * gdk/linux-fb/gdkprivate-fb.h:
2477         Update gdk_fb_window_send_crossing_events, gdk_event_make
2478         and grab varaible declarations. Add gdk_fb_*_event_window().
2479
2480         * gdk/linux-fb/gdkwindow-fb.c:
2481         Use new event_window/gdk_event_make() behaviour.
2482         Keep correct track of focus window.
2483         (gdk_window_set_events): Set all specific button motion masks
2484         if GDK_BUTTON_MOTION_MASK set.
2485
2486         * gtk/gtkdnd.c (gtk_drag_update):
2487         Free info->last_event if gdk_drag_motion returned FALSE.
2488
2489 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2490
2491         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
2492         Eliminate redraws when input-only windows are shown or
2493         hidden. Thanks to jpe@archaeopteryx.com.
2494
2495 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
2496
2497         * docs/faq/gtk-faq.sgml: FAQ update:
2498           - Update to bugzilla
2499           - Add GTK+ and security/SUID/SGID
2500           - Add DnD question
2501
2502 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
2503
2504         * gdk/linux-fb/gdkdnd-fb.c:
2505         Some cleanups.
2506         
2507 2001-01-15  Havoc Pennington  <hp@pobox.com>
2508
2509         * tests/testtreeview.c: add test stuff for CellRendererToggle
2510
2511         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
2512         accessor
2513
2514         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
2515         only toggle on button press (would do release like GtkButton, but
2516         we'd need implicit grab code for treeview cells)
2517
2518 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2519
2520         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
2521
2522         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
2523         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
2524
2525         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
2526         to g_{locale,filename}_{to,from}_utf8 to match current API.
2527
2528         * gtk/makefile.msc.in (gtk_OBJECTS)
2529         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
2530
2531         * gtk/gtk.def: Update.
2532
2533 2001-01-15  Tor Lillqvist  <tml@iki.fi>
2534
2535         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
2536         implementaion that more closely mimics the events that an X server
2537         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
2538         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
2539         with nested preview widgets, for instance, more responsive when
2540         you move the mouse quickly into them.
2541         (find_window_for_pointer_event): Make it actually compile.
2542         (gdk_event_translate): Set send_event to the value of
2543         InSendMessage (). This doesn't really mean the same as X11's
2544         send_event flag, but is close enough, says jpe@archaeopteryx.com
2545
2546 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2547
2548         * gdk/linux-fb/gdkdnd-fb.c:
2549         Implemented drag and drop.
2550         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
2551         when it tries to free and then copy the same event (info->last_event).
2552         I am not sure about why this happens, but will continue looking.
2553
2554 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2555
2556         * gdk/linux-fb/gdkwindow-fb.c:
2557         Use gdk_window_invalidate_rect instead of
2558         gdk_window_invalidate_rect_clear to minimise flashing.
2559         When hiding windows you need to clear the root window though.
2560
2561 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2562
2563         * gdk/linux-fb/gdkdrawable-fb2.c:
2564         For optization, add an full_shapes argument to gdk_fb_clip_region.
2565         If this is false, only the cliprects of the shapes are used.
2566
2567         * gdk/linux-fb/gdkprivate-fb.h:
2568         Export gdk_fb_window_peek_shape.
2569         Add full_shapes to gdk_fb_clip_region.
2570
2571         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2572         When moving a window, don't clear everything under the it, just the
2573         root window. Makes stuff faster and flash less.
2574         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
2575         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
2576         offset of the shape.
2577         
2578
2579 2001-01-12  Havoc Pennington  <hp@redhat.com>
2580
2581         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
2582         current invalid region, fixes redraw bug while scrolling the 
2583         text widget
2584
2585         * gtk/gtktextview.c, gtk/gtktextview.h:
2586         Rearrange the scrolling/validation/etc. code in a major way, 
2587         so it seems to make sense to me. Probably isn't genuinely that
2588         much better, but...
2589
2590         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
2591         notifies
2592
2593         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
2594
2595 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
2596
2597         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
2598         Hide mouse pointer while rotation. Show it afterwards.
2599
2600 2001-01-12  Alexander Larsson  <alexl@redhat.com>
2601
2602         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
2603         windows in consideration when generating clip region.
2604
2605         * gdk/linux-fb/gdkfb.h:
2606         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
2607
2608         * gdk/linux-fb/gdkprivate-fb.h:
2609         Add shape to GdkWindowFBDatat.
2610         exported gdk_fb_window_get_abs_shape().
2611         removed gdk_fb_draw_lines declaration.
2612
2613         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
2614         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
2615         send focus changes when there is a grabbed window.
2616         (gdk_window_get_pointer): Handle shaped windows.
2617         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
2618         (gdk_fb_window_peek_shape): Returns the shape for a window,
2619         handles GDK_FB_USE_CHILD_SHAPE.
2620         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
2621         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
2622         (gdk_window_shape_combine_mask): Implement.
2623
2624         * gtk/gtkwindow-decorate.c:
2625         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
2626         setting the shape of a window makes the window transparent.
2627
2628 2001-01-11  Havoc Pennington  <hp@redhat.com>
2629
2630         * gtk/gtktreemodelsimple.h: Oops, broke some macros
2631
2632 2001-01-10  Havoc Pennington  <hp@redhat.com>
2633
2634         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
2635         add this function, bug 40251
2636
2637         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
2638         of type macro   
2639
2640 2001-01-11  Alexander Larsson  <alexl@redhat.com>
2641
2642         * acconfig.h:
2643         Added ENABLE_SHADOW_FB
2644
2645         * configure.in:
2646         Added --disable-shadowfb
2647
2648         * gdk/linux-fb/gdkcursor-fb.c:
2649         Update shadowfb when updating cursor
2650
2651         * gdk/linux-fb/gdkdrawable-fb2.c:
2652         Added wrappers for shadowfb that calls  the normal drawable
2653         methods, but calls gdk_shadow_fb_update(bounding box) when
2654         GdkWindows are drawed to.
2655         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
2656         which also returns the bounding box.
2657
2658         * gdk/linux-fb/gdkfb.h:
2659         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
2660
2661         * gdk/linux-fb/gdkgeometry-fb.c:
2662         Update shadowfb when scrolling window.
2663
2664         * gdk/linux-fb/gdkglobals-fb.c:
2665         Add _gdk_fb_screen_angle.
2666         
2667         * gdk/linux-fb/gdkkeyboard-fb.c:
2668         Test code for screen rotation. Shift-F2 in the xlate driver
2669         rotates the screen.
2670
2671         * gdk/linux-fb/gdkmain-fb.c:
2672         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
2673
2674         * gdk/linux-fb/gdkmouse-fb.c:
2675         Use fb_width/height instead of modeinfo.xres/yres.
2676
2677         * gdk/linux-fb/gdkprivate-fb.h:
2678         Added fb_men, fb_width, fb_height & fb_stride. When using
2679         shadow fb these can differ from the framebuffer stuff.
2680         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
2681         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
2682         _gdk_fb_screen_angle. Removed CM, RP.
2683
2684         * gdk/linux-fb/gdkrender-fb.c:
2685         Added code for shadowfb handling and screen rotation using
2686         shadowfb.
2687
2688         * gdk/linux-fb/gdkwindow-fb.c:
2689         Use fb_mem, fb_stride, fb_width, fb_height.
2690         Added recompute_rowstride to reset the rowstride of all windows.
2691         Added gdk_fb_recompute_all() which recomputes rootwindow size,
2692         window abs positions and window rowstrides. Usefull when the
2693         rotation has changed.
2694
2695 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
2696
2697         * docs/faq/gtk-faq.sgml: update to make web site updating easier
2698
2699 2001-01-10  Havoc Pennington  <hp@redhat.com>
2700
2701         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
2702         where sibling == iter
2703         (gtk_tree_store_insert_after): handle sibling == iter
2704         (gtk_tree_store_prepend): remove stamp checks
2705         (gtk_tree_store_insert_before): ditto
2706         (gtk_tree_store_append): ditto
2707         (gtk_tree_store_get_path): ditto
2708         (gtk_tree_store_get_value): ditto
2709         (gtk_tree_store_iter_has_child): ditto
2710         (gtk_tree_store_iter_n_children): ditto
2711         (gtk_tree_store_iter_nth_child): ditto
2712         (gtk_tree_store_insert_after): ditto
2713         (gtk_tree_store_is_ancestor): ditto
2714         (gtk_tree_store_iter_depth): ditto
2715         (gtk_tree_store_insert_before): assert that sibling's parent is
2716         the same as the passed-in parent
2717         (gtk_tree_store_insert_after): assert that sibling's parent is
2718         the same as the passed-in parent
2719
2720         
2721         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
2722         function to get the first iterator in a model
2723         
2724         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
2725         conventionally the "root" in this sense is just NULL afaict.
2726
2727         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
2728         where sibling == iter
2729         (gtk_list_store_insert_after): handle case where sibling == iter
2730
2731         * tests/testtreeview.c (run_automated_tests): fairly lame basic
2732         automated tests for ListStore, TreeStore
2733
2734         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
2735         (gtk_list_store_insert): update tail pointer, and fix it to work
2736         (gtk_list_store_insert_before): update tail pointer, and fix it to work
2737         (gtk_list_store_append): use tail to be faster
2738         (gtk_list_store_prepend): fix it, update tail pointer
2739         (gtk_list_store_insert_after): fix it, update tail pointer
2740
2741         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
2742         the list
2743
2744 2001-01-09  Havoc Pennington  <hp@redhat.com>
2745
2746         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
2747         is NULL due to a pending resize
2748
2749         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
2750         column width to values less than 1
2751
2752         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
2753         width to be between min/max width, and still set the width 
2754         even if autosize is turned on, so the tree view can use this 
2755         function in order to autosize.
2756         (gtk_tree_view_column_init): set initial width to 1 not 0
2757
2758         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
2759         setter function to modify column width, so we get notification
2760         (gtk_tree_view_insert_iter_height): ditto
2761         (gtk_tree_view_calc_size): ditto
2762         (gtk_tree_view_check_dirty): ditto
2763
2764         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
2765         properties to change all the interesting attributes of the tree
2766         view column.
2767         (gtk_tree_view_column_set_header_clickable): rename set_clickable
2768         (gtk_tree_view_column_get_clickable): add
2769         (gtk_tree_view_column_set_cell_renderer): don't unset the current
2770         attributes; assume a cell renderer with equivalent object
2771         properties has been swapped in. Do g_object_notify().
2772         (gtk_tree_view_column_set_visible): g_object_notify
2773         (gtk_tree_view_column_get_sizing): rename from get_col_type
2774         (gtk_tree_view_column_set_sizing): g_object_notify
2775         (gtk_tree_view_column_set_width): add g_object_notify
2776         (gtk_tree_view_column_set_min_width): ditto
2777         (gtk_tree_view_column_set_max_width): ditto
2778         (gtk_tree_view_column_set_title): ditto
2779         (gtk_tree_view_column_set_clickable): ditto
2780         (gtk_tree_view_column_set_widget): ditto
2781         (gtk_tree_view_column_set_justification): ditto
2782
2783 2001-01-09  Havoc Pennington  <hp@redhat.com>
2784
2785         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
2786         there are no rows in the model
2787
2788         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
2789         NULL, then return the start of the list
2790
2791         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
2792         if we can't get any rows from an empty model 
2793
2794         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
2795         extraneous * after function pointer typedef usage
2796
2797         * Makefile.am: don't specify full path to cp and rm
2798
2799         * gtk/gtkcellrenderertextpixbuf.c
2800         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
2801         NULL before dereferencing, fixes a segfault that happened from
2802         time to time
2803
2804         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
2805         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
2806         and reindent the function
2807         (gtk_cell_renderer_pixbuf_get_size): indentation
2808
2809         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
2810         we quit it
2811         (gtk_dialog_add_buttons_valist): add g_return_if_fail
2812         (gtk_dialog_set_default_response): New function, to set default
2813         button
2814         (gtk_dialog_set_response_sensitive): New function, to set 
2815         sensitivity of buttons
2816
2817         * gtk/gtkcellrendererpixbuf.c
2818         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
2819         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
2820
2821         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
2822         handle any G_TYPE_OBJECT subclass, not just the base class, and 
2823         also boxed types.
2824         (_gtk_tree_data_list_value_to_node): ditto
2825
2826         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
2827         --gtk-debug=tree
2828
2829         * gtk/gtkmain.c: add GTK_DEBUG_TREE
2830
2831         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
2832
2833 2001-01-09  Tor Lillqvist  <tml@iki.fi>
2834
2835         * gdk/win32/gdkevents-win32.c: Implement better mouse
2836         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
2837         (find_window_for_pointer_event): New function.
2838         (gdk_event_translate): Use it when handling mouse events.
2839
2840 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
2841
2842         * configure.in:
2843         Added --with-included-loaders option
2844
2845         * gdk-pixbuf/Makefile.am:
2846         * gdk-pixbuf/gdk-pixbuf-io.c:
2847         Add support for including selected gdk-pixbuf loaders only.
2848
2849         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
2850         gtk_window_set_has_frame):
2851         Added inline documentation.
2852
2853         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
2854         * docs/reference/gdk/tmpl/windows.sgml:
2855         Added inline documentation.
2856
2857 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
2858
2859         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
2860         realizing buttons that have already been realized.
2861
2862 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
2863
2864         * tests/testtreeview.c (main): Show menu items before adding to
2865         option menu.
2866
2867         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
2868         around if we kill them.
2869
2870         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2871         Return if we pass in a NULL model.
2872
2873 2001-01-08  Havoc Pennington  <hp@redhat.com>
2874
2875         * tests/testtreeview.c: hack on this some
2876
2877         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
2878         gtk_tree_store_set_valist, v is for arrays, valist for varargs
2879         list
2880         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
2881
2882         * gtk/gtkliststore.h: Add varargs set() and get() convenience
2883         functions
2884
2885 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2886
2887         * gtk/gtkwindow-decorate.[hc]:
2888         * gtk/Makefile.am:
2889         New files. Contains an implementation of a minimal WM for
2890         linux-fb.
2891
2892         * gtk/gtkwindow.h:
2893         Add the possibility for GtkWindows to specify a frame. This
2894         is used for the window decoration code, but could concievably
2895         be used for X programs too (xmms style windows).
2896         GtkWindow->frame is the toplevel window if the window is framed.
2897         The signal frame_event gets all events that are targeted to
2898         GtkWindow->frame.
2899         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
2900         
2901         * gtk/gtkwindow.c:
2902         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
2903         Call out to gtkwindow-decorate.c for WM support in linx-fb.
2904
2905 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2906
2907         * docs/README.linux-fb:
2908         Correct filename ~/.pangoft2_aliases
2909
2910         * gdk/gdkwindow.h:
2911         Added new function gdk_window_get_decorations.
2912
2913         * gdk/linux-fb/gdkfb.h:
2914         Removed _gdk_window_get_decorations declaration.
2915         Renamed _gdk_window_set_child_handler to
2916         gdk_fb_window_set_child_handler.
2917
2918         * gdk/linux-fb/gdkwindow-fb.c:
2919         Renamed _gdk_window_set_child_handler to
2920         gdk_fb_window_set_child_handler.
2921
2922         * gdk/x11/gdkwindow-x11.c:
2923         New function gdk_window_get_mwm_hints().
2924         Implemented gdk_window_get_decorations.
2925
2926         * docs/reference/gdk/tmpl/windows.sgml:
2927         * docs/reference/gdk/gdk-sections.txt:
2928         Added gdk_window_get_decorations docs.
2929         
2930 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
2931
2932         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
2933         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
2934         gdk_fb_window_send_crossing_events):
2935         Possibly send focus events when the mouse moves from one
2936         window to another.
2937
2938 2001-01-07  Tor Lillqvist  <tml@iki.fi>
2939
2940         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
2941         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
2942         to match current API.
2943
2944         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
2945         environment variable is set, don't call g_error when on a
2946         palettized (PseudoColor) display. Some people want to use GTK+ 
2947         in 256-colour mode even though works only partially.
2948
2949         * gdk/gdk.def
2950         * gtk/gtk.def
2951         * gtk/makefile.mingw.in: Update.
2952
2953 2001-01-05  Havoc Pennington  <hp@redhat.com>
2954
2955         * tests/testtreeview.c: hack on this a bit
2956
2957         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
2958         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
2959
2960         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
2961         was spelled incorrectly
2962         (GTK_IS_TREE_MODEL_SIMPLE): ditto
2963
2964         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
2965         from gtk_tree_view_set_headers_active   
2966
2967         * gtk/gtktexttag.c:
2968         (gtk_text_tag_get_property): handle PROP_DIRECTION
2969         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
2970         properties, bug 40235
2971
2972         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
2973         forward_to_line_end
2974
2975 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
2976
2977         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
2978         modules/input/gtkimcontextxim.c: Adapt to new prototypes
2979         for unicode,locale,filename conversion functions.
2980
2981 2001-01-05  Havoc Pennington  <hp@redhat.com>
2982
2983         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
2984         broken if called on the first position in the buffer.
2985
2986         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
2987         forward_to_delimiters to be called only if we aren't already at
2988         the delimiters.
2989
2990 2001-01-05  Havoc Pennington  <hp@redhat.com>
2991
2992         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
2993
2994 2001-01-05  Alexander Larsson  <alexl@redhat.com>
2995
2996         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
2997         colormap in here. Sync from X port.
2998         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
2999         Sync from X port.
3000         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
3001         This happens now and then, and i don't think it is a bug.
3002         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
3003         != endpoint.
3004         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
3005         GDK_LINE_SOLID.
3006
3007         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
3008         some of the fields filled in at least.
3009
3010         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
3011         miLineArcD is no more, remove it from the function definition.
3012
3013 2001-01-04  Havoc Pennington  <hp@redhat.com>
3014
3015         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
3016         this
3017
3018         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
3019         user_data instead of tree_node
3020
3021         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
3022         TREE_VIEW_COLUMN_SIZE
3023
3024         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
3025         "size" field to "width" finishes bug 40061
3026
3027         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
3028         for bitfields, bug 40268
3029
3030 2001-01-04  Havoc Pennington  <hp@redhat.com>
3031
3032         Rename some stuff:
3033         
3034         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
3035
3036         s/GtkModelSimple/GtkTreeModelSimple/g;
3037         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
3038         s/gtk_model_simple/gtk_tree_model_simple/g;
3039         s/gtkmodelsimple/gtktreemodelsimple/g;
3040
3041         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
3042
3043         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
3044         s/column_set_col_type/column_set_sizing/g;
3045
3046         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
3047         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
3048
3049         s/GtkCellRendererType/GtkCellRendererState/g;
3050         
3051         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
3052         (gtk_cell_renderer_toggle_class_init): change "state" property to
3053         "active", to match GtkToggleButton
3054         (gtk_cell_renderer_toggle_get_active): new function, bug
3055         40269
3056         (gtk_cell_renderer_toggle_set_active): new function
3057         (gtk_cell_renderer_toggle_set_property): route changes to toggle
3058         state through gtk_cell_renderer_set_active
3059
3060 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
3061
3062         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
3063         temporarily until they work again.  Brought up to date with
3064         changes in the model.
3065         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
3066         model.
3067
3068 2001-01-04  Havoc Pennington  <hp@redhat.com>
3069
3070         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
3071         equal to the line length, then position iterator before paragraph 
3072         separators. Fixes crash reported by Mikael Hermansson when
3073         pressing left arrow from the start of a line.   
3074
3075         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
3076         about byte indexes off the end
3077         (iter_set_from_char_offset): add g_error about char offsets
3078         off the end
3079
3080 2001-01-03  Havoc Pennington  <hp@redhat.com>
3081
3082         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
3083
3084         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
3085         of private functions; remove inclusion of private headers.
3086
3087         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
3088         function, so we don't need private functions in gtktextdisplay.c
3089
3090         * gtk/gtktextiterprivate.h: underscore-ification
3091
3092         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
3093         to instead say "only useful to implement widgets"
3094
3095         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
3096         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
3097         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
3098
3099         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
3100         This function was completely broken
3101
3102         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
3103
3104         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
3105
3106         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
3107
3108         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
3109
3110         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
3111
3112         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
3113
3114         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
3115         gtk_paint_layout
3116
3117         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
3118         gtk_paint_layout
3119
3120         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
3121         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
3122         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
3123         which were not implemented.     
3124
3125         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
3126         insert_pixbuf signal. Rename delete_text to delete_range since it
3127         also deletes pixbufs and child anchors. This almost closes bug
3128         40245 (still need to deal with child anchors)
3129
3130         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
3131         insert_pixbuf, change signal names as appropriate, change types of
3132         signals taking marks/tags to have the specific type, not just
3133         G_TYPE_OBJECT
3134         
3135         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
3136         closes bug 40051
3137
3138         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
3139         unnecessary remove_contents() call
3140         (gtk_option_menu_class_init): add a "changed" signal, closes
3141         bug 40039
3142         (gtk_option_menu_update_contents): emit "changed" if the 
3143         active menu item changes
3144
3145         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
3146         cast to GtkObject, reported by Jonas Borgstrom
3147         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
3148         we can't do stuff with side effects in finalize. Instead, spew a
3149         warning if the loader isn't closed.
3150
3151         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
3152         colormap in here, non-X ports probably need to sync to this change
3153
3154         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
3155         assertion that colormap != NULL, you can set the colormap to NULL
3156         if you like.
3157         
3158         * Makefile.am: remove gtk-config-2.0
3159
3160         * configure.in: Use pkg-config to locate GLib. Remove
3161         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
3162         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
3163         Use pkg-config to locate Pango. Output correct Pango libs to
3164         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
3165
3166         * Makefile.am (pkgconfig_DATA): install only target-specific pc
3167         files
3168         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
3169         X11 pc files
3170
3171         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
3172         unref from here
3173
3174 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
3175
3176         * configure.in:
3177         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
3178
3179 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
3180
3181         * gtk/gtktextlayout.c
3182         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
3183         variable when moving back onto a single line.
3184
3185 2001-01-01  Havoc Pennington  <hp@redhat.com>
3186
3187         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3188
3189         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3190
3191         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
3192         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
3193
3194 2001-01-01  Havoc Pennington  <hp@redhat.com>
3195
3196         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
3197
3198         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
3199         GtkTextAttributes
3200
3201         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
3202         #40246
3203         (gtk_text_attributes_copy_values): rename from 
3204         gtk_text_attributes_copy
3205         (gtk_text_attributes_copy): a more standard GTK copy function, 
3206         which returns a new object
3207
3208 2001-01-01  Havoc Pennington  <hp@redhat.com>
3209
3210         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
3211         
3212         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
3213         don't fill in tree_view->priv->selection, kind of an unexpected
3214         side effect
3215
3216         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
3217         gtkintl.h
3218         
3219         * gtk/gtkcellrenderer.c: Remove definition of _ and include
3220         gtkintl.h
3221         (gtk_cell_renderer_get_property): remove calls to g_value_init
3222
3223         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
3224         gtkintl.h
3225
3226         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
3227         and include gtkintl.h
3228         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
3229         property names
3230
3231         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
3232         GtkTreeSelection
3233         (_gtk_tree_selection_new_from_with_view): rename, return
3234         GtkTreeSelection
3235         (_gtk_tree_selection_set_tree_view): rename with uscore
3236         (gtk_tree_selection_get_selected): fill in the "model" out param
3237         first, so it gets filled in even if we return at the top of the 
3238         function
3239         (gtk_tree_selection_real_select_all): add a comment and an else{}
3240         to clarify this a bit
3241         (gtk_tree_selection_real_unselect_all): add the same else{}
3242
3243         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
3244         set_tree_view to have underscore prefixes, move them to the
3245         private header, fix return type of new_with_tree_view
3246         (struct _GtkTreeSelection): mark struct
3247         fields private  
3248
3249         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
3250         GtkTreeModelFlags, not a guint
3251         (gtk_tree_path_prev): return gboolean not gint
3252         (gtk_tree_path_up): return gboolean not gint
3253
3254         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
3255         return GtkTreeModelFlags, not a guint
3256
3257         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
3258         that child model is non-null before unrefing it
3259         (g_value_int_compare_func): make this a qsort compare func, not 
3260         a boolean predicate
3261
3262         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
3263         (add -umn to the end), and mark it unimplemented
3264         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
3265         I don't see what it's for - doesn't the model always sort itself?
3266         (gtk_tree_model_sort_set_compare): this had the wrong signature
3267
3268         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
3269         Fix the docs to say that it destructively replaces existing
3270         attributes (previously said that it added attributes).
3271         (gtk_tree_view_column_set_visible): canonicalize bool before
3272         equality testing. Also, check for realization before
3273         hiding/showing the tree_column->window; if this window could exist
3274         before realization, then it's busted and needs fixing, we can't 
3275         create GDK resources pre-realization. Also, remove
3276         superfluous queue_resize(), since set_size() does that for us.
3277         (gtk_tree_view_column_set_col_type): check realization before 
3278         using tree_column->window
3279
3280         * gtk/gtktreedatalist.c: fix filename in copyright notice
3281
3282 2000-12-31  Havoc Pennington  <hp@pobox.com>
3283
3284         * gtk/gtktextview.c: Rearrange all the
3285         scroll-while-dragging-or-selecting code to be different, not
3286         necessarily better. ;-)
3287         (gtk_text_view_scroll_to_mark): Change this
3288         function to take within_margin as a fraction instead of a pixel
3289         value, and to take alignment arguments (indicating where to align 
3290         the mark inside the visible area)
3291         
3292         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
3293         to GtkObject
3294
3295         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
3296         behavior so that offsets past the end of the line are not 
3297         allowed, and an offset equal to the line length moves the iterator
3298         to the next line
3299         (gtk_text_iter_set_line_index): make parallel change
3300         (gtk_text_iter_get_bytes_in_line): add this function
3301         
3302         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
3303         of byte indexes off the end of the line; byte index at the end of
3304         the line now returns FALSE and doesn't fill in the requested
3305         values, byte index past the end of the line is an error.  Also,
3306         don't allow -1 offset anymore, since its meaning is unclear.
3307
3308         This change exposes some bug in visual cursor motion, where we
3309         end up with a huge invalid byte index; needs fixing. Symptom of 
3310         bug is a crash when you hit up arrow.
3311         
3312         (_gtk_text_line_char_locate): match the change to byte_locate
3313
3314         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
3315         from start of line properly. fixes bug reported by Mikael
3316         Hermansson where backspace would delete all text before the
3317         cursor.
3318
3319 2000-12-30  Tor Lillqvist  <tml@iki.fi>
3320
3321         * gdk/win32/gdkwindow-win32.c
3322         (gdk_window_impl_win32_get_visible_region): New function, as in
3323         the X11 backend.
3324         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
3325         instead of duplicating the same code here.
3326
3327         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
3328         GDK_COLORMAP macro.
3329
3330         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
3331         destroy function.
3332         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
3333         access that.
3334
3335         * gtk/gtk.def: Update.
3336
3337         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
3338
3339 2000-12-30  Havoc Pennington  <hp@pobox.com>
3340
3341         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
3342         colormap on input only windows, to avoid special cases all over
3343         the code for these windows.
3344
3345 2000-12-26  Tor Lillqvist  <tml@iki.fi>
3346
3347         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
3348         we are on a palettized display ("PseudoColor" in X11), as the code
3349         for that doesn't work anyway, and never has.
3350
3351 2000-12-22  Alexander Larsson  <alexl@redhat.com>
3352
3353         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
3354         Don't use isprint() for chars > 255.
3355
3356 2000-12-21  Havoc Pennington  <hp@redhat.com>
3357
3358         * tests/testtreeview.c: more work
3359
3360 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3361
3362         * docs/README.linux-fb:
3363         Update the docs to the new pangoft2 way.
3364
3365 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3366
3367         * configure.in:
3368         For linux-fb get the pangoft2 cflags and libs. This needs a recent
3369         pango version.
3370         Remove modules/linux-fb/Makefile.
3371
3372         * gdk/linux-fb/gdkdrawable-fb2.c:
3373         Render glyphs using freetype.
3374
3375         * gdk/linux-fb/gdkfb.h:
3376         Add new fb-specific functions needed for managing windows.
3377
3378         * gdk/linux-fb/gdkmain-fb.c:
3379         Remove gdk_font_init/fini() calls.
3380
3381         * gdk/linux-fb/gdkpango-fb.c:
3382         Remove old implementation. Use pangoft2 instead.
3383
3384         * gdk/linux-fb/gdkprivate-fb.h:
3385         Remove PangoFBFont and related stuff.
3386
3387         * gdk/linux-fb/gdkwindow-fb.c:
3388         Implement drawable->get_visible_region.
3389         Implement support for _gdk_window_set_child_handler () and
3390         _gdk_window_get_decorations().
3391
3392         * modules/Makefile.am:
3393         Remove linux-fb subdir.
3394
3395         * modules/linux-fb/*:
3396         Removed all.
3397         
3398 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
3399
3400         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
3401         calls, as they are no longer needed.
3402
3403         * gtk/gtktreemodelsort.c: Fix up the comparison code.
3404         
3405         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
3406         figure out how to emit a signal on an interface.
3407
3408 2000-12-20  Havoc Pennington  <hp@redhat.com>
3409
3410         * tests: new directory to contain tests, gtk/test* should move
3411         here sometime (with appropriate on-cvs-server hackery)
3412
3413         * tests/testtreeview.c, tests/Makefile.am: a test
3414         
3415         * configure.in (AC_OUTPUT): add tests/Makefile
3416
3417         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
3418         and "invisible_set" which were missing
3419
3420         * gtk/gtkrbtree.h: some cheesy indentation fix
3421         
3422 2000-12-20  Alexander Larsson  <alexl@redhat.com>
3423
3424         * gtk/gtkinvisible.c (gtk_invisible_realize):
3425         Attach the style to the window so that the style it is not
3426         leaked when unrealizing the window.
3427
3428 2000-12-18  Havoc Pennington  <hp@redhat.com>
3429
3430         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
3431         begin/end user action where appropriate
3432         (gtk_text_view_commit_handler): add begin/end user action
3433
3434         * gtk/gtktextbuffer.c: add begin/end user action signals, and
3435         bracket interactive operations with begin/end user action pair.
3436         
3437         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
3438         "interactive" arg from insert_text and delete_text signals.
3439         Add begin_user_action, end_user_action signals
3440         (gtk_text_buffer_begin_user_action): 
3441         (gtk_text_buffer_end_user_action): New functions to delimit 
3442         a user-visible action
3443
3444         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
3445         signals.
3446         
3447 2000-12-18  Havoc Pennington  <hp@redhat.com>
3448
3449         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
3450         was pretty non-working.
3451
3452         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
3453         by passing the length to g_utf8_validate().
3454
3455 2000-12-16  Havoc Pennington  <hp@pobox.com>
3456
3457         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
3458         Port to GObject, can go back in gdk-pixbuf after setting up 
3459         a gdk-pixbuf-marshal.h header over there.
3460
3461         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
3462         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
3463         args
3464         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
3465         set
3466         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
3467         here, do it when we create the buttons later
3468         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
3469         (gtk_tree_view_map): paranoia checks that column->button is shown 
3470         and unmapped
3471         (gtk_tree_view_size_request): only request visible children.
3472         Move header size calculation in here, for cleanliness, and 
3473         to maintain invariants for child widgets if we eventually 
3474         let users set different children inside the buttons
3475         (gtk_tree_view_map_buttons): factor out code to map buttons,
3476         since it was being called several times
3477         (gtk_tree_view_size_allocate_buttons): move_resize the drag
3478         windows instead of just moving them; their height may change 
3479         if we allow random widgets in there, or the theme changes.
3480         (gtk_tree_view_size_allocate): move button size allocation 
3481         above emitting the scroll signals, to ensure a sane state when we
3482         hit user code
3483         (gtk_tree_view_button_release): remove queue_resize after
3484         tree_view_set_size(), set_size() will handle any resize queuing
3485         that's needed
3486         (gtk_tree_view_focus_in): just queue a draw, don't fool with
3487         draw_focus goo
3488         (gtk_tree_view_focus): use gtk_get_current_event() and
3489         gdk_event_get_state()
3490         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
3491         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
3492         semicolon
3493         (gtk_tree_view_create_button): show the button here
3494         (gtk_tree_view_button_clicked): actually emit the clicked signal
3495         on the column
3496         (_gtk_tree_view_set_size): return right away if the size is
3497         unchanged, as a cheesy optimization
3498         (gtk_tree_view_setup_model): rename set_model_realized to 
3499         setup_model to match the flag that indicates whether we've 
3500         called it
3501         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
3502         exist, because set_scroll_adjustment does that and it shouldn't
3503         matter what order you call these in
3504         (gtk_tree_view_get_vadjustment): ditto
3505         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
3506         for paranoia
3507         (gtk_tree_view_set_headers_visible): call
3508         gtk_tree_view_map_buttons() instead of using cut-and-paste code
3509         (gtk_tree_view_append_column): clarify whether the return value
3510         is the count of columns before or after, and do the increment 
3511         separately from the return statement so you can tell from the code.
3512         (gtk_tree_view_remove_column): ditto
3513         (gtk_tree_view_insert_column): ditto
3514         (gtk_tree_view_get_column): remove g_return_if_fail for columns
3515         outside the existing range, the docs say that outside-range
3516         columns are allowed, so we handle them as documented. (Presumably
3517         this allows a nice loop with column != NULL as test.)
3518         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
3519         mean (left/right/center etc.).
3520         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
3521         (gtk_tree_view_expand_row): add docs
3522         (gtk_tree_view_collapse_row): add docs
3523
3524         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
3525         function to emit the clicked signal on a column
3526         
3527         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
3528         state of an event
3529         (gdk_event_get_time): don't treat GDK_SCROLL 
3530         as a button event, remove default case from switch so gcc 
3531         will whine if we don't explicitly handle all event types
3532
3533         * gtk/gtktreeselection.h: added some FIXME 
3534         
3535         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
3536         "columns" to "n_columns" and "column" to "columns" for clarity
3537
3538 2000-12-16  Havoc Pennington  <hp@pobox.com>
3539         
3540         * gtk/gtktextiter.c: General cleanup of the log attr iteration
3541         stuff. This should make e.g. the delete key work again in the
3542         text widget...
3543         (gtk_text_iter_forward_cursor_positions): handle negative count
3544         (gtk_text_iter_backward_cursor_positions): handle negative count
3545         (gtk_text_iter_forward_word_ends): handle negative count
3546         (gtk_text_iter_backward_word_starts): handle negative count
3547
3548         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
3549         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
3550         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
3551         GObject. No doubt will cause breakage.
3552
3553         * demos/gtk-demo/textview.c: remove hacks around
3554         non-GObject-ification of the text objects
3555
3556         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
3557         the text tag
3558         
3559 2000-12-14  Havoc Pennington  <hp@pobox.com>
3560
3561         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
3562         that we have Xrender
3563
3564 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
3565
3566         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
3567         Add two virtualized functions gdk_drawable_get_clip_region - to
3568         get the clip region when drawing.
3569         
3570         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
3571         use invalidate_region.
3572
3573         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
3574         region.
3575
3576         * acconfig.h configure.in: Check for Xft. For now, assume
3577         that if Xft is found, Pango was compiled with Xft support
3578         as well.
3579
3580         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
3581         gdk_colormap_query_color().
3582         
3583         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
3584         with Xft if appropriate.
3585
3586         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
3587         a pangoxft context if we have XFT and the environment
3588         variable GD_USE_XFT is set.
3589         
3590         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
3591         and also possibly an XftDraw structure.
3592
3593         * gtk/gtkfontsel.c: Handle the case where the font from the
3594         style doesn't match any of the fonts a bit better.
3595         
3596         * gtk/testgtk.c: Add tabs between directional segments for
3597         hebrew/arabic test. (Not really necessary, just a little
3598         prettier.)
3599
3600 2000-12-14  Havoc Pennington  <hp@redhat.com>
3601
3602         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
3603         reading a file
3604
3605 2000-12-14  Havoc Pennington  <hp@redhat.com>
3606
3607         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
3608         unused call to get_last_line()
3609
3610         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
3611         here until boxed is working (and maybe after that - we should
3612         really not gratuitously break old code)
3613
3614         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
3615         specific types for font_desc and tabs args, move them to
3616         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
3617         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
3618
3619         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
3620         use GTK_TYPE_POINTER for signal signatures as a hack-around
3621
3622         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
3623         PangoTabArray
3624
3625         * gtk/gtktextlayout.c (line_display_iter_to_index): 
3626         make static
3627         (line_display_index_to_iter): make static
3628
3629         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
3630         to marshal a string not a boxed
3631
3632         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
3633
3634         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
3635         since the UTF-8 isn't validated yet
3636
3637         * gtk/gtktextsegment.c (char_segment_check_func): don't require
3638         lines to end in '\n'
3639         
3640         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
3641         forward_to_delimiters, and grapheme boundaries
3642         (gtk_text_view_delete_from_cursor): properly handle non-newline
3643         delimiters, and grapheme boundaries
3644
3645         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
3646         to gtk_text_iter_forward_to_delimiters, and make it work properly
3647         if empty lines end with a character other than '\n'
3648
3649         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
3650         position
3651
3652 2000-12-15  Tor Lillqvist  <tml@iki.fi>
3653
3654         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
3655
3656         * gtk/gtk.def
3657         * gdk/gdk.def: Update.
3658
3659         * gdk/win32/gdkmain-win32.c
3660         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
3661         gdkmain-win32.c here.
3662
3663         * gdk/win32/makefile.mingw.in (all): No need to make
3664         gdk-win32res.o here, the makefile one step up will call us to make
3665         it.
3666
3667         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
3668         gdkkeys-win32.
3669
3670         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
3671
3672         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
3673         call to g_source_add().
3674
3675         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
3676         leak. Thanks to Andreas Kemnade.
3677
3678 2000-12-13  Havoc Pennington  <hp@pobox.com>
3679
3680         * gtk/gtktextbtree.h: Remove double _ in front of some functions
3681
3682         * gtk/gtktext*.[hc]: update accordingly
3683         
3684 2000-12-13  Havoc Pennington  <hp@pobox.com>
3685
3686         * gtk/gtktextbtree.h: Put _ in front of every function in this 
3687         header file
3688
3689         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
3690
3691 2000-12-13  Alex Larsson  <alexl@redhat.com>
3692
3693         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
3694         Add support for ps2 intellimouse.
3695
3696         * gdkkeyboard-fb.c:
3697         Move shift-F1 repaint handling to xlate handler only.
3698         
3699         * docs/README.linux-fb:
3700         Add imps2 to docs.
3701         Document the new refresh keys.
3702         
3703 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
3704
3705         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
3706
3707         * gtk/gtkbox.c: change property types from (u)long to (u)int for
3708         ::position and ::padding.
3709
3710         * gtk/gtkcontainer.c: make ::border_width an INT property.
3711
3712         * gtk/gtkpacker.c: make ::position an INT property.
3713
3714         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
3715         guard against NULL h/v scrollbars, since this is used at construction
3716         time.
3717
3718         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
3719         internal gtk_clist_constructor().
3720
3721         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
3722         gtk_ctree_constructor().
3723
3724         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
3725         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
3726
3727         * docs/reference/Makefile.am: fun stuff, disabled docs generation
3728         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
3729
3730         * gtk/gtkwidget.[hc]:
3731         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
3732         and gtk_widget_get().
3733         (gtk_widget_new): use g_object_new_valist().
3734         (gtk_widget_set): use g_object_set_valist().
3735
3736         * gtk/gtkobject.[hc]:
3737         removed gtk_object_arg_get_info(), gtk_object_getv(),
3738         gtk_object_query_args(), gtk_object_newv(),
3739         gtk_object_class_add_signals(),
3740         gtk_object_class_user_signal_new(),
3741         gtk_object_class_user_signal_newv(),
3742         gtk_object_arg_set(), gtk_object_arg_get(),
3743         gtk_object_args_collect(),
3744         gtk_object_default_construct(),
3745         gtk_object_constructed(),
3746         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
3747         removed nsignals, signals and n_args members from GtkObjectClass.
3748         (gtk_object_new): use g_object_new_valist().
3749         (gtk_object_set): use g_object_set_valist().
3750         (gtk_object_get): use g_object_get_valist().
3751         
3752         * gtk/gtkcompat.h: define gtk_object_default_construct().
3753         
3754         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
3755         g_object_new().
3756
3757         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
3758         fucntions, cleaned up method assignments (make sure your structures
3759         are setup properly before calling out). removed all GTK_CONSTRUCTED
3760         hacks ;)
3761
3762 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
3763
3764         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
3765         off-by-one error in checks. (Dave Lambert)
3766
3767 2000-12-12  Alexander Larsson  <alexl@redhat.com>
3768
3769         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
3770         Don't free gdk_fb_keyboard twice.
3771
3772 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
3773
3774         * gtk/testgtk.c:
3775         (create_tooltips): 
3776         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
3777         use GObject swapped_signal:: properties instead.
3778
3779         * gtk/gtkcellrenderertoggle.c: 
3780         * gtk/gtkcellrenderertextpixbuf.c: 
3781         * gtk/gtkcellrenderertext.c: 
3782         * gtk/gtkcellrendererpixbuf.c: 
3783         * gtk/gtkcellrenderer.c:
3784         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
3785         missing warnings for invalid property ids, install properties
3786         with g_object_class_install_property() now.
3787         
3788         * gtk/gtksignal.c:
3789         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
3790         
3791 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
3792         
3793         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
3794         to determine if a window is the focus widget within
3795         its toplevel.
3796
3797         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
3798         to be boolean.
3799
3800         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
3801         of the case where the container CAN_FOCUS to here instead
3802         of having it in each individual move-the-focus place.
3803
3804         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
3805         focusing to be geometric in a much more obvious sense. Arrowing
3806         around is still non-intuitive because it isn't perfect and
3807         because entries, etc, grab the arrow keys, but it at least
3808         usually will do what you expect now.
3809         
3810         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
3811         file.
3812
3813         * gtk/gtknotebook.c: Change tabs to be a single item in
3814         the focus chain. Make movement of focus on tabs with arrow
3815         keys wrap around.
3816         
3817         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
3818         CHECK_FIND_CHILD macro to give informative error messages
3819         instead of silent returns.
3820
3821         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
3822         flag since we handle GdkReturn on the tabs.
3823
3824         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
3825         windows rather than sending expose events directly.
3826
3827         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
3828         definition for GtkNotebookPage into .c file, since it is private.
3829
3830         * gtk/testgtk.c (create_notebook): Add option for 
3831         testing borderless notebook.
3832
3833         * gtk/testgtk.c (page_switch): Removed egregious poking
3834         around in GTK+ internals.
3835
3836         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
3837
3838         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
3839         properly through gtk_clist_focus. Make the title headers a
3840         single item in the tab-focus chain, and make left-right wrap
3841         around.
3842
3843         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
3844         focus method so that wrapping around works properly.
3845
3846         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
3847         that is handled for the widget now. 
3848
3849 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
3850
3851         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
3852         widgets as TOPLEVEL.
3853
3854         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
3855         TOPLEVEL widgets are containers.
3856
3857         * gtk/gtkinvisible.h: Remove useless include.
3858
3859 2000-12-11  Havoc Pennington  <hp@redhat.com>
3860
3861         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
3862         Handle chopping off \r\n and 0x2029 in addition to \n before
3863         passing to PangoLayout
3864
3865         * gtk/gtkimcontextsimple.c
3866         (gtk_im_context_simple_get_preedit_string): 
3867         return an empty string if no match is pending
3868
3869         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
3870         assertion that the returned preedit string was sane
3871
3872         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
3873         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
3874         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
3875
3876 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
3877
3878         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
3879         Fix up finalizer to chain to its parent.
3880
3881 2000-12-11  Alexander Larsson  <alexl@redhat.com>
3882
3883         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
3884         Clearified the difference between the keyboard types. Wrote a note
3885         about the magic sysrq key to get out of raw mode.
3886
3887 2000-12-09  James Henstridge  <james@daa.com.au>
3888
3889         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
3890         member to hold masks for detecting the start of a protocol packet.
3891         (mouse_devs): add packet start masks for ps2 and ms device types.
3892         Left the mask for fidmour blank, as I have no idea what it should
3893         be.
3894         (handle_mouse_io): skip bytes until we get to the start of a
3895         packet.  My Logitech mouse seems to be passing an extra NULL pad
3896         byte, and GPM does a similar thing here.
3897         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
3898         this is the ms mouse driver.
3899         (gdk_fb_mouse_ms_packet): fix up button handling, which was
3900         completely broken except for button1.  It was checking the wrong
3901         bit in the packet for the status of the right mouse button, and
3902         wrongly assuming right == button2 rather than 3.  I fixed that and
3903         also added support for middle button (button2).
3904
3905 2000-12-08  Havoc Pennington  <hp@redhat.com>
3906
3907         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
3908         that cause a segfault on text insertion
3909
3910         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
3911         warning
3912
3913         * gtk/gtktextiter.c (test_log_attrs): use
3914         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
3915
3916         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
3917         Get log attrs for a line, using a cache stored on the buffer
3918         
3919         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
3920         reported by Jeff Franks
3921
3922 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3923
3924         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
3925         /dev/ttyS0 -> /dev/mouse
3926
3927 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3928
3929         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
3930         Added dummy gdk_fontset_load.
3931
3932 2000-12-08  Alexander Larsson  <alexl@redhat.com>
3933
3934         * docs/README.linux-fb:
3935         * docs/Makefile.am:
3936         Initial GtkFB docs.
3937         
3938         * gdk/linux-fb/Makefile.am:
3939         Define GDK_DATA_PREFIX.
3940
3941         * gdk/linux-fb/gdkmain-fb.c:
3942         Fix typo.
3943         Change default display to /dev/fb0.
3944
3945         * gdk/linux-fb/gdkpango-fb.c:
3946         Add $(prefix)/share/fonts/ to font path.
3947         
3948 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3949
3950         * gdk/linux-fb/gdkkeyboard-fb.c:
3951         New file containing the abstracted keyboard driver. Most code
3952         taken from gdkinput-ps2.c
3953
3954         * gdk/linux-fb/gdkinput-ps2.c:
3955         Removed file.
3956         
3957         * gdk/linux-fb/Makefile.am:
3958         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
3959
3960         * gdk/linux-fb/gdkcolor-fb.c:
3961         display->fb was renamed to display->fb_fd.
3962
3963         * gdk/linux-fb/gdkcursor-fb.c:
3964         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3965
3966         * gdk/linux-fb/gdkinput.c:
3967         Moved gdk_input_init here from gdkinput-ps2.c
3968
3969         * gdk/linux-fb/gdkmain-fb.c:
3970         display->fb was renamed to display->fb_fd.
3971         Now the tty and the console is opened here instead
3972         of in the keyboard driver. Also check GDK_VT to see what
3973         tty to open.
3974         Move gdk_beep () here from gdkinput-ps2.c
3975         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3976
3977         * gdk/linux-fb/gdkmouse-fb.c:
3978         Add header.
3979         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3980         Return correct keyboard modifiers.
3981         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
3982
3983         * gdk/linux-fb/gdkprivate-fb.h:
3984         Add tty and vt info to display.
3985         Add orignal modeinfo storage to display
3986         Update global functions
3987
3988         * gdk/linux-fb/gdkwindow-fb.c:
3989         Added gdk_fb_window_find_focus().
3990         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3991
3992 2000-12-07  Havoc Pennington  <hp@pobox.com>
3993
3994         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
3995         function, noticed by Alex
3996
3997 2000-12-06  Elliot Lee  <sopwith@redhat.com>
3998
3999         * configure.in: Detect freetype properly
4000
4001         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
4002         above.
4003
4004 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4005
4006         * gdk/linux-fb/Makefile.am:
4007         Add gdkmouse-fb.c
4008         
4009         * gdk/linux-fb/gdkmouse-fb.c:
4010         New file. Abstracted the mouse drivers a bit.
4011
4012         * gdk/linux-fb/gdkcursor-fb.c:
4013         The cursor hide/show functions was moved here from gdkinput-ps2.c.
4014
4015         * gdk/linux-fb/gdkinput-ps2.c:
4016         Removed old mouse handling code. Moved cursor handling code
4017         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
4018         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
4019         gdk_mouse_get_info.
4020
4021         * gdk/linux-fb/gdkmain-fb.c:
4022         Pass NULL pointers for x,y in gdk_mouse_get_info call.
4023
4024         * gdk/linux-fb/gdkprivate-fb.h:
4025         Removed public gdk_fb_find_common_ancestor, added and renamed
4026         functions for the new mouse handling code.
4027
4028         * gdk/linux-fb/gdkwindow-fb.c:
4029         Moved gdk_fb_window_send_crossing_events here. added global
4030         variable gdk_fb_window_containing_pointer. made
4031         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
4032         renamed to gdk_mouse_get_info.
4033
4034 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4035
4036         * gdk/linux-fb/gdkevents-fb.c:
4037         Update to match latest gmain/gsource changes.
4038
4039         * gdk/linux-fb/gdkinput-ps2.c:
4040         Bogus gdk_keymap_get_entries_for_keycode implementation so that
4041         it links. Will be implemented later.
4042
4043 2000-12-03  Havoc Pennington  <hp@pobox.com>
4044
4045         * gdk/Makefile.am: add gdkkeys.[hc]
4046
4047         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
4048         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
4049
4050         * acconfig.h, configure.in: add checks and command line options
4051         for XKB
4052
4053         * gdk/x11/gdkkeys-x11.c: Implement the above functions
4054         
4055         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
4056         and group in the key event
4057
4058         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
4059         field with the low-level hardware key code, and a group
4060         field with the keyboard group
4061
4062         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
4063         and declare a couple globals used for keymap handling
4064         
4065         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
4066         hold down Shift-Control and type a hex number to get a Unicode 
4067         character corresponding to the hex number
4068         (gtk_im_context_simple_get_preedit_string): Fix cursor position
4069         (return bytes not chars)
4070
4071 2000-12-05  Elliot Lee  <sopwith@redhat.com>
4072
4073         * gdk/gdkcolor.h: Make GdkColor specify element sizes
4074         to avoid waste on 64-bit platforms.
4075
4076 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
4077
4078         * INSTALL: Fix link to PNG home, remove reference
4079         to fribidi.
4080
4081         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
4082         
4083         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
4084         tested.)
4085
4086         * gtk/gtkcheckmenuitem.c: Permanently turn on
4087         always_show_toggle.
4088
4089         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
4090         be NULL. (Vladimir Klebanov, #26545)
4091
4092         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
4093         some signed/unsigned comparison problems. (#6510,
4094         David Kaelbling)
4095
4096         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
4097         return type to boolean (Oskar Liljeblad, #18648)
4098
4099 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4100
4101         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
4102         Remove bogus colormap setting.
4103
4104 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4105
4106         * gdk/linux-fb/gdkcolor-fb.c:
4107         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
4108
4109         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
4110         Must set colormap.
4111         
4112 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
4113
4114         * docs/tutorial/gtk-tut.sgml: DND updates
4115
4116 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
4117
4118         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4119         Remove old debug g_warning().
4120         (gdk_fb_draw_drawable): The src argument can be either a wrapper
4121         or an implementation, just pass the implementation to draw_drawable_2.
4122         
4123         * gdk/linux-fb/gdkprivate-fb.h:
4124         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
4125
4126         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4127         clear and invalidate area when window is destroyed.
4128         (send_map_events): Remove old commented out code.
4129
4130 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4131
4132         * gdk/linux-fb/gdkpango-fb.c:
4133         Use italic instead of oblique in font aliases.
4134         
4135         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
4136         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
4137         other unsupported functions.
4138
4139 2000-12-04  Havoc Pennington  <hp@redhat.com>
4140
4141         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
4142
4143         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
4144
4145         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
4146
4147         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
4148         hack to avoid infinite loops (synthetic expose event) - 
4149         Owen has more appropriate fixes in a branch he'll check in later.
4150
4151         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
4152         separator, CR, and CRLF as line ends
4153
4154         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
4155         into lines using pango_find_paragraph_boundary(); other bits of
4156         the widget are still going to be broken if the boundary isn't '\n'
4157         though
4158
4159 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4160
4161         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
4162         multiply.
4163
4164         * gdk/linux-fb/gdkpango-fb.c:
4165         Copied some 26.6 scaling macros from pango to clean up the rounding.
4166         (pango_fb_font_get_glyph_info): Correct sign on x value.
4167
4168         * gdk/linux-fb/gdkprivate-fb.h:
4169         Removed unreferenced external functions.
4170
4171         * modules/linux-fb/Makefile.am: Use ` instead of '.
4172
4173         * modules/linux-fb/basic.c:
4174         Remove dead code. In particular the dummy lang engine which broke all
4175         pango layouts in GtkFB. Don't include tables-big.i anymore.
4176
4177         * modules/linux-fb/tables-big.i:
4178         Upgrade to latest version from pango. Left for reference, basic_ranges
4179         moved to basic.c.
4180         
4181 2000-12-04  Havoc Pennington  <hp@redhat.com>
4182
4183         Fix bugs Alex found:
4184         
4185         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
4186         to "draw"
4187
4188         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
4189
4190         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
4191
4192         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
4193         implementation in here, apparently the expose() implementation was
4194         dead code.
4195
4196 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4197
4198         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4199         Return positive descent.
4200
4201 2000-12-02  Havoc Pennington  <hp@pobox.com>
4202
4203         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
4204         method and signal
4205         
4206         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
4207         calls gdk_window_process_updates() to push the exposes through
4208         (gtk_widget_class_init): No more draw signal, no
4209         gtk_widget_real_draw()  
4210         
4211         * gtk/gtkbin.c (gtk_bin_draw): remove
4212
4213         * gtk/gtkbox.c (gtk_box_draw): remove
4214
4215         * gtk/gtkbutton.c (gtk_button_draw): remove
4216
4217         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
4218
4219         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
4220
4221         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
4222
4223         * gtk/gtkclist.c (gtk_clist_draw): remove
4224
4225         * gtk/gtkentry.c (gtk_entry_draw): remove
4226
4227         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
4228
4229         * gtk/gtkfixed.c (gtk_fixed_draw): remove
4230
4231         * gtk/gtkframe.c (gtk_frame_draw): remove
4232
4233         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
4234
4235         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
4236
4237         * gtk/gtklayout.c (gtk_layout_draw): remove
4238
4239         * gtk/gtklist.c (gtk_list_draw): remove
4240
4241         * gtk/gtklistitem.c (gtk_list_item_draw): remove
4242
4243         * gtk/gtkmenu.c (gtk_menu_draw): remove
4244
4245         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
4246
4247         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
4248
4249         * gtk/gtknotebook.c (gtk_notebook_draw): remove
4250
4251         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
4252
4253         * gtk/gtkpacker.c (gtk_packer_draw): remove
4254
4255         * gtk/gtkrange.c (gtk_range_draw): remove
4256
4257         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
4258
4259         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
4260
4261         * gtk/gtktable.c (gtk_table_draw): remove
4262
4263         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
4264
4265         * gtk/gtktext.c (gtk_text_draw): remove
4266
4267         * gtk/gtktextview.c (gtk_text_view_draw): remove
4268
4269         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
4270
4271         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
4272
4273         * gtk/gtktree.c (gtk_tree_draw): remove
4274
4275         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
4276
4277         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
4278
4279         * gtk/gtkviewport.c (gtk_viewport_draw): remove
4280
4281         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
4282
4283         * gtk/gtkvscale.c (gtk_vscale_draw): remove
4284
4285         * gtk/gtkwindow.c (gtk_window_draw): remove
4286
4287 2000-20-01  Anders Carlsson  <andersca@gnu.org>
4288
4289         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
4290         a GtkToggleButton is both insensitive and active, it was being
4291         drawn by the GtkButton draw handler which doesn't check the
4292         state. Now it's calling gtk_toggle_button_paint instead.
4293         
4294 2000-12-01  Havoc Pennington  <hp@redhat.com>
4295
4296         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
4297         dangling pointers to the appearance attributes from the 
4298         line display
4299
4300         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
4301         width/height to mean "full width/height of drawable"
4302
4303         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
4304         click to select word/line
4305         
4306         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
4307         when getting log attrs. Get a slice, so that pixmaps and stuff
4308         are properly handled.
4309
4310         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
4311         paste into the selection (replaces selection now, previously
4312         crashed or added to selection). Reveals longstanding btree bug -
4313         select multiple lines, middle-click on the selection, boom. This
4314         isn't related to my changes though.
4315
4316         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
4317         PangoLogAttrs changes
4318         (gtk_entry_move_backward_word): ditto
4319
4320         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
4321         functions return bool whether the iter moved onto a
4322         dereferenceable position.
4323  
4324         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
4325         functions for motion in terms of display lines.
4326
4327         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
4328         get the buffer a mark is inside
4329         
4330 2000-12-01  Alexander Larsson  <alexl@redhat.com>
4331
4332         * gdk/linux-fb/Makefile.am:
4333         * modules/linux-fb/Makefile.am:
4334         Freetype 2 final uses freetype-config
4335
4336         * gdk/linux-fb/gdkpango-fb.c:
4337         Upgrade to use Freetype 2 final.
4338         More flexible support for font aliases, this also fixes a bug with
4339         GtkFontSelector, as the aliases must be visible in the font/family list,
4340         or GtkFontSelector reads uninitialized memory.
4341
4342 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
4343
4344         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
4345         XGetIMValues to properly terminate variable argument list, and do
4346         NULL return check for ic_values and xim_styles.
4347
4348         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
4349         Restore preedit state after XmbResetIC().
4350         
4351         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
4352         XvaCreateNestedList() should take XvaNestedList, but not
4353         XvaNestedList*.
4354
4355         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
4356         preedit_draw_callback, preedit_caret_callback): Match
4357         "preedit-changed" signal name to "preedit_changed" to be
4358         consistent to the spec.
4359
4360         * gtk/gtkimcontextsimple.c (check_table):
4361         Match "preedit-changed" to "preedit_changed" to be consistent
4362         to the spec.
4363
4364 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
4365
4366         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
4367         gc->clip_region == NULL>
4368
4369 2000-11-30  Tor Lillqvist  <tml@iki.fi>
4370
4371         Changes by Hans Breuer:
4372         
4373         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
4374         Dont't use negative width and height as max_hints. This fixes
4375         Owen's recent testgtk changes for win32.
4376
4377         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
4378         gdk_win32_hdc_release): These are exported and may be called with
4379         other drawable types than our GdkDrawableImplWin32 (?).
4380
4381         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
4382         so always #define USE_BACKING_STORE.
4383
4384         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
4385         of printf for debugging output.
4386
4387         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
4388         
4389         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
4390
4391         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
4392         declaration.
4393
4394         * gtk/gtktexttypes.h: Ditto.
4395
4396         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
4397         (GDK_VoidSymbol) also if in case of arg check failure.
4398
4399         * gtk/gtkimcontextsimple.c
4400         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
4401         position to the pointer, but to the variable it points to.
4402
4403         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
4404
4405         * gtk/gtk.def: Updates.
4406
4407 2000-11-29  Elliot Lee  <sopwith@redhat.com>
4408
4409         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
4410         GTK_TYPE_TREE_MODEL.
4411
4412 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4413
4414         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
4415         Set the size of the font from the description.
4416         (gdk_text_width): Gross hack that calculates the width
4417         of text by text_length * size/2. This is necessary because
4418         GtkLabel does some ugly gtk_string_width call to calculate
4419         an good size.
4420         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
4421
4422 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
4423
4424         * docs/tutorial/gtk-tut.sgml: DND updates
4425
4426 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4427
4428         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
4429         If you pass width or height == 0 to gdk_window_clear_area they
4430         should be calculated from the window size.
4431
4432 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4433
4434         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
4435         a grab, but no grab-cursor, use the cursor from the grabbed
4436         window. (gdk_fb_window_send_crossing_events): Send normal
4437         enter/leave notifications if grab and owner_events == TRUE.
4438
4439 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4440
4441         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4442         Do implicit button grabs, even if the window doesn't
4443         want the event.
4444         (gdk_fb_window_send_crossing_events): If there is a
4445         grab, only the grabbed window gets normal enter/leave
4446         notifications. On ungrab go from grabbed window to current.
4447         Don't send any notification to b when propagating from c -> b.
4448         If setting a grab on window, don't set prev_window.
4449         (handle_mouse_input): Send enter/leave events to the window the
4450         mouse is over, not the grabbed one.
4451         
4452 2000-11-28  Elliot Lee  <sopwith@redhat.com>
4453
4454         * gdk/gdkregion-generic.c: Zap warning.
4455         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
4456         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
4457
4458 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
4459
4460         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
4461         The cursor should be hidden if it is part of either the
4462         source or destination region. Not only if it is in both.
4463         (gdk_window_set_transient_for): Silence warnings.
4464
4465 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4466
4467         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
4468         The default mode in X is Pie Arcs, therefore that is
4469         what Gtk+ uses.
4470
4471 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4472
4473         * gdk/linux-fb/gdkinput-ps2.c:
4474         Implement correct EnterNotify/LeaveNotify:
4475         (gdk_fb_window_send_crossing_events): New function that sends
4476         all GdkCrossingEvents from the last mouse-window to the specified
4477         destination.
4478         (gdk_fb_window_visibility_crossing): Removed function.
4479         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
4480         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
4481         instead of gdk_window_get_pointer() for better readability.
4482
4483         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
4484         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
4485
4486         * gdk/linux-fb/gdkprivate-fb.h:
4487         removed gdk_fb_window_visibility_crossing, added
4488         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
4489
4490         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
4491         New function that finds the least common ancestor of two windows.
4492         (gdk_window_show, gdk_window_hide):
4493         Use gdk_fb_window_send_crossing_events.
4494         (gdk_fb_window_move_resize): Send configure events to toplevel
4495         windows. Use gdk_fb_window_send_crossing_events.
4496
4497 2000-11-27  Havoc Pennington  <hp@redhat.com>
4498
4499         * gtk/gtkprivate.h (enum): Remove a trailing comma
4500
4501 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
4502
4503         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
4504         the "changed" callback of the adjustment.  We need to redraw the
4505         spin button's arrows when the adjustment's range changes.
4506         (adjustment_changed_cb): Draw the arrows.
4507         (gtk_spin_button_value_changed): Draw the arrows.
4508
4509 2000-11-23  Alexander Larsson  <alexl@redhat.com>
4510
4511         * gdk/linux-fb/gdkselection-fb.c:
4512         Initial selection implementation.
4513
4514         * gtk/gtkselection.c:
4515         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
4516         requestor in gtk_selection_request.
4517         
4518         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
4519         Added gdk_selection_property atom.
4520
4521         * gdk/linux-fb/gdkprivate-fb.h:
4522         Export _gdk_selection_window_destroyed.
4523         Removed mask_off_x/y from GdkCursorPrivateFB.
4524         Removed hbearing, added top, left to PangoFBGlyphInfo.
4525
4526         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4527         Call _gdk_selection_window_destroyed
4528         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
4529         the root window has been created.
4530         (static_dx_hack, static_dy_hack, compare_draw_rects,
4531         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
4532         in region. They are already sorted. Instead just traverse them in
4533         reverse if draw_direction < 0.
4534         
4535         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4536         Double-clicks must be sent after the normal button_press.
4537         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
4538         
4539         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
4540         Pass _gdk_fb_screen_gc instead of NULL.
4541
4542         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
4543         Initialize gdk_selection_property.
4544         (gdk_event_make): Remove unused code.
4545
4546         * gdk/linux-fb/gdkcursor-fb.c:
4547         Make the pixmap for the cursor the same size as the mask. Also remove
4548         the mask_off_x/y fields in GdkCursorPrivateFB and combine
4549         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
4550         Now the whole cursor is visible.
4551
4552         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4553         Fix bug where xdest+height instead of ydest+height was used
4554         to calculate if the source and dest overlapped. This fixes the
4555         redraw bug when the main window in testgtk was scrolled when
4556         partially covered by a tall window.
4557         Copy rectangles in region in order depending on draw_direction.
4558         Also moved the draw_direction flipping of start_y and end_y into
4559         the gc functions, as this might not be what all of them want.
4560         (gdk_fb_draw_lines): Support dashed lines.
4561         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
4562         so that the text is positioned correctly (was 1 pixel high).
4563
4564         gdk/linux-fb/gdkgc-fb.c:
4565         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
4566         all lines were drawn a pixel to short. Also checked the default of
4567         the rest of the values, and they're the same as X now.
4568
4569         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
4570         Clean up pixel positioning of the glyphs. Just use bgy->top and
4571         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
4572         to all divisions to get correct rounding behaviour.
4573
4574         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
4575         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
4576         Moved start_y/end_y flip into draw_drawable implementations.
4577         Flip also x rendering when draw_direction < 0.
4578         Remove unneccesary multiply with draw_direction.
4579
4580 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
4581
4582         * docs/tutorial/gtk-tut.sgml:
4583           - get rid of gtk_toggle_button_toggled FUD
4584           - start DND section - needs work - based on:
4585                 http://wolfpack.twu.net/docs/gtkdnd/
4586
4587 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4588
4589         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4590         Correct calculation of font metrics. Now GtkEntrys have sane
4591         size.
4592
4593 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4594
4595         * gdk/gdktypes.h:
4596         Add new type GdkSpan
4597         
4598         * docs/reference/gdk/gdk-sections.txt,
4599         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
4600         gdk/gdkregion.h:
4601         Implement and document gdk_region_spans_intersect_foreach.
4602
4603         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
4604         Add new file gdkrender-fb.c which contains all core
4605         rendering code.
4606         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
4607         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
4608         (optimized rectangle fillers).
4609
4610         * gdk/linux-fb/gdkdrawable-fb2.c:
4611         Move all rendering code to gdkrender-fb.c.
4612         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
4613         Use the new span intersection functions in gdk_fb_fill_spans.
4614         gdk_fb_draw_rectangle() clips filled rectangles and calls
4615         gc->fill_rectangle with the result.
4616         gdk_fb_fill_spans() gets extra argument "sorted".
4617
4618         * gdk/linux-fb/gdkevents-fb.c:
4619         Remove unused includes and defines.
4620         New function gdk_fb_get_time() to get correct time for events.
4621
4622         * gdk/linux-fb/gdkinput-ps2.c:
4623         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
4624         Make sure to set the time of all events.
4625
4626         * gdk/linux-fb/gdkmain-fb.c:
4627         Use gdk_fb_get_time ().
4628
4629         * gdk/linux-fb/gdkprivate-fb.h:
4630         New virtual GC calls: fill_span & fill_rectangle.
4631         Export gdk_fb_get_time().
4632         gdk_fb_fill_spans() gets extra argument "sorted".
4633
4634         * gdk/linux-fb/mi*.c:
4635         Use GdkSpan instead of GdkRectangle.
4636         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
4637         from XFree 4 source)
4638         
4639 2000-11-22    <jrb@redhat.com>
4640
4641         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
4642         reversing the order in an if statement will do.  Doing so managed
4643         to make the treemodelsort half work.  Other half will follow after
4644         I get the insert function fully fixed.
4645
4646 2000-11-21  Elliot Lee  <sopwith@redhat.com>
4647         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
4648         more than 2 bits. Besides, I need to implement an evil hack. :)
4649
4650 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
4651
4652         * docs/tutorial/gtk-tut.sgml: minor corrections
4653
4654 2000-11-20  Jonathan Blandford <jrb@redhat.com>
4655         * gtk/gtktreemodelsort.h: Add convertion functions to let you
4656           convert to and from relative path's and iters.
4657
4658         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
4659           testing sorting functions a bit better.  Currently broken -- will
4660           fix in morning.
4661
4662 2000-11-20  Havoc Pennington  <hp@redhat.com>
4663
4664         * gtk/gtkwidget.c: Documented a bunch of functions in here
4665         (gtk_widget_realize): Warn if you try to realize
4666         a widget with no parent that isn't a toplevel
4667         (gtk_widget_intersect): return a gboolean
4668
4669 2000-11-20  Havoc Pennington  <hp@redhat.com>
4670
4671         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
4672         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
4673         scrolling to be implemented in GDK to finish. Also, right now
4674         we just size_allocate all children on every layout change,
4675         which is pretty lame. Test commented out of testtext.c, 
4676         until it works better.
4677
4678 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
4679
4680         * gdk/linux-fb/gdkdrawable-fb2.c:
4681         Removed unused arguments from gdk_fb_drawable_get_pixel().
4682
4683         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
4684         Renamed fidur specific mouse packet data in MouseDevice to
4685         generic. Used it in ps2 mouse handling code to avoid blocking
4686         reads.
4687
4688 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
4689
4690         * demos/gtk-demo/main.c: Changed to have the list become
4691         non-italic when the demo window is destroyed through an external
4692         event (like a close button).  Doing so found three bugs in the
4693         widget.
4694
4695         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
4696
4697         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
4698         we actually set the cell.
4699
4700         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
4701
4702         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
4703         free a leaked path.  Thanks memprof.
4704
4705 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
4706
4707         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
4708         off-by-one error when destroying allocated segments
4709         on failure. (Elliot)
4710
4711 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
4712
4713         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
4714         memleaks found by Evan Martin.
4715
4716 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
4717
4718         * Released 1.3.2
4719         
4720         * NEWS: Updates for 1.3.2
4721
4722 2000-11-17  Tor Lillqvist  <tml@iki.fi>
4723
4724         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
4725         but in general for window system specific events.
4726
4727         * gtk/gtk.def
4728         * gtk/makefile.mingw.in
4729         * gtk/makefile.msc.in: Update.
4730         
4731         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
4732
4733 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
4734
4735         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
4736         distribute gtk.immodules.
4737
4738         * gtk/Makefile.am (install-data-local): Don't install the
4739         gtk.immodules file created for the uninstalled modules;
4740         instead run gtk-query-immodules after install
4741
4742 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
4743
4744         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
4745         -rpath to the right install location.
4746
4747         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
4748         -export-dynamic.
4749
4750         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
4751         properly.
4752
4753 2000-11-15  Havoc Pennington  <hp@pobox.com>
4754
4755         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
4756         patch from Mikael Hermansson to temporarily stop blinking while
4757         the user is using the keyboard to type or navigate. 
4758
4759         Also, when blinking, stay on for longer than we stay off. Also,
4760         return from start_cursor_blink if !cursor_visible, to save
4761         checking that flag all over the place before we call
4762         start_cursor_blink.
4763
4764 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
4765
4766         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
4767         only contain a "fontset" line, which is now ignored.
4768
4769         * gtk/gtkentry.c (gtk_entry_button_release): Make 
4770         double-click-to-select-word work.
4771         
4772 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
4773
4774         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
4775         Don't move back one char when we are actually at the end of the 
4776         paragraph.
4777
4778 2000-11-15  Robert Brady  <robert@suse.co.uk>
4779
4780         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
4781         'o' < 'p'.
4782         
4783         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
4784         bind_textdomain_codeset.
4785
4786         (gtk_init_check): Make the warning about translating default:LTR
4787         sterner.
4788         
4789 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
4790
4791         * **/Makefile.am : remove unecessary rules for win32-specific
4792         config-substituted targets. If you want these rules, use
4793         --enable-maintainer-mode (called automatically by autogen.sh).
4794         Stops a lot of unneccessary make-time warnings.
4795
4796         * gtk/gtktext{layout,display}.c: Factor in total width as
4797         well as screen when figuring alignment for word-wrap as well as
4798         no wrap; this is necessary to handle lines that cannot be wrapped
4799         at all.
4800
4801 2000-11-15  Havoc Pennington  <hp@redhat.com>
4802
4803         * gtk/testtext.c: Implement essential color cycling feature
4804
4805 2000-11-15  Havoc Pennington  <hp@redhat.com>
4806
4807         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
4808         when we invalidate the main window.
4809
4810         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
4811         GtkTextView will now invalidate the side windows for us when text
4812         changes.
4813
4814 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
4815
4816         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
4817         unconditionally, since we may need to update the horizontal
4818         scrollbars even if the height didn't change.
4819
4820         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
4821         the extra attrs, since some of them affect size.
4822
4823         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
4824         x_offset correctly.
4825
4826 2000-11-15  Havoc Pennington  <hp@redhat.com>
4827
4828         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
4829         don't move the first line out into the margin, instead move the
4830         whole paragraph in order to make space for the first line within 
4831         the margin
4832
4833 2000-11-15  Havoc Pennington  <hp@redhat.com>
4834
4835         * gtk/gtktextview.c (changed_handler): offset redraw rect by
4836         xoffset in addition to yoffset, so horizontal scrolling doesn't
4837         break redraws
4838
4839 2000-11-15  Havoc Pennington  <hp@redhat.com>
4840
4841         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
4842         from the cursor
4843         (render_layout_line): fix reversed test that caused weird
4844         underlines to get drawn
4845
4846 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4847
4848         * gdk/linux-fb/gdkprivate-fb.h:
4849         Fix debug macros.
4850         
4851 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4852
4853         * gdk/linux-fb/gdkprivate-fb.h:
4854         Added virtual functions set_pixel, get_color,
4855         fill_span and draw_drawable to the GC.
4856         Added global _gdk_fb_screen_gc to use instead of
4857         NULL when drawing to the screen.
4858         Added _gdk_fb_gc_calc_state() prototype.
4859
4860         * gdk/linux-fb/gdkgc-fb.c:
4861         Call _gdk_fb_gc_calc_state() on any gc state change.
4862
4863         * gdk/linux-fb/gdkglobals-fb.c:
4864         Add _gdk_fb_screen_gc
4865                 
4866         * gdk/linux-fb/gdkdrawable-fb2.c:
4867         _gdk_fb_gc_calc_state() calculates best functions
4868         for the GC state and depth.
4869         Moved bpp specialized code to separate functions.
4870         Added optimized 24 bpp AA draw_drawable.
4871
4872         * gdk/linux-fb/gdkevents-fb.c:
4873         Silence gcc warning.
4874
4875         * gdk/linux-fb/gdkimage-fb.c:
4876         Use _gdk_fb_screen_gc
4877
4878         * gdk/linux-fb/gdkwindow-fb.c:
4879         Init and use _gdk_fb_screen_gc
4880
4881         * gdk/linux-fb/mitypes.h:
4882         Remove unused types.
4883
4884 2000-11-14  Havoc Pennington  <hp@pobox.com>
4885
4886         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
4887         to pixels
4888
4889 2000-11-14  Havoc Pennington  <hp@pobox.com>
4890
4891         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
4892
4893         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
4894         unknown char, no real reason we were using a variable. 
4895         Remove gtk_text_unknown_char variable. Fix all the text widget
4896         files accordingly.
4897
4898         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
4899         since the Unicode spec seems to prefer that character for our
4900         purposes.
4901
4902 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
4903
4904         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
4905         value of g_getenv() isn't freeable, so g_strdup it.
4906
4907         * modules/input/inuktitut.c: Inuktitut input method.
4908
4909         * modules/input/Makefile.am: Build this.
4910         
4911 2000-11-14  Elliot Lee  <sopwith@redhat.com>
4912
4913         * gtk/Makefile.am: Install gtk.immodules, needed for operation
4914         of gtk programs.
4915
4916 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
4917
4918         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
4919         reversed > that was causing Home to go to end of previous line.
4920
4921         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
4922         modified-keypresses (leave for bindings.)
4923
4924         * modules/input/Makefile.am: Remove useless -export-dynamic
4925         from module LDFLAGS.
4926
4927 2000-11-14  Havoc Pennington  <hp@redhat.com>
4928
4929         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
4930         higher.
4931
4932         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
4933         account. Also, render rise, underline, background, etc. for
4934         pixbufs as well as text. Also, draw underlines one pixel higher.
4935
4936         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
4937         PangoAttribute for the rise, so it gets drawn properly. Also,
4938         add the GtkTextAppearance attribute for pixbuf/widget segments
4939         as well; we should go ahead and have rise, underline, background,
4940         stipple work for those
4941
4942         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
4943         Pango
4944
4945 2000-11-15  Tor Lillqvist  <tml@iki.fi>
4946
4947         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
4948
4949         * gtk/gtk.def: Update.
4950
4951         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
4952         included.
4953         (gtk_rc_get_im_module_file): Use run-time installation directory
4954         on Win32.
4955
4956         * gdk/win32/rc/gdk.rc: Remove.
4957         * gdk/win32/rc/gdk.rc.in: New file.
4958         * gdk/win32/rc/Makefile.am: New file
4959         * gdk/win32/Makefile.am: Corresponding changes.
4960
4961         * gtk/gtk.rc: Remove.
4962         * gtk/gtk-win32.rc.in: New file.
4963         * gtk/Makefile.am: Corresponding changes.
4964
4965         * configure.in: Corresponding changes.
4966
4967         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
4968         has a built gtkcompat.h. Developers using CVS code on Win32 can
4969         hand-edit it from gtkcompat.h.in.
4970
4971         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
4972         gtkcompat.h from gtkcompat.h.win32.
4973
4974 2000-11-14  Havoc Pennington  <hp@redhat.com>
4975
4976         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
4977         to default to GDK_ACTION_MOVE if the drag is within a single
4978         widget. Defaults to GDK_ACTION_COPY between widgets.
4979
4980 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
4981
4982         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
4983
4984         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
4985
4986         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
4987         srcdir != builddir
4988
4989         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
4990
4991         * configure.in (GTK_VERSION): Up to 1.3.2
4992
4993         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
4994         gtkimcontextxim.h
4995
4996         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
4997         missing doc comment.
4998
4999 2000-11-14  Alexander Larsson  <alexl@redhat.com>
5000
5001         * modules/linux-fb/basic.c:
5002         Use the glib iconv wrappers.
5003
5004 2000-11-13  Havoc Pennington  <hp@pobox.com>
5005
5006         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
5007         still more bugs.
5008
5009         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
5010         scroll the GdkWindows before realization.
5011
5012 2000-11-13  Havoc Pennington  <hp@redhat.com>
5013
5014         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
5015         where GC didn't always get updated properly
5016
5017         * demos/gtk-demo/textview.c (create_tags): Use subattributes
5018         of fonts instead of setting the entire font
5019
5020         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
5021         setting entire font
5022
5023         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
5024
5025         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
5026         a bunch of individually-settable font attributes. You can still 
5027         use the "font" and "font_desc" args, they just set all the font
5028         attributes at once.
5029
5030 2000-11-13 Elliot Lee <sopwith@redhat.com>
5031
5032         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
5033
5034 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
5035
5036         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
5037         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
5038
5039         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
5040         work better.
5041
5042 2000-11-13  Havoc Pennington  <hp@redhat.com>
5043
5044         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
5045         the module file.
5046
5047         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
5048         dest->language
5049
5050         * gtk/testtext.c: Test pixels above/below/inside paragraphs
5051         settings
5052
5053         * gtk/gtktextview.c: Implement object args and setters/getters for
5054         all the aspects of the GtkTextAttributes that are not set from
5055         GtkWidget attributes. This is spacing, justification, margins,
5056         etc.
5057
5058         (gtk_text_view_set_arg)
5059         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
5060         args
5061         (gtk_text_view_class_init): Add args for justify, left_margin,
5062         right_margin, indent, and tabs
5063         
5064
5065         * gtk/gtktextlayout.c (set_para_values): fix to display indent
5066         attribute properly
5067
5068         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
5069         replace with indent attribute
5070
5071         * gtk/gtktextlayout.c (set_para_values): multiply indent by
5072         PANGO_SCALE
5073
5074         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
5075         rearranging code to do that
5076         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
5077         i.e. don't subtract the top_margin first, just to keep
5078         all margin-futzing in one place.
5079
5080         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
5081
5082         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
5083         special case of last line, Pango now handles this itself.
5084         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
5085         Y coordinate
5086         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
5087         (find_display_line_above): wasn't moving the byte index as it
5088         iterated over lines, so always returned byte 0. Also, port to use
5089         PangoLayoutIter.
5090         (find_display_line_below): same problem as
5091         find_display_line_above. Also, port to use PangoLayoutIter.
5092
5093 2000-11-13  Alexander Larsson  <alexl@redhat.com>
5094
5095         * gdk/linux-fb/*.[ch]:
5096         Massive reindent to gtk+ standard. My hands hurt.
5097
5098         * gdk/linux-fb/gdkcolor-fb.c:
5099         Move GdkColorPrivateFB from inherited to windowing_data
5100
5101         * gdk/linux-fb/gdkcursor-fb.c:
5102         _gdk_cursor_new_from_pixmap made static
5103
5104         * gdk/linux-fb/gdkdnd-fb.c:
5105         GdkDragContextPrivate moved to windowing_data
5106
5107         * gdk/linux-fb/gdkdrawable-fb2.c:
5108         Removed endian.h, use glib endianness macros instead
5109         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
5110         and GDK_DRAWABLE_IMPL_FBDATA
5111
5112         * gdk/linux-fb/gdkfont-fb.c:
5113         Add empty gdk_font_load(). Needed for linking of Gtk+.
5114
5115         * gdk/linux-fb/gdkimage-fb.c:
5116         Removed endian.h, use glib endianness macros instead
5117         Moved GdkImagePrivateFB to windowing_data
5118         gdk_image_new_bitmap didn't always allocate enough
5119         memory.
5120
5121         * gdk/linux-fb/gdkinput-ps2.c:
5122         Added semi-working support for MS serial mice.
5123
5124         * gdk/linux-fb/gdkprivate-fb.h:
5125         s/GdkWindowPrivate/GdkWindowObject/
5126         Removed GdkWindowPrivate typedef
5127         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
5128         Removed GDK_DRAWABLE_P
5129         Move GdkColorPrivateFB from inherited to windowing_data
5130         Moved GdkImagePrivateFB to windowing_data
5131
5132         * gdk/linux-fb/gdkvisual-fb.c:
5133         Removed some unused debug code.
5134
5135         * gdk/linux-fb/gdkwindow-fb.c:
5136         Use stock cursors instead of including X headers.
5137         s/GdkWindowPrivate/GdkWindowObject/
5138
5139         * gdk/linux-fb/mitypes.h:
5140         Removed unused types.
5141
5142         * modules/linux-fb/basic.c:
5143         Use the pango fribidi wrappers.
5144
5145 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5146
5147         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
5148         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
5149         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
5150         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
5151         GEqualFunc where applicable.
5152         
5153         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
5154         pango_font_description_equal as changed in pango.
5155         
5156         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
5157
5158         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
5159
5160         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
5161
5162         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
5163
5164         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
5165
5166         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
5167
5168         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
5169         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
5170
5171         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
5172         gtk_rc_styles_compare -> gtk_rc_styles_equal.
5173
5174 2000-11-12  Havoc Pennington  <hp@pobox.com>
5175
5176         * demos/gtk-demo/Makefile.am (democodedir): change demo install
5177         dir to datadir/gtk+-2.0/demo
5178
5179         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
5180         sorts of text widget and Pango font bugs. Urgh.
5181
5182         * demos/gtk-demo/Makefile.am (demos): Add textview.c
5183
5184         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
5185         tree that you should double click to see the demo. Fix 
5186         types of variables to reflect changed return values from 
5187         GtkTreeStore and GtkTreeViewColumn constructors.
5188
5189         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
5190         newly-created buffer to prepare for GObject semantics
5191
5192         * gtk/testtext.c: don't leak the buffer with GObject semantics
5193
5194         * gtk/testtextbuffer.c: ditto
5195         
5196 2000-11-12  Havoc Pennington  <hp@pobox.com>
5197
5198         Rename this testgtk to gtk-demo to avoid confusion, and 
5199         install it so people can use it as a supplement to 
5200         the documentation.
5201         
5202         * demos/gtk-demo: Moved from demos/testgtk
5203
5204         * demos/testgtk: Removed
5205
5206         * configure.in: make Makefile in gtk-demo
5207         
5208         * demos/gtk-demo/Makefile.am: Install sample source to 
5209         datadir/gtk-demo (maybe there's a better place?), and 
5210         rename the binary to gtk-demo
5211         
5212         * demos/gtk-demo/main.c (load_file): Load installed sample
5213         source if source isn't found in pwd.
5214
5215 2000-11-09  Havoc Pennington  <hp@pobox.com>
5216
5217         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
5218         argument to set the char displayed when visibility == FALSE
5219         (gtk_entry_create_layout): If !entry->visible, replace 
5220         all chars with the "invisible char"
5221
5222         * gtk/testgtk.c: Test the invisible_char deal
5223         
5224 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
5225
5226         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
5227         can't get a native font in the right encoding.
5228
5229 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
5230
5231         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
5232         respectively.
5233
5234 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
5235
5236         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
5237         Fix warning when moving between paragraphs.
5238
5239         * gtk/gtkentry.[ch]: Change move => move_cursor, 
5240         delete => delete_from_cursor, insert => insert_at_cursor
5241
5242 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
5243
5244         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
5245
5246         * modules/input/imthai-broken.c: A Thai input method for use if
5247         Thai keys are really generating Latin1 keysyms.
5248
5249         * modules/input/Makefile.am: Build these.
5250
5251 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
5252
5253         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
5254         g_filename_{to,from}_utf8 now takes an extra parameter.
5255
5256         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
5257         strftime into UTF-8.
5258
5259         (column_from_x, gtk_calendar_paint_day_names): Support RTL
5260         calendars.
5261
5262         (gtk_calendar_paint_day_names): Draw day names in the right 
5263         place.
5264         
5265 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
5266
5267         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
5268         problem with using result of g_get_charset() backwards -
5269         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
5270
5271         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
5272         negative min_width/height and max_width/height to
5273         mean "requisition"; this allows setting a window
5274         to be user-resizable in only one direction easily.
5275
5276         * gtk/testgtk.c (create_main_window): Remove hard-coded
5277         usize - set a default size in the vertical direction.
5278
5279 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
5280
5281         * gtk/gtkrange.c: Add some missing casts. Support 
5282         2 and 3 button clicks on the arrows to mean 
5283         "move by pages" and "jump to end". (Like gtkspinbutton)
5284
5285 2000-11-12 Hans Breuer <Hans@Breuer.Org>
5286
5287         * gdk/win32/makefile.msc : reflect build module changes
5288
5289         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
5290         from GdkPixmap*, cast implementation member instead.
5291
5292         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
5293         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
5294         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
5295         more Gdi functions return value checking. 
5296         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
5297         GdkImagePrivateWin32 *.
5298
5299         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
5300         menus useable again. Add #pragma message to keep reminded on this issue.
5301         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
5302         windows. This allows to enable backing store on Win32!
5303
5304         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
5305         in drawable is of impl type. Correct specific type checks appropriate.
5306  
5307         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
5308         GDK_WINDOW_DESTROYED before allocating new resources.
5309
5310         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
5311
5312         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
5313         (gdk_window_foreign_new) initialize parent handle.
5314         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
5315
5316         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
5317         Let the GDI invalidate the window on MoveWindow call to fix scrolling
5318         problems (e.g. main buttons in testgtk). 
5319
5320 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
5321
5322         * gtk/gtkentry.c (gtk_entry_key_press): Call 
5323         gtk_widget_activate for GDK_Return.
5324
5325         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
5326         of preedit cursor position.
5327
5328 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
5329
5330         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
5331         static.
5332
5333 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
5334
5335         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
5336         out support for multiple locales; that simple doesn't
5337         work reliably with current Xlib
5338
5339         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
5340         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
5341         Add support for positioning the cursor within the preedit string.
5342
5343 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
5344
5345         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
5346         at XIM input method module.
5347
5348         * gtk/gtktextview.c: Check for bindings after passing
5349         events to im context filter.
5350
5351 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
5352
5353         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
5354         empty attribute lists properly.
5355
5356 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
5357
5358         * gtk/queryimmodules.c (main): Return non-zero exit
5359         status if errors were encountered querying any
5360         modules.
5361
5362         * modules/input/Makefile.am (moduledir): remove
5363         leftover bin program target.
5364
5365         * docs/make-todo: Fix typo in error message.
5366
5367 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
5368
5369         * configure.in: Add modules/input/Makefile
5370
5371 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
5372
5373         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
5374         don't include gtkthemes.h.
5375
5376         * gtk/testgtk.c gtk/testtext.c: Set environment variables
5377         to point
5378
5379         * gtk/Makefile.am: Add new .c and .h files, build 
5380         gtk-query-immodules and use it to create a gtk.immodules
5381         file for use of test programs.
5382
5383         * gtk/gtkpreview.c: remove extra blank line.
5384
5385 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
5386
5387         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
5388         Add the ability to add extra tables beyond the default
5389         one, and also the ability to have compose sequences 
5390         that are prefixes of other compose sequences. 
5391
5392         * gtk/gtkimcontextsimple.c: Export a preedit string which
5393         consists of possible candidates for keystrokes that have
5394         been entered but not yet committed.
5395
5396         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
5397         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
5398
5399         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
5400         Add a function to add input-method switching menu items
5401         to a menu.
5402
5403         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
5404         when switching input methods.
5405
5406         * gtk/gtkimcontextsimple.[ch]: Change the format of
5407         the compose table to allow compose tables of different
5408         lengths / sequence.
5409
5410 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
5411
5412         * gtk/gtkimmodule.[ch]: Support routines for loading
5413         GtkIMContext implementations dynamically at runtime.
5414
5415         * modules/input/imcyrillic-translit.c: A sample input
5416         method (based on GtkIMContextSimple with an extra table),
5417         which demonstrates preedit strings and the module
5418         system for input modules
5419
5420         * gtk/queryimmodules.c: Program to query the available
5421         input modules and write the results into a file.
5422          
5423         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
5424         extra config options "im_module_file" (cache file for
5425         input method modules), and "im_module_path" - path
5426         to look for modules when generating cache file.
5427
5428         This doesn't scale.
5429
5430 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
5431
5432         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
5433         generic code from gtkthemes into a new abstraction
5434         GtkModule which has the logic for implementing
5435         a loadable module which implements a number of 
5436         GObject types.
5437
5438 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
5439
5440         * gtk/gtkeditable.[ch]: Convert GtkEditable from
5441         a class into an interface  
5442         
5443         * gtk/gtkoldeditable.[ch]: Move the old editable
5444         implementation into here, so legacy widgets can
5445         still rely on the implemenation. GtkOldEditable
5446         exports GtkEditable. Make selection handling
5447         code use new text conversion functions (and
5448         handle UTF-8 as a side-effect). Use GtkClipboard
5449         for CLIPBOARD.
5450
5451         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
5452         Adopt to match above changes.
5453
5454         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
5455         avoid GtkOldEditable implementation. Restructure
5456         to reduce number of places that modify state directly.
5457         Move to GtkBindingSet. Display the preedit string.
5458         Queue recomputation of PangoLayout and scroll position
5459         to improve effiency of doing complex changes naively.
5460         Add a menu with cut/copy/paste and input method selection.
5461
5462 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
5463
5464         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
5465         to set preedit string and attributes; display preedit string by
5466         inserting string and attributes at cursor when creating the
5467         GtkTextLineDisplay.
5468
5469         * gtk/gtktextlayout.c: Move all conversions between byte
5470         positions in PangoLayout and GtkTextIter into new functions
5471         line_display_iter_to_index/index_to_iter that properly
5472         handle the preedit string.
5473
5474         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
5475         it to return const char * (eventually will end up
5476         as GCONST char *, most likely.)
5477
5478         * gtk/gtktextview.[ch]: Handle the preedit string, call
5479         gtk_im_context_reset() as necessary, add a menu to switch
5480         input methods.
5481         
5482         * gtk/gtktextlayout.[ch]: Remove useless
5483         gtk_text_layout_get_log_attrs() function.
5484
5485 2000-11-11  Tor Lillqvist  <tml@iki.fi>
5486
5487         * gdk/gdk.def
5488         * gtk/gtk.def: Update.
5489
5490         * gdk/win32/*.c: Add last argument to g_type_register_static()
5491         calls.
5492
5493         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
5494
5495         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
5496         generated by older wheel mouse drivers. Get the correct y
5497         coordinate from WM_MOUSEWHEEL messages.
5498
5499         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
5500         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
5501         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
5502         Debugging functions.
5503
5504         * gdk/win32/gdkprivate-win32.h: Declare them.
5505
5506         * gdk/win32/gdkinput-win32.h: Add declaration for
5507         gdk_input_window_destroy().
5508
5509         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
5510
5511 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
5512
5513         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
5514         function to help handle keeping things in sync.
5515
5516 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
5517
5518         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
5519         BOXED marshallers.
5520
5521         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
5522         (gtk_list_store_class_init): use the new BOXED marshallers.
5523
5524         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
5525         new_with_values to new_with_types.
5526         (gtk_tree_store_get_column_type): add this.
5527         (gtk_tree_store_class_init): use the new BOXED marshallers.
5528
5529         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
5530         mirror some POINTER marshallers.
5531
5532 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
5533
5534         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
5535         allow more interesting iterators.  Also, made the lifecycle of
5536         iterators more explicit.
5537
5538         * gtk/gtktreemodelsort.[ch]: New model for sorting.
5539
5540         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
5541         types.
5542
5543 2000-11-09  Alexander Larsson  <alexl@redhat.com>
5544
5545         * demos/testgtk/menus.c:
5546         Changes to make the new testgtk compile after
5547         gtk_menu_append was removed.
5548
5549         * gdk/linux-fb/gdkdrawable-fb2.c
5550         (gdk_fb_get_depth, gdk_fb_get_visual,
5551         gdk_drawable_impl_fb_class_init): Implement
5552         these drawable functions. Now GtkImages work again.
5553
5554         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
5555
5556         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
5557         
5558         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
5559         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
5560         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
5561         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
5562
5563 2000-11-08  Havoc Pennington  <hp@pobox.com>
5564
5565         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
5566         visible_set args, don't know where these had gone, I thought they
5567         used to be there
5568
5569         * gtk/testtext.c: Add a menu item to apply invisibility tag;
5570         now we can test the feature and see that it's totally broken.
5571
5572 2000-11-08  Havoc Pennington  <hp@pobox.com>
5573
5574         Make DND copy pixbufs and tags when source and target share a 
5575         tag table.
5576         
5577         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
5578         in-process GTK_TEXT_BUFFER_CONTENTS target
5579         (gtk_text_view_drag_data_received): Paste from
5580         GTK_TEXT_BUFFER_CONTENTS if we receive it.
5581
5582 2000-11-08  Alexander Larsson  <alexl@redhat.com>
5583
5584         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
5585         API changes.
5586
5587         * gtk/gtkmenu.c: Add support for scrolling menus.
5588         Remove gtk_menu_append/prepend/insert, these have been moved to
5589         gtkcompat.h as #defines.
5590
5591         * gtk/gtkcompat.h.in:
5592         Add compatibility #defines for gtk_menu_append/prepend/insert
5593
5594         * gtk/gtkmenu.h: Add data needed for scrolling menus.
5595         GtkMenuPositionFunc gets an extra argument push_in.
5596         gtk_menu_append/prepend/insert removed.
5597         
5598         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
5599         positioning behaviour to fit to scrolling menus.
5600
5601         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
5602         into menuitem->submeny. That is wrong, and broke torn
5603         off submenus of torn off menus, since they were unrealized
5604         when the first menu was unrealized.
5605
5606         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
5607         gtk_menu_shell_select_item() since these need to be overridden in
5608         GtkMenu.
5609
5610         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
5611         positioning behaviour to fit to scrolling menus.
5612         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
5613         the current item so that it is prelighted when the menu pops up.
5614         This is a workaround to the fact that the menu doesn't get the
5615         initial enter event (due to grabs).
5616
5617         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
5618         s/gtk_menu_append/gtk_menu_shell_append/
5619
5620         * gtk/gtknotebook.c:
5621         s/gtk_menu_insert/gtk_menu_shell_insert/
5622
5623         * gtk/testgtk.c (create_menu, create_menus):
5624         Create the first menu with 50 items so that menu scrolling
5625         can be tested.
5626         
5627         
5628         Patch from Jonathan Blandford  <jrb@redhat.com>
5629
5630         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
5631         system to handle size requests.  First, we ask what the size of
5632         the toggle is.  Then, when allocating the size, we allocate the
5633         toggle_size first.  This way we can have multiple menu-item
5634         classes w/o needing a seperate class for each.
5635
5636         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
5637         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
5638
5639         * gtk/gtkcheckmenuitem.c
5640         (gtk_check_menu_item_toggle_size_request): New function to handle
5641         the toggle size-request.
5642
5643 2000-11-07  Havoc Pennington  <hp@redhat.com>
5644
5645         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
5646         Half-ass somewhat fix this function, so that scrolling to the
5647         insertion point works. Pango hacking is in the future to really
5648         fix it.
5649
5650         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
5651         length of data, no longer used.
5652
5653         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
5654         method contents in here, get rid of destroy method
5655         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
5656         that were backward. Remove debug spew.
5657         (cut_or_copy): Make the clipboard work with insert_range to
5658         preserve tags and pixbufs, not just the primary selection.
5659
5660 2000-11-07  Havoc Pennington  <hp@redhat.com>
5661
5662         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
5663         to gtk_text_mark_get_visible
5664
5665         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
5666         bug that was generating an invalid iterator
5667
5668         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
5669         ensure_char_offsets() in front of code placing the iter in an
5670         invalid state.
5671
5672         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
5673         make override_location arg const
5674         (paste): Replace the selection if we paste into the 
5675         current selection
5676
5677         * gtk/gtkselection.h: Remove "GtkSelectioData"
5678         (struct _GtkSelectionData): move the definition here.
5679
5680         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
5681         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
5682
5683         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
5684
5685         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
5686         (gtk_text_buffer_insert_range_interactive): implement
5687         (gtk_text_buffer_get_tags): Remove, replaced by
5688         gtk_text_iter_get_tags()
5689
5690         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
5691         limit parameter, to avoid infinite linear scan.
5692         (gtk_text_iter_backward_search): Add search limit
5693         (gtk_text_iter_forward_find_char): Add search limit
5694         (gtk_text_iter_backward_find_char): Add search limit
5695
5696 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
5697
5698         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5699         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
5700         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
5701         gdk/linux-fb/gdkwindow-fb.c:
5702         use g_object_new() instead of g_type_create_instance() which
5703         is a private function for fundamental type implementations.
5704
5705         * gdk/linux-fb/gdkinput-ps2.c:
5706         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
5707         instead just store the current modifier state. Add a (somewhat broken)
5708         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
5709         Rename exported function gdk_input_ps2_get_mouseinfo to
5710         gdk_input_get_mouseinfo.
5711
5712         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
5713         gdk/linux-fb/gdkwindow-fb.c:
5714         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
5715         
5716
5717 2000-11-02  Havoc Pennington  <hp@redhat.com>
5718
5719         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
5720         use stock buttons. Should be 100% source compatible, appropriate
5721         filesel fields now point to dialog->vbox and dialog->action_area.
5722         On the bizarre side, dialog->action_area and filesel->action_area
5723         are not the same widget.
5724         (gtk_file_selection_init): Put some padding around the selection
5725         entry, so it isn't touching the GtkDialog separator.    
5726
5727         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
5728         use stock buttons, etc. Should also be source compatible.
5729         Set the dialog default title in _init not _new().
5730         
5731         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
5732         Use stock buttons; don't put a button box inside the existing
5733         dialog button box. Don't bother with push/pop colormap anymore.
5734
5735         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
5736         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
5737         for message dialog, and necessary for the font selection and color
5738         selection with help and apply buttons.
5739         
5740         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
5741         to the created button widget. Set GTK_CAN_DEFAULT on the button.
5742         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
5743         between buttons, put less padding around the action area.
5744         (gtk_dialog_run): Exit on unmap rather than on destroy. 
5745         This will also exit the loop if the widget is hidden.
5746         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
5747         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
5748         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
5749         special-case delete event.
5750
5751         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
5752         formatting
5753         
5754 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
5755
5756         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
5757         button to temporarily disable position recording in the
5758         "saved position" test.
5759
5760 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
5761
5762         * gtk/gtkthemes.c: added compat code that temporarily implements
5763         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
5764         going to be revamped by owen's upcoming GtkModule patches, but
5765         untill then people want gtk to build, right? ;)
5766
5767 2000-11-04  Havoc Pennington  <hp@pobox.com>
5768
5769         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
5770         list
5771
5772         * docs/Changes-2.0.txt: Add note about
5773         gtk_container_get_toplevels()
5774
5775         * gtk/gtktextview.h: formatting
5776         
5777         * gtk/gtktextview.c: don't start descriptions with "Returns",
5778         confuses gtk-doc
5779
5780 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
5781
5782         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
5783         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
5784
5785 2000-11-03  Havoc Pennington  <hp@redhat.com>
5786
5787         * gtk/gtktexttagtable.c: Docs
5788         (gtk_text_tag_table_size): return a signed int
5789
5790         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
5791         (gtk_text_tag_event): make the event_object a GObject
5792
5793         * gtk/gtktextview.c: Write API docs for all functions.
5794
5795         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
5796         for gtk_text_view_get_window_type() called on one of the private
5797         windows.
5798
5799         * gtk/gtktextview.c: Instead of accessing text_view->buffer
5800         directly, call get_buffer() which demand-creates a default
5801         buffer. So gtk_text_view_new() can be used to create a view with a
5802         default buffer in it, if you just want an empty text box users can
5803         put data in. Useful for GUI builders also.
5804
5805 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
5806
5807         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
5808         the charset encodign portion MUST be in lowercase.
5809         * gtk/gtkrc.az: added file for Azeri language
5810
5811 2000-11-03  Havoc Pennington  <hp@redhat.com>
5812
5813         Get widgets working on the btree/buffer side. Display of them 
5814         still doesn't work.
5815         
5816         * gtk/gtktextview.c: start implementing child widget stuff
5817
5818         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
5819
5820         * gtk/gtktextlayout.c: handle embedded widgets
5821
5822         * gtk/gtktextdisplay.c: handle embedded widgets
5823
5824         * gtk/gtktextchild.c: Implement all the child anchor goo
5825
5826         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
5827         function
5828
5829         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
5830         (insert_pixbuf_or_widget_segment): abstract out common portions of 
5831         creating a child anchor or a pixbuf segment.
5832         (gtk_text_btree_create_child_anchor): new function
5833         (gtk_text_btree_unregister_child_anchor): new function
5834
5835         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
5836         allocate_child signal on GtkTextLayout
5837
5838         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
5839         values
5840         (gtk_text_iter_get_child_anchor): new function
5841
5842         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
5843         default handler for the changed signal, which calls
5844         gtk_text_buffer_set_modified(), instead of just always emitting
5845         changed then calling set_modified() manually. I guess this is
5846         maybe more flexible. It seems logical.
5847
5848 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
5849
5850         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
5851         now.
5852
5853         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
5854
5855 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
5856
5857         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
5858         been marked static.
5859
5860 2000-11-02  Havoc Pennington  <hp@redhat.com>
5861
5862         * gtk/testgtk.c (create_labels): had a test backward
5863
5864         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
5865         fields, so the dest GC ends up with the correct clip origin, 
5866         etc. Fixes a bug where colored labels didn't redraw 
5867         properly.
5868
5869 2000-11-02  Alexander Larsson  <alexl@redhat.com>
5870
5871         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5872         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
5873         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
5874         Add last argument to t_type_register_static call.
5875         
5876         * gdk/linux-fb/gdkdrawable-fb2.c:
5877         Add last argument to t_type_register_static call.
5878         export the get_image drawable virtual function.
5879
5880         * gdk/linux-fb/gdkimage-fb.c:
5881         Add last argument to t_type_register_static call.
5882         rename gtk_image_get to _gdk_fb_get_image and
5883         export it for use by gdkdrawable-fb2.
5884
5885         * gdk/linux-fb/gdkprivate-fb.h:
5886         export _gdk_fb_get_image.
5887
5888         * gdk/linux-fb/gdkselection-fb.c:
5889         Add new api call stubs.
5890
5891         * gtk/Makefile.am:
5892         Missing ( in linux-fb part.
5893
5894         * modules/linux-fb/Makefile.am:
5895         Must link with gdk_pixbuf or get unresolved symbol.
5896
5897 2000-11-01  Havoc Pennington  <hp@pobox.com>
5898
5899         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
5900         GTK_TYPE_TEXT_ITER and BOXED marshallers
5901
5902         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
5903
5904         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
5905         
5906         * gtk/gtk-boxed.defs: add GtkTextIter
5907
5908         * gtk/gtkmarshal.list: Add marshallers for text widget that 
5909         properly use OBJECT and BOXED
5910
5911 2000-11-01  Havoc Pennington  <hp@redhat.com>
5912
5913         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
5914
5915         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
5916         before returning it. 
5917         
5918 2000-11-01  Havoc Pennington  <hp@redhat.com>
5919
5920         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5921         Clip the rectangle to be rendered to the drawable, since
5922         get_from_drawable() requires a region within the drawable
5923
5924 2000-11-01  Havoc Pennington  <hp@redhat.com>
5925
5926         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
5927         from coordinates.
5928
5929 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
5930
5931         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
5932         it isn't NULL.
5933
5934 2000-11-01  Havoc Pennington  <hp@pobox.com>
5935
5936         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
5937         on a label
5938         (gtk_label_finalize): unref the attr list if any.
5939
5940         * gtk/testgtk.c (create_get_image): close test on second click
5941         (make_message_dialog): close dialog if it exists
5942
5943         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
5944
5945         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
5946         gdk-pixbuf
5947
5948         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
5949         from Pango markup format
5950         (gtk_label_set_markup_with_accel): ditto but with accelerator
5951         parsing
5952
5953         * gtk/gtkimage.c (gtk_image_expose): reformatting.
5954
5955         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
5956         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
5957         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
5958         call gdk_window_get_origin().
5959
5960         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5961         implement GDK_PIXBUF_ALPHA_FULL
5962         
5963 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
5964
5965         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
5966         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
5967         g_signal_handlers_disconnect_matched to block/unblock and disconnect
5968         multiple handlers respectively, instead of only treating the
5969         first handler found (bug reported by owen).
5970
5971 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
5972
5973         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
5974
5975         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
5976
5977         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
5978         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
5979         gtk/gtktreeviewcolumn.h: Fixed inline docs.
5980
5981         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
5982         widget.  Needs writing someday.
5983
5984         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
5985         the docs.
5986
5987 2000-10-30  Havoc Pennington  <hp@redhat.com>
5988
5989         * gtk/gtktextview.h, gtk/gtktextview.c:
5990         Rename delete_at_cursor delete_from_cursor, and 
5991         move to move_cursor.
5992
5993 2000-10-30  Havoc Pennington  <hp@redhat.com>
5994
5995         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
5996         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
5997         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
5998         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
5999         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
6000         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
6001         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
6002         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
6003         gtktexttypes.h, gtktextview.c, gtktextview.h:
6004
6005         Massive reindentation and reformatting. Arg alignment and comments
6006         still need fixing in various places.
6007
6008 2000-10-30  Havoc Pennington  <hp@redhat.com>
6009
6010         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
6011         to be named insert_at_cursor and delete_at_cursor so C++ can
6012         handle them.
6013
6014 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6015
6016         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
6017         to get a double directory separator in case the home directory
6018         ends with one. This would cause trouble especially on Windows,
6019         where the path will be confused with the syntax for an an UNC
6020         (network share) path \\server\share\path.
6021         (gtk_rc_add_initial_default_files): Ditto.
6022
6023 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
6024
6025         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
6026
6027         * gtk/gtktextview.c: Use correct marshallers.
6028
6029 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
6030
6031         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
6032         use new iter stuff, and added all the appropriate signals et al.
6033
6034         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
6035         code is internal to gtk only.
6036
6037 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6038
6039         * gtk/gtk.def
6040         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
6041         glib-genmarshal etc.
6042
6043 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
6044
6045         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
6046         parallel builds.
6047
6048 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
6049
6050         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
6051
6052 2000-10-27  Robert Brady  <robert@suse.co.uk>
6053
6054         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
6055         en_GB (British), ia (Interlingua).
6056
6057 2000-10-26  Havoc Pennington  <hp@redhat.com>
6058
6059         * gtk/gtktextiter.c (my_strrstr): fix constness warning
6060
6061         Fixed output of:
6062         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
6063         
6064         * gtk/gtktextsegment.c (char_segment_new): rename
6065         (_char_segment_new_from_two_strings): rename
6066         (_toggle_segment_new): rename
6067         
6068         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
6069         (make_clipboard_widget): make it static
6070         (text_get_func): static
6071         (text_clear_func): static
6072
6073         * gtk/gtkcolorsel.c (adjustment_changed): make this function
6074         static
6075         (hex_changed): make it static
6076         (hsv_changed): make it static
6077         (opacity_entry_changed): make it static
6078
6079         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
6080         (toggle_segment_check_func): rename with _gtk
6081
6082         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
6083         (_widget_segment_new): rename
6084         (_widget_segment_add): rename
6085         (_widget_segment_remove): rename
6086         (_widget_segment_ref): rename
6087         (_widget_segment_unref): rename
6088
6089         * gtk/gtktextmark.c (_mark_segment_new): Rename
6090         _gtk_mark_segment_new   
6091
6092 2000-10-26  Havoc Pennington  <hp@redhat.com>
6093
6094         * gtk/gtkmarshal.list: add new marshallers used by the text widget
6095         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6096         types
6097
6098         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
6099         marshaller types
6100
6101         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
6102         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
6103         license on these files.
6104
6105         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
6106         work.
6107
6108         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
6109         runtime random number different for each tree, instead of 
6110         a constant I made up.
6111
6112 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
6113
6114         * gtk/Makefile.am: buncha cleanups, kludged build sources
6115         dependencies with a Makefile: oldest-source-stamp dependancy
6116         for the moment. automake is really fighting us here, with
6117         intentionally not allowing user-defined rules or dependancies
6118         prior to it's -include $(DEP_FILES) statement. sucks rocks!
6119
6120         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
6121         to public headers. tehy have a comment stating that they are
6122         "semi-public" aren't included by gtk.h and if enums popup there,
6123         they can be /*< skip >*/-ed.
6124
6125         * gtk/gtktextlayout.h: 
6126         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
6127         added LGPL... <SIGH>
6128
6129 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
6130
6131         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
6132         GtkTreeIter.  Added iterators everywhere.
6133
6134         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
6135
6136         * gtk/gtktreeviewselection.c: Changed to use the iterators.
6137
6138         * gtk/gtktreestore.c: Changed to use the iterators.
6139
6140         * gtk/gtkliststore.c: Commented out the code.  Will convert to
6141         iterators tomorrow.
6142
6143         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
6144         iterators tomorrow.
6145
6146         * gtk/treestoretest.c: Changed to use iterators.
6147
6148         * demos/testgtk/main.c: Moved to use the new iterator system.
6149
6150 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
6151
6152         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
6153         localization misbehaviour.
6154
6155         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
6156         a useless type without copy/free.
6157
6158         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
6159         of GTK_TYPE_CTREE_NODE.
6160
6161 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
6162
6163         * gtk/gtksignal.c:
6164         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
6165         applicable.
6166
6167         * gtk/gtk-boxed.defs (GtkSelectionData): specify
6168         gtk_selection_data_copy and gtk_selection_data_free
6169         do GtkSelectionData work as params in signals.
6170
6171 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
6172
6173         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
6174         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
6175         couldn't they at least give it a non-standard name?
6176         
6177         * gtk/gtktextlayout.c: arg! yet another implementation of
6178         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
6179
6180         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
6181         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
6182         home. now i know this _is_ a conspiracy.
6183
6184         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
6185         ::state-changed.
6186
6187         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
6188         (gtk_accel_group_create_add): marshaller signature fixups.
6189
6190         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
6191         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
6192
6193         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
6194         anymore.
6195
6196 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
6197
6198         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
6199         due to the signal system changes, it wouldn't build currently. to
6200         be fixed soon.
6201
6202         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
6203
6204         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
6205         so it needs gtk_marshal_VOID__ENUM() instead of
6206         gtk_marshal_NONE__UINT().
6207
6208         * gdk/gdk*.c: adapted type registration functions.
6209
6210         * gtk/gtkbindings.c:
6211         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
6212         gone.
6213
6214         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
6215
6216         * gtk/gtkobject.c:
6217         (gtk_object_destroy):
6218         (gtk_object_shutdown): fixed recursion guards. basically we have to
6219         catch the case where any of GObject.shutdown() or gtk_object_destroy()
6220         is called during ::destroy, and avoid recursion there.
6221
6222         * gtk/gtktypeutils.c:
6223         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
6224         boxed_copy/boxed_free. this needs a more general solution based on a
6225         publically installed code-generator utility.
6226
6227         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
6228         glib's gobject has support for that now.
6229         define GtkSignalMarshaller in terms of GSignalCMarshaller.
6230
6231 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
6232
6233         * gtk/gtksignal.[hc]:
6234         * gtk/gtkmarshal.[hc]:
6235         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
6236         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
6237         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
6238         care of that.
6239
6240         * *.c: marshaller name fixups.
6241
6242         * gtk/gtkmarshal.list: added a comment briefing the format.
6243
6244 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
6245
6246         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
6247         compatibility macros here now. more specifically, most of
6248         the API is preserved (yes, _most_, nonwithstanding the
6249         following exceptions listed, the API is stil lHUGE ;)
6250         things that got removed completely:
6251         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
6252         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
6253         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
6254         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
6255         gtk_signal_remove_emission_hook().
6256         non-functional functions variants:
6257         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
6258         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
6259         not supported anymore.
6260         (gtk_signal_compat_matched): new internal function to aid
6261         implementation of the compatibility macros, it  provides
6262         functionality to block/unblock/disconnect handlers based
6263         on func/data.
6264
6265         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
6266
6267         * *.c: adaptions to new type registration API signatures.
6268
6269 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
6270
6271         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
6272
6273 2000-10-25  Robert Brady  <robert@suse.co.uk>
6274
6275         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
6276         gdk_property_delete): If window == NULL, assume the root window.
6277         (restoring the behaviour that was in 1.2).
6278         
6279         * gtk/testtext.c (save_buffer): Allow creation of new files when
6280         saving.
6281
6282         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
6283         calls to read().
6284
6285 2000-10-25  Tor Lillqvist  <tml@iki.fi>
6286
6287         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
6288
6289         * gdk/win32/gdkdrawable-win32.c
6290         * gdk/win32/gdkimage-win32.c
6291         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
6292         X11 backend.
6293
6294         * gdk/win32/gdkcc-win32.c
6295         * gdk/win32/gdkcolor-win32.c
6296         * gdk/win32/gdkfont-win32.c
6297         * gdk/win32/gdkinput-win32.c
6298         * gdk/win32/gdkmain-win32.c
6299         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
6300
6301 2000-10-24  Havoc Pennington  <hp@redhat.com>
6302
6303         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
6304         it a static function
6305
6306         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
6307         redraw text when a tag is applied to it.
6308
6309         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
6310         (gtk_text_tag_affects_nonsize_appearance): private functions to
6311         see if a tag requires various kinds of redraw/layout to be queued
6312         up.
6313
6314         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
6315
6316         * gtk/testtext.c (fill_example_buffer): Put the cursor 
6317         at the start of the buffer, so search works by default
6318
6319         * gtk/gtktextiter.c (lines_match): init match_start always
6320
6321         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
6322         function, get iter at a line + a byte index
6323
6324         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
6325         to set byte position within a line
6326         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
6327
6328 2000-10-23  Havoc Pennington  <hp@redhat.com>
6329
6330         * gtk/testtext.c: Re-enable the "find" dialog
6331
6332         * gtk/testgtk.c: Add test for gdk_drawable_get_image
6333         
6334         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
6335         the arguments to gdk_draw_drawable were in the wrong order
6336         (gdk_window_paint_init_bg): This function was ignoring the
6337         init_region, instead of clipping to it, so the entire backing
6338         pixmap was cleared on every begin_paint()
6339         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
6340         was in here again, the loop kept using the same GtkWindowPaint
6341         over and over.
6342         (gdk_window_begin_paint_region): Fix a bug where we had two
6343         x_offset instead of x_offset and y_offset
6344
6345         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
6346         before we get the image.
6347         (gdk_draw_drawable): get the composite before we draw the drawable.
6348         (gdk_drawable_real_get_composite_drawable): default
6349         get_composite_drawable implementation that returns the drawable 
6350         itself
6351
6352         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
6353         get_composite_drawable virtual function
6354
6355         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
6356         list-walking bug
6357
6358         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
6359         make this work if the source drawable is a GdkDrawableImplX11
6360         instead of a public drawable type. This is really broken; the
6361         problem is that GdkDrawable needs a virtual method get_xid(), but
6362         of course that doesn't work in practice. Enter RTTI.
6363
6364         Also, improve mismatched depth message.
6365
6366         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
6367         GdkPixmap
6368
6369         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
6370         install _gdk_x11_get_image as our implementation of get_image
6371         
6372         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
6373         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
6374
6375         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
6376         gdk_drawable_get_image
6377
6378         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
6379
6380         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
6381         get_image
6382
6383         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
6384         trailing semicolon after for loop
6385
6386 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
6387
6388         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
6389         where font_desc for widget's context lagged widget's font_desc by
6390         one step.
6391
6392 2000-10-22  Tor Lillqvist  <tml@iki.fi>
6393
6394         * gdk/win32/gdkgc-win32.c
6395         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
6396
6397         * gtk/makefile.mingw.in
6398         * gtk/gtk.def: Updates.
6399
6400         * gtk/testgtk.c: sleep() is called _sleep in MS's C
6401         library.
6402
6403         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
6404
6405         * gtk/makefile.msc: Remove
6406
6407         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
6408
6409         * gtk/Makefile.am: Add it.
6410
6411         * configure.in: Generate it.
6412
6413         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
6414         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
6415         something even if not implemented, to satisfy picky MSVC.
6416
6417         Patches by Hans Breuer:
6418         
6419         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
6420         SetBkMode() and SetTextAlign() before calling
6421         pango_win32_render().
6422
6423         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
6424         Set hcliprgn to NULL after destroying it.
6425         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
6426
6427         * gdk/win32/gdkgeometry-win32.c
6428         (_gdk_windowing_window_queue_antiexpose): More effective
6429         implementation.
6430
6431         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
6432         depth as default, not the visual's.
6433
6434         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
6435         against empty title.
6436
6437         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
6438         IMAGE_PRIVATE_DATA.
6439
6440         * gdk/win32/gdkimage-win32.c: Use it.
6441
6442 2000-10-22  Robert Brady  <robert@suse.co.uk>
6443
6444         * configure.in: Check for bind_textdomain_codeset
6445
6446         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
6447         present, make use of it.
6448
6449         Add a translatable string "default:LTR" which, if translated
6450         to "default:RTL", will cause the default direction to be
6451         Right-to-Left.
6452
6453         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
6454         direction if marked as flippable.
6455
6456         * gtk/gtkhscale.c: Mark widget as flippable.
6457         
6458 2000-10-04  Havoc Pennington  <hp@redhat.com>
6459
6460         * gtk/testgtk.c (create_buttons): create some stock buttons
6461         with the default accel group
6462         (create_image): test some new GtkImage features
6463         (make_message_dialog): test GtkMessageDialog
6464         (create_modal_window): fix someone's bizzarro indentation
6465
6466         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
6467         GTK_WIN_POS_CENTER_ON_PARENT. 
6468         Add "destroy with parent" setting, which means the window goes
6469         away with its transient parent.
6470         (gtk_window_get_default_accel_group): get the default accel group
6471         for the window.
6472         (gtk_window_set_destroy_with_parent): set/unset destroy with
6473         parent flag
6474         (gtk_window_read_rcfiles): invalidate icon set caches
6475         after reloading rcfiles 
6476
6477         * gtk/gtkenums.h (GtkWindowPosition): add
6478         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
6479         on its parent window when the dialog is mapped for the first time.
6480
6481         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
6482         a simple message dialog class
6483         
6484         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
6485         handler to emit response signal, and maybe later it would
6486         honor a hide_on_delete flag - though that isn't there yet.
6487         Set border width on the vbox to 2, so we get some padding.      
6488         Use a button box for the action area.
6489         (gtk_dialog_key_press): synthesize a delete event if Esc
6490         is pressed and the GtkWidget key press handler didn't 
6491         handle the escape key.
6492         (gtk_dialog_new_with_buttons): new function creates a dialog
6493         with some default buttons in it.
6494         (gtk_dialog_add_action_widget): add an activatable widget
6495         as a button in the dialog - you can also add a non-activatable
6496         widget by accessing the action area directly.
6497         (gtk_dialog_add_button): add a simple button - stock ID or 
6498         label - to the action area
6499         (gtk_dialog_response): emit response signal
6500         (gtk_dialog_run): block waiting for the dialog, return 
6501         the response. Override normal delete_event behavior, so that 
6502         delete_event does nothing inside gtk_dialog_run().
6503
6504         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
6505         emitted when an action widget is clicked or the dialog gets
6506         delete_event
6507
6508         * gtk/gtk.h: add gtkmessagedialog.h
6509
6510         * gtk/Makefile.am: add gtkmessagedialog.[hc]
6511
6512 2000-10-18  Havoc Pennington  <hp@redhat.com>
6513
6514         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
6515         where any number of empty lines would get skipped
6516
6517         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
6518         edge.
6519
6520         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
6521         warning about invalid iterators (explain more thoroughly)
6522         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
6523
6524         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
6525         big
6526
6527         * demos/*.c: Add error handling
6528
6529         * gtk/gtktextbuffer.c: don't modify const iterators
6530
6531         * gtk/gdk-pixbuf-loader.c: Add full error handling here
6532
6533         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
6534         on file load
6535
6536         * gtk/gtkiconfactory.c: Update to reflect addition of error
6537         handling to gdk-pixbuf loaders
6538
6539 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
6540
6541         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
6542         move to new modularized testgtk.
6543
6544 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
6545
6546         * gtk/gtktreeview.c: Draw the arrows correctly.
6547
6548         * gtk/gtktreemodel.c: Added user docs.
6549
6550         * gtk/gtk.h: remove gtktreedatalist.h.
6551
6552         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
6553         parent when generating my type.
6554
6555         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
6556         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
6557
6558 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6559
6560         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
6561         GtkTreeModel from object to interface.
6562
6563 2000-10-16  Havoc Pennington  <hp@redhat.com>
6564
6565         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
6566         compilation
6567
6568 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6569
6570         * gtk/gtktreeselection.c: Add API documentation to all public
6571         functions.
6572
6573         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
6574         functions.
6575
6576 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
6577
6578         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
6579         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
6580         docs to all public functions.
6581
6582         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
6583         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
6584         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
6585         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
6586         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
6587         issue.
6588
6589 2000-10-14  Robert Brady  <robert@suse.co.uk>
6590
6591         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
6592
6593 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
6594
6595         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
6596         values other then G_TYPE_STRING.
6597         * gtk/gtktreeselection.c: Minor commenting updates.
6598         * gtk/gtktreeview.c: Format updates.
6599
6600 2000-10-09  Tor Lillqvist  <tml@iki.fi>
6601
6602         * README.win32: Update.
6603
6604         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
6605         lines that had been deleted by mistake (?).
6606
6607         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
6608         also the case fg==white and bg==black (but still not randomly
6609         coloured cursors). Thanks to Wolfgang Sourdeau.
6610
6611         * gdk/win32/*.c: Silence gcc -Wall.
6612
6613         * gtk/gtk.def: Add missing entry points.
6614
6615         Fixes by Hans Breuer:
6616
6617         * gdk/makefile.msc
6618         * gdk/win32/makefile.msc: Update.
6619
6620         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
6621         some MSVC thing, presumably), cause breakpoint on failures. Add
6622         GDK_NOR case. Call g_log_set_always_fatal.
6623
6624         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
6625         should be pased by reference.
6626         
6627         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
6628         
6629         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
6630
6631         * gdk/win32/gdkevents-win32.c
6632         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
6633
6634         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
6635         implementation object.
6636
6637         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
6638         not just windows.
6639         
6640         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
6641         Use the wrapper object.
6642         
6643 2000-10-06  Havoc Pennington  <hp@redhat.com>
6644
6645         * Makefile.am (SRC_SUBDIRS): contrib subdir
6646
6647         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
6648         so it can be used in Xlib version
6649
6650         * demos/testpixbuf.c (update_timeout): error checking from 1.0
6651         tree
6652
6653         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
6654         change from 1.0 tree that returns first frame of animation
6655         if the loaded file is an animation.
6656
6657         * contrib: add new directory to hold stuff that comes with GTK+
6658         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
6659         
6660         * configure.in: add contrib/*
6661
6662 2000-10-05  Havoc Pennington  <hp@redhat.com>
6663
6664         * demos/testpixbuf-save.c: add pixbuf save test
6665
6666         * demos/Makefile.am: add testpixbuf-save.c
6667
6668 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
6669
6670         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
6671         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
6672         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
6673         * gtk/gtktreeselection.[ch]: Replaced
6674         "node_selected"/"node_unselected" signal with "selection_changed"
6675         signal.
6676
6677 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6678
6679         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
6680         tree widget.
6681
6682 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6683
6684         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
6685         drawing.
6686
6687 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
6688
6689         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
6690         Move list pointer forwards before removing item from
6691         list. (Crash reported by Salmaso Raffaele)
6692
6693         * gdk/gdkwindow.h: Remove spurious trailing ,
6694
6695         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
6696         dependencies on uninstalled libraries, sorry folks.
6697
6698 2000-10-04  Havoc Pennington  <hp@redhat.com>
6699
6700         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
6701         gtk/gtkiconfactory.c: Fix copyrights    
6702
6703         * demos/testpixbuf.c: add inline pixbuf test
6704         
6705 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
6706
6707         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
6708         Add gdk_window_iconify.
6709
6710         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
6711         (gdk_window_set_geometry_hints): Add win_gravity
6712         to geometry structure.
6713
6714         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
6715         Implement _NET_WM_PING.
6716
6717         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
6718         Set _NET_WM_PID on the client leader.
6719
6720         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
6721         Handle UTF-8 better.
6722
6723         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
6724         UTF-8 better, set _NET_WM_NAME as well. Only set
6725         icon name if it hasn't previously been explicitely 
6726         set.
6727
6728 2000-10-03  Havoc Pennington  <hp@redhat.com>
6729
6730         * gtk/testtextbuffer.c: clean up trailing whitespace,
6731         add extensive tests for tag toggle iteration.
6732         
6733         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
6734         distance
6735
6736         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
6737         optimize case where the tag root is on level 1
6738         (gtk_text_line_previous_could_contain_tag): attempt to implement
6739         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
6740         functionality
6741
6742         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
6743         Implement this, though not very efficiently.
6744
6745         * gtk/gtktextiterprivate.h: reformat
6746
6747         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
6748         iterator
6749
6750         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
6751         this to properly revalidate the iterators.
6752
6753         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
6754         properly at the end of the line (and therefore on empty lines)
6755
6756         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
6757         maybe we should return a value...
6758
6759 2000-10-03  Tor Lillqvist  <tml@iki.fi>
6760
6761         * config.h.win32: Guard definition of alloca(). glib.h now handles
6762         that.
6763
6764         * gdk/gdk.def
6765         * gtk/gtk.def: Add new entry points.
6766
6767         Changes just to make GTK+ build without errors on Win32. No hope
6768         of it working in its current state, though...:
6769         
6770         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
6771         some functions from the X11 backend, just to make GTK+ build.
6772
6773         * gdk/makefile.mingw.in
6774         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
6775         number. Add new object files.
6776
6777         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
6778         GetMessageTime to get timestamp (where on X11 uses
6779         gdk_x11_get_server_time()).
6780
6781 2000-10-02  Havoc Pennington  <hp@pobox.com>
6782
6783         * gtk/gtktextview.c: text_window_* weren't static and should have
6784         been.
6785         Start work on child widgets; not yet complete, syncing to 
6786         office computer.
6787
6788         * gtk/gtktextchild.h: change this to contain a public interface,
6789         starting work on child interfaces.
6790         * gtk/gtktextchildprivate.h: move private interfaces here
6791
6792         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
6793
6794         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
6795         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
6796         gtk/gtktextmark.c: copyright notices
6797
6798         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
6799         internal functions      
6800
6801         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
6802         internal function
6803
6804         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
6805         Reformatting    
6806
6807 2000-09-30  Havoc Pennington  <hp@pobox.com>
6808
6809         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
6810         NULL start/end pointers
6811
6812         * gtk/gtktextbuffer.c: Write some docs
6813         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
6814         NULL, so you can just check whether there's a selection.        
6815
6816         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
6817         cleanup_line or segments_changed ourselves, it gets done 
6818         in unlink_segment
6819
6820         * gtk/gtktextmark.h:
6821         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
6822         
6823         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
6824
6825         * gtk/gtktextmark.c: delete some more old Tk cruft
6826
6827         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
6828         mark before removing it, so we can emit MARK_DELETED with a valid
6829         pointer.
6830         (gtk_text_buffer_mark_set): hold ref across signal emission
6831
6832         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
6833         whining about attempts to delete special marks
6834
6835         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
6836         underscore, since it's internal.
6837
6838         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
6839         now implemented in terms of iterators in gtktextiter.h
6840
6841         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
6842         New function, destructively sets contents of buffer. Also 
6843         a convenient way to clear the buffer by setting text to ""
6844
6845         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
6846         multiline string literal
6847
6848         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
6849         text changes.
6850
6851         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
6852         is not dereferenceable
6853         (gtk_text_iter_forward_lines): fix return value
6854
6855 2000-09-29  Havoc Pennington  <hp@redhat.com>
6856
6857         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
6858
6859         * gtk/gtktextview.c: Implement drag thresholding; change functions 
6860         that set border window size to have nicer name
6861         (gtk_text_view_mark_set_handler):  Fix this to have the 
6862         right signature.
6863
6864         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
6865
6866         * gtk/testtext.c: Update with API changes, put line numbers on 
6867         both sides.
6868         
6869         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
6870         with this
6871
6872         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
6873         pixbuf; delete a big block of #if 0 Tk code
6874
6875         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
6876         insert_pixmap with insert_pixbuf
6877
6878 2000-09-29  Martin Baulig  <baulig@suse.de>
6879
6880         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
6881         confusion with the GdkPixbuf of the GNOME 1.x platform.
6882
6883 2000-09-29  Havoc Pennington  <hp@pobox.com>
6884
6885         * gtk/gtktextview.c: Implement the side windows.
6886
6887         * gtk/testtext.c: Implement simple line numbering in the 
6888         left side window; seems to make scrolling sloooow. Oops.
6889         Also, cursor blink is for some reason causing redraws
6890         of the line numbers. Should investigate...
6891
6892 2000-09-28  Havoc Pennington  <hp@redhat.com>
6893
6894         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
6895         scrolling child windows, and draw focus rectangle properly.
6896         
6897         (gtk_text_view_buffer_to_window_coords):
6898         Coordinate transformation to deal with all these freaking windows
6899         and offsets
6900         (gtk_text_view_window_to_buffer_coords): transform the other way
6901
6902         * gtk/testtext.c (create_buffer): Update to match Pango API change
6903
6904         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
6905         anonymous tags
6906         (foreach_unref): don't emit remove signal from finalize, just
6907         set tag's parent to NULL
6908
6909 2000-09-26  Havoc Pennington  <hp@redhat.com>
6910
6911         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
6912         Fix some warnings       
6913
6914 2000-09-26  Havoc Pennington  <hp@redhat.com>
6915
6916         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
6917         headers into the private header list
6918
6919         * Makefile.am (pkgconfig_DATA): install pkg-config files
6920
6921         * configure.in: add pkg-config files
6922
6923         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
6924
6925         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
6926         outstanding icon caches on theme change.
6927
6928         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
6929         important types:
6930
6931         (GtkIconSource): Specification for creating a pixbuf 
6932         appropriate for a direction/state/size triplet from 
6933         a source pixbuf or filename
6934
6935         (GtkIconSet): List of GtkIconSource objects that are used to
6936         create the "same" icon (e.g. an OK button icon), and cache for
6937         rendered icons
6938
6939         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
6940         up the icon set for a given stock ID.  GTK maintains a stack of
6941         GtkIconFactory to search, and applications or libraries can add
6942         additional icon factories on top of the stack
6943         
6944         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
6945         the set of GtkIconSource specified for a given stock ID into 
6946         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
6947         RcStyle, under the specified stock ID.
6948
6949         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
6950         render_icon used to derive a GdkPixbuf from a GtkIconSource.
6951         This allows people to theme how prelight, insensitive, etc. are
6952         done.
6953
6954         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
6955         icon factories for a style, and return the resulting 
6956         icon set if any.
6957
6958         (gtk_style_render_icon): Render an icon using the render_icon 
6959         method in the GtkStyleClass.
6960
6961         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
6962         Use the style for a given widget to look up a stock ID, get the
6963         icon set, and render an icon using the render_icon method 
6964         of the style
6965
6966         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
6967         (contains information about a stock item), the built-in stock item
6968         IDs, and functions to add/lookup stock items.
6969
6970         * gtk/stock-icons/*: Stock icons that come with GTK
6971
6972         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
6973         a button based on a GtkStockItem
6974         (gtk_button_new_accel): Takes a uline string and accel group, and
6975         installs the accelerator.
6976
6977         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
6978         image-display widget.
6979
6980 2000-09-25  Havoc Pennington  <hp@redhat.com>
6981
6982         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
6983
6984         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
6985         Fix a bug when removing node data, we didn't properly 
6986         re-splice the linked list after removing the data.
6987
6988         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
6989         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
6990
6991         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
6992
6993         * gtk/gtktextlayout.c (set_para_values): Set tab array 
6994         for the layout from the GtkTextTag.
6995
6996         * gtk/gtktexttypes.h: delete tab and search cruft, 
6997         remove g_convert() in favor of GLib version
6998
6999         * gtk/gtktexttypes.c: remove tab implementation from here,
7000         move to Pango
7001
7002         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
7003         tab stuff using new PangoTabArray from Pango
7004
7005         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
7006         unused border_width stuff
7007
7008 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
7009
7010         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
7011         glib) and now useless utf_to_latin1() latin1_to_utf()
7012
7013         * gtk/gtktextview.[ch]: Change ::move_insert and
7014         ::delete_text action signals to ::move and ::delete;
7015         create the signals with the right enumeration type,
7016         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
7017         C-v bindings, change Home, End to move to beginning/end
7018         of line, Add C-Home C-End to move to beginning/end
7019         of buffer. Change ::cut_text to ::cut_clipboard, etc;
7020         combine ::scroll_text into ::move; use new GtkSelectionData
7021         functions to simplify DND text handling.
7022         
7023         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
7024         deletion enumerations here, rename enumeration values to 
7025         be consistently plural.
7026
7027         * gtk/gtktextbuffer.c: Use new clipboard interfaces
7028         for cut/copy/paste and primary selection.
7029
7030         * gtk/gtktextbuffer.[ch]: Remove excess time and
7031         'interactive' arguments from cut/copy/paste;
7032         rename cut to cut_clipboard, etc; remove
7033         gtk_text_buffer_get_clipboard_contents().
7034
7035         * gtk/gtktextlayout.[ch]: Add 
7036         gtk_text_layout_move_iter_to_line_end() to move the iter to 
7037         line ends.
7038
7039         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
7040         Functions to set or get a UTF-8 string on the selection
7041         data.
7042
7043         * gtk/gtkclipboard.[ch]: New, simplified selection handling
7044         interfaces.
7045
7046         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
7047         created widgets - one of these is useless if we don't.
7048
7049         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
7050         a public function clear all targets registered for the
7051         widget.
7052
7053         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
7054         Never call gtk_widget_realize() - that was just asking
7055         for bizarre side-effects.
7056
7057         * gtk/gtkselection.c (gtk_selection_owner_set): Call
7058         gdk_selection_owner_set even if the widget is the
7059         same so that we reliably update the timestamp on
7060         the server.
7061
7062         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
7063         gdk_x11_get_server_time() function.
7064         
7065         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
7066         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
7067         Add some tricky filtering on serial numbers for
7068         selection clear events to fix up long-standard
7069         race condition FIXME's in gtkselection.c.
7070
7071         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
7072         routines to convert from utf8 to compound text or
7073         STRING and from a text property to UTF-8.
7074
7075         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
7076         a convenience function gdk_get_current_event_time().
7077
7078         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
7079         and free selection_data->data properly
7080
7081 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
7082
7083         * gtk/gtkthemes.c: Remove some unecessary includes.
7084
7085 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
7086
7087         * gtk/gtktextdisplay.c
7088         * gtk/gtktextlayout.c
7089         * gtk/gtktexttag.c
7090         * gtk/gtktexttag.h
7091         * gtk/testtext.c: Change the overstrike property to strikethrough,
7092         to closer match pango.
7093
7094 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
7095
7096         * gtk/gtktextview.c: Fix up visibility so that focus,
7097         cursor_visible and blink interact properly.  Reenable cursor blink
7098         which had been roughly disabled. Make blink and focus
7099         properly per-view.
7100
7101         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
7102         Add a flag for whether to display insertion cursor and
7103         a function to set the flag.
7104
7105         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
7106         get_line_y() to get_line_yrange(), to be a bit more generally
7107         useful.
7108
7109 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
7110
7111         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
7112           do stop_navigating_submenu, to clear last timeout properly.
7113           Also in gtk_menu_motion_notify move ignore_enter above
7114           the conditional to make it always happen as suggested by Owen
7115
7116 2000-09-07  Tor Lillqvist  <tml@iki.fi>
7117
7118         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
7119
7120         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
7121         w32api headers.
7122
7123         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
7124         declarations.
7125
7126         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
7127         (gdk_win32_get_colormap): A line had been deleted by mistake.
7128
7129         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
7130         (gdk_event_translate): Handle more virtual keycodes to be able to
7131         generate GDK events for Control-comma, Control-period, etc.
7132
7133         * gtk/gtk.def: Add some missing entry points.
7134
7135 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
7136
7137         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
7138         Doc comment fixing. (Mostly non-matching parameter names.)
7139
7140         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
7141         comments a little to avoid looking like a doc comment.
7142
7143         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
7144         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
7145         conversions be changed to GError?)
7146
7147         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
7148         Move private #defines into .c file.
7149
7150         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
7151         order of argument addition, remove duplicates.
7152
7153         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
7154         parent class is FrameClass, not BinClass.
7155
7156         * gtk/gtk.h: Add gtkinvisible, which was missing.
7157         (It's occasionalyl useful for client apps, if seldom.)
7158
7159         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
7160         #define.
7161
7162 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
7163
7164         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
7165         coordinates when creating window, instead of GDK-space
7166         coordinates. (Avoid BadValue on too large windows.)
7167
7168 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7169
7170         * configure.in (use_mmx_asm): Remove conftest* after use along the
7171         lines of AC_TRY_COMPILE.        
7172         
7173         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
7174         of g_dirname, which is deprecated.
7175         (gtk_rc_parse_any): Removed calls to
7176         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
7177
7178         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
7179         Removed calls to g_hash_table_{freeze,thaw}, as they are
7180         deprecated now.
7181
7182         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
7183         instead of g_basename.
7184         
7185 2000-09-04 Elliot Lee <sopwith@redhat.com>
7186         
7187         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
7188         ANSI warning.
7189
7190 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
7191
7192         * gtk/gtkwidget.h:  Add some documenting comments about 
7193           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
7194           just as owen said on irc.
7195
7196         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
7197           set HAS_DEFAULT.  Only set it if there isn't another window
7198           holding it (a focus window which RECEIVES_DEFAULT) and only unset
7199           it if the widget is not the focused window with RECEIVES_DEFAULT.
7200           This fixes weird double default bugs in dialogs which has things
7201           call gtk_window_set_default at times.
7202
7203 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
7204
7205         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
7206         Nils Barth and David Santiago to improve submenu
7207         navigation. The patch does this by creating a triangular
7208         region from the point where the pointer leaves the
7209         menu to the submenu.  While the pointer is in
7210         that region and a timeout has not expired, events 
7211         that would cause the active submenu to change are
7212         ignored.
7213
7214 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
7215
7216         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
7217         moving a toplevel window immediately after sizing it would
7218         result in it being sized back to the old size since 
7219         impl->width, impl->height aren't updated until we hear
7220         back from the server. There is still a (longstanding) bug
7221         here that gdk_window_get_size() will give the wrong size
7222         until we do hear back.
7223
7224 2000-08-31  Havoc Pennington  <hp@redhat.com>
7225
7226         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
7227         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
7228         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
7229         Rename GtkTextStyleValues to GtkTextAttributes
7230
7231 2000-08-31  Havoc Pennington  <hp@pobox.com>
7232
7233         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
7234         for rapid testing whether an iterator is the end iterator
7235         (gtk_text_btree_new): init end line cache
7236         (gtk_text_line_is_last): use fast cached line to 
7237         see if we're the last line.
7238         (get_last_line): use cached line here too, should 
7239         speed up some random unrelated code.
7240         
7241 2000-08-30  Havoc Pennington  <hp@pobox.com>
7242
7243         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
7244         signals.
7245
7246         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
7247         delete_text signals. This allows the signals to be used for
7248         implementing undo.
7249
7250         * gtk/gtktextbuffer.c: Change signal handler signatures; 
7251         provide "interactive" argument when emitting insert_text or
7252         delete_text signal.
7253         
7254 2000-08-30  Havoc Pennington  <hp@pobox.com>
7255
7256         * gtk/gtktextbuffer.c: Docs
7257
7258 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
7259
7260         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
7261         from switch statements, since Tor removed the enumeration
7262         value.
7263         
7264         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7265         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
7266
7267 2000-08-29 Elliot Lee <sopwith@redhat.com>
7268         * */*.h: Use G_GNUC_CONST.
7269
7270 2000-08-27  Havoc Pennington  <hp@pobox.com>
7271
7272         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
7273         minor indentation fixes, inserted some FIXME about stuff I
7274         realized was broken while documenting it.
7275         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
7276         GTK convention  
7277
7278 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
7279
7280         * gtk/testgtk.c (create_styles): Fix double free of
7281         font desc.
7282
7283 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7284
7285         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
7286         
7287         * gtk/testgtk.c (create_styles): Add a test for modifying
7288         the style through gtk_widget_modify_*.
7289
7290         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
7291         a function to get the current modifier style.
7292
7293         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
7294         of the passed in GtkRcStyle instead of ref'ing it.
7295
7296         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
7297
7298 2000-08-20  Tor Lillqvist  <tml@iki.fi>
7299
7300         * gdk/gdkimage.h
7301         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
7302         shared memory image+pixmap GdkImage type, or
7303         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
7304         I am dropping that.
7305
7306         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
7307         actually call gtk_init_abi_check(), passing also
7308         sizeof(GtkWindow). Ditto for gtk_init_check(). 
7309
7310         * gtk/gtk.def
7311         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
7312         New functions, used to check that the GTK+-using code has been
7313         compiled using the correct compiler and switches. In particular,
7314         with gcc one has to use the -fnative-struct switch as GTK+ is
7315         compiled with that.
7316
7317 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
7318
7319         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
7320         ->prev fields when merging lists. (Found simultaneously
7321         by Pawel Salek and Jakub Jelinek)
7322
7323 2000-08-12  Tor Lillqvist  <tml@iki.fi>
7324
7325         * gdk/gdk.def
7326         * gtk/gtk.def: Add missing entries.
7327
7328         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
7329         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
7330
7331         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
7332         function. Dummy implementation at this point.
7333
7334         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
7335         rules. Undefine GTK_COMPILATION when compiling the test programs.
7336         
7337         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
7338
7339 2000-08-11  Tor Lillqvist  <tml@iki.fi>
7340
7341         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
7342         to convert back and forth from UTF-8 and the "system" (or "current
7343         locale") charset when necessary. Indentation/spacing cleanup.
7344
7345 2000-08-10  Havoc Pennington  <hp@redhat.com>
7346
7347         * Makefile.am (snapshot): Change the format of the snapshot
7348         version to match glib
7349
7350         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
7351         from EXTRA_DIST since it doesn't seem to exist
7352
7353 2000-08-10  Tor Lillqvist  <tml@iki.fi>
7354
7355         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
7356         version of the directory name (not the UTF-8 one) when building
7357         the path name to stat().
7358
7359 2000-08-03  Elliot Lee  <sopwith@redhat.com>
7360
7361         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
7362         PANGO_ATTR_SHAPE set.
7363
7364 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
7365
7366         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
7367         Peter Osterlund to simplify the code while keeping the
7368         functionality the same.
7369
7370 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
7371
7372         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
7373         is_viewable() test further inside the function, since removing the 
7374         window from the redraw list without clearing ->update_area
7375         was also very broken.
7376
7377 2000-08-02  Tor Lillqvist  <tml@iki.fi>
7378
7379         * configure.in: Check for <unistd.h>.
7380
7381 2000-08-01  Martin Baulig  <baulig@suse.de>
7382
7383         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
7384         to display the message that this is a development version of GTK+.
7385
7386 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
7387
7388         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
7389         was depending on widget->allocation instead of the width of text_area,
7390         which was incorrect for subclasses like GtkSpinButton.
7391
7392         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
7393         with width == 1 tests that should be width == -1.
7394
7395 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
7396
7397         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
7398         (broken, Elliot, every single window blank on X) custom code with call
7399         to gdk_window_is_viewable() which a) prevents code duplicate and
7400         b) works. 
7401
7402 2000-07-31  Elliot Lee  <sopwith@redhat.com>
7403
7404         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
7405         to get the GDK_PARENT_ROOT() macro to work.
7406         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
7407         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
7408         of, windows that aren't shown.
7409         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
7410         pointer grab stuff.
7411
7412 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
7413
7414         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
7415           s/gtk_main_iteration/g_main_iteration/
7416
7417           Did this already in change:
7418                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
7419           don't know how it got reverted.
7420
7421 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
7422
7423         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
7424         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
7425
7426         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
7427         not gdk_pixbuf.
7428
7429 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
7430
7431         * configure.in,po/{sp,sr}.po: Added Serbian files
7432
7433 2000-07-30  Tor Lillqvist  <tml@iki.fi>
7434
7435         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
7436
7437         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
7438         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
7439         GIOChannel implementation.
7440
7441         * gdk/win32/gdkinput.c
7442         * gdk/win32/gdkpango-win32.c: Update license name here, too.
7443
7444         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
7445         definition to match prototype.
7446
7447         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
7448
7449 2000-07-27  Elliot Lee  <sopwith@redhat.com>
7450
7451         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
7452         function, to allow handling image formats that cannot be detected
7453         by looking at content alone.
7454
7455 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
7456
7457         * docs/tutorial/*.gif *.jpg *.eps
7458           Update these to the same look-n-feel.
7459           Why does including images in DocBook suck so badly?
7460
7461 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
7462
7463         * gtk/gtktable.c: applied patch from Phil Thompson
7464         <phil@river-bank.demon.co.uk> that enables space settings for
7465         the last row/columns as well.
7466
7467 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
7468
7469         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
7470         updates the license headers to the GNU Lesser General Public License,
7471         as well as updating the copyright year to 2000.
7472
7473 2000-07-26  Robert Brady  <rwb197@zepler.org>
7474
7475         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
7476           and po/Makefile, was installing and looking for them under gtk20
7477           and gtk2 respectively.
7478
7479 2000-07-25  Havoc Pennington  <hp@redhat.com>
7480
7481         * gtk/testtext.c: Comment out some stuff that depends on the rest
7482         of my patches.
7483
7484 2000-07-25  Havoc Pennington  <hp@redhat.com>
7485
7486         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
7487         buffer
7488
7489 2000-07-25  Havoc Pennington  <hp@redhat.com>
7490
7491         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
7492         widget changes.
7493
7494         * gtk/gtktextview.h: To be consistent with usage of "line"
7495         throughout the API to mean "newline-terminated thingy", change
7496         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
7497         to MOVEMENT_LINE.
7498
7499         (GtkTextView): Add flags for default editability, and whether to
7500         show the cursor. Add functions to get/set that. Add 
7501
7502         (gtk_text_view_get_iter_location): new function
7503
7504         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
7505         gtktextlayout.h
7506         (g_convert): Add g_convert temporarily, will go in glib in a bit
7507         
7508         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
7509         GtkTextTagTableForeach instead of brokenly using GHFunc.
7510         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
7511
7512         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
7513         moved to public header.
7514
7515         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
7516         "invisible", since "elide" was a bad name.
7517         (gtk_text_tag_get_priority): Added
7518
7519         (GtkTextStyleValues): put this in public header, along with
7520         functions to use it.
7521
7522         * gtk/gtktextmarkprivate.h: Include more headers, since we no
7523         longer include gtktextbtree.h.
7524
7525         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
7526         gtk_text_mark_deleted
7527
7528         * gtk/gtktextlayout.h: Don't include the "really private" headers,
7529         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
7530         to make this possible. Now we only need to install
7531         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
7532         (However the Makefile.am isn't changed yet because of the
7533         logistics of merging gtk-hp-patches piecemeal)
7534
7535         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
7536         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
7537         gtk_text_iter_get_line is now used in the public API for a
7538         different purpose.
7539
7540         * gtk/gtktextiter.h: Clean up function names to be more
7541         consistent. Always call char offset "offset" and byte index
7542         "index". A "line" is always a line number. 
7543
7544         (gtk_text_iter_is_last): new function, more efficient than 
7545         the existing way to check
7546         (gtk_text_iter_is_first): new function, also more efficient
7547
7548         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
7549
7550         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
7551         gtk_text_iter_forward_char, etc.
7552
7553         (gtk_text_iter_forward_to_tag_toggle): Renamed from
7554         forward_find_tag_toggle, since this isn't a linear search
7555
7556         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
7557
7558         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
7559         New functions, search for a buffer substring.
7560
7561         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
7562         interactive and default editable (since we need to store that info
7563         until we receive the selection data).
7564
7565         Remove all the _at_char and at_line etc. versions of functions;
7566         only have iterator versions.
7567
7568         Add _interactive() versions of functions, that consider the
7569         editability of text. (FIXME add interactive flag to the 
7570         insert/delete signals per Darin's suggestion)
7571
7572         (gtk_text_buffer_get_tag_table): new function, demand-creates the
7573         tag table if necessary
7574
7575         Remove declaration of gtk_text_buffer_get_iter_from_string
7576
7577         (_gtk_text_buffer_get_btree): private/internal function, added.
7578         
7579
7580         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
7581         (gtk_text_line_is_last): new function
7582
7583 2000-07-25  Havoc Pennington  <hp@redhat.com>
7584
7585         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
7586         using GtkProgressBar. See Changes-2.0.txt for details.
7587
7588         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
7589         "pulse_step" which are the equivalent of
7590         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
7591         Implement new API.
7592         
7593         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
7594         (use_text_format) to mark whether text set on the progress bar is
7595         a format string. Deprecate entire GtkProgress interface.
7596
7597         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
7598         (gtk_progress_build_string): make this a no-op if use_text_format
7599         is FALSE
7600
7601         * docs/Changes-2.0.txt: Describe progress bar changes.
7602
7603 2000-07-25  Tor Lillqvist  <tml@iki.fi>
7604
7605         * Makefile.am: Include the build directory.
7606
7607         * configure.in: Generate build/Makefile, build/win32/Makefile,
7608         gdk/, gdk/win32/, and gtk/makefile.mingw.
7609
7610         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
7611         Add GETTEXT_PACKAGE.
7612         
7613         * gdk/gdk.def
7614         * gtk/gtk.def: Updates.
7615
7616         * gdk/gdkfont.h
7617         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
7618         need them any longer.
7619
7620         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
7621
7622         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
7623         PANGOWIN32_LIBS and gdk_pixbuf.
7624
7625         * gdk/win32: Compiles, but no doubt doesn't work at all.
7626
7627         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
7628
7629         * gdk/win32/gdkinput.c: New file, temporarily.
7630         
7631         * gdk/win32/gdkinput-win32.h: New file
7632
7633         * gdk/win32/gdkinputprivate.h: Remove.
7634
7635         * gdk/win32/gdkpango-win32.c: New file.
7636
7637         * gtk/makefile.mingw.in: New file
7638
7639         * gtk/makefile.cygwin: Removed
7640         
7641         * gtk/Makefile.am: Update accordingly.
7642
7643         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
7644         made externally visible.
7645
7646         * gtk/gtkmain.c: Use it.
7647         
7648         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
7649         is enough.
7650
7651         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
7652
7653 2000-07-24 Elliot Lee <sopwith@redhat.com>
7654         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
7655         individual backends already.
7656         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
7657         again. Yes, there really is a good reason for this, if you are using the gdkregion
7658         internals, and if you're not, why do you care?
7659         * gdk/gdkwindow.c: Fix inverted condition
7660         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
7661         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
7662         * gtk/gtkrange.c: Redraw trough when moving.
7663         * gtk/gtktypeutils.c: Fix warning by adding const cast.
7664         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
7665
7666 2000-07-23  Tor Lillqvist  <tml@iki.fi>
7667
7668         * configure.in: Check for mkstemp and sigsetjmp. Output
7669         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
7670
7671         More work on GDK for Win32. Still in an intermediate state.
7672
7673         * gdk/makefile.cygwin
7674         * gdk/win32/makefile.cygwin: Removed.
7675         
7676         * gdk/makefile.mingw.in
7677         * gdk/win32/makefile.mingw.in: New files.
7678
7679         * gdk/Makefile.am
7680         * gdk/win32/Makefile.am: Generate and distribute them.
7681
7682         * gdk/win32/gdkwindow-win32.h
7683         * gdk/win32/gdkdrawable-win32.h
7684         * gdk/win32/gdkpixmap-win32.h: New files.
7685
7686         * gdk/win32/gdkcolor-win32.c
7687         * gdk/win32/gdkcursor-win32.c
7688         * gdk/win32/gdkdrawable-win32.c
7689         * gdk/win32/gdkgc-win32.c
7690         * gdk/win32/gdkimage-win32.c
7691         * gdk/win32/gdkprivate-win32.h
7692         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
7693         Rename fields and variables called xcursor, xid, etc (these names
7694         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
7695
7696 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
7697
7698         * gtk/gtkentry.[ch]: Fix some problems with vertical
7699         alignment.
7700
7701         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
7702         char/byte confusion.
7703
7704 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
7705
7706         * gtk/gtktextview.c (changed_handler): Fix bug where
7707         redraw wasn't being done properly when height of
7708         dirty region changed.
7709
7710         * demos/Makefile.am: Remove various references to
7711         -lgmodule
7712
7713 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
7714
7715         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
7716         PangoAttrShape to reserve space for pixmaps, add 
7717         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
7718         in the display functions.
7719         
7720         * gtk/testgtk.c (create_layout): Set some more exotic
7721         scrolled window options
7722
7723         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
7724         Add function to set the shadow type of a window, to allow
7725         putting a shadow around widgets such as GtkLayout or GnomeCanvas
7726         which don't draw their own frame.
7727
7728 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
7729
7730         * docs/tutorial/package-db-tutorial.sh: New file for
7731           packaging DocBook format tutorial
7732
7733 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
7734
7735         * docs/tutorial/gtk-tut.sgml: Minor updates
7736
7737         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
7738
7739 2000-07-19  Tor Lillqvist  <tml@iki.fi>
7740
7741         * gtk/gtksignal.c: Fix C++ comment.
7742
7743         * gtk/gtkimmulticontext.c
7744         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
7745         don't return value from void functions.
7746
7747         * gtk/gtk.def: Add gtk_rc_style_unref.
7748
7749 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7750
7751         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
7752         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
7753         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
7754         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
7755         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
7756         gtk/gtktypeutils.h: Include files outside of the extern "C"
7757         block. Makes some C++ compiler happy. Reported by Denis Vakatov
7758         <vakatov@peony.nlm.nih.gov>.
7759
7760 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
7761
7762         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
7763           Completes first pass. Hurrah!
7764
7765 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
7766
7767         * docs/tutorial/gtk-tut.sgml: More clean ups.
7768
7769 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
7770
7771         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
7772         paint the background of the text area which was accidentally
7773         removed at some point.
7774
7775         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
7776           
7777          - Move most of the functionality from the theme vtable
7778            into GtkRcStyleClass and GtkStyleClass. The moved
7779            vtable functions were changed a bit in the move to
7780            work better in their new home.
7781
7782          - Get rid of the engine and engine_data fields from
7783            GtkRcStyle and GtkStyle; instead the theme
7784            engine derives theme-specific subclasses of GtkRcStyle
7785            and GtkStyle
7786
7787          - Add extra dlsym() found entry point to themes,
7788            theme_create_rc_style().
7789
7790         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
7791         in gtk_style_real_copy.
7792
7793         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
7794         to register a type associated with an engine. (The engine
7795         won't be unloaded as there is an instance of the type.)
7796
7797
7798 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
7799
7800         * docs/tutorial/gtk-tut.sgml: Clean ups.
7801
7802 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
7803
7804         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
7805           of cleaning up to do.
7806
7807 2000-07-15  Tor Lillqvist  <tml@iki.fi>
7808
7809         * gdk/testgdk.c: New file, quick hack to test backends for
7810         pixel-by-pixel correctness of the most simple graphic operations.
7811
7812 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
7813
7814         * Really release 1.3.1
7815         
7816         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
7817         include structure.
7818
7819 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
7820
7821         * Released 1.3.1
7822
7823 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
7824
7825         * gtk/gtktextlayout.c: use FALSE for size_only most
7826         of the time when calling gtk_text_layout_get_line_display()
7827         to avoid causing double reshapes when a redraw follows
7828         immediately after.
7829
7830 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
7831
7832         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
7833         appropriate region and gdk_window_process_updates() so trough
7834         updating doesn't lag behind the window being scrolled.
7835
7836         * gdk/gdkgc.c: Make parent_class pointer static.
7837          
7838 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
7839
7840         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
7841         include <string.h>.
7842          
7843         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
7844         cut-and-paste error in computing memory offset for 4 channels.
7845
7846 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
7847
7848         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
7849         gtk_rc_append_default_pixmap_path(), since it wasn't
7850         adding an interesting path and we don't have a meaningful
7851         default for this value.
7852
7853 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
7854
7855         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
7856         gtk-config to gtk-config-2.0 move gtk_.m4 to
7857         gtk-2.0.m4
7858
7859         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7860         gdk/Makefile.am demos/Makefile.am: Change 
7861         library names to libgtk-1.3.la, etc, so that we
7862         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
7863
7864         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7865         gdk/Makefile.am gdk/x11/Makfile.am
7866         Move include files into /usr/include/gtk-2.0, 
7867         /usr/lib/gtk-2.0/include/
7868          
7869         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
7870         gtk/gtkintl.h: Change package for gettext from 
7871         gtk+ to gtk20. Put hack in autogen.sh to modify
7872         po/Makefile.in.in after gettextize to make this
7873         possible.
7874
7875         * gtk+.spec: Some updates, not tested.
7876
7877         * gdk-pixbuf/Makefile.am: Move loaders into
7878         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
7879
7880         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
7881         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
7882         to THEMENAME/gtk-2.0/. Move engine directory  to
7883         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
7884         
7885 2000-07-12  Tor Lillqvist  <tml@iki.fi>
7886
7887         Win32 changes, still doesn't build though.
7888
7889         * gdk/makefile.cygwin
7890         * gdk/win32/makefile.cygwin
7891         * gtk/makefile.cygwin: Updates.
7892
7893         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
7894         default values for fg and bg pixel as X11 does (0 and 1), not
7895         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
7896         Use 0 for pen width by default (treated as 1 anyway later, but for
7897         apps that might check the value in the GdkGC).
7898         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
7899         interface to gdk_gc_predraw and _postdraw.
7900
7901         * gdk/win32/gdkwin32.h
7902         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
7903
7904         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
7905         extraneous semicolon.
7906
7907         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
7908
7909         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
7910         not the Win32 bitspixel value.
7911
7912         * gdk/win32/gdkcc-win32.c:
7913         * gdk/win32/gdkcolor-win32.c 
7914         * gdk/win32/gdkprivate-win32.h
7915         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
7916         GDK object structure.
7917
7918 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
7919
7920         * docs/tutorial/gtk_tut_12.es.sgml (name): 
7921         * docs/tutorial/gtk_tut_it.sgml (name): 
7922         * docs/tutorial/gtk_tut_fr.sgml (name): 
7923         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
7924         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
7925
7926 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
7927
7928         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
7929           small changes.
7930
7931 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
7932
7933         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
7934         a bug here, never been here and never fixed anything ;(
7935         (don't segfault if tree->root_tree is NULL, which happens prior
7936         to widget realization, but puke instead).
7937
7938 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
7939
7940         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
7941         add the necessary tokens.
7942
7943         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
7944         (gtk_rc_style_to_style): copy thicknesses.
7945         (gtk_rc_init_style): apply thicknesses.
7946         (gtk_rc_parse_style): parse xthickness and ythickness.
7947
7948         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
7949
7950         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
7951         (gdk_window_new): 
7952         (_gdk_windowing_window_init): 
7953         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
7954         (gdk_pixmap_create_from_data): 
7955         (gdk_bitmap_create_from_data): 
7956         (gdk_pixmap_new): 
7957         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7958         (gdk_image_new): 
7959         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
7960         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
7961         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
7962         (gdk_colormap_get_system): 
7963         (gdk_colormap_new): 
7964         * gdk/gdkwindow.c (gdk_window_init): 
7965         * gtk/gtkstyle.c (gtk_style_new):
7966         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
7967         * gdk/gdkpixmap.c (gdk_pixmap_init): 
7968         * gtk/gtkrc.c (gtk_rc_style_new):
7969         use g_object_new() instead of g_type_create_instance() which
7970         is a private function for fundamental type implementations.
7971
7972 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
7973
7974         * configure.in: Add check for db2html
7975
7976 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
7977
7978         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
7979         hack to set glib_debug_objects based on gtk_debug_flags.
7980
7981 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
7982
7983         * INSTALL.in: Update the Prerequisites section.
7984
7985         * Makefile.am demos/Makefile.am docs/Makefile.am
7986         docs/tutorial/Makefile.am gdk/x11/Makefile.am
7987         gdk/linux-fb/Makefile.am: Dist fixes
7988
7989 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
7990
7991         * NEWS: 10,000 foot view of 1.3.1 changes.
7992
7993 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
7994
7995         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
7996         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
7997         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
7998         gdk/x11/gdkmain-x11.c: 
7999
8000         Patch from George Lebl to add a GdkGrabStatus enumeration to use
8001         as a return value of gdk_*_grab(). Previously, we just
8002         returned the X11 values directly.
8003
8004 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
8005
8006         * gdk/x11/Makefile.am: Patch from George Lebl to 
8007         install all the headers in the right place.
8008
8009 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
8010
8011         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
8012           initial conversion to DocBook.
8013
8014 2000-07-04  Tor Lillqvist  <tml@iki.fi>
8015
8016         * README.win32: Improve a bit.
8017
8018         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
8019         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
8020         Alt+0nnn on the numpad (used to enter characters by numeric code
8021         from current DOS or ANSI codepage) working correctly, as in other
8022         Windows apps.
8023
8024         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
8025         same argument validity tests as in X11 version.
8026         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
8027
8028         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
8029         definitions in case missing from headers.
8030
8031         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
8032         destroy the window-specific cursor.
8033         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
8034         calling GetModuleHandle(NULL).
8035         (gdk_window_set_cursor): Reworked to always copy the passed cursor
8036         with CopyCursor before setting it as the window-specific
8037         cursor. It is OK for the caller to destroy the GdkCursor (and thus
8038         also its Windows cursor) after calling this function. Destroy any
8039         previous window-specific cursor.
8040
8041 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
8042
8043         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
8044         font charset is iso8859-1, not iso-8859-1.
8045
8046 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
8047
8048         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
8049         Use g_get_charset() instead of g_get_codeset().
8050
8051         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
8052         Comment out some strdup'ing functions to keep timj
8053         happy until we finish fighting this out.
8054
8055 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
8056
8057         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
8058         <= width or height.
8059
8060         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
8061         from 1.2 for parent/child states.
8062
8063         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
8064         of typos.
8065
8066         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
8067         event structures, replace with a generic axes field. Replace 
8068         deviceid/sourec with GdkDevice *device.
8069
8070         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
8071         to extract particular axis use value from event. (Also
8072         can be used for normal X/Y.)
8073
8074         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
8075         allow for arbitrary number of axes, namespace everything
8076         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
8077         everywhere.
8078
8079         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
8080         Get rid of the gdk_input_vtable setup if favor of simply
8081         defining the functions in gdkinput-none/gxi/xfree.c in
8082         a similar fashion to the way that the port structure is 
8083         done.
8084
8085         * gtk/gtkdnd.c: Fix fields of synthesized button press event
8086         for new event structures. 
8087
8088         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
8089         new device interfaces.
8090
8091 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
8092
8093         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
8094         set the initial text.
8095
8096         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
8097         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
8098         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
8099         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
8100
8101         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8102         pango_layout_set_font_description to simplify.
8103
8104 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
8105
8106         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8107         pango_layout_set_font_description to simplify.
8108
8109 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
8110
8111         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
8112         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
8113         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
8114
8115         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
8116         PANGO_PIXELS() macro.
8117
8118 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
8119
8120         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
8121         that returns a PangoContext owned by the widget and updated to
8122         match future changes in the widget. Also, make 
8123         gtk_widget_create_pango_layout() use this context. If we ever
8124         add a ::changed signal to PangoContext, this will make things
8125         much more convenient. 
8126
8127         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
8128         in the appropriate places instead of destroying the layouts and
8129         creating new ones.
8130
8131         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
8132         in a few strategic places.
8133
8134 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
8135
8136         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
8137         gtk_widget_size_request() on reparented child, if one. Otherwise,
8138         queue_resize() on the child never results in it getting size-requested
8139         at all.
8140
8141         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
8142         in option menus, so that (with luck) people won't copy it into
8143         their apps in the future.
8144
8145         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
8146         to gtk_option_menu_calc_size. This isn't perfect, but should fix
8147         a lot of problems with changing the size of the menu's menu
8148         items after adding it to the option menu.
8149
8150         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
8151
8152         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
8153         the text direction for a widget changes.
8154
8155         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
8156         ::direction_changed to get rid of various hacks.
8157
8158 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
8159
8160         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
8161         name.
8162
8163 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
8164
8165         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
8166         flag to the structure. Do not call XFreePixmap on pixmaps created
8167         by gdk_pixmap_foreign_new().
8168
8169 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
8170
8171         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
8172         value using GdkRGB functionality given GdkColormap and GdkColor.
8173         (name not final, waiting for inspiration.)
8174         
8175         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
8176         set the foreground/background of a GC using the GC's colormap
8177         and GdkRGB. (name not final, waiting for inspiration.)
8178
8179         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
8180         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
8181
8182         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
8183         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
8184         purely a function of the corresponding colormap. Make
8185         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
8186
8187         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
8188         gdk_pixbuf_*create_from_xpm_* in terms of
8189         gdk_pixbuf_new_from_xpm_data(), move into platform independent
8190         code.
8191
8192         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
8193         advantage of the new draw_rgb_32_image_dithalign.
8194
8195         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
8196
8197         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
8198         on each created GC.
8199
8200         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
8201
8202         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
8203         which we initialize from the drawable when the GC is created,
8204         if the drawable has a colormap.
8205
8206         * gdk/x11/gdkgc-x11.c: include string.h for memset.
8207
8208         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
8209
8210         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
8211
8212 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
8213
8214         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
8215         actually returning expose events, make sure to set
8216         the count field properly.
8217
8218         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
8219         accidentally reintroced bug which always cleared
8220         the graphics_exposures value. 
8221
8222 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
8223
8224         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
8225
8226 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
8227
8228         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
8229
8230 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
8231
8232         * docs/faq/gtk-faq.sgml: Start of Section 6.
8233
8234 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
8235
8236         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
8237         
8238         (Fixes problem with drawing childless frames. Pointed out
8239         by and a first patch from Anders)
8240         
8241         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
8242         compute a child_allocation, even if we don't have a child.
8243
8244         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
8245         Always chain to the parent's impl, even if we don't have a child.
8246
8247 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8248
8249         * gdk/gdkrgb.c: If possible, create only a single shm segment and
8250         use multiple parts of it instead of creating a bunch of separate
8251         segments, since the maximum number of segments per system is not
8252         large. (This might be worth backporting to GTK+-1.2.x if we make a
8253         new release )
8254
8255         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
8256         structure in preparation for per-colormap GdkRGB.
8257
8258         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
8259         to False when we get EINVAL from shmget so that the caller of
8260         gdk_image_new can retry with a smaller segment size.
8261
8262 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
8263
8264         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
8265
8266 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
8267
8268         * configure.in: make the current version number 1.3.1 (binary age 0,
8269         interface age 0).
8270         
8271         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
8272         gtkcompat.h is all we want.
8273
8274         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
8275         GLib primitive types. fixed g_type_register_fundamental() argument
8276         ordering.
8277
8278         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
8279         compiles.
8280
8281         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
8282         object code cleanup, comment trigraph fixes, etc...
8283
8284 2000-06-23  Havoc Pennington  <hp@redhat.com>
8285
8286         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
8287         instead of making up a bogus name for first_para_mark
8288
8289         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
8290         0 as a context ID
8291
8292 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
8293
8294         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
8295
8296 2000-06-21  Havoc Pennington  <hp@pobox.com>
8297
8298         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
8299         we didn't check window->bg_pixmap != GDK_NO_BG.
8300
8301         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
8302         gdk-pixbuf
8303
8304 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
8305
8306         * docs/faq/gtk-faq.sgm: Move file to here.
8307           TODO: Update Makfile.am 
8308
8309 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
8310
8311         * docs/gtk-faq.sgm: Add Section 2
8312
8313 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
8314
8315         * docs/gtk-faq.sgm: New file. Start of DocBook
8316           version of the FAQ.
8317
8318 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
8319
8320         * configure.in (GDK_PIXBUF_MAJOR): Define version
8321         numbers for GDK_PIXBUF_*, as they get substituted
8322         into a header file. Need to consider versioning
8323         for gdk-pixbuf more carefully later.
8324
8325 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
8326
8327         Work with srcdir != builddir.   
8328         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
8329         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
8330         * demos/testpixbuf.c: Likewise.
8331         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
8332         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
8333         <gdk/x11/gdkx.h>.
8334         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
8335         "gdk-pixbuf.h".
8336         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
8337
8338 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
8339
8340         * TODO.xml: Change 1.4 version numbers to 2.0.
8341
8342 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
8343
8344         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
8345         fixups to GTK+ standard.
8346
8347 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
8348
8349         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
8350         gdk-pixbuf.
8351
8352         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
8353         fixups for GObject.
8354
8355         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
8356         gdk-pixbuf with GDK dependencies moved into GDK.
8357         
8358         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
8359         move gdk-pixbuf-loader here until GObject has signals.
8360
8361         * demos/: New directory of demos. Move demos from
8362         gdk-pixbuf here.
8363
8364         * demos/pixbuf-init.c: Small bit of code to check for
8365         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
8366         set GDK_PIXBUF_MODULEDIR appropriately.
8367
8368         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
8369         define which no longer makes sense.
8370
8371 2000-06-21  Havoc Pennington  <hp@redhat.com>
8372
8373         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
8374         gtk_get_default_language
8375
8376         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
8377         new function to get the default language
8378
8379         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
8380         s/gtk_text_view_style_values/gtk_text_style_values/
8381
8382         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
8383         Add a "language" field to tags.
8384
8385         (gtk_text_tag_set_arg): Fix bug in setting
8386         "bg_full_height_set" tag.
8387
8388 2000-06-21  Havoc Pennington  <hp@redhat.com>
8389
8390         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
8391         in the interfaces
8392
8393         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
8394         stuff instead when possible.
8395
8396         * gtk/gtktexttypes.h: Delete some unused constants
8397
8398         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
8399         testtextbuffer.c: use glib instead of custom unicode routines
8400
8401 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
8402
8403         * docs/es/: Removed mistakenly added generated sgml
8404
8405         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
8406         Remove outdated info files.
8407
8408         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
8409         Moved tutorial files into subdir
8410
8411         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
8412         subdir.
8413
8414         * docs/man/gtk_button.pod: Remove. (contents will be
8415         integrated into gtk-reference button page.)
8416
8417         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
8418         docs/faq/Makefile.am: Adjust for new organization
8419
8420 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
8421
8422         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
8423         not $(MKINSTALLDIRS)
8424
8425 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
8426
8427         * gtk/testgtk.c (create_text): Finish the job Elliot started
8428         of removing font setting test for text widget. (Since text widget
8429         and GdkFont are not deprecated, and cause portability problems.)
8430
8431 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
8432
8433         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
8434         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
8435         Remove use of libunicode in favor of new GLib functions.
8436
8437         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
8438         nano-x, framebuffer. The X11 include is just a hack until we get
8439         the necessary functions in gdkcolor.h, so there is no reason to
8440         add other includes of platforms.
8441
8442         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
8443         window bigger than the screen change.
8444
8445         * gtk/testgtk.c: Revert some random changes from Elliot
8446         that had no particular point and were causing testgtkrc
8447         not to function correctly.
8448         
8449         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
8450         because GdkSegment and GdkRegionBox have the same fields,
8451         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
8452         results in clearer code.
8453
8454         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
8455         gdk_input_translate_coordinates): Fix missed GdkObjectification
8456
8457 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8458
8459         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
8460         * gtk/gtk{plug,socket}.h: Missed commits from previous.
8461
8462 2000-06-20  Havoc Pennington  <hp@redhat.com>
8463
8464         * modules/linux-fb/Makefile.am: Make this compile
8465         without framebuffer enabled
8466
8467         * gdk/linux-fb/Makefile.am: Add conditional to not build
8468         framebuffer unless specified in configure
8469
8470         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
8471         the size of the target instead of source if -1 was passed for
8472         width/height
8473
8474         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
8475         width/height confusion.
8476
8477 2000-06-19  Havoc Pennington  <hp@redhat.com>
8478
8479         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
8480         GDK_DRAWABLE_XID. In the future, we probably want to make it
8481         faster with G_DISABLE_CHECKS turned on.
8482
8483 2000-06-14  Havoc Pennington  <hp@redhat.com>
8484
8485         * gdk/Makefile.am: add gdkpixmap.c
8486
8487         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
8488         s/gdk_image_init/_gdk_windowing_image_init
8489
8490         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
8491         ref/unref
8492
8493         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
8494
8495         * gdk/gdkcompat.h: remove GdkWindowType compat, since
8496         GdkWindowType is now non-deprecated; 
8497         change gdk_window_get_type() compat to be
8498         gdk_window_get_window_type().
8499
8500         * gdk/gdkdnd.h: make GdkDragContext a GObject.
8501
8502         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
8503         virtual GObject. Make all functions call into the vtable.
8504         Move gdk_image_put() guts in here. Remove GdkDrawableType
8505         and gdk_drawable_get_type(), these are now GdkWindow-specific.
8506         draw_image, get_depth, get_size, set_colormap, get_colormap,
8507         get_visual added to the vtable.
8508         
8509         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
8510         GObject. Virtualize everything. 
8511         (gdk_gc_new_with_values): remove check for destroyed window,
8512         because now GdkWindow::create_gc will check this.
8513         (gdk_gc_set_values): New function to set GC values, this 
8514         was already implemented but wasn't in the header
8515
8516         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
8517
8518         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
8519         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
8520         remove _gdk_window_class; add _gdk_window_impl_get_type() and
8521         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
8522         _gdk_windowing_window_init, rename gdk_image_init to
8523         _gdk_windowing_image_init.
8524         
8525         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
8526         (gdk_draw_layout): Remove check for destroyed window, 
8527         because all the drawable methods already check it.
8528         
8529         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
8530         Add gdkpixmap.c which contains implementation of GdkDrawable
8531         virtual table (by chaining to a platform-specific implementation
8532         object).
8533         
8534         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
8535         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
8536         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
8537         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
8538         GdkColormapPrivate. 
8539
8540         * gdk/gdktypes.h: #include <glib-object.h>
8541
8542         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
8543         Move most functionality to platform-specific implementation
8544         object. GdkWindow itself now handles the backing store, then
8545         chains to the platform-specific implementation.
8546         (gdk_window_get_window_type): return GdkWindowType of the window.
8547         (gdk_window_peek_children): New routine, returns the children of 
8548         a GdkWindow
8549         (gdk_window_get_children): Was in X11-specific code and did 
8550         XQueryTree. Changed to simply return a copy of window->children; 
8551         so it can go in cross-platform code.
8552         
8553         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
8554
8555         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
8556         GdkColormap; just changed to use the new private data instead
8557         of casting to GdkColormapPrivate.
8558
8559         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
8560         gdk_cursor_new().
8561
8562         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
8563         (private data member in the GObject). 
8564         (xdnd_manager_source_filter): Function had broken 
8565         error handling, fix it (use gdk_error_trap_push).
8566
8567         * gdk/x11/gdkdrawable-x11.c: This file now implements
8568         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
8569         base class is purely for the convenience of the X port,
8570         and not part of the interface to cross-platform GDK.
8571
8572         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
8573         
8574         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
8575         specific to X, and returned by the create_gc virtual method
8576         of GdkDrawableImplX11. 
8577         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
8578         rather than gchar, this was also changed in the GdkGC vtable.
8579         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
8580         mask is 0, return immediately, instead of checking every flag.
8581         This is faster, and keeps us from segfaulting if values is NULL
8582         and the mask contains some nonzero flags.
8583
8584         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
8585         GdkWindow.
8586
8587         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
8588         GdkWindowPrivate is gone.
8589
8590         * gdk/x11/gdkim-x11.c: rename things that got renamed.
8591
8592         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
8593         remove the image_put stuff that got transferred to GdkDrawable.
8594         
8595         * gdk/x11/gdkinput.c: renamings
8596
8597         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
8598
8599         * gdk/x11/gdkpixmap-x11.c: GObject conversion
8600
8601         * gdk/x11/gdkprivate-x11.h: indentation fixes
8602
8603         * gdk/x11/gdkproperty-x11.c: renamings
8604
8605         * gdk/x11/gdkselection-x11.c: renamings
8606
8607         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
8608         implements the platform-specific "impl" object.
8609         Moved gdk_window_get_children to gdk/gdkwindow.c
8610
8611         * gdk/x11/gdkx.h: Remove all the private structs and private datas
8612         that no longer exist. Add declaration of GdkGCX11 object here.
8613         Fix all the macros to still work. 
8614
8615         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
8616         GdkDragContext from the boxed types since they are now GObjects.
8617
8618         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
8619         moved xthickness/ythickness into the instance. GtkStyleClass
8620         functions are now in the standard vtable for GtkStyle, so you have
8621         to create a GObject subclass to write a theme engine.
8622         (gtk_style_copy): fixed a leaked PangoFontDescription
8623         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
8624         can be the standard GObject function.
8625         
8626         * Throughout GTK:
8627         s/style->klass->[xy]thickness/style->[xy]thickness
8628         s/pango_layout_unref/g_object_unref/
8629
8630         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
8631         
8632         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
8633         accessing GDK internals.
8634
8635         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
8636         accessing GDK internals.
8637
8638 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8639
8640         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
8641
8642         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
8643         problem by calculating event position relative to the trough
8644         rather than the slider.
8645         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
8646
8647         * gdk/gdkgc.h: Add GDK_NOR.
8648
8649         * configure.in, Makefile.am: Add modules top level dir
8650         * configure.in: Only use pangox library if building x11 target.
8651         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
8652
8653 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8654
8655         * gtk/gtkcolorsel.c: Change private class member to be named
8656         private_data throughout the file.
8657
8658         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
8659         private_data to avoid clashing with keyword.
8660
8661 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8662
8663         * gdk/gdkdnd.h: Add comment to remove warning.
8664
8665 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
8666
8667         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
8668         Byelorussian language; changed the Makefile and file names 
8669         to reflect that.
8670
8671 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
8672
8673         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
8674         rather than gdk_window_hide; this makes things work
8675         correctly if the window is programmatically hidden while
8676         iconified.
8677
8678 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
8679
8680         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
8681         cut and paste typo where wrong pixmap was being
8682         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
8683
8684 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
8685
8686         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
8687         Add helper function to compute format / bytes 
8688         relationship. Use in a couple places to fix up
8689         errors which assume 8 * format.
8690
8691         * gtk/gtkselection.c (gtk_selection_request): Use 32
8692         rather than 8 * sizeof (GdkAtom), to work correctly
8693         on Alpha.
8694
8695 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
8696
8697         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
8698         libgtk.la
8699         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
8700         versions
8701
8702         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
8703         checking macros return NULL since the function has a return value.
8704
8705 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
8706
8707         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
8708         GTK+ from building at all.
8709
8710         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
8711
8712 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
8713
8714         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
8715         gtk/Makefile.am: make it possible to configure gtk for different
8716         targets on the same platform. The library name is now 
8717         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
8718         flag. Only the x11 target compiles right now.
8719         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
8720         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
8721         * gdk/nanox/gdk*generic*: delete generic region code.
8722         * gdk/linux-fb/gdk*generic*: delete generic region code.
8723         * README.nanox: update information.
8724         
8725 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
8726
8727         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
8728         prepend not append. (Pointed out by Brett Hall.)
8729
8730 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
8731
8732         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
8733
8734 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
8735
8736         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
8737         need this later, and this makes sure that the atexit for
8738         glib gets called after that for GDK, so atexits are
8739         properly ordered for object leak checking.
8740
8741         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
8742
8743         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
8744         pango_x_shutdown_display()
8745
8746         * gtk/simple.c (main): Close window on destroy.
8747
8748 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
8749
8750         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
8751         to treat initial creation different from setting with 
8752         regards to the graphics-exposures parameter, so add a parameter
8753         indicating whether this is initial or not.
8754
8755 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
8756
8757         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
8758         to sort of work by adding an extra return_exposes arg
8759         to gdk_event_translate() - it might be better to simply
8760         deprecate the function altogether and force people to rewrite
8761         without it. gdk_window_scroll() handles most of it, and where
8762         gdk_window_scroll() doesn't work, simply redrawing more does.
8763
8764         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
8765         assertion.
8766
8767         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
8768
8769         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
8770         bunch of pretty much useless /* Print debugging info */ comments 
8771         which had drifted away from the code they were commenting.
8772
8773 2000-06-02  Havoc Pennington  <hp@pobox.com>
8774
8775         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
8776         is in working order.
8777         
8778         * gtk/testtext.c: Change to reflect anonymous mark API
8779
8780         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
8781
8782         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
8783         field, which was unused.
8784
8785         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
8786         saves some typing.
8787
8788         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
8789
8790         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
8791         flag on the insertion point and selection bound
8792
8793         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
8794         make mark-manipulation functions take a GtkTextMark* instead of a
8795         mark name.
8796         
8797         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
8798         GtkTextMarkBody; will be used to detect attempts to delete
8799         the permanent marks (insert and selection bound)
8800
8801         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
8802
8803 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
8804
8805         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
8806         flag to on.
8807
8808         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
8809         Honor DOUBLE_BUFFRED_FLAG
8810
8811         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
8812         function to set the DOUBLE_BUFFERED flag.
8813
8814         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
8815         or not exposes done on the widget should be double-buffered.
8816
8817         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
8818         to be what would be expected. (Fixes problem with a
8819         g_return_if_fail() validating a TextDirection enumeration)
8820
8821 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
8822
8823         * gtk/gtkwidget.c: Remove all references to 
8824         offscreen flag which was no longer used.
8825
8826         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
8827
8828         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
8829         for non-null label_widget->parent.
8830
8831         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
8832         which no longer was used.
8833
8834         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
8835
8836         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
8837         for null arguments.
8838
8839         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
8840         check for destroyed windows.
8841
8842 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
8843
8844         * gtk/gtkimmulticontext.c: Add a finalize method and unref
8845         the slave context there.
8846
8847         * gtk/gtkinvisible.[ch]: Make reference counting behavior
8848         identical to GtkWindow.
8849
8850 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
8851
8852         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
8853         pangox to here, so we can write them independent of rendering
8854         system, using GDK primitives.
8855
8856         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
8857         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
8858         since we have a rendering-system independent implementation in
8859         terms of draw_glyphs().
8860         
8861         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
8862         function to render a single line.
8863
8864         * gdk/x11/gdkpango.c: Move the guts of this file mostly
8865         into ../gdkpango.c, which simplifies things, since we
8866         don't have to deal with raw X gc's.
8867
8868 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
8869
8870         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
8871         get the logical attributes for a given GtkTextLine.
8872
8873 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
8874
8875         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
8876         g_locale_get_codeset() to g_get_codeset() change.
8877
8878 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
8879
8880         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
8881         descriptions.
8882
8883         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
8884         the entry.
8885
8886         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
8887         redoing (vastly simplifying) for Pango. Still needs quite
8888         a bit of work. (Size selection is currently poor. List of 
8889         predefined sizes is not a good idea, since all of these
8890         sizes won't necessarily be distinct.)
8891
8892 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
8893
8894         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
8895         CODESET results for LANG=C.
8896
8897 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
8898
8899         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
8900         which takes a stringized pango font description;
8901         ignore the older 'font' and 'fontset' declarations.
8902
8903         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
8904         field with a GdkFont derived via gdk_font_from_description(),
8905         for compatibility. (Should we just remove it entirely?
8906         Probably too much compatibility breakage, but people
8907         should be migrating to the new Pango stuff as quickly
8908         as possible.)
8909
8910 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
8911
8912         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
8913
8914 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
8915
8916         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
8917         redoing; there are some bugs in size allocation right
8918         now, the semi-existant distinction between header / day
8919         fonts was removed, but, with Pango, could actually
8920         be made functional in a nice way.
8921         
8922         * gtk/testcalender: Move calender from examples into this
8923         directory as a test program. (We really need to restrcture
8924         testgtk into a whole directory full of tests for every
8925         widget or functionality group, separated into multiple .c
8926         files.)
8927
8928 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
8929
8930         * gtk/testgtk.c (file_exists): Fix stupid typo that
8931         was keeping RC file from being loaded.
8932
8933         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
8934         RC file font code.
8935
8936 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
8937
8938         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
8939         Add function to load a GdkFont from a PangoFontDescription.
8940
8941 2000-05-29  Tor Lillqvist  <tml@iki.fi>
8942
8943         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
8944         variable should be of type GdkEventPrivate.
8945
8946 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
8947
8948         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
8949         to have any widget for the label, use a GtkLabel widget
8950         to display the text. (Based partially on a patch from
8951         Anders Carlson.)
8952
8953         (Quite a bit of code reorganization - strip 90% of the
8954         guts out of gtkaspectframe and add a single virtual
8955         func to GtkFrameClass - compute_child_allocation.)
8956
8957 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
8958
8959         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
8960         (Removed clist->row_center_offset field because caching
8961         it wasn't saving time or code, added private function
8962         _gtk_clist_create_cell_layout()).
8963
8964 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
8965
8966         * gtk/gtkaccellabel.c: Pangoized.
8967
8968         * gtk/[hv]ruler.c: Pangoized
8969
8970 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
8971
8972         * gtk/gtkfilesel.c (gtk_file_selection_init):
8973         Use gtk_clist_set_column_auto_resize() to remove need
8974         need for manual column width computations.
8975
8976 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
8977
8978         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
8979         ensuring Pango correctness, and considerably simplifying the
8980         code.
8981         
8982         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
8983
8984         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
8985         getting of numbers of lines.
8986
8987         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
8988         to the actual requested width of the lable, not to the wrap
8989         width we set.
8990
8991         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
8992
8993         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
8994           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
8995
8996         * gtk/gtktextview.c: Fix structure inheritance.
8997
8998         * gtk/gtkprogressbar.c: Pangoize.
8999
9000 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
9001
9002         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
9003         in a function.
9004
9005         * gtk/gtktextlayout.c (find_display_line_above): Fixed
9006         bug with computing line tops.
9007
9008         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
9009
9010 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9011
9012         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
9013         and y_offset coordinates to do what we need now. (The offset between
9014         buffer and layout coordinates has been reintroduced, but is a 
9015         bit different than before.)
9016
9017         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
9018         handle the adjustments ourselves, and scroll as necessary using
9019         the new gdk_window_scroll().
9020         
9021         The advantage of this is that when we are incrementally revalidating,
9022         we are essentially rearranging things around the visible portion
9023         of the screen. With the old setup, the visible portion of the
9024         screen was moved around in the layout, so scrolling and redrawing
9025         to track that caused jumping of the display. Since we now
9026         control the scrolling ourselves, we can suppress this and
9027         only redraw when things actually change.
9028
9029 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
9030
9031         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
9032         the region not just redisplay it after-all, since we store the
9033         cursors in the LineDisplay. (Ugly interactions here between
9034         GtkLayout and GtkTextBTree here.)
9035         
9036         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
9037
9038 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9039
9040         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
9041         Added function to scroll contents of a window while keeping the
9042         window constant. Works by XCopyArea or guffaw-scrolling depending
9043         on the details of how the window is set up. (guffaw-scrolling
9044         still needs to be filled in.)
9045
9046 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
9047
9048         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
9049         move the debugging that was tied to a global variable
9050         to that.
9051
9052         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
9053
9054         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
9055         validated flag, in line data instead of setting height/width to
9056         -1. This allows us to perform operations with partially invalid
9057         buffer (using the old size for invalid lines) and thus to do
9058         incremental vaidation. Keep height/width aggregates up to date
9059         when deleting text and rebalancing the tree.
9060
9061         * gtk/gtktextbtree.[ch]: Add functions validate a line
9062         (gtk_text_btree_validate_line), and to validate up
9063         to a number of pixels (gtk_text_btree_validate).
9064
9065         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
9066         that indicates that something is changed and a revalidation
9067         pass is needed. Change ::need_repaint to ::changed, and
9068         make it take old and new yranges instead of a rectangle.
9069
9070         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
9071         the line_data_destroy() function from 
9072         gtk_text_btree_add_view() to a virtual function in 
9073         GtkTextLayout
9074
9075         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
9076         since we are handling partial repaints in a different fashion
9077         now.
9078
9079         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
9080         of the selection instead of queueing a repaint on the
9081         entire widget.
9082
9083         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
9084         get_selection_bounds() down to btree, make the function
9085         in buffer a wrapper around the btree function.
9086
9087         * gtk/gtktextlayout.[ch]: Add functions to check if the
9088         layout is valid and to recompute either a range of pixels
9089         aroudn a line or a certain total number of pixels.
9090
9091         * gtk/gtktextlayout.[ch]: Cache a single line display;
9092         now that we only redraw the needed portions, the hit rate
9093         for this cache is quite high.
9094         
9095         * gtk/gtktextview.[ch]: Keep track of the first paragraph
9096         on the screen so that when re-laying-out the buffer, we can
9097         keep the same place. This requires connecting to ::value_changed
9098         on the adjustments
9099
9100         * gtk/gtktextview.[ch]: Add idle functions to revalidate
9101         the buffer after we receive an ::invalidated signal.
9102         
9103 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
9104
9105         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
9106         to max of allocation and layout size, not just to the
9107         layout size.
9108
9109         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
9110         Invalidate window so it gets redrawn properly.
9111
9112         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
9113         to mean the entire window.
9114
9115         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
9116         into public header.
9117
9118 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
9119
9120         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
9121         to get the name of a mark.
9122
9123         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
9124         to find the paragraph from a y position.
9125
9126 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
9127
9128         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
9129         nodes have width/height >= 0, not > 0.
9130
9131 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
9132
9133         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
9134         Add a size_only flag, so when we only need the size, we don't create
9135         useless appearance attributes.
9136
9137         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
9138         duplicate setting of font description.
9139
9140         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
9141
9142 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9143
9144         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9145         EXTRA_DIST. It does not work well when the file that
9146         everything depends on is not in the tarball.
9147
9148 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9149
9150         * gtk/testgtk.c: Some hacks and fixes so that it basically
9151         works when not sitting in the GTK+ build tree.
9152
9153 2000-05-03  Havoc Pennington  <hp@redhat.com>
9154
9155         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9156         Properly determine the ordering of the tag root and the current
9157         line within the tree. Previous algorithm only worked if the tag
9158         root's immediate parent was the common root of both the current
9159         line and the tag root.
9160
9161 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
9162
9163         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
9164         alignment.
9165
9166         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
9167         the widget text directional dynamically.
9168
9169         * gtk/gtktextview.[ch]: Added functions to get and set default
9170         wrap mode.
9171
9172 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
9173
9174         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
9175         in cursor location computation.
9176
9177 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
9178
9179         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
9180         vadjusment values properly when layout gets smaller.
9181
9182         * gtk/gtktextview.c (need_repaint_handler): Areas being
9183         passed in are far completely inaccurate, and sometimes
9184         too small, so, for now, just queue a redraw on the
9185         whole visible region.
9186
9187 2000-04-25  Havoc Pennington  <hp@redhat.com>
9188
9189         * gtk/gtktextbtree.c (summary_destroy): new function to 
9190         destroy tag summary nodes
9191         (gtk_text_line_next_could_contain_tag): this function was 
9192         totally broken if the line passed in wasn't below the tag
9193         root. Fix it.
9194         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
9195         "wildcard" case, we have to do a linear scan. Blah.
9196         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
9197         we have to do the linear scan
9198         (tag_removed_cb): When a tag is removed from the tag table, 
9199         remove the GtkTextTagInfo node from the btree.
9200         (gtk_text_btree_spew): Implement the spew function, for 
9201         our debugging pleasure.
9202
9203 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
9204
9205         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
9206         a problem with referring to the wrong buffer.
9207
9208         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
9209
9210         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
9211         font description to gtk_style_new() - otherwise things
9212         don't work without a .gtkrc file.
9213
9214         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
9215         tags table if we create it ourself, too.
9216
9217         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
9218         it was conflicting with XKB modifiers.
9219
9220         * gtk/gtktextview.[ch]: Add simple support for 
9221         GtkIMContext.
9222
9223 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
9224
9225         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
9226         with deletion from last commit.
9227
9228 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
9229
9230         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
9231         in the context from the current locale.
9232         
9233         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
9234         context, not hardcoded value.
9235
9236         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
9237         not logical.
9238
9239 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9240
9241         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
9242         attributes - that doesn't handle partial-glyph selection
9243         properly. Instead use new pango_layout_line_get_x_ranges()
9244         functionality to draw the selection.
9245
9246         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
9247         now properly handles out-of-range coordinates.
9248
9249         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
9250
9251         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
9252         public.
9253
9254         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
9255         for paragraphs opposite to the base direction of the widget.
9256
9257         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
9258
9259         * gtk/gtktextlayout.c: Don't split segments on marks, since that
9260         causes Arabic words to reshape as you cursor through.
9261
9262         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
9263         cursor position when moving vertically with the arrow keys and
9264         scrolling with page-up/page-down. (Arrow keys save only the X,
9265         scrolling saves both X and Y.)
9266
9267         This means you can line-up / line-down or page-up / page-down
9268         without losing your place, and also that moving vertically
9269         with the cursor keys keeps the same X position, not the same
9270         character count:
9271
9272         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
9273         arrow keys move by display lines, not paragraphs.
9274
9275 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9276
9277         * gtk/gtklayout.c: Make sure that the bin window is at least
9278         as big as the allocation. (Should we also make sure that the
9279         bin window is big enough to completely cover widget->window?)
9280
9281         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
9282         function to get the onscreen rectangle.
9283
9284         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
9285         for offsets in window coordinates.
9286
9287 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
9288
9289         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
9290         confusion.
9291
9292         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
9293         from the widget direction.
9294
9295         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
9296         Add a "direction" attribute.
9297
9298         * gtk/gtktextview.c: global s/tkxt/text_view/.
9299
9300         * gtk/testtext.c: Added long block of text in Arabic, to test out
9301         the direction attributes. (Some problems with the shaping system
9302         for arabic become obvious - like the fact the cursor splits words
9303         into unjoined pieces.)
9304
9305 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
9306
9307         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
9308
9309         * gtk/gtktextlayout.c: Fix up alignment.
9310
9311         * gtk/testtext.c: Add some tests for centering, wrapping.
9312
9313 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
9314
9315         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9316         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
9317         If we wrote GTK+-specific layout-render function this could just replace
9318         the draw_layout() operation in the vtable.
9319
9320         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
9321         pango_layout_get_cursor_pos() and use that function.
9322
9323         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
9324         is a non-static symbol.
9325
9326         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
9327         with gtk_text_btree_find_line_by_y()
9328
9329         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
9330         renderer that handles GtkTextAppearance attributes.
9331
9332         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
9333
9334           - Move the values in the style that don't affect geometry into a
9335             GtkTextAppearance structure.
9336           - Change underline to take a PangoUnderline and "font" a string
9337             representation of a font description
9338           - Add a "font_desc" attribute which takes a FontDescription structure.
9339
9340         * gtk/gtktextlayout.[ch]:
9341
9342           - Get rid of the display-line list per each line. Instead, we
9343             generate, on demand, a GtkTextLineDisplay structure which]
9344             contains a PangoLayout * and other necesary information
9345             (offsets, cursor locations) for displaying a paragraph.
9346           - Get rid of the code to wrap lines, create display chunks,
9347             etc. Instead, we just go through a paragraph and convert
9348             it into the necessary inputs to a PangoLayout.
9349           - Implement a new attribute type, GtkTextAttrAppearance. This
9350             holds a GtkTextAppearance, and is used to pass colors, 
9351             stipple, etc, through from the layout to the display without
9352             having to use lots and lots of individual attributes.
9353           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
9354             in terms of PangoLayout functions.
9355         
9356         * gtk/gtktextview.c: 
9357          
9358           - Handle passing the necessary PangoContext to the layout
9359           - Some fixups in painting to deal with the automatic backing store
9360             and offsetting of GTK+-1.4
9361           - Add a style_set handler so that the default style reacts
9362             properly to theme changes.
9363         
9364         * gtk/gtktext?*.[ch]: Random code-style fixes.
9365
9366         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
9367
9368 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
9369
9370         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
9371         in original form preparatory to Pango-ization and gdkimcontext-ization.
9372
9373 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
9374
9375         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
9376         so that we can derive from gtkimcontext in language bindings properly.
9377
9378 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
9379
9380         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
9381         Add a compose table including (almost) all the compose combinations
9382         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
9383         data in the XIM implementation.
9384
9385         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
9386         Moved functions to convert keyvalues from and to unicode here from
9387         the win32 port and made them public.
9388
9389 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9390
9391         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
9392
9393 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
9394
9395         * gtk/gtkimcontext.[ch]: Base class for new input context system
9396
9397         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
9398         the real input context implementation to be loaded from modules
9399         and switched on the fly.
9400
9401         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
9402         context that just does direct keysymbol => unicode translation.
9403
9404         * gtk/gtkentry.[ch]: Start switching editing over to using
9405         GtkInputContext. (No handling of preedit yet.)
9406
9407 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
9408
9409         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
9410         many substitutions. (klass should not be subsituted.)
9411
9412 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
9413
9414         * configure.in: Add checks for Pango
9415
9416         * configure.in docs/Makefile.am: Add test for sgml2html
9417         and allow 'make dist' without building html, but print out
9418         warnings in that case. (For making snapshots)
9419
9420         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
9421         Add Pango libraries and C flags
9422
9423         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9424         Add function (gdk_draw_layout) to draw a pango layout.
9425
9426         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
9427         for getting Pango contexts for GDK.
9428
9429         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
9430
9431         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
9432         editing.
9433
9434         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
9435         keysym => unicode translations. More languages can be added
9436         here, but real input-method support is needed.
9437
9438         * docs/Changes-1.4.txt: Added note about entry behavior.
9439         
9440         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
9441         to set the reading direction for a widget and the global direction.
9442         Add test which allows toggling the global direction. Two private
9443         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
9444
9445         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
9446           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
9447
9448         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
9449
9450         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
9451         underlining now handled by Pango.
9452
9453         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
9454         to RCStyle and Style. (Having both this and the old font name and GdkFont 
9455         is temporary.)
9456
9457         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
9458         convenience functions for creating contexts and layouts for widgets.
9459
9460         * gtk/testgtk.c: Enhance label tests with multilingual labels.
9461
9462 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
9463
9464         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
9465         titles to be active, even if they aren't visible.
9466         (gtk_clist_column_titles_passive):  Ditto.
9467
9468 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
9469
9470         * gtkmenu.c:
9471         * gtkmenu.h:
9472         * gtktypeutils.h: Spelling/grammar fixes in comments.
9473
9474 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
9475
9476         * gdk/nanox/*.h: add missing header files.
9477
9478 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
9479
9480         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
9481         send_event to TRUE.
9482         (gtk_drawing_area_size): queue a resize.
9483
9484 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
9485
9486         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
9487         the handlers, also invalidate them. bug nailed down by Karl Nelson
9488         <kenelson@ece.ucdavis.edu>.
9489
9490 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
9491
9492         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
9493         "(nil)" foundries, patch from Grigorios Magklis.
9494
9495         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
9496         on non-available fonts, based on a patch by Grigorios Magklis
9497         <maglis@cs.rochester.edu>.
9498
9499 2000-05-18  Elliot Lee  <sopwith@redhat.com>
9500
9501         * gdk/x11/gdkregion-generic.c: If a region does not have any
9502         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
9503         instead of GDK_OVERLAP_RECTANGLE_IN.
9504
9505 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
9506
9507         * gtk/gtklayout.c (gtk_layout_map): Remove references to
9508         OFFSCREEN, as it is no longer necessary.
9509
9510 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
9511
9512         * gtk/gtkcolorsel.c: Patch from David Santiago
9513         <mrcooger@cyberverse.com> to change things so that the 
9514         indicator of the active palette entry is done independently,
9515         not via the focus, since it should always be visible.
9516
9517 2000-05-17  Tor Lillqvist  <tml@iki.fi>
9518
9519         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
9520         refcount leaks as in the X11 backend.
9521
9522         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
9523         cosmetics.
9524
9525         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
9526         backend. Add _gdk_windowing_window_destroy().
9527
9528         * gtk/gtkcolorsel.c: Include correct backend-specific header.
9529         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
9530         either, but these probably do exist on nanox?)
9531         
9532         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
9533         which isn't necessarily defined by <math.h>.
9534
9535         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
9536         ancestry past GtkObject.
9537
9538         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
9539         from DLL on Win32.
9540
9541         * gtk/gtk.def: Update corresponding to recent changes.
9542
9543         * gtk/makefile.{cygwin,msc}: Updates.
9544
9545 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
9546
9547         * docs/Changes-1.4.txt: A bit of editing.
9548
9549         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
9550         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
9551         to clear the update area for the window, and clear it
9552         when hiding a window.
9553
9554         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
9555         if window destroyed.
9556
9557         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
9558
9559         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
9560         gdk_window_destroy() to the generic code, since there was a lot of 
9561         window-system-independent logic it in. Add a function:
9562         
9563          _gdk_window_destroy() 
9564
9565         to the internal API to destroy a window without unreferencing it.
9566         Add a function:
9567
9568          _gdk_windowing_window_destroy()
9569
9570         That does the windowing-system-dependent part of destroying 
9571         the window.
9572
9573 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
9574
9575         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
9576
9577 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
9578
9579         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
9580         Make gtk_widget_shape_combine_mask() keep a reference count on
9581         the pixmap since it keeps it around.
9582
9583 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
9584
9585         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
9586         leak.
9587
9588         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
9589         leak with event filters.
9590
9591 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
9592
9593         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
9594         signal handlers with the right data arguments. (Fixes
9595         some warnings when a widget was repeatedly set as a drag
9596         destination.)
9597
9598         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
9599         window so we can avoid avoid setting the DND properties on the
9600         toplevel window repeatedly.
9601
9602 2000-05-13  Tor Lillqvist  <tml@iki.fi>
9603
9604         * gdk/win32/gdkwin32.h: Define more message types missing from
9605         mingw headers.
9606
9607         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
9608         call gdk_window_destroy_notify(). It was never called. This
9609         probably meant that the GdkWindow was never freed. Thanks Owen for
9610         noticing (!).
9611
9612         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
9613         window as destroyed before calling DestroyWindow(). DestroyWindow()
9614         causes a call to the window procedure (gdk_WindowProc), which
9615         calls gdk_event_translate(), which calls
9616         gdk_window_destroy_notify(), which gets confused unless the window
9617         is set as destroyed.
9618
9619         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
9620         this function to indicate it's win32 only. Put inside #ifdef
9621         G_ENABLE_DEBUG.
9622
9623         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
9624         debugging function. (gdk_event_translate:) Add a default branch
9625         that uses the above function to print debug messages with all
9626         Windows messages symbolically.
9627
9628         * gdk/win32/gdkprivate-win32.h: Declare it, and
9629         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
9630
9631 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
9632
9633         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
9634         public header file.
9635
9636 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
9637
9638         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
9639
9640         * gtk/gtktext.c: made the adjustments no-construct args, simply
9641         provide default adjustments.
9642         (gtk_text_destroy): release adjustments.
9643
9644         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
9645         adjustment argument non-construct.
9646
9647         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
9648         instead of in finalize.
9649         (gtk_progress_get_text_from_value): 
9650         (gtk_progress_get_current_text): 
9651         (gtk_progress_set_value): 
9652         (gtk_progress_get_percentage_from_value): 
9653         (gtk_progress_get_current_percentage): 
9654         (gtk_progress_set_percentage): 
9655         (gtk_progress_configure): ensure an adjustment is present.
9656
9657 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
9658
9659         * gtk/gtkcolorsel.[hc]:
9660         * gtk/gtkcolorseldialog.[hc]:
9661         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
9662         their parent implementation, use bit fields for boolean values, don't
9663         create unused widgets, usage of glib types, braces go on their own
9664         lines, function argument alignment, #include directives etc. etc. etc..
9665
9666         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
9667
9668 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
9669
9670         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
9671
9672         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
9673         of NULL.
9674
9675         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
9676         to freed data.
9677         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
9678
9679         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
9680         to NULL when the toplevel is getting destroyed.
9681         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
9682         (gtk_menu_destroy): 
9683         (gtk_menu_init): store the information of whether we have to
9684         readd the initial child ref_count during destruction in a new
9685         GtkMenu field needs_destruction_ref_count.
9686
9687         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
9688         here, those reading: learn from my mistake! ;)
9689         in order for set_?adjustment to support a default adjustemnt if
9690         invoked with an adjustment pointer of NULL, the code read (pseudo):
9691         if (v->adjustment) unref (v->adjustment);
9692         if (!adjustment) adjustment = adjustment_new ();
9693         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
9694         now imagine the first unref to actually free the old adjustment and
9695         adjustment_new() creating a new adjustment from the very same memory
9696         portion. here, the latter comparision will unintendedly fail, and
9697         all hell breaks loose.
9698         (gtk_viewport_set_hadjustment):
9699         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
9700         after unreferencing it.
9701
9702         * gtk/gtkcontainer.[hc]: removed toplevel registration
9703         functions: gtk_container_register_toplevel(),
9704         gtk_container_unregister_toplevel() and
9705         gtk_container_get_toplevels() which had wrong semantics
9706         anyways: it didn't reference and copy the list.
9707
9708         * gtk/gtkwindow.c: we take over the container toplevel registration
9709         bussiness now. windows are registered across multiple destructions,
9710         untill they are finalized. the initial implicit reference count
9711         users are holding on windows is removed with the first destruction
9712         though.
9713         (gtk_window_init): ref & sink and set has_user_ref_count, got
9714         rid of gtk_container_register_toplevel() call. add window to
9715         toplevel_list.
9716         (gtk_window_destroy): unref the window if has_user_ref_count
9717         is still set, got rid of call to
9718         gtk_container_unregister_toplevel().
9719         (gtk_window_finalize): remove window from toplevel list.
9720         (gtk_window_list_toplevels): new function to return a newly
9721         created list with referenced toplevels.
9722         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
9723
9724         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
9725         adjustment a non-construct arg.
9726         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
9727         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
9728         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
9729
9730         * gtk/gtkrange.c: added some realized checks.
9731         (gtk_range_destroy): get rid of the h/v adjustments in the
9732         destroy handler instead of finalize. remove timer.
9733         (gtk_range_get_adjustment): demand create adjustment.
9734
9735         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
9736         we simply create them on demand now and get rid of them in
9737         the destroy handler.
9738         (gtk_viewport_destroy): get rid of the h/v adjustments in the
9739         destroy handler instead of finalize.
9740         (gtk_viewport_get_hadjustment): 
9741         (gtk_viewport_get_vadjustment): 
9742         (gtk_viewport_size_allocate): demand create h/v adjustment
9743         if required.
9744
9745         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
9746         gtk_widget_real_destroy () functionality.
9747         (gtk_widget_real_destroy): reinitialize with a new style, instead
9748         of setting widget->style to NULL.
9749
9750 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
9751
9752         * gtk/gtkcalendar.c:
9753         * gtk/gtkbutton.c: ported _get_type() implementation over to
9754         GType, either to preserve memchunks allocation facilities,
9755         or because Gtk+ 1.0 GtkTypeInfo was still being used.
9756
9757         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
9758         over. prepare for ::destroy to be emitted multiple times.
9759         removed reference tracer magic. chain into GObjectClass.shutdown()
9760         to emit ::destroy signal.
9761
9762         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
9763         fundamental.
9764
9765         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
9766         cludge.
9767
9768         * gtk/gtksocket.c:
9769         * gtk/gtkplug.c:
9770         * gtk/gtklayout.c:
9771         * gtk/gtklabel.c:
9772         * gtk/gtkargcollector.c:
9773         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
9774         not being a fundamental anymore, and to work with the new
9775         type system (nuked fundamental type varargs clutter).
9776
9777         * gtk/*.c: install finalize handlers in the GObjectClass
9778         part of the class structure.
9779         changed direct GTK_OBJECT()->klass accesses to
9780         GTK_*_GET_CLASS().
9781         changed direct object_class->type accesses to GTK_CLASS_TYPE().
9782
9783         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
9784         GType. made most of the GTK_*() type macros and Gtk* typedefs
9785         simple wrappers around macros and types provided by GType.
9786         most notably, a significant portion of the old API vanished:
9787         GTK_TYPE_MAKE(),
9788         GTK_TYPE_SEQNO(),
9789         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
9790         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
9791         GTK_TYPE_ARGS,
9792         GTK_TYPE_CALLBACK,
9793         GTK_TYPE_C_CALLBACK,
9794         GTK_TYPE_FOREIGN,
9795         GtkTypeQuery,
9796         gtk_type_query(),
9797         gtk_type_set_varargs_type(),
9798         gtk_type_get_varargs_type(),
9799         gtk_type_check_object_cast(),
9800         gtk_type_check_class_cast(),
9801         gtk_type_describe_tree(),
9802         gtk_type_describe_heritage(),
9803         gtk_type_free(),
9804         gtk_type_children_types(),
9805         gtk_type_set_chunk_alloc(),
9806         gtk_type_register_enum(),
9807         gtk_type_register_flags(),
9808         gtk_type_parent_class().
9809         replacements, where available are described in ../docs/Changes-1.4.txt.
9810         implemented compatibility functions for the remaining API.
9811
9812         * configure.in: depend on glib 1.3.1, use gobject module.
9813
9814 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
9815
9816         * TODO.xml: Various updates to current status.
9817
9818 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
9819
9820         * gtk.m4: Print out version when test succeeds.
9821
9822 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
9823
9824         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
9825         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
9826         
9827         (Original triangle color selector from Simon Budig
9828         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
9829         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
9830         Santiago <mrcooger@cyberverse.com>)
9831
9832         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
9833         out into a separate widget.
9834
9835         * gtk/testgtk.c: Add some checkbuttons for toggling palette
9836         and opacity controls.
9837
9838 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
9839
9840         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
9841         snuck in prematurely.
9842
9843 2000-05-07  Tor Lillqvist  <tml@iki.fi>
9844
9845         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
9846         had deleted a ! operator by mistake, which caused
9847         GDK_SELECTION_CLEAR events never to be generated, which caused
9848         only the first copy to the clipboard from an gtkeditable to
9849         actually cause a copy to the Windows clipboard.
9850
9851 2000-05-06  Tor Lillqvist  <tml@iki.fi>
9852
9853         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
9854         compilation, too. Current mingw gcc distributions include the
9855         necessary headers. Also the necessary IIDs are now in mingw
9856         headers/libraries, and own definitions unnecessary.
9857
9858         More hacking on OLE2 DND, still doesn't work though, and thus
9859         ifdeffed out.
9860
9861         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
9862         here, too.
9863
9864 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
9865
9866         * gdk/nanox/*: nano-X port work in progress.
9867         * gdk/simple.c: simple test for Gdk.
9868         * README.nanox: notes about the port: read this first!
9869         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
9870         with nano-X.
9871
9872 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
9873
9874         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
9875         gdk_window_clear() into common code, implement in terms of
9876         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
9877         not redirected to the backing rectangle.
9878
9879 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9880
9881         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9882         EXTRA_DIST. It does not work well when the file that
9883         everything depends on is not in the tarball.
9884
9885 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
9886
9887         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
9888         with recursion where process_updates() is called from
9889         an expose handler. (GtkTextView is highly broken in
9890         doing this, but it should work, so it is a nice test
9891         case.)
9892
9893 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9894
9895         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
9896         handle the case where updates are queued during processing of
9897         updates.
9898
9899 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9900
9901         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
9902         window is on gdk_display - use that instead of segfaulting.
9903
9904 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
9905
9906         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
9907         broken and require an empty arg, give it to them.
9908
9909 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
9910
9911         * gtk/gtklabel.h: indentation fixes.
9912
9913 2000-05-02  Tor Lillqvist  <tml@iki.fi>
9914
9915         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
9916         draw too narrow or too low arcs, they seem to fail, at least with
9917         some display drivers.
9918
9919         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
9920
9921         Large changes to the Win32 backend, partially made necessary by
9922         the changes to the backend-independent internal
9923         structures. Attempts to implement similar backing store stuff as
9924         on X11. The current (CVS) version of the Win32 backend is *not* as
9925         stable as it was before the no-flicker branch was merged. A
9926         zipfile with that version is available from
9927         http://www.gimp.org/win32/. That should be use by "production"
9928         code until this CVS version is usable. (But note, the Win32
9929         backend has never been claimed to be "production quality".)
9930
9931         * README.win32: Add the above comment about versions.
9932
9933         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
9934
9935         * gdk/gdk.def: Update.
9936
9937         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
9938         presumably be replaced by some more better mechanism as 1.4 gets
9939         closer to release shape.
9940
9941         * gdk/makefile.{cygwin,msc}: Update.
9942
9943         * gdk/win32/*.c: Correct inclusions of the backend-specific and
9944         internal headers. Change code according to changes in these. Use
9945         gdk_drawable_*, not gdk_window_* where necessary.
9946
9947         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
9948         our old DND.
9949
9950         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
9951         to interpret single characters as UTF-8. Thanks to Hans Breuer.
9952         Use correct function name in warning messages.
9953
9954         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
9955         GSourceFuncs gdk_event_prepare and gdk_event_check.
9956         (gdk_event_get_graphics_expose): Do implement, use
9957         PeekMessage. Thanks to Hans Breuer.
9958         (event_mask_string): Debugging function to print an GdkEventMask.
9959         (gdk_pointer_grab): Use it.
9960
9961         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
9962         (old) book I used claimed was Hangul actually is CJK Unified
9963         Ideographs Extension A. Also, Hangul Syllables were missing.
9964         Improve logging.
9965
9966         * gdk/win32/gdkgc-win32.c: Largish changes.
9967
9968         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
9969         g_win32_getlocale() from GLib, and not setlocale() to get current
9970         locale name.
9971
9972         * gdk/win32/gdkprivate-win32.h
9973         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
9974         gdkwin32.h, similarily as in the X11 backend.
9975
9976         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
9977         assignment was used instead of equals in if test. Thanks to Hans
9978         Breuer.
9979
9980         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
9981         the X11 version.
9982
9983         * gdk/win32/makefile.{cygwin,msc}
9984         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
9985         path to the Win32 headers that works also with the mingw compiler.
9986
9987         * gtk/gtkstyle.c: Include <string.h>.
9988
9989 2000-04-26  Havoc Pennington  <hp@redhat.com>
9990
9991         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
9992         replacing the broken gtk_label_get ()
9993
9994 2000-04-15  Havoc Pennington  <hp@pobox.com>
9995
9996         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
9997         this keeps scanner scripts from getting confused.
9998
9999         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
10000         data, rather than void
10001
10002 2000-04-15  Tor Lillqvist  <tml@iki.fi>
10003
10004         * gtk/gtkclist.c (gtk_clist_motion)
10005         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
10006         with is_hint FALSE, get x and y from the event. They used to be
10007         used uninitialised. The Win32 backend never sends motion events
10008         marked as hints. This for instance fixes the annoying file and
10009         font selector behaviour in the Win32 version.
10010
10011 2000-04-14  Tor Lillqvist  <tml@iki.fi>
10012
10013         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
10014         gtk_private_n_signals variables, they are used by some software,
10015         sigh.
10016
10017         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
10018         installation directory from the Registry, where the installer
10019         should have put it.
10020
10021 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
10022
10023         * gdk/x11/Makefile.am: Fix problem with installation directory for
10024         gdkx.h
10025
10026         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
10027         <mrcooger@cyberverse.com> so that when selecting menus with the
10028         mouse, the first item will not be selected, but when selecting
10029         with an accelerator, or navigating left-right on a menubar with
10030         the menus popped up, the first item will be selected.
10031
10032 2000-04-05  Dan Damian  <dand@dnttm.ro>
10033
10034         * configure.in: Added "ro" to ALL_LINGUAS.
10035
10036 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
10037
10038         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
10039         indentation.
10040
10041         * Makefile.am (EXTRA_DIST): Fix typo.
10042
10043         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
10044         to catch gdkconfig.h
10045
10046         * gtk/gtkitemfactory.c: Added FIXME.
10047
10048 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
10049
10050         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
10051         s/return_if_fail/return_val_if_fail/g and add a return value.
10052
10053 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10054
10055         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
10056         merge slipup.
10057
10058         * gdk/gdkinput.h: Fix missing line from merge.
10059
10060 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
10061
10062         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
10063         instead of gdkprivate.h.
10064
10065 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
10066
10067         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
10068         parent class to correctly be GtkDialogClass.
10069
10070 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
10071
10072         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
10073         toplevel windows and their immediate children by their parents,
10074         since the size of toplevel windows is out of our immediate
10075         control and we don't get any real benefit from trying to track
10076         this size for clipping.
10077
10078         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
10079         for input_only windows.
10080
10081         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
10082         to fix some hacks and make sure that we don't try to set the
10083         background of input only windows.
10084
10085 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
10086
10087         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
10088         the _really_ internal stuff, and leave gdkprivate.h for the fake private
10089         stuff that we've traditionally exposed.
10090
10091         * gdk/**.c: Use gdkinternals.h where appropriate.
10092
10093         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
10094         not include gdkprivate-x11.h, move all stuff of conceivable public
10095         interest into gdkx.h; keep all really private stuff in
10096         uninstalled header gdkprivate-x11.h.
10097
10098         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
10099         image->image_put on windows through a new function _gdk_window_draw_image()
10100         to allow us to do backing store for images. (Sort of ugly)
10101
10102         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
10103         contexts locally so that we can offset them properly when drawing 
10104         onto backing pixmaps.
10105
10106         * gdk/gdkinput.h: Reindented
10107
10108         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
10109         pixmap or color for the window, so we can properly initialize
10110         our double-buffer pixmaps, and also so that we temporarily set
10111         a background of None while scrolling.
10112
10113         * gdk/gdkregion.h: Revise region boolean operators to have an
10114         interface that is actually convenient - switch from creating new
10115         regions on every op, to "methods" that modify existing regions
10116         (A = A OP B). 3 argument forms which allow dest == src, would also
10117         be possible, but the current interfaces seem to map nicely
10118         onto what needs to be done. (There is quite a lot of region
10119         code in GDK now.)
10120
10121         * gdk/gdkregion.h: Add constructor from rectangle and a copy
10122         operator.
10123
10124         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
10125         gdkpoly-generic.h: Copy region code from Xlib, switch it over
10126         to 32 bit coordinates, modify it to be mostly GTK+ style
10127         and to have interfaces that match gdkregion.h.
10128
10129         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
10130         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
10131         create a backing pixmap and redirect all drawing to
10132         that backing pixmap until a matching gdk_window_end_paint().
10133
10134         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
10135         Create a special drawable class for GtkWindow's that 
10136         redirects the drawing to the backing pixmap as necessary
10137         and then calls the real operations in _gdk_windowing_window_class.
10138
10139         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
10140         Store invalid region for each window. Generate expose events for invalid
10141         region in an idle. This replaces both the expose compression
10142         and the redrawing queuing in GTK+. It is both more efficient and
10143         simpler than either one individually and far more so then the
10144         combination.
10145
10146         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
10147         Emulate 32 bit coordinates for windows with 16 bit coordinates
10148         by offsetting drawing, guffaw scrolling techniques and
10149         mapping/unmapping child windows as necessary.
10150
10151         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
10152         where, when invalid regions are processed, the region is stored,
10153         and if expose events come in that are detectably duplicate
10154         the processed exposes (by comparison of event serial numbers),
10155         the stored region is subtracted out of those exposes.
10156
10157         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
10158         regions newly exposed when scrolling or resizing windows.
10159         This, combined with forcing processesing of queued invalidated
10160         regions, gives nice flicker-free scrolling.
10161
10162         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
10163         invalidated regions after every scroll.
10164
10165         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
10166         emulation in GDK. Its, for all practical purposes just a
10167         GtkViewport/GtkFixed hybrid now.
10168
10169         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
10170         (16-bit) structures as necessary instead of just casting.
10171
10172         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
10173         in terms of the structures from gdkregion-generic.c, using appropriate
10174         offsets from GDK to X11 coordinates. Cache clip mask and
10175         origin and ts origin locally and only flush to the server
10176         when drawing, to avoid constantly setting and resetting these
10177         values when offsetting GC's for scrolling and backing pixmaps.
10178
10179         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
10180
10181         * gtk/gtkcontainer.c: Call process_all_updates at end
10182         of resizing to reduce flicker. (Avoids having redraw
10183         lag arbitrarily behind resize under some circumstances)
10184
10185         * gtk/gtkentry.c: Remove old backing store code, and simply take
10186         advantage of the new backing store capabilities of GDK.
10187
10188         * gtk/gtkmain.c: Simple implementation of widget backing
10189         store - simply push a paint while handling each expose.
10190         (Should really be configurable widget for widget.)
10191         
10192         * gtk/gtkwidget.c: Remove all the old complicated redraw
10193         code, and simply invalidate the GDK windows from
10194         gdk_window_queue_clear(), etc. (Sigh, so much carefully
10195         debugged complexity ... gone to the winds.)
10196
10197         Remove all the code for suppressing expose events while
10198         resizes are pending; this isn't needed since the invalid
10199         areas won't be processed until after the resizes are
10200         processed, since they are in a lower priority idle.
10201
10202 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
10203
10204         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
10205         and height of dest rectangle for non-intersecting rectangles.
10206
10207 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
10208
10209         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
10210         for GdkRectangle.
10211
10212 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
10213
10214         * gdk/gdk{events,image,private,types,window}.h
10215          gdk/x11/gdkinputprivate.h: Change all coordinates
10216          from int16 to int. Also, Change width and height from
10217          unsigned to signed to avoid all the stupid C 
10218          signedness bugs.
10219
10220 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
10221
10222         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
10223         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
10224         Add some more detailed checking.
10225
10226         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
10227         New function to retrieve the depth of a drawable.
10228
10229         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
10230         field, reorder fields to save memory. 
10231
10232 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
10233
10234         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
10235         of the background image instead of scaling the background down to
10236         a line.
10237
10238         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
10239         which temporarily set slider to wrong size.
10240
10241         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
10242         queue_clear().
10243
10244 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
10245
10246 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
10247
10248         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
10249
10250 2000-03-17  Tor Lillqvist  <tml@iki.fi>
10251
10252         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
10253         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
10254
10255         * gdk/win32/gdkfont-win32.c
10256         * gdk/win32/gdkproperty-win32.c
10257         * gdk/win32/gdkselection-win32.c
10258         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
10259         now declared such.
10260
10261 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
10262
10263         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
10264
10265 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
10266
10267         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
10268         is called without trapping X errors.
10269
10270 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
10271
10272         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
10273         way into the fontset lists.
10274
10275 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
10276
10277         * gtk/gtkthemes.h: add extern "C" scope.
10278
10279 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
10280
10281         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
10282         to make appends to the list constant. (gtk-guy-990901-0.patch)
10283
10284 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
10285
10286         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
10287         for the typename hash table.
10288
10289 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
10290
10291         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
10292         to make sure we never divide by zero. 
10293         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
10294
10295 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
10296
10297         * gtk/gtkfontsel.c: Apply patch from
10298         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
10299         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
10300
10301         Also, some cleanups in atom handling.
10302
10303 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
10304
10305         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10306         not GtkWidget.
10307
10308 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
10309
10310         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
10311         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
10312         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
10313         more guint wrap-around bugs before going to bed.
10314
10315 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
10316
10317         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
10318         guint wrap arounds in allocation.width.
10319
10320         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
10321         process untill we fit the allocation given.
10322
10323 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
10324
10325         * gtk/gtkwidget.c:
10326         (gtk_widget_unrealize): guard widget access with ref/unref
10327         around signal emission.
10328         (gtk_widget_hide): same here, but also check its destroyed
10329         state before queueing a resize.
10330
10331 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
10332
10333         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
10334         of gtk_default_insensitive_bg as insensitive base color.
10335
10336         * gtk/gtktext.c (gtk_text_style_set): set the background color according
10337         to the widget's state.
10338         (gtk_text_realize): same here.
10339         (gtk_text_state_changed): same here.
10340         (draw_bg_rect): compare background color against base[] from
10341         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
10342
10343 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
10344
10345         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
10346         grabs are active, unless a delete event is send to the toplevel
10347         of the currently grab holding widget.
10348
10349 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
10350
10351         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
10352         debugging g_print's.
10353
10354 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
10355
10356         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
10357         ever make the scrolled-window requisition ever depend on the 
10358         visibility state of the scrollbars for the AUTOMATIC policy. 
10359         This breaks the GTK+ requisition model, and causes loops.
10360
10361 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
10362
10363         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
10364         the default font to avoid problems with XFree86-4.0 where the
10365         default charset is iso10646-1, not iso8859-1.
10366
10367 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
10368
10369         * acinclude.m4
10370         * config.guess
10371         * config.sub
10372         * ltconfig
10373         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
10374
10375         * gtk/Makefile.am: minor cosmetic consistency tweak
10376
10377 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
10378
10379         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
10380         the activate_time to 0, so that we handle a quick
10381         press/release press/release properly and don't suppress
10382         the second release. (Red Hat bug #7545)
10383
10384 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
10385
10386         * gtk/gtkctree.c (row_delete):
10387         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
10388         bugs with destruction notifier, *always* update internal
10389         structures *before* calling user code.
10390
10391 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
10392
10393         A few more fixes for bug #5487, #2051, #2677.
10394         * gtk/gtkclist.c : 
10395         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
10396         not GDK_BUTTON_PRESS.
10397         (resync_selection): resync only if selection_mode is
10398         GTK_SELECTION_EXTENDED
10399         * gtk/gtkctree.c (resync_selection): same here
10400
10401 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
10402
10403         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
10404         gdk_drag_get_selection() and gtk_menu_detach().
10405
10406         [ From Jeroen Ruigrok/Asmodai ]
10407
10408 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
10409
10410         * gtk/gtknotebook.c (gtk_notebook_size_request): 
10411         page->tab_label can be NULL.
10412
10413 2000-01-25  Havoc Pennington  <hp@pobox.com>
10414         
10415         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
10416         arg is boolean
10417
10418         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
10419
10420         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
10421
10422         * gdk/gdkproperty.c (gdk_property_get): return boolean
10423
10424         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
10425
10426         * gdk/gdkim.c (gdk_im_ready): return boolean
10427
10428         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
10429
10430         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
10431         glib clash, should fix glib)
10432
10433         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
10434         (gdk_get_show_events): return gboolean, and canonicalize 
10435         to TRUE/FALSE
10436
10437         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
10438         colormap is private
10439         (gdk_colors_alloc): gboolean whether to be contiguous
10440         (gdk_color_equal): return gboolean since we are a predicate
10441         and not a qsort() (this looks semi-wrong due to glib breakage,
10442         IMO glib should be fixed)
10443         
10444         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
10445         (gdk_get_use_xshm): return gboolean
10446         (gdk_pointer_is_grabbed): return gboolean
10447
10448         * gdk/gdk.h: Change prototypes to match all the above changes,
10449         and re-run egtk-format-protos as required.
10450
10451 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
10452
10453         * gtk/gtkctree.c (resync_selection): 
10454         * gtk/gtkclist.c (resync_selection):
10455
10456         Return immediately if clist->drag_pos < 0. This is a workaround
10457         for the corrupt state that the clist gets into when a
10458         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
10459
10460         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
10461         
10462         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
10463         variable from recent commit.
10464
10465 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
10466
10467         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
10468
10469 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
10470
10471         * gtk/Makefile.am: prefix all autogenerated source that get build in
10472         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
10473         in builddir. since we subsequently cd into srcdir for autogeneration,
10474         the paths have to be stripped from the target file names, thusly we
10475         use $(@F) as target names now.
10476         put a comment about configure.in's --disable-rebuilds option,
10477         which can be used for non-writable source directories, for development
10478         setups though, srcdir has to be *writable*.
10479
10480 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
10481
10482         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
10483           Finish the job of allowing event to be NULL.
10484           (Fixes bug #4283, reported by Chris Blizzard)
10485
10486         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
10487           things so that the cursor appears on screen, properly
10488           take into account INNER_BORDER.
10489           (Fixes bug #4754, reported by Antonio Campos)
10490
10491 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
10492
10493         * gtk/gtknotebook.c (gtk_notebook_map): Don't
10494           show the tab_label unless it itself is visible.
10495
10496           gtk/gtknotebook.c (gtk_notebook_size_request):
10497           Do a better job of making sure that the visibility
10498           of the tab label corresponds to whether it should
10499           be mapped or not.
10500
10501 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
10502
10503         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
10504           Use the requisition, not the allocation, since the
10505           allocation has not necessarily been computed yet.
10506           (Pointed out by Eugene Osintsev)
10507
10508 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
10509
10510         * gtk/gtkstyle.c (gtk_style_new): Dont' set
10511           style/base[GTK_STATE_INSENSITIVE] both to
10512           gtk_default_insensitive_bg!
10513           (Bug #2187, reported by Jonathan Blandford)
10514
10515         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
10516           Add Alt_L, Alt_R to list of invalid accelerators.
10517           (Bug #3736, reported by Vlad Harchev)
10518
10519 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
10520
10521         * gtk/gtkfilesel.c (open_ref_dir): Fix several
10522         bugs which occured after an attempt to open 
10523         invalid home directory left cmpl_state->reference_dir == NULL.
10524
10525          - completion on files in home directory didn't work
10526          - completion on an empty string caused  segfault
10527
10528          (Bug #3678, reported by Steve Ratcliffe)
10529
10530         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
10531         cut and paste error that was causing scales to
10532         be incorrectly positioned.
10533         (Bug #2956,
10534          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
10535
10536 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
10537
10538         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
10539         when checking for dcgettext, if we've found we needed
10540         it for dgettext.
10541 +
10542 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
10543
10544         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10545         queue_clear on NO_WINDOW widgets during a reparent,
10546         since at that point the window and widget heirarchies
10547         are out of sync. This stops crashing in some cases
10548         (the scrolled window reparent test, for instance), and
10549         _probably_ won't cause drawing errors.
10550
10551         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
10552         test do what it was supposed to do and be robust against
10553         window closings, etc. (Bug #2443)
10554
10555 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
10556
10557         * gtk/gtkentry.c: Fix return values on mouse events.
10558         (Bug #2686, Sky <seb_sky@yahoo.com>)
10559
10560         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
10561         (pointed out by George Lebl)
10562
10563         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
10564         (From Ettore Perazzoli  <ettore@helixcode.com>)
10565  
10566 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
10567
10568         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
10569         clicks between rows or outside calender area correctly.
10570         (Patch from Damon Chaplin)
10571
10572         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
10573         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
10574           Call destroy function when overwriting existing data. 
10575           (Pointed out by Damon Chaplin)
10576
10577 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
10578
10579         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
10580           which was causing problems on various systems with Xmu.
10581           This hasn't been needed for a very long time.
10582           (Fixes #1185 3167)
10583
10584 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
10585
10586         * gdk/gdki18n.h: Include <ctype.h> when defining
10587           gdk_isw* in terms of is* as a fallback.
10588           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
10589
10590 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
10591
10592         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
10593           realize the widget when it is size allocated!
10594           (old, old bug)
10595
10596         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
10597           Removed unused call to gdk_window_get_size() that
10598           showed up when the above was fixed.
10599
10600 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
10601
10602         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
10603           fix up widget->window when the widget is a
10604           NO_WINDOW container widget.
10605
10606 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
10607
10608         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
10609           to account for the fact that feof() does _not_ 
10610           return TRUE on errors, and thus avoid infinite loops
10611           when trying to use gdk_pixmap_create_from_xpm()
10612           on unreadable values.
10613
10614 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
10615
10616         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
10617
10618 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
10619
10620         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
10621           gdk_gc_set_dashes to take gint8 instead of gchar to
10622           make it clearer that it is _not_ a NULL terminated string.
10623
10624         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
10625           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
10626           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
10627           arguments.
10628
10629 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
10630
10631         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
10632         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
10633         background size relative to our allocation, guard against small
10634         allocations, we may have not yet been size allocated.
10635
10636 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
10637
10638         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
10639         not just version == 3. We implement all 3 + most of 4 - 
10640         (we don't support matching text/plain;charset=iso-8859-1
10641         to a dest that expects text/plain). We'll still advertise
10642         3 to be safe, but any client implementing version >= 3
10643         must interoperate with 3.
10644         
10645 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10646
10647         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
10648         background and gc members, add a warning in gtk_tooltips_set_color()
10649         indicating that this function is deprecated.
10650
10651 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
10652
10653         * docs/gtkfaq.sgml: FAQ Update:
10654           - Minor cleanups (Emmanuel, me)
10655           - New questions:
10656                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
10657                 How can I retrieve the text from a GtkMenuItem? (timj)
10658                 How do I validate/limit/filter the input to a GtkEntry? (me)
10659                 Memory does not seem to be released when I free the list
10660                         nodes I've allocated (timj)
10661
10662 2000-03-07  Tor Lillqvist  <tml@iki.fi>
10663
10664         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
10665         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
10666         for which it is no use to call GetLastError onWin9x.
10667         (gdk_other_api_failed) New function, for general error
10668         reporting without calling GetLastError.
10669         (gdk_win32_api_failed) OTOH, this function always calls
10670         GetLastError. (gdk_win32_last_error_string) Remove this function,
10671         GLib has the equivalent now.
10672
10673         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
10674         call them with function name, file name and line number in the
10675         arguments.
10676
10677         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
10678         functions.
10679         
10680         * gtk/gtk.def: Add some missing entry points.
10681
10682         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10683         gtk_paned_set_gutter_size, which don't exist any longer, as void.
10684         
10685         Fixes by Hans Breuer:
10686
10687         * gdk/makefile.msc: Update for debugging.
10688
10689         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
10690         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
10691         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
10692         in the dash_list.
10693
10694         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
10695         the x11 backend.
10696
10697         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
10698
10699         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
10700
10701 2000-03-04  Tor Lillqvist  <tml@iki.fi>
10702
10703         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
10704         just pixel value of background colour.
10705
10706         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
10707         containing code snippet previously duplicated in a couple of
10708         places.
10709         
10710         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
10711         gdk_colormap_color.
10712
10713         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
10714         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
10715         events for autorepeated Shift, Control and Alt keys. Use
10716         gdk_colormap_color.
10717
10718         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
10719         pointer is inside the window the cursor of which we are setting,
10720         call SetCursor immediately.
10721
10722         * gdk/win32/makefile.cygwin
10723         * gtk/makefile.cygwin: If we don't have the build number stamp
10724         file, use zero.
10725
10726         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10727         gtk_paned_set_gutter_size as empty.
10728
10729         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
10730         
10731 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
10732
10733         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
10734           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
10735           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
10736           docs/gtk_tut.sgml docs/gtk.texi TODO:
10737
10738           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
10739
10740 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
10741
10742         * gtk/gtkcalendar.c: Implement num_marked_dates,
10743           and don't emit mutiple day_selected signals on
10744           month_prev.
10745
10746 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
10747
10748         * docs/make-todo (lineno): let title and logo be configurable so
10749         that GNOME can use this script too.
10750
10751         * TODO.xml: added logourl and a title
10752
10753 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
10754
10755         * TODO.xml: Added some UI items, and an explanatory
10756         comment at the top of the file.
10757
10758 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
10759
10760         * TODO.xml: some updates, added abunch of new entries.
10761         a note for those fiddeling with this file, when done
10762         with it, invoke:
10763         $ ./docs/make-todo TODO.xml >/dev/null
10764         and correct output errors before comitting changes.
10765
10766 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
10767
10768         * TODO.xml: Added XML-structured TODO file.
10769         * docs/make-todo: python script to turn TODO.xml into
10770           pretty XML output. 
10771
10772 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
10773
10774         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
10775         the function to let it draw the seven dots, instead of the old,
10776         much maligned, method.
10777         (draw_dot): New function to draw a dot.
10778
10779         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
10780         to draw the handle inside the border width as opposed to outside.
10781         Use paint function instead of gdk_draw_point.
10782
10783         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
10784         to draw the handle inside the border width as opposed to outside.
10785         Use paint function instead of gdk_draw_point.
10786
10787         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
10788         Change indenting to be more GTK like.
10789
10790 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
10791
10792         * docs/gtk_tut.sgml: New section on GtkCalendar
10793         * examples/calendar: Update example code
10794
10795 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
10796
10797         * docs/gtkfaq.sgml: FAQ Update
10798
10799 2000-02-19  Anders Carlsson  <andersca@gnu.org>
10800
10801         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
10802         to prevent the scroll event to be propagated upwards.
10803
10804 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10805
10806         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
10807         OwnerGrabButtonMask from button entries for
10808         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
10809
10810         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
10811         to the event mask (which will result in button/press release
10812         being added to the event mask on Unix) so scrolling works
10813         for layouts in scroll windows.
10814
10815         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
10816
10817         Patch from Anders Carlsson  <andersca@gnu.org> to add
10818         a scroll event.
10819
10820         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
10821         scrolling to the "Test Scrolling" part of testgtk.
10822  
10823         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
10824  
10825         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
10826         it against GDK_SCROLL.
10827  
10828         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
10829         way of mouse wheel scrolling.
10830  
10831         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
10832  
10833         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
10834  
10835         * gtk/gtkmain.c: Removed previous mouse wheel hack.
10836  
10837         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
10838         gdk_event_mask_table.
10839  
10840         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
10841         GdkEventScroll handler.
10842  
10843         * gdk/gdkevents.h: Added GdkEventScroll structure.
10844  
10845 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
10846
10847         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
10848         and Anders Carlsson to change the Paned widgets so that they
10849         can be dragged from anywhere along the length. Also change
10850         the way that this is drawn to make this apparent.
10851
10852         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
10853         from George Lebl to check that option_menu->menu is present
10854         before getting history.
10855
10856 2000-02-14  Tor Lillqvist  <tml@iki.fi>
10857
10858         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
10859         before the assertion for non-NULL segment list.
10860
10861         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
10862         Seems that pattern brushes *must* be 8x8 pixels! At least on my
10863         machine, but it might be display driver dependent. Sigh, so make
10864         sure the stipple is that size. Does Windows suck or what?
10865
10866         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
10867         places.
10868
10869 2000-02-13  Havoc Pennington  <hp@pobox.com>
10870
10871         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
10872         refcount to 1
10873         (gdk_cursor_new): init refcount to 1
10874
10875         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
10876
10877 2000-02-13  Tor Lillqvist  <tml@iki.fi>
10878
10879         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
10880         so that we don't have to do unnecessary settings to the HDC.
10881
10882         * gdk/win32/gdkdrawable-win32.c
10883         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
10884         gdk_gc_predraw.
10885
10886         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
10887         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
10888         GDI paths, call WidenPath to get the outline of the stroken path,
10889         and then fill the outline (with the brush that was built from the
10890         stipple).
10891
10892         * gdk/win32/gdkgc-win32.c: Factor out common code from
10893         _gdk_win32_gc_new and gdk_win32_gc_set_values into
10894         gdk_win32_gc_values_to_win32values. Use correct colour for
10895         SetBkColor() (Until now the code actually used a random colour in
10896         the call to SetBkColor()... but that didn't show up as not many
10897         GDI APIs use the background colour. Pattern (opaque stippled)
10898         brushes do.)
10899
10900         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
10901         gdk_win32_api_failed): New functions for error logging.
10902
10903         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
10904         WIN32_API_FAILED to call them, passing function or file name and
10905         line number.
10906
10907         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
10908
10909         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
10910         GdkColor for foreground and background in GdkGCWin32Data.
10911
10912         * gdk/makefile.cygwin: Link in the resource object separately.
10913
10914         * gdk/win32/rc/gdk.rc
10915         * gtk/gtk.rc (New file)
10916         * gdk/win32/makefile.cygwin
10917         * gtk/makefile.cygwin: Update build number in DLLs automatically,
10918         as in GLib.
10919
10920 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
10921
10922         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
10923         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
10924         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
10925         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
10926         parameters given and cursor->ref_count. coding style fixups.
10927
10928         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10929         not GtkWidget.
10930         
10931         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
10932         fix up widget macros and add _GET_CLASS() variant.
10933         
10934         * gtk/*.c: some GtkType fixups.
10935
10936 2000-02-09  Tor Lillqvist  <tml@iki.fi>
10937
10938         * gdk/win32/gdkproperty-win32.c
10939         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
10940         were reversed.
10941
10942 2000-02-04  Tor Lillqvist  <tml@iki.fi>
10943
10944         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
10945         g_filename_to_utf8 to convert the font names Windows gives us from
10946         whatever is the default codepage to UTF-8.
10947         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
10948         in the other direction.
10949
10950         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
10951         error in debugging output.
10952
10953 2000-02-02  Tor Lillqvist  <tml@iki.fi>
10954
10955         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
10956         and height parameters to gdk_window_clear_area(). Not minus one.
10957
10958 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
10959
10960         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
10961         checks if the widget passed to gtk_drag_get_data() was not the
10962         dest widget.
10963
10964 2000-02-01  Tor Lillqvist  <tml@iki.fi>
10965
10966         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
10967         g_filename_from_utf8 functions (which were added a moment ago to
10968         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
10969         size buffers.
10970
10971         gtk_file_selection_get_filename returns the filename in the C
10972         runtime encoding. It calls g_filename_from_utf8, but copies the
10973         returned string to a static buffer, which is returned. I think
10974         this is better than returning the result from g_filename_from_utf8
10975         directly, which would mean all apps that use it would have to free
10976         the return value. Or should this function care about this issue at
10977         all? Maybe a new function with clearly defined semantics.
10978
10979         * gtk/gtkfilesel.h: Add comment about
10980         gtk_file_selection_get_filename returning the filename in the C
10981         runtime's encoding.
10982
10983         * README.win32
10984         * gdk/gdk.def
10985         * gdk/makefile.{cygwin,msc}
10986         * gtk/gtk.def: Updates.
10987
10988         * gdk/gdkcursor-win32.c: Initialise refcount.
10989
10990 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
10991
10992         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
10993
10994 2000-01-30  Havoc Pennington  <hp@pobox.com>
10995
10996         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
10997         destroy
10998
10999         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
11000
11001         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
11002         implemented in platform-specific code
11003
11004         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
11005
11006         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
11007         underscore in front
11008
11009         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
11010         put an underscore in front
11011
11012         * gdk/gdkcursor.c: new file, implements
11013         gdk_cursor_ref/gdk_cursor_unref
11014
11015         * gdk/gdkcursor.h: Refcount GdkCursor
11016
11017         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
11018
11019 2000-01-29  Tor Lillqvist  <tml@iki.fi>
11020
11021         * gdk/gdkwindow.h
11022         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
11023
11024 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
11025
11026         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
11027         structures to properly inherit from GtkWidget not GtkBin.
11028
11029 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
11030
11031         * gtk+.spec.in: Added lib/gtk+/include/* to %files
11032         (bug #5178 - Peter Wainright)
11033         
11034         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
11035         so that it will be installed.
11036         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
11037
11038 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
11039
11040         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
11041         for the GtkStyleClass vtable const.
11042
11043         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
11044         take a const string argument like GtkTranslateFunc. This will
11045         require changes in use code.
11046
11047 2000-01-19  Tor Lillqvist  <tml@iki.fi>
11048
11049         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
11050         semantics (to mimic the X11 backend, which just calls XClearArea)
11051         is to check for zero width (and height), and in that case use the
11052         window's width minus x (height minus y). This fixes for instance
11053         some redraw problems with gtkclist, which were easily noticeable
11054         in the gtk file selection widget.
11055
11056         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
11057         windows.
11058
11059 2000-01-13  Tor Lillqvist  <tml@iki.fi>
11060
11061         * configure.in
11062         * gdk/Makefile.am
11063         * gdk/x11/Makefile.am
11064         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
11065         (bug #5177).
11066         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
11067         out later.
11068
11069 2000-01-09  Tor Lillqvist  <tml@iki.fi>
11070
11071         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
11072         WM_MOVE for iconified or invisible windows. This fixes various
11073         problems when minimising windows. Thanks to Bernd Herd.
11074
11075 2000-01-05  Tor Lillqvist  <tml@iki.fi>
11076
11077         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
11078         backend's draw_lines method, not draw_points.
11079
11080 2000-01-02  Tor Lillqvist  <tml@iki.fi>
11081
11082         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
11083         before Owen's reorganisation: Don't have queued_events and
11084         queued_tail statics in this file, but use gdk_queued_events and
11085         gdk_queued_tail. This makes exposure event compression work again.
11086
11087         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
11088         seem to be needed?
11089
11090 1999-12-30  Tor Lillqvist  <tml@iki.fi>
11091
11092         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
11093         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
11094         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
11095         doesn't do anything.
11096
11097         * gdk/gdk.def: Add gdk_xid_table_insert.
11098
11099         * gdk/win32/gdkprivate-win32.h
11100         * gdk/win32/gdkevents-win32.c
11101         * gdk/win32/gdkinput-win32.c
11102         
11103         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
11104         extension_events field in the GdkWindowWin32Data struct. Use only
11105         the extension_events field in GdkWindowPrivate. Previously one was
11106         set, and the other one tested, which broke tablet
11107         functionality. Thanks to Keishi Suenaga for pointing this out.
11108
11109 1999-12-18  Tor Lillqvist  <tml@iki.fi>
11110
11111         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
11112         When handling a single character (text length == 1), don't handle
11113         it as if it was UTF-8.
11114
11115 1999-12-11  Tor Lillqvist  <tml@iki.fi>
11116
11117         * Makefile.am: Distribute README.win32.
11118         
11119         * gdk/Makefile.am
11120         * gdk/win32/Makefile.am: Distribute Win32 files.
11121
11122         * gdk/makefile.msc: New file.
11123
11124         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
11125         after label).
11126
11127         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
11128         gdk_error_code as GDKVAR, as they are referred outside GDK.
11129
11130         * gdk/win32/makefile.msc: Update.
11131
11132         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
11133         tweaks. Check only if at least one of those Unicode subrange bits
11134         we care for is set. If no code page bits are set, guess (wildly)
11135         based on the charset.
11136
11137         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
11138
11139         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
11140         non-NULL.
11141
11142         * gtk/gtkdnd.c
11143         * gtk/gtklayout.c
11144         * gtk/gtkplug.c
11145         * gtk/gtkselection.c
11146         * gtk/gtksocket.c
11147         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
11148         appropriate. There must be a cleaner way to handle this?
11149
11150         * gtk/gtkrc.c: Must include windows.h on Win32.
11151
11152         * gtk/testgtk.c: No need to include gdkx.h.
11153
11154         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
11155
11156 1999-12-07  Tor Lillqvist  <tml@iki.fi>
11157
11158         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
11159         the rbearing is set to the same as the width, but this should be
11160         fixed.
11161
11162 1999-12-06  Tor Lillqvist  <tml@iki.fi>
11163
11164         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
11165         function. If Windows doesn't tell us what Unicode subranges a font
11166         covers, guesstimate based on the codepages it covers. This will
11167         hopefully help those Windows versions or fonts that don't give us
11168         any useful Unicode subrange information with GetTextCharsetInfo.
11169         Call this function in gdk_font_load_internal.
11170
11171         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
11172         minor changes.
11173
11174 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
11175
11176         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
11177         New function, long needed.
11178
11179 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
11180
11181         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
11182         only_if_exists argument of gdk_atom_intern to
11183         bool.
11184
11185 1999-11-25  Tor Lillqvist  <tml@iki.fi>
11186
11187         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
11188         Fix two copy&paste errors.
11189
11190         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
11191         win32 has changed.
11192
11193         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
11194         GdkWin32SingleFont struct.
11195
11196         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
11197         subranges of loaded fonts. Clear font signature first, in case
11198         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
11199         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
11200
11201         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
11202         Unoffset clip region.
11203
11204 1999-11-23  Tor Lillqvist  <tml@iki.fi>
11205
11206         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
11207         event->any.window before calling filter functions.
11208
11209 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
11210
11211         * gtk/gtkgamma.h: Adapt cast macros to standard.
11212
11213 [ Merges from 1.2 ]
11214
11215 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
11216
11217         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
11218         If translation does not include a '/', use entire
11219         translation instead of crashing.
11220
11221 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
11222
11223         * docs/gtk_tut.sgml:
11224         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
11225
11226 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
11227
11228         * gtk/gtkselection.c (gtk_target_list_remove): Use
11229         g_list_remove_link, not g_list_remove.
11230
11231         [ From Geert Bevin <gbevin@thunderstorms.org> ]
11232         
11233 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
11234
11235         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
11236         statement upon unselection (how the heck did that slip in?).
11237
11238 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
11239
11240         * gtk/gtktext.c (gtk_text_freeze): 
11241         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
11242         in frozen state (and aparently crashes). patch provided by Anders
11243         Melchiorsen <and@kampsax.dtu.dk>.
11244
11245 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
11246
11247         * fix insensitive default/focus widget activation,
11248         reported by Matt Goodall <mgg@isotek.co.uk>.
11249
11250         * gtk/gtkwindow.c (gtk_window_key_press_event): 
11251         (gtk_window_activate_default):
11252         (gtk_window_activate_focus):
11253         return handled=FALSE for actiavtion of insensitive default
11254         widgets. return handled=TRUE for activation of insensitive
11255         focus widgets. don't activate in either case.
11256
11257 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
11258
11259         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
11260         and $glib_cflags to match library order and in the
11261         theory that an old version of GLib is more likely to
11262         be in the include directory for X then vice-versa.
11263         (Bug #2776)
11264
11265 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11266
11267         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
11268         to determine the locale for fontsets, not LC_MESSAGES;
11269         the user may want English messages with a handling
11270         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
11271         will still be broken) (Bug #2891)
11272
11273 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11274
11275         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
11276
11277 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11278
11279         * gtk/gtkrc.ko: Changed the Korean default fontset.
11280
11281 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
11282
11283         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
11284         where when scrolling to the left or top double exposes
11285         were done, causing major slowdowns.
11286
11287 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
11288
11289         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
11290         names to lowercase and alphanumeric, before looking
11291         them up.
11292
11293         * gtk/Makefile.am: Install codeset variant gtkrc files
11294         with normalized names.
11295
11296 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
11297
11298         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
11299         popup menus when the menu is already visible, but its parent
11300         is still hidden, (happens after tornoff window got hidden).
11301
11302 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
11303
11304         * gtk/Makefile.am (install-data-local): Fix
11305         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
11306         deleted, causing error messages on install.
11307
11308 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
11309
11310         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
11311         the handle as well, since we now sometimes ignore
11312         exposes on the handle while resizing.
11313
11314 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
11315
11316         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
11317         extra g_free introduced in one of the last one or two 
11318         commits.
11319
11320 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
11321
11322         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
11323         consistent, put each style that a gtkrc.* file creates
11324         in a unique namespace, remove old files before installing.
11325
11326 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
11327
11328         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
11329         gtk_rc_init is called multiple times. (Yes, people who
11330         do that have bugs in their code.)
11331
11332 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
11333
11334         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
11335         Remove it since it's generated by the Makefile anyway
11336
11337 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
11338
11339         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
11340         device->info.axes for core pointer.
11341
11342 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
11343
11344         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
11345         idle_id, to deal with obsolete, broken C libraries.
11346
11347 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
11348
11349         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
11350         allocation->x/y twice!
11351
11352         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
11353         consistent with gtk_vscale_pos_trough().
11354
11355 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
11356
11357         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
11358         be queueing a resize on a toplevel container between
11359         the time we show it and when we map it. So, we need
11360         to test GTK_WIDGET_VISIBLE() for toplevels, and only
11361         use GTK_WIDGET_DRAWABLE() for child windows.
11362
11363 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
11364
11365         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
11366         (fixes bug #2144)
11367
11368 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
11369
11370         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
11371         container DRAWABLE (instead of VISIBLE), so we don't queue
11372         resizes on non-toplevel containers.
11373
11374 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
11375
11376         * gtk/gtkselection.[ch]: Make the data argument
11377         const guchar *.
11378
11379 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
11380
11381         * gtk/gtkwindow.c: Try to behave sensibly if 
11382         the focus widget is the window itself. (Should
11383         we allow this at all?)
11384
11385 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11386
11387         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
11388         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
11389         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
11390         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
11391         in prototypes and implementations consistent (Tomas Ogren).
11392
11393         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
11394         before the widget is unparented (reported by damon).
11395
11396         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
11397         since we provide unsigned data anyways.
11398
11399 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
11400
11401         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
11402         the call to gtk_tooltips_layout_text() until later.
11403
11404         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
11405         Call gtk_widget_ensure_style() before using the style.
11406
11407 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
11408
11409         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
11410         for old widgets that don't propagate draws to all
11411         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
11412
11413 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
11414
11415         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
11416         for a redraw but just the widget that requested the resize.
11417
11418 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
11419
11420         * gtk/gtkcontainer.c: added new widget level method
11421         gtk_container_set_reallocate_redraws() and a GtkContainer flag
11422         reallocate_redraws : 1 to reflect the setting, exported this through
11423         the argument system as a boolean ::reallocate_redraws.
11424
11425         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
11426         on the widget because the allocation changes, do so as well for
11427         widget->parent if the parent has reallocate_redraws set to TRUE.
11428         with that containers requesting reallocation redraws get automatically
11429         redrawn if their children changed allocation (this unfortunately
11430         affects also other children that didn't change allocation, but we
11431         cannot work around that before 1.3).
11432
11433 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11434
11435         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
11436         _and_ height are >0 (not _or_).
11437
11438         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
11439         instead of gtk_container_queue_resize(), which is a core gtk internal
11440         function (must have been on crack when i queued that).
11441
11442         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
11443         we can check more reliably if we want to discard expose events.
11444         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
11445         flag.
11446         
11447         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
11448         we simply trust these events. for deciding whether to discard exposes,
11449         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
11450         
11451 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
11452
11453         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11454         queues of areas that are completely off screen.
11455
11456         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
11457         logic for handleboxes.
11458
11459         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
11460         check on width/height.
11461
11462 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
11463
11464         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
11465         we are fine with using $@ the way we do (if we actually encounter
11466         brokeness with $@ in VPATH builds because of additional path prefixes,
11467         we need to use $(@F) actually).
11468
11469 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
11470
11471         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
11472         short lived bugs, that would allow language bindings to do surgeries
11473         to our guts.
11474
11475 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
11476
11477         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
11478         where comparison was being done against an uninitialized
11479         value causing intermittant results depending on
11480         compiler flags. Also make it clearer that we aren't
11481         ever initializing the child as 0x0 (though this will
11482         be caught in gtk_widget_size_allocate())
11483
11484 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
11485
11486         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
11487         gtk_window_unset_transient_for() call after we do checks
11488         involving the old transient parent.
11489         [ From Lance Capser <lmc@cyberhighway.net> ]
11490
11491 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
11492
11493         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
11494         an empty file.
11495
11496 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
11497
11498         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
11499         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
11500
11501 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
11502
11503         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
11504         `$@' is valid only in the build dir, not after we've done 
11505         `cd $srcdir'.  Also use `test -f' instead of less portable
11506         `test -e'.
11507
11508 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
11509
11510         * gtk/gtktext.c (correct_cache_insert): Rewrite
11511          for simplicity, and hopefully correctness.
11512          (Fixes bug #1322, which was a segfault when
11513           on some insertions with the properties around
11514           the insertion set up just wrong.)
11515
11516         * gtk/gtktext.c (gtk_text_adjustment): When we receive
11517          a "changed" signal, clamp the new value to the adjustment
11518          bounds to avoid segfaulting if someone tries to change
11519          the adjustment to a bogus value. (Bug #1795)
11520
11521 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11522
11523         * gtk/gtkmain.c: Ignore unexpected destroy notifies
11524         for children, for toplevel windows handle them
11525         like delete_event.
11526
11527         * gtk/gtkplug.c: Add an unrealize handler so that
11528         we unref plug->socket_window when we are done
11529         with it.
11530
11531 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
11532
11533         * gtk/gtktext.c (clear_area): Fix stupid signedness
11534          problem that was causing background to sometimes
11535          be misaligned.
11536
11537 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
11538
11539         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
11540         
11541         * gtk/gtkmenu.c (gtk_menu_position): Make
11542          sure we never position menus with negative x, y,
11543          since gtk_widget_set_uposition() can't handle that.
11544
11545         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
11546          Modify the positioning code a bit so that we always
11547          put the top-left corner onscreen. (This is for
11548          UI reasons, gtk_menu_position() now takes care of
11549          gtk_widet_set_uposition() brokeness.)
11550
11551 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
11552
11553         * gtk/Makefile.am: fixed up things for -jx, x > 1.
11554
11555 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
11556
11557         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
11558           RC style that is passed in. The lack of the ref
11559           before was a bug. If people worked around this
11560           bug, this will introduce a slight memory leak
11561           in their code. The code should typically look like:
11562
11563             rc_style = gtk_rc_style_new ();
11564             [...]
11565             gtk_widget_modify_style (widget, rc_style);
11566             gtk_rc_style_unref (rc_style);
11567
11568         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
11569           the style if it was already set.
11570
11571         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
11572           style if it was set before.
11573
11574 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11575
11576         * gtk/testgtk.c (main): Add a check to see if we
11577           are being run from the correct directory and
11578           to quit nicely if we are not.
11579
11580         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
11581           static.
11582
11583 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
11584
11585         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
11586
11587         * gtk/gtkwindow.c:
11588         queue resizes unconditionally (gtk_widget_queue_resize will figure
11589         what to do if the window is not realized).
11590         (gtk_window_move_resize): only recenter the window
11591         for GTK_WIN_POS_CENTER_ALWAYS.
11592         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
11593         the same way as GTK_WIN_POS_CENTER.
11594
11595 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
11596
11597         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
11598         with (!(info->last_flags & GDK_HINT_POS)) instead of
11599         (!info->last_flags & GDK_HINT_POS).
11600
11601         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
11602         new_height unconditionally, because we use these values even if
11603         !default_size_changed && !hints_changed.
11604         comented the (default_size_changed || hints_changed) case with
11605         respect to resize rejects from the window manager.
11606
11607         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
11608         in the zvt condition hack, since this includes the window hints, set
11609         the hints after the handling_resize case.
11610
11611         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
11612         window is initially shown with to the geometry.
11613
11614 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
11615
11616         * gtk/gtkwindow.c (gtk_window_move_resize):
11617         s/size_changed/default_size_changed/g so i know what's
11618         really going on (frying brain on smaller flame now).
11619
11620 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
11621
11622         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
11623         we have size_changed upon handling_resize. this is a gross
11624         workaround for the broken zvt widget and should be removed in
11625         1.3 again (search for FIXME).
11626         Owen provided an accurate comment for this:
11627
11628         /* We could be here for two reasons
11629          *  1) We coincidentally got a resize while handling
11630          *     another resize.
11631          *  2) Our computation of size_changed was completely
11632          *     screwed up, probably because one of our children
11633          *     is broken. It's probably a zvt widget.
11634          *
11635          * For 1), we could just go ahead and ask for the
11636          * new size right now, but doing that for 2)
11637          * might well be fighting the user (and can even
11638          * trigger a loop). Since we really don't want to
11639          * do that, we requeue a resize in hopes that
11640          * by the time it gets handled, the child has seen
11641          * the light and is willing to go along with the
11642          * new size. (this happens for the zvt widget, since
11643          * the size_allocate() above will have stored the
11644          * requisition corresponding to the new size in the
11645          * zvt widget)
11646          *
11647          * This doesn't buy us anything for 1), but it shouldn't
11648          * hurt us too badly, since it is what would have
11649          * happened if we had gotten the configure event before
11650          * the new size had been set.
11651          */
11652
11653 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
11654
11655         * gtk/gtkrc.c: deal properly with the fact that RC
11656           style lists may include rc styles more than once.
11657
11658         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
11659           unused static function.
11660
11661         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
11662           stack of directories of RC files currently being
11663           parsed and implicitely add them to pixmap path.
11664           
11665           This fixes a bug where the directory would get
11666           appended then overwritten by pixmap_path declarations.
11667
11668           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
11669
11670         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
11671           theme's exit function. (Patch from Peter Wainwright,
11672           bug #1454)
11673
11674         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
11675           Add a destroy() handler to take care of removing
11676           group for menu item. (Fixes bug #1197)
11677
11678         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
11679           in warning message.
11680
11681 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
11682
11683         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
11684         roundtrip to figure window's width and height, since we know that
11685         anyways from widget->allocation.
11686
11687 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
11688
11689         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
11690           the hints after we request the new size.
11691
11692 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
11693
11694         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
11695           GTK_WIDGET_REALIZED() assertion - we can compute the
11696           hints before we are realized.
11697
11698         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
11699           hint changing so that we have a value of hints_changed
11700           when we decide whether to constrain the window size.
11701
11702         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
11703
11704         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
11705         change back to G_MAXINT.
11706
11707 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
11708
11709         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
11710         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
11711         contain uncluttered values.
11712         (gtk_window_compute_hints): simply assert that window is realized
11713         and that geometry_info is valid, since we rely on this anyways.
11714         (gtk_window_constrain_size): major cleanups to the code.
11715         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
11716         for the base size, instead of the minimums. use 32767 as max width
11717         and height (like in gtkwindow.c) instead of G_MAXINT.
11718
11719 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
11720
11721         * cleaned up the GtkContainer.need_resize flag handling mess, we
11722         only need to force resize requests when we were prematurely
11723         realized, or our widget tree was modified when we were temporarily
11724         hidden. handling these cases directly upon showing the window (i.e.
11725         while the GdkWindow is still unmapped) avoids the need to wait for
11726         a configure event response and therefore makes the GUI more snappier
11727         and avoids blank windows during the roundtrip.
11728
11729         * gtk/gtkwidget.c:
11730         (gtk_widget_hide): 
11731         (gtk_widget_show): don't queue resizes on toplevels, they know how
11732         to deal with matters.
11733
11734         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
11735         flag directly for not visible resize containers and spare us unecessary
11736         signal emissions.
11737
11738         * gtk/gtkwindow.c:
11739         (gtk_window_realize): if we need to enforce premature size allocation,
11740         queue a container resize so we are correctly resized later on.
11741         (gtk_window_init):
11742         (gtk_window_size_request):
11743         don't freak around with the ->need_resize flag,
11744         gtk_container_queue_resize() will care about that.
11745         (gtk_window_show):
11746         handle initial resizing issues here, we can handle matters better in
11747         this place, especially since we know that our GdkWindow is still
11748         unmapped.
11749         (gtk_window_move_resize):
11750         don't care about ->need_resize at all.
11751         handle size changes properly that occoured while we waited for a
11752         configure event.
11753
11754 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
11755
11756         * gtk/gtkwidget.c (gtk_widget_set_uposition):
11757         * gtk/gtkwindow.[hc] (gtk_window_reposition):
11758         Move the hint setting code from gtk_widget_set_uposition
11759         to here; set the hints so that we respect any previously
11760         set geometry hints.
11761
11762         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
11763         change the window hints here or move the window here,
11764         let that happen in gtk_window_move_resize().
11765
11766 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
11767
11768         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
11769         to already queued resizes (and therefore redraws) on a widget, check
11770         its anchestry as well.
11771
11772         * gtk/gtkcontainer.c:
11773         (gtk_container_queue_resize): clear resize widgets for resize
11774         containers before aborting prematurely. this is especially important
11775         for toplevels which may need imemdiate processing or their resize
11776         handler to be queued.
11777         (gtk_container_dequeue_resize_handler): added new internal function for
11778         gtkwindow.c.
11779
11780         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
11781         configure event, take possible changes in window position into account
11782         as well.
11783         if we request a new window size, queue up a resize handler that will
11784         last until the configure event response arrives.
11785         combined the ->need_resize case (initial show) with the general size
11786         (hints) changed case and added even more comments.
11787         if !auto_shrink, only revert to the old allocation if the new size
11788         is smaller than the current allocation.
11789
11790 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
11791
11792         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
11793                            gtk_window_set_geometry_hints
11794                            gtk_window_set_default_size):
11795         When hints are set, queue a resize so that the hints will
11796         be eventually reset on the toplevel.
11797
11798         * gtk/gtkwindow.c (gtk_window_show): Use
11799         gtk_window_compute_default_size(). Clear the need_resize flag
11800         on the initail map so that we don't unnecessarily trigger the
11801         resize code.
11802
11803         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
11804         into separate functions. Compare the hints we are setting
11805         with what we set last time so that we can accurately
11806         tell when we need to reset the hints.
11807
11808         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
11809         function to figure out the size from requisition
11810         and default_size.
11811
11812         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
11813         from fvwm to constrain a size to the geometry hints.
11814
11815         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
11816         to compare two sets of geometry hints.
11817
11818         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
11819         from gtk_window_set_hints(), just compute the hints,
11820         don't set them.
11821
11822         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
11823         code from gtk_window_move_resize() to separate function,
11824         rationalize a bit.
11825
11826 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
11827
11828         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
11829         structure into a new private structure.
11830
11831         * gtkrc.c: Split GtkRcStyle into public/private.
11832         In the private part, add a list of pointers to the
11833         RcStyle lists this RcStyle participates in.
11834
11835         * gtkrc.c: When a RcStyle is free, remove all
11836         lists referencing it from the 
11837         realized_style_ht hash, and free those lists.
11838         
11839         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
11840         gtk_rc_init(), since that adds the default styles
11841         to the list of parsed RC files again.
11842
11843         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
11844         
11845 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
11846
11847         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
11848         checks that ensure that a widget's allocation is at least 1 in width
11849         and height. (GNOME note: this doesn't affect old panel code anymore,
11850         because GtkSocket will request width and height of at least 1 since
11851         Fri Jul 23).
11852
11853         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
11854         allocated yet (happens if the user realizes the window prematurely),
11855         size request and allocate it.
11856         (gtk_window_size_allocate): guard against guint underflows.
11857
11858 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
11859
11860         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
11861         in gtk_built_sources, so gtk.defs gets built prior to all other
11862         sources.
11863
11864 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11865
11866         * gtk/Makefile.am:
11867         invoke indent on gtkmarshal.*. 
11868         rewrote source generation rules, use COPYING as oldest source tag for
11869         a piggyback rule to generate all sources from (don't touch it ;).
11870         major cleanups, strip spaces on build rules for GNU Make.
11871
11872         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
11873         source and target files from commandline arguments. don't invoke indent.
11874
11875 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11876
11877         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11878         notebook after switch to avoid drawing problems.
11879         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11880         
11881         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11882         show them instead. 
11883         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11884
11885 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11886
11887         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11888         notebook after switch to avoid drawing problems.
11889         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11890         
11891         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11892         show them instead. 
11893         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11894
11895 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
11896
11897         * gtk/gtkwindow.c:
11898         we use window->need_resize from configure_event now, to indicate that
11899         the gtkwindow should keep its allocation (e.g. because the user resized
11900         the window through window manager handles). resize_count is now reliably
11901         used to figure whether we got the allocation we requested from the
11902         window manager.
11903         configure events get queued as resizes now, the real stuff (size
11904         computation and allocation) now only goes on in gtk_window_move_resize().
11905         GtkWindow's requisition now contains its *real* requisition (like all
11906         other widgets), *not* taking usize into account.
11907         geometry_info->last_{width|height} is now updated from set_hints() only
11908         so it always contains the last hints we set for the window manager.
11909         made some event handlers return TRUE instead of FALSE.
11910         the overall code should be much more straight forward now, and the
11911         significant code portions are accompanied by comments now.
11912         (gtk_window_set_hints):
11913         removed requisition argument and made it
11914         fetch the requisition through gtk_widget_get_child_requisition.
11915         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
11916         does that now.
11917         (gtk_window_show):
11918         ensure that the widget is realized before calling 
11919         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
11920         ensure that we got properly size requested and allocated before
11921         realization.
11922         (gtk_window_configure_event):
11923         ignore plain window moves, or reallocate the widget tree through the
11924         resize queue otherwise.
11925         (gtk_window_move_resize):
11926         mostly rewrote this function to figure window manager hints more
11927         reliably, coalesce window moves and resizes to reduce configure events
11928         and do actuall size allocations.
11929
11930 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11931
11932         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
11933         that have a resize pending, because a redraw is already queued for them.
11934
11935         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
11936         hack to clear resize_widgets.
11937
11938         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
11939         for resize containers prior to size allocation. (this is also a bit
11940         ugly, but avoids side effects for stopped emissions and is thus more
11941         reliable).
11942         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
11943
11944         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
11945         function from gtk_tooltips_expose, as we connect to ::expose_event
11946         *and* ::draw now.
11947
11948 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11949
11950         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
11951         checks.
11952         (gtk_target_list_unref): Likewise.
11953
11954         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
11955
11956 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
11957
11958         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
11959         guard against division by zero. (Fixes bug #1339)
11960
11961 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
11962
11963         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
11964         Prevent the trivial leak of information of allowing
11965         word motion when the entry is not visible.
11966
11967 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
11968
11969         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
11970         modality to error dialog as well as confirmation dialogs.
11971         (Bug #1803, reported by Rosanna Wing Sze Yuen)
11972
11973 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11974
11975         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
11976         tree->view_lines.
11977         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
11978
11979         * gtk/Makefile.am (install-data-local): Solaris apparently
11980         has various troubles with ln -f; use rm first instead.
11981         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
11982
11983 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
11984
11985         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
11986         use `cp' followed by `rm' (the `rm' was already there).
11987
11988 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11989         
11990         * configure.in: Fix autoconf warnings about cross compilation by
11991         trying to provide sane defaults for AC_TRY_RUN.
11992         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
11993         put them into $(srcdir) when generated. Also add a dependency of
11994         gtksignal.h on gtkmarshal.h for -j builds. 
11995         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
11996
11997 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
11998
11999         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
12000         GDK_THREADS_{LEAVE,ENTER} pair.
12001         (From Paul Fisher <pnfisher@redhat.com>)
12002
12003 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
12004
12005         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
12006         width and height are always >0 (owen).
12007
12008 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
12009
12010         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
12011         change that assured that a widget's allocated with and height are
12012         always >1, since this breaks *buggy* panel code. unfortunately this
12013         back-breaks the gimp's color selector.
12014
12015         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
12016         allocation is always >0 in width and height, before sending the
12017         configure event; this is a *gross* hack to get the gimp back to work.
12018         
12019         * marked both cases with TODO-1.3
12020
12021 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
12022
12023         * gtk/gtktext.c: Don't display wrap indicators when
12024         text is not editable and word wrap is on.
12025
12026 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
12027
12028         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
12029         option menus here as they are not derived from menu shell, assure that
12030         the option menu has a menu we can add items to.
12031
12032 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
12033
12034         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
12035         width/height to (gint) before calculations and check against < 0 to
12036         avoid guint wraparounds.
12037
12038 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
12039
12040         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
12041         width and height is never zero. sanity check both dimensions against
12042         32767 and issue a warning if the allocation is greater than that.
12043
12044 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
12045
12046         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
12047         to g_main_pending() as well.
12048
12049 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
12050
12051         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
12052         call to g_main_iteration() - since that will regrab
12053         GTK+ lock to process events.
12054
12055 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
12056
12057         * gtk/gtkwindow.c
12058         - Regularize with the rest of GTK+ by making widget->requisition
12059           not reflect the set_usize()
12060         - Always recompute geometry hints, then check if they
12061           changed before sending them to the X server. The
12062           previous checks for changes would fail in a number
12063           of circumstances. 
12064
12065 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
12066
12067         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
12068
12069 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
12070
12071         * gtk/gtkdnd.c:
12072         - Code cleanups
12073         - Instantaneously update on modifier key presses
12074         - Allow cancellation of the drag with Escape.
12075
12076 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
12077
12078         * gtk/testgtk.c (create_handle_box): Set the policy
12079         to auto_shrink - otherwise the appearance is rather
12080         strange when flipping between horizontal and vertical.
12081
12082 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
12083
12084         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
12085         (gtk_window_set_default_size): don't change a value if it's < 0.
12086         queue a resize.
12087
12088 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
12089
12090         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
12091
12092 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
12093
12094         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
12095         add an extra "/" when concating "/" + filename.
12096         (From Matt Grossman <mattg@oz.net>)
12097
12098 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
12099
12100         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
12101         for fg_gc if we set it for drawing pixmap.
12102
12103 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
12104
12105         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
12106         
12107         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
12108         already set, call old engine's destroy function and
12109         unref the old engine.
12110
12111 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
12112
12113         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
12114
12115 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
12116
12117         * gtk/gtkaccelgroup.h: mark certain functions as internal.
12118
12119 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
12120
12121         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
12122         expand behaviour changed.
12123
12124         * gtk/gtklabel.c (gtk_label_set_pattern):
12125         (gtk_label_set_justify):
12126         (gtk_label_set_line_wrap):
12127         don't bother invoking queue_clear, the reallocation does
12128         that for us, always free_words so the upcoming resize will
12129         relayout the label's contents.
12130
12131 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
12132
12133         * applied argument implementation patches from Elena Devdariani
12134         <elena@cogent.ca>.
12135
12136         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
12137         ::space_style, ::relief
12138         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
12139         * gtk/gtkpreview.c: ::expand
12140         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
12141         * gtk/gtknotebook.c: ::homogeneous
12142         * gtk/gtklabel.c: ::wrap
12143         * gtk/gtklist.c: ::selection_mode
12144         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
12145         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
12146         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
12147         * gtk/gtkclist.c: ::sort_type
12148         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
12149         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
12150
12151 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
12152
12153         * gtk/gtkstyle.c: Removed ill-thought-out part of last
12154         comment.
12155
12156 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
12157
12158         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
12159         counting right when we have to attach a new style
12160         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
12161
12162         * gtk/gtkstyle.c: Documented the refcounting
12163         peculularities of gtk_style_attach.
12164
12165 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12166
12167         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
12168         window types.
12169
12170         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
12171         of GTK_TOPLEVEL for creating the window.
12172
12173 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12174
12175         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
12176         the last argument (reported by Per Winkvist).
12177         
12178 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
12179
12180         Fixes for invisible XOR lines (Frank Loemker
12181         <floemker@TechFak.Uni-Bielefeld.DE>)
12182         
12183         * gtk/gtkclist.c (gtk_clist_realize): Always use
12184         a non-zero pixel for GDK_XOR.
12185
12186         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
12187         Use GDK_INVERT instead of GDK_XOR.
12188
12189 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
12190
12191         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
12192         signals if h/voffsets differ from adjustment values.
12193         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
12194
12195 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
12196
12197         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
12198         ::selection-done emissions up to the topmost menu shell.
12199
12200 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
12201
12202         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
12203         the user data on the window before destroying it.
12204
12205         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
12206         unrealize handler to take care of destroying 
12207         notebook->panel properly. 
12208         (Bug #1198 - Morten Welinder <terra@diku.dk>)
12209
12210         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
12211         of g_new and g_realloc to stop memory leak. (Actually,
12212         we could just use g_realloc(), but I'm not 100% sure
12213         that is portable).
12214         (Bug #1196 - Morten Welinder <terra@diku.dk>)
12215
12216 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12217
12218         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
12219
12220         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12221         for fontsets.
12222
12223         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
12224         with bin/button confusion.
12225
12226 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
12227
12228         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
12229         and show how preselection of radio items is done.
12230
12231 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
12232
12233         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
12234         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
12235         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
12236         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
12237         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
12238         * gtk/gtktable.c (gtk_table_attach): 
12239         * gtk/gtklist.c (gtk_list_insert_items): 
12240         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
12241         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
12242         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
12243         * gtk/gtkbin.c (gtk_bin_add): 
12244         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
12245         * gtk/gtkfixed.c (gtk_fixed_put): 
12246         * gtk/gtklayout.c (gtk_layout_put):
12247         general fixups to container_add logic. always realize child if
12248         child->parent is realized, only map the child and queue a resize
12249         if child and child->parent are both visible.
12250
12251 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
12252
12253         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
12254         instead of gtk_container_foreach to walk and unrealize children, so
12255         composite children get also unrealized.
12256         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
12257         (gtk_widget_map): assert that the widget is visible (basic constrain).
12258         (gtk_widget_real_map): assert that the widget is realized (basic
12259         constrain).
12260
12261 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
12262
12263         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
12264
12265 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
12266
12267         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
12268         file for iso-8859-2 locales.
12269
12270         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
12271
12272 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
12273
12274         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
12275          (Pointed out by andy@rz.uni-karlsruhe.de and others).
12276          Remove some suspicious and useless lines. 
12277
12278 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
12279
12280         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
12281         width,height = 0, 0 to mean - here to edge of window,
12282         instead of -1, -1, since the former is all we support.
12283
12284 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
12285
12286         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
12287         when removing from quit_functions list.
12288
12289 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
12290
12291         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
12292
12293 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
12294
12295         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
12296          When redrawing characters on non-visible entry, use appropriate
12297          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
12298
12299 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
12300
12301         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
12302         from drag coordinates.
12303         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
12304         use drag_dest_cell.
12305
12306         * gtk/gtktree (drag_dest_cell)
12307         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
12308         (Bug #1129)
12309
12310 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
12311
12312         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
12313         translate_* fields.
12314         (gtk_item_factory_finalize): invoke translate_notify independant from
12315         translate_data.
12316         (gtk_item_factory_set_translate_func): likewise.
12317         (gtk_item_factory_destroy): only remove ifactory pointer from those
12318         widgets that belong to us (stupid me).
12319
12320 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
12321
12322         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
12323         rc_style list when lookup succeeeds.
12324
12325 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
12326
12327         * gtk/gtkctree.c (resync_selection): 
12328         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
12329         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
12330         bug.
12331
12332 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
12333
12334         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
12335         Add some missing GDK_THREADS_ENTER()/LEAVE around
12336         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
12337
12338 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
12339
12340         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
12341         rather than emit_by_name.
12342
12343         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
12344         on the widget across multiple signal emissions.
12345         (gtk_editable_delete_text): same here.
12346         (gtk_editable_class_init): set widget_class->activate_signal after
12347         editable_signals[ACTIVATE] has been created.
12348
12349 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
12350
12351         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
12352         position here prematurely -- we might not have the
12353         right ->min_position and ->max_position yet.
12354
12355 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12356
12357         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
12358         Add error traps so if the other end of the connection
12359         dies, we survive.
12360
12361         * gtk/gtkselection.c (gtk_selection_notify): Clean
12362         up properly when selection property retrieval fails.
12363         
12364         * gtk/gtkselection.c (gtk_selection_request): Correctly
12365         reject SelectionRequest notifies where the handler
12366         returns no data.
12367
12368 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12369
12370         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
12371         when we've previously highlighted.
12372
12373         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
12374         emit two "drag_leave" signals for Motif drops.
12375
12376         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
12377         back the correct status messages when dropping from
12378         Motif onto a proxy window that is rejecting the
12379         drop.
12380
12381 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
12382
12383         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
12384         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
12385         to compare two argument values. added gtk_arg_to_valueloc() to set a
12386         variable from an arg through its location (pointer).
12387
12388         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
12389         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
12390         as gfloat*, uchars are collected as guchar*, ints are collected as
12391         gint*, etc...
12392
12393 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
12394
12395         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
12396         Include <string.h> instead of <strings.h>.
12397
12398         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
12399         (actually, a lot more duplicate includes occur if
12400          you trace through the sequence of #include's)
12401         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
12402         
12403 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12404
12405         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12406         gtk-a-higuti-990322-[0-3]
12407
12408         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12409         that was causing -DX_LOCALE not to work.
12410
12411         * gtk/gtkrc.c (gtk_rc_init):
12412         X_LOCALE will never have LC_MESSAGES defined
12413
12414 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
12415
12416         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
12417         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
12418
12419         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
12420         left/right as well (gtk-michael-980726-0.patch.gz).
12421
12422         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
12423         for pointer values, use gchar instead of char. fixed uline allocation
12424         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
12425         chunks instead of G_ALLOC_ONLY.
12426         (gtk_label_size_request): always alter requisition as passed and leave
12427         widget->requisition alone.
12428         (gtk_label_set_text): allow NULL strings.
12429         (gtk_label_new): likewise.
12430
12431 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
12432
12433         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
12434
12435 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
12436
12437         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
12438         *and* mapped (i.e. drawable).
12439         (gtk_bin_expose): only send exposes to drawable children.
12440
12441         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
12442         (gtk_box_expose): only send exposes to drawable children.
12443
12444         * gtk/gtkhscale.c (gtk_hscale_draw): 
12445         * gtk/gtkvscale.c (gtk_vscale_draw):
12446         hm, this is an ugly one. we first compute the size of our trough area
12447         here (window relative) and then check intersection with the draw_area
12448         which is parent relative because we're a NO_WINDOW widget, so we need
12449         to offset the trough area by allocation.x and allocation.y before the
12450         check. (this must not be done for the background area though, since
12451         that's already computed parent relative).
12452
12453 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
12454
12455         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
12456         unrealize title buttons.
12457
12458 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
12459
12460         * gtk/gtkclist.c (gtk_clist_column_title_passive)
12461         (gtk_clist_column_title_active): 
12462         only connect/disconnect to GtkWidgetClass::event to block mouse events.
12463
12464         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
12465         zero initialize event, removed superfluous gdk_window_get_pointer call
12466
12467         * gtk/gtklist.c (gtk_list_vertical_timeout)
12468         (gtk_list_horizontal_timeout): removed superfluous
12469         gdk_window_get_pointer call
12470
12471 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12472
12473         * plugging problems reported by "Bruce Mitchener, Jr."
12474         <bruce@puremagic.com> due to a purify session.
12475
12476         * gtk/gtkstyle.c:
12477         (gtk_style_ref): 
12478         (gtk_style_unref): assert ref_count to be > 0.
12479
12480         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
12481         the requisition.
12482         (gtk_clist_set_shift): likewise.
12483
12484         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
12485         adjustments.
12486
12487         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
12488         event before sending it and set send_event to TRUE (which needs to
12489         be done for *all* synthesized events).
12490         (gtk_list_vertical_timeout): likewise.
12491
12492         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
12493         leaks.
12494
12495         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
12496         to TRUE when synthesizing events.
12497
12498 [ *** end of merges from 1.2 *** ]      
12499         
12500 1999-11-21  Tor Lillqvist  <tml@iki.fi>
12501
12502         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
12503         (or copied from gdkconfig.h.win32 on Win32, sigh).
12504
12505         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
12506
12507         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
12508
12509         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
12510
12511         * gdk/gdkconfig.h.win32: New file.
12512
12513         * gdk/win32/makefile.cygwin: Build just a static archive here.
12514
12515         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
12516         for the DLL from the static archive built above.
12517
12518         * gdk/gdk.def: Moved here from the win32 subdirectory.
12519
12520         * gdk/win32/*: Adapt for the changed private struct organisation.
12521
12522         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
12523
12524 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
12525
12526         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
12527         for wheel mice (buttons 4 and 5).
12528
12529 1999-11-18  Tor Lillqvist  <tml@iki.fi>
12530
12531         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
12532         drawables use just the pixel field in the foreground and
12533         background GdkColor of the GdkGC.
12534
12535         gdk_gc_set_{fore,back}ground() are called in the GIMP with
12536         GdkColors containing uninitialized (red,green,blue) fields, and
12537         just the pixel field filled in, and furthermore in the
12538         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
12539         It thus turns out that we really don't need to have the full
12540         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
12541         it later to have just the pixel values.
12542
12543 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
12544
12545         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
12546
12547 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
12548
12549         * docs/gtkfaq.sgml: threads example from Erik Mouw.
12550         New question on GtkLabel background colors.
12551
12552         * docs/gtk_tut.sgml:
12553           - Correct the example code callback
12554             function definitions.
12555           - Update the gtkdial example code, from Frans van Schaik.
12556           - Update setselection.c to current API.
12557
12558         * examples/Makefile examples/*/*.c: Update to code
12559         listed in tutorial.
12560
12561 1999-11-10  Tor Lillqvist  <tml@iki.fi>
12562
12563         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
12564         subrange table (from the "Developing International Software for
12565         WIndows 95 and Windows NT" book) was missing the Hangul syllable
12566         block... Get the loaded font's charset correctly.
12567
12568         (Note that this, and the other *-win32.c files, still really are
12569         the old ones, the win32 subdirectory is not ready for compilation
12570         yet after the reorg.)
12571
12572 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
12573
12574         * gtk/gtkclist.c: Fix off-by-one bug in parameter
12575         check.
12576
12577 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
12578
12579         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
12580         on results of XQueryDeviceState().
12581
12582 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
12583
12584         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
12585         we need to accesss only ->children. We need an accessor
12586         for the children.
12587
12588         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
12589         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
12590         to get rid of gdkx.h include.
12591         
12592         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
12593         and random references to 'None'.
12594
12595         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
12596         Get rid of unused #include <gdk/gdkx.h>
12597
12598         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
12599         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
12600         gdkconfig.h.
12601
12602 1999-11-08  Tor Lillqvist  <tml@iki.fi>
12603
12604         * gdk/win32/gdkdraw.c
12605         * gdk/win32/gdkfont.c
12606         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
12607         following yesterday's changes. (Unrelated to Owen's reorg.)
12608
12609 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
12610
12611         * gdk/x11/gdkinput-gxi.c: Add missing include,
12612           fix GdkWindowPrivate => GdkDrawablePrivate.
12613
12614         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
12615
12616         * gdk/x11/Makefile.am (xinput_sources): Add missing
12617         backslash to fix building with --with-xinput=none
12618
12619 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
12620
12621         Move all X specific code into the x11/ directory.
12622         Aside from shuffling things around, did the following:
12623
12624        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
12625          gdk_arg_context_* - a simple argument parsing system
12626          in the style of popt.
12627
12628        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
12629          gdk/x11/gdkprivate-x11.h:
12630          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
12631          add ->klass and ->klass_data fields. The klass_data
12632          field points to an auxilliary structure that is
12633          windowing system dependent.
12634
12635        * gdk/gdkfont.c: Make most of the measurement functions
12636          simply wrappers around gdk_text_extents().
12637
12638        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
12639          _gdk_font_strlen() function that hides the weird
12640          behavior in gtk+-1.[02] where a string is interpreted
12641          differently for 8-bit and 16-bit fonts.
12642
12643        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
12644          to store common code for synthesizing double/triple
12645          press events.
12646         
12647        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
12648          Make all the function that modify an existing GC
12649          simply wrappers around gdk_gc_set_values().
12650          
12651        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
12652          for throwing out later.
12653
12654        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
12655          GdkImagePrivate and GdkColormapPrivate to have a
12656          windowing system dependent part (GdkFontPrivateX etc.)
12657          that "derives" from the system-independent part.
12658
12659        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
12660          Got rid of the included-source-files for XInput in
12661          favor of automake conditionals. (Which didn't exist
12662          when XInput support was originally added.)
12663
12664        * gdk/gdkrgb.c: Remove the visual id from the debugging
12665          statements since that is X11 specific; print out
12666          type/depth info instead.
12667          
12668
12669 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
12670
12671         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
12672         loading duplicates of hashed fonts.
12673
12674         * gdk/gdk.c (gdk_keysym_convert_case): rename
12675         gdk_XConvertCase to gdk_keysym_convert_case, allow
12676         results to be NULL in the GTK+ style.
12677
12678         * gdk/gdkcompat.h: Started compatibility header
12679         for renames.
12680
12681 1999-11-07  Tor Lillqvist  <tml@iki.fi>
12682
12683         * gdk/win32/gdkprivate.h: New font private structures, related to
12684         fontsets.
12685
12686         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
12687         gdk_font_list_free(). On X11, will just be wrappers to
12688         XListFonts() and XFreeFontNames(). On Win32, the code previously
12689         in gtkfontsel.c is now here.
12690
12691         New function gdk_font_xlfd_create(). On X11 will get the FONT
12692         property of the font (for GDK_FONT_FONTs), or call
12693         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
12694         builds a XLFD style name from the font information in the LOGFONT
12695         struct(s).
12696
12697         New function gdk_font_xlfd_free(), which correspondingly frees the
12698         string returned by gdk_font_xlfd_create().
12699
12700         Implement fontsets on Win32. Add a function that iterates over a
12701         wide char string and calls a callback function for each substring
12702         of wide chars from the same Unicode subrange (and thus probably
12703         available in the same real font).
12704
12705         Improve the XLFD emulation a bit.
12706
12707         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
12708
12709         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
12710         Beta3, WM_IME_CHAR messages don't seem to contain the composed
12711         multi-byte char as with the Active IMM on Win9x. Oh well, handle
12712         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
12713         ImmGetCompositionStringW() to get the composed Unicode chars.
12714
12715         * gdk/win32/gdkgc.c
12716         * gdk/win32/gdkdraw.c: Changes needed because of the font private
12717         struct changes.
12718
12719         * gdk/win32/gdk.def: Add the new functions.
12720
12721 1999-11-04  Tor Lillqvist  <tml@iki.fi>
12722
12723         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
12724         get the Platform SDK to get <dimm.h>.
12725
12726         * gdk/win32/gdkevents.c: More event handling fixes and
12727         simplification. Never generate motion events with is_hint true. We
12728         used to do that on bogus grounds earlier. Windows sends
12729         WM_MOUSEMOVE messages on button events even if the mouse hasn't
12730         moved, ignore these.
12731
12732         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
12733
12734         * gdk/win32/gdkglobals.c
12735         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
12736         the TrackMouseEvent function, and use it.
12737
12738         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
12739         char before calling WideCharToMultiByte in order to get a string
12740         for the window title.
12741
12742         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
12743
12744         * gdk/win32/gdk.def: Remove obsolete functions.
12745
12746         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
12747         /nodefaultlib and /defaultlib switches.
12748
12749         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
12750
12751 1999-10-31  Tor Lillqvist  <tml@iki.fi>
12752
12753         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
12754         EuroSign).
12755
12756         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
12757         same type as GdkWChar, especially on Win32.
12758
12759         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
12760
12761         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
12762         before passing to Windows GDI for drawing etc. Convert to the
12763         system default codepage before passing to Windows as window
12764         titles.
12765
12766         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
12767         support changing input locale on the fly.
12768
12769         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
12770         on-the-fly changes. Convert incoming characters from the current
12771         codepage to Unicode (and then to a UTF-8 multi-byte string) based
12772         on the current input language. Use keysym<->Unicode mapping tables
12773         and functions borrowed from xterm sources.
12774
12775         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
12776         editions of Win9x, use the ActiveX-based Active IMM (Input Method
12777         Manager) if available. IMEs and the Active IMM are available under
12778         the disguise of Chinese, Korean and Japanese support for IE and
12779         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
12780         support is present in all editions (as long as you install it).
12781
12782         Call DispatchMessage from gdk_events_queue() (and thus
12783         gdk_WindowProc()), instead of duplicating the code in
12784         gdk_WindowProc().
12785
12786         Reworked the grab handling and propagation code, factored out
12787         duplicated code snippets into separate functions. Other cleanups,
12788         too.
12789
12790         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
12791         the <dimm.h> header describing the Active IMM.
12792
12793         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
12794         just do the same as for "single" fonts.
12795
12796         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
12797         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
12798         the new keysyms from gdkkeysyms.h.
12799
12800         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
12801         fontset, so that gtkentry uses wide characters.
12802
12803         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
12804         GTk+'s system directory "gtk+", not "gtk".
12805
12806 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
12807
12808         * docs/gtkfaq.sgml: FAQ update
12809
12810 1999-10-21  Tor Lillqvist  <tml@iki.fi>
12811
12812         * gdk/win32/gdkprivate.h: Add more font private data.
12813
12814         * gdk/win32/gdkfont.c
12815         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
12816         fonts and strings. Now works much better. You still have to
12817         have a correct font selected, though. No fontset emulation yet.
12818
12819 1999-10-19  Tor Lillqvist  <tml@iki.fi>
12820
12821         * gtk/maketypes.awk: Use G_OS_WIN32.
12822
12823         * gtk/gtk.def: Add some missing entry points. Also some non-public
12824         ones, but PyGTK porter claims to need them.
12825
12826         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
12827         built-in type generation.
12828
12829 1999-10-14  Tor Lillqvist  <tml@iki.fi>
12830
12831         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
12832         GDK_FONT_FONT fonts (which is all we have for now, we don't
12833         emulate fontsets). The X11 version uses plain XDrawString in that
12834         case, too. The string passed to gdk_draw_text_wc seems to be in
12835         fact (at least, when used by gtkentry and gtktext) either in a
12836         single-byte charset, or a DBCS. Not Unicode.
12837
12838         This fixes the problem in gtkfontsel, where even if you had
12839         selected a font with a non-Latin1 charset (windows-greek, for
12840         instance), the preview still used Latin-1 glyphs.
12841
12842         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
12843         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
12844         (gdk_font_load): Recognize the demibold etc weights, even if we
12845         don't have the corresponding constants in the headers.
12846         (gdk_font_hash_insert): Use same hash mechanism as in the X11
12847         version. Should save font resources a bit, when we don't have
12848         multiple HFONTs for the same font.
12849
12850         * gdk/win32/gdkprivate.h: Add the names field as in the X11
12851         version.
12852
12853 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
12854
12855         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
12856         X values
12857
12858 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
12859
12860         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
12861         layout support (as mentioned on
12862         http://www.jcinteractive.com/gnome-ui/software/widgets/)
12863
12864 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
12865
12866         * gtk/fnmatch.c
12867         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
12868
12869 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
12870
12871         * configure.in (ALL_LINGUAS): Added Galician (gl)
12872
12873 1999-10-05  Tor Lillqvist  <tml@iki.fi>
12874
12875         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
12876
12877         * gdk/win32/gdkcompat.c: New file, actually provide an
12878         implementation for the deprecated functions. (Just temporarily.)
12879
12880         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
12881
12882         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
12883
12884         * gdk/win32/gdk.def gtk/gtk.def: Updates.
12885
12886 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
12887
12888         * configure.in: Added "uk" to ALL_LINGUAS.
12889         
12890 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
12891
12892         * configure.in: correct checking for BeOS check
12893
12894         * gdk/gdktypes.h
12895         * gtk/fnmatch.c
12896         * gtk/gtkfilesel.c
12897         * gtk/gtkitemfactory.c
12898         * gtk/gtkmain.[ch]
12899         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
12900
12901 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12902
12903         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
12904         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
12905         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
12906         by Bulgarian). 
12907
12908 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
12909
12910         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
12911         Fix a reference to window_private->destroyed.   
12912
12913         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
12914         (ugly) setting of an internal GdkWindow member to use
12915         a _slightly_ cleaner macro.
12916
12917         * gdk/gdkprivate.h: Split GdkWindowPrivate into
12918         GdkDrawablePrivate and GdkWindowPrivate.
12919         Add extra macros for accessing GDK_DRAWABLE_ components.
12920
12921         * *.[ch]: Massive adjustments for the above, use the
12922         new macros in a lot of places.
12923
12924 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
12925
12926         * gdk/gdktypes.h: Make GdkDrawable the base type,
12927         not GdkWindow.
12928
12929 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
12930
12931         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
12932
12933 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
12934
12935         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
12936
12937 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
12938
12939         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
12940         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
12941
12942         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
12943
12944         * docs/gtk-config.1: Now autogenerated.
12945         * docs/Changes-1.4.txt: started
12946         
12947 1999-10-03  Tor Lillqvist  <tml@iki.fi>
12948
12949         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
12950         to #ifdef also here.
12951
12952         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
12953         Owen did to the X11 backend.
12954
12955         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
12956         ScrollWindowEx when blitting inside a window, it can't be correct
12957         in the general case.
12958
12959         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
12960         WM_GETMINMAXINFO is easier.
12961
12962         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
12963         depth equal to the bitspixel value, not the visual's depth.
12964
12965         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
12966         to 24 even if the bitspixel value is 32.
12967
12968         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
12969         need to check for depth==32 when bpp==32, depth will always be 24.
12970
12971 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
12972
12973         * docs/Changes-1.4.txt: Started
12974         
12975         * gtk/Makefile.am (gdk_headers): Include all the new headers.
12976
12977         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
12978         
12979         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
12980         into C file.
12981         
12982         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
12983         header to gdkinputprivate.h.
12984
12985         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
12986         unused since before 1.2.
12987
12988 1999-09-30  Tor Lillqvist  <tml@iki.fi>
12989
12990         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
12991         expand possible hex escapes in the font family (put there by
12992         logfont_to_xlfd if the font name isn't a legal XLFD font family,
12993         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
12994         On Win32, add hex escapes here, too.
12995
12996 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
12997
12998         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
12999         to #ifdef GDK_WINDOWING_X11.
13000
13001 [ Merges from gtk-1-2 ]
13002
13003 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
13004
13005         * configure.in: fixed "GNU Make" check to pass with new make version
13006         3.77.95.
13007
13008 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
13009
13010         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
13011         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
13012         AM_PATH_GTK() macros don't get confused by the -pre1.
13013
13014 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13015
13016         * configure.in (REBUILD): Change check for perl5
13017           to check explicitely for v >= 5.002. (5.001
13018           does not work with our scripts.)
13019
13020 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
13021
13022         * configure.in: evaluate $PERL for the perl version check. added
13023         --disable-rebuilds to give the user an option to completely disable
13024         any source autogeneration rules.
13025
13026 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
13027
13028         * configure.in: evaluate $ac_make when checking for GNU Make.
13029
13030 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13031
13032         * docs/Makefile.am: added generation.txt.
13033
13034         * Makefile.am: require automake 1.4, build README from README.in and
13035         INSTALL from INSTALL.in in dist-hook.
13036         
13037         * README.in:
13038         * INSTALL.in: new files to autogenerate README and INSTALL from.
13039
13040         * configure.in: figure whether we have GNU Make
13041
13042         * docs/generation.txt: minor additions/corrections.
13043
13044 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13045
13046         * docs/gtkfaq.sgml: FAQ Update
13047
13048 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13049         
13050         * configure.in: Fix autoconf warnings about cross compilation by
13051         trying to provide sane defaults for AC_TRY_RUN.
13052
13053 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
13054
13055         * ltconfig
13056         * ltmain.sh: upgrade to libtool 1.3.3
13057
13058 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
13059
13060         * INSTALL: Indicate that the --with-glib= configure
13061         time flag is unsupported.
13062
13063 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
13064
13065         * docs/generation.txt: Added a file that gives
13066         documenation about the autogeneration process for
13067         various autogenerated files.
13068         
13069 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13070
13071         * configure.in (LIBS): Look for libgmodule in the
13072         right location.
13073
13074 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
13075
13076         * docs/gtk_tut.sgml: Removed references to
13077         code examples in my directory on gtk.org as
13078         they should all be in the tutorial now.
13079
13080         * docs/gtk_tut.sgml: Added sources for dial-test
13081         and scribble-xinput programs that were previously
13082         missing.
13083
13084 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
13085
13086         * TODO: Added entry about menu keyboard navigation, removed
13087         some finished items.
13088
13089 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
13090
13091         * acinclude.m4: Standardize on func_dgettext
13092         not func_gettext, so that the checks for dgettext
13093         actually are paid attention to.
13094
13095 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
13096
13097         * configure.in (LIBS): Add $INTLLIBS into $LIBS
13098         directly, rather than repeating the checks for
13099         gettext.
13100
13101         * INSTALL: Added information about gettext and
13102         NLS support.
13103
13104         * acinclude.m4 (LIBM): Check for dgettext, not
13105         just gettext. This should hopefully fix things wrt
13106         systems with old versions of GNU gettext installed.
13107
13108 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13109
13110         * configure.in (LIBS): Look for libgmodule in the
13111         right location.
13112
13113 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13114
13115         * autogen.sh: add --enable-maintainer-mode
13116
13117         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
13118
13119 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
13120
13121         * docs/gtk-config.1.in:
13122           docs/Makefile.am:
13123           configure.in: gtk-config is now generated.
13124
13125         * docs/gtk-config.1: Removed, now generated.
13126
13127 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
13128
13129         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
13130         handle CreateNotify itself, still put out a debuging message for
13131         --gdk-debug=events. made the ReparentNotify debugging message more
13132         verbose.
13133         wrap xcoords translation for ConfigureEvents into an error trap,
13134         a destroy event may already be pending, and in that case, the
13135         actuall coordinate values are not at all critical.
13136
13137 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
13138
13139         * gdk/gdkcc.c: Stop leaking the color_hash all over
13140         the place. Simplify and improve the logic.
13141
13142 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13143
13144         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
13145         for prototypes and function implementations consistent (reported
13146         by Tomas Ogren).
13147
13148 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
13149
13150         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
13151         send_event set in debugging output.
13152         (gdk_compress_exposures): default initialize the event so we don't
13153         operate on bogus values (namely send_event).
13154
13155 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13156
13157         * gdk/gdkwindow.c: When we receive an unexpected
13158         destroy notify on one of our windows, don't just
13159         warn about it, also mark our windows as destroyed.
13160
13161 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
13162
13163         * gdk/gdkfont.c (gdk_font_hash_insert): Add
13164           name => font and name => fontset hashes. The 
13165           name => fontset hash is a _big_ win since we
13166           weren't previously caching fontsets at all and loading
13167           fontsets is expensive. The name => font hash
13168           is less of a win, but it does save us from doing
13169           repeated XQueryFont calls on the same font.
13170
13171         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
13172           list so we can remove font/fontset from hash.
13173
13174 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13175
13176         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
13177           and slightly confusing test. [ XInternAtom (,,TRUE)
13178           will never return None ].
13179
13180 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
13181
13182         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
13183           gdk/gdkwindow.c (gdk_window_set_hints):
13184
13185         Don't omit setting the properties if flags == 0 -
13186         there may be an existing set of properties there
13187         already. (Very old bug. Would it be better to
13188         delete the property instead?)
13189
13190         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
13191           spelling error in comment.
13192
13193 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
13194
13195         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
13196           to avoid stomping over gdk_error_warnings.
13197
13198         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
13199           as (bits_per_pixel + 7) / 8. This gives the same
13200           result as before for multiples of 8, but actually
13201           a "reasonable" value for 1bit or 4bit displays.
13202
13203 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13204
13205         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
13206         GNU Make.
13207
13208 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13209
13210         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
13211         discarding configure events.
13212
13213 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13214
13215         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
13216         refcount is greater than zero.
13217
13218         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
13219
13220         * gdk/gdkfont.c (gdk_font_unref): Likewise.
13221
13222         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
13223
13224         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
13225
13226 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13227
13228         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
13229         that format 32 => sizeof(item) == 4. It really is
13230         sizeof(long).
13231
13232 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
13233
13234         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
13235         core dump at all on X IO errors, only core dump
13236         if --enable-debug for X errors.
13237
13238 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
13239
13240         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
13241         unknown window:" message. disabled ConfigureNotify discarding code,
13242         because it led to events being processed out of order.
13243
13244 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
13245
13246         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
13247
13248         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
13249         we export this function, supress error warnings and don't reset the
13250         error code in the first half of this function.
13251
13252         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
13253         code (instead of just -1) so gdk_error_trap_pop() reveals something
13254         actually informative about the error that happened.
13255
13256         * gdk/*.c:
13257         don't rely on gdk_error_code being -1 if an error occoured, but just
13258         gdk_error_code != 0.
13259
13260 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
13261
13262         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
13263         pointer *before* invoking the filter function, so we at least don't
13264         crash if a filter is removed that is currently executed. window filters
13265         *really* need to be made truely reentrant at some point.
13266
13267 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
13268
13269         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
13270         PropertyNotify debug messages.
13271
13272 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
13273         
13274         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
13275         
13276         * gdk/gdkim.c: Fix cut-and-paste errors for 
13277         x/y and PreeditAttributes/StatusAttributes.
13278
13279 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13280
13281         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
13282         G_MAXINT to 2^16 to alleviate overflow problems in
13283         various window managers.
13284
13285 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13286
13287         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13288         for fontsets.
13289
13290 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
13291
13292         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
13293         Initialize size_hints.x and size_hints.y because kwm
13294         brokenly pays attention to them.
13295         (Bug #1181 -  Lars Heete <hel@admin.de>)
13296
13297 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
13298
13299         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
13300         return value of gdk_list_visuals(). 
13301         (Bug #1193 - Morten Welinder <terra@diku.dk>)
13302
13303 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
13304
13305         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
13306         XSetIMValues to (void *) when comparing to NULL, to workaround
13307         the problem of some compilers barfing since older X headers don't
13308         have the prototype for it.
13309
13310 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
13311
13312         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
13313         for pseudocolor where colormap->colors was double
13314         allocated.
13315
13316         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
13317         color value in the hash table with the pixel filled
13318         in so when we do later hash table lookups, the color
13319         value is correct.
13320         
13321 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
13322
13323         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
13324         making the call
13325
13326 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
13327
13328         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
13329         pointed out by Morten Welinder <terra@diku.dk>.
13330
13331 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13332
13333         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13334           default filter from the list
13335
13336 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13337
13338         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13339           default filter from the list
13340
13341 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
13342
13343         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
13344
13345         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
13346         g_strdup_printf instead of calcing the length separately
13347
13348 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
13349
13350         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
13351         that we don't do in many other places. (Fixing duplicate 
13352         #include of config.h)
13353
13354         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
13355         Otherwise, #ifndef XINPUT_NONE check in the latter
13356         doesn't work. (Bug #546)
13357
13358 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
13359
13360         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
13361         "None" case insensitive.
13362
13363 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13364
13365         * gdk/gdkselection.c: 
13366         Add error traps so if the other end of the connection
13367         dies, we survive.
13368
13369 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13370
13371         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
13372         dest_xid field into two fields - one for the window
13373         to send in messages, one to indicate the last looked
13374         up window for caching purposes. This is needed, so
13375         that Leave messages get the correct window.
13376
13377 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
13378
13379         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
13380         Fix warning created by people mucking around
13381         with the gsource API.
13382
13383         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
13384         Change mapping between GIOCondition and GdkInputCondition
13385         to match the way the Linux kernel does it. This should
13386         fix problems where closed pipes were no longer signalling
13387         GDK_INPUT_READ on systems with a native poll().
13388
13389 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
13390
13391         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
13392         explicitly for the string "None" - it is in the XPM
13393         spec and some servers treat unknown colors in odd ways
13394         (like asking the user!)
13395
13396 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13397
13398         * gdk/gdkevents.c: made "->" into a "." of previous change so
13399         it compiles
13400
13401 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
13402
13403         * gdk/gdkevents.c (gdk_compress_exposures): Set the
13404         window field of the event structure before calling
13405         user filters.
13406
13407 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13408
13409         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
13410         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
13411
13412 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
13413
13414         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
13415         intermediate text property - prevents major memory
13416         leak when gdk_use_mb.
13417         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
13418
13419 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13420
13421         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13422         gtk-a-higuti-990322-[0-3]
13423
13424         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
13425         sizeof(wchar_t) != sizeof (GdkWChar)
13426
13427         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13428         that was causing -DX_LOCALE not to work.
13429
13430         * gtk/gtkrc.c (gtk_rc_init):
13431         X_LOCALE will never have LC_MESSAGES defined
13432
13433         * gdk/gdk.c (gdk_init_check):
13434         Remove --xim-preedit and --xim-status from argv properly.
13435
13436         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
13437         that the client window is present on the X server
13438         before we pass it to the input method.
13439
13440 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13441
13442         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
13443         if --display is specified on the command line, than
13444         the drag window will not be created on that display.
13445         
13446 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
13447
13448         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
13449         lookups with only_if_exists == TRUE were inserting
13450         bogus values into the atom cache.
13451
13452 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13453
13454         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
13455         then reset it to NULL.
13456
13457         * gdk/gdkcolor.c:
13458         (gdk_colors_free): 
13459         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
13460         key for g_hash_table_remove() in both functions, this prevents us
13461         from accessing possibly uninitialized portions of a GdkColor structure
13462         where we are only interested in its pixel value.
13463
13464 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13465
13466         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13467         font hash table, if we have a GdkFontPrivate entry for this font
13468         already, simply increment its reference count, provided by Olaf Dietsche
13469         <olaf.dietsche+list.gtk@netcologne.de>.
13470
13471 1999-09-21  Tor Lillqvist  <tml@iki.fi>
13472
13473         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
13474         just to be sure.
13475
13476         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
13477         unused variables, leftovers from the X11 version.
13478
13479         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
13480
13481         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
13482         downcase fields on X11.
13483
13484 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13485         
13486         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
13487         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
13488
13489 1999-09-17  Tor Lillqvist  <tml@iki.fi>
13490
13491         * gdk/win32/gdk.def: Add gdk_threads_mutex.
13492
13493         * gtk/makefile.msc: Correct path to libintl.
13494
13495         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
13496         use of gint vs. int, and gint vs. gboolean in headers and
13497         definitions. Use GtkType for the *_get_type functions. Note that
13498         these changes preserve binary compatibility.
13499
13500         * gdk/gdk.c
13501         * gdk/win32/gdk.c
13502         * gdk/gdk.h: Fix inconsistencies: gint vs int.
13503
13504         * gtk/gtkmain.c
13505         * gtk/gtkclist.c
13506         * gtk/gtkmenufactory.c
13507         * gtk/gtknotebook.c
13508         * gtk/gtkwidget.c: Fix inconsistencies, also gint
13509         vs. gboolean.
13510
13511         * gtk/gtkcolorsel.[ch]
13512         * gtk/gtkcombo.[ch]
13513         * gtk/gtkdrawingarea.[ch]
13514         * gtk/gtkgamma.[ch]
13515         * gtk/gtkhandlebox.[ch]
13516         * gtk/gtkhpaned.[ch]
13517         * gtk/gtkhruler.[ch]
13518         * gtk/gtkplug.[ch]
13519         * gtk/gtkpreview.[ch]
13520         * gtk/gtkruler.[ch]
13521         * gtk/gtksocket.[ch]
13522         * gtk/gtkstatusbar.[ch]
13523         * gtk/gtktoolbar.[ch]
13524         * gtk/gtkvbbox.[ch]
13525         * gtk/gtkvpaned.[ch]
13526         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
13527         functions.
13528
13529         * gtk/gtkgamma.h: Fix bug, missing () in call of
13530         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
13531
13532 1999-09-14  Tor Lillqvist  <tml@iki.fi>
13533
13534         * gdk/gdkcolor.c (gdk_colormap_new)
13535         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
13536         colormap->colors was allocated twice.
13537
13538         * gdk/win32/gdk.c: Remove some unused stuff.
13539
13540         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
13541         colormap.
13542
13543         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
13544         * gtk/gtklabel.h (gtk_label_get_type)
13545         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
13546         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
13547         in a couple of places, not guint.
13548
13549 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13550
13551         * configure.in,po/et.po: added Estonian language file
13552
13553 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13554
13555         * configure.in,po/da.po: added Danish file
13556
13557 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
13558
13559         * docs/gtkfaq.sgml: Minor FAQ Update
13560
13561 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
13562
13563         * docs/gtkfaq.sgml: FAQ update
13564
13565 1999-08-27  Tor Lillqvist  <tml@iki.fi>
13566
13567         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
13568         way to get window contents continually refreshed while resizing. I
13569         didn't like the effects myself, so it's not on by default.
13570
13571         * gdk/win32/gdkprivate.h: New flag variable
13572         gdk_event_func_from_window_proc, FALSE by default.
13573
13574         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
13575         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
13576         are passed --gdk-event-func-from-window-proc.
13577
13578         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
13579         and we have am event_func, call it instead of enqueing the event.
13580
13581 1999-08-23  Tor Lillqvist  <tml@iki.fi>
13582
13583         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
13584         Kelley: Set expose_count in GdkEventExposes correctly.
13585
13586         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
13587         MULTIPLE_WINDOW_CLASSES).
13588
13589         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
13590         for bug in NT, apparently NT *does* draw the end pixel, too, in
13591         LineTo with a one-pixel pen, so we don't have to do it ourselves.
13592
13593 1999-08-21  Tor Lillqvist  <tml@iki.fi>
13594
13595         Improvements by Hans Breuer: 
13596
13597         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
13598
13599         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
13600         CS_?REDRAW flags as they cause lots of (late) redraws when "show
13601         window contents while dragging" is turned on. Allocate at least
13602         one unique class for every GdkWindowType. If support for single
13603         window-specific icons is ever needed (eg. Dialog specific), every
13604         such window should get its own class.
13605
13606 1999-08-19  Tor Lillqvist  <tml@iki.fi>
13607
13608         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
13609         error that caused crashes.
13610
13611 1999-08-17  Tor Lillqvist  <tml@iki.fi>
13612
13613         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
13614         window, use ScrollWindowEx, and call UpdateWindow. This prevents
13615         bugs when for instance part of the window was outside the
13616         display. Thanks to Philippe Colantoni for finding and fixing this.
13617
13618 1999-08-16  Tor Lillqvist  <tml@iki.fi>
13619
13620         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
13621         endpoint calculations which were totally wrong. (A little RTFMing
13622         helps a lot ;-)
13623
13624         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
13625         from a separate directory, not from gettext, because of licensing
13626         issues (we want to use the LGPL version).
13627
13628         * README.win32: Mention the intl from glibc vs from gettext issue.
13629
13630 1999-08-13  Tor Lillqvist  <tml@iki.fi>
13631
13632         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
13633         in the key event handling: Now AltGr chars work again. Also,
13634         now Alt-digits are passed up as well as Control-digits.
13635         Pass keypad plus and minus as normal plus and minus.
13636
13637 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13638
13639         * docs/gtkfaq.sgml: FAQ Update
13640
13641 1999-07-25  Tor Lillqvist  <tml@iki.fi>
13642
13643         * README.win32
13644         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
13645         the Wintab SDK.
13646
13647         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
13648         OK, but getting closer. Guard against bogus tilt data from Wacom
13649         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
13650         enable easier building without Wintab.
13651
13652         * gdk/win32/gdkinput.h
13653         * gdk/win32/gdkevents.c 
13654         * gdk/win32/gdkwindow.c: Minor changes related related to above.
13655         
13656         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
13657         code. As we have just one visual on Win32, no sense to have it in a
13658         table, and no need for the hash table.
13659
13660         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
13661         better on white background.
13662
13663 1999-07-21  Tor Lillqvist  <tml@iki.fi>
13664
13665         * README.win32: Update gcc build instructions. Mention gettext is
13666         GPL.
13667
13668         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
13669         supported cursor size with GetSystemMetrics.
13670
13671         * gdk/win32/gdkfont.c
13672         * gtk/gtkfontsel.c: Guard against some font weight and charset
13673         symbols being undefined (in mingw32 headers).
13674
13675         * gdk/win32/makefile.cygwin
13676         * gtk/makefile.cygwin
13677         * gtk/gtkthemes.c: No longer need to have differently named
13678         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
13679
13680 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
13681
13682         * docs/gtkfaq.sgml: Long awaited FAQ update.
13683
13684 1999-07-15  Tor Lillqvist  <tml@iki.fi>
13685
13686         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
13687         it. Obscure bit manipulation needed.
13688
13689         * gdk/win32/gdkevents.c: Logging.
13690         
13691         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
13692         style (file name include compiler name) for theme engines.
13693
13694 1999-07-13  Tor Lillqvist  <tml@iki.fi>
13695
13696         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
13697
13698         * gdk/win32/gdkevents.c: Fix long-standing bug in key
13699         events. The key.string wasn't zero-terminated, still we strdup'ed
13700         it in gdk_event_copy(). Synthesize crossing events for button
13701         events before possible propagation.
13702
13703         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
13704
13705         * gdk/win32/makefile.cygwin
13706         * gtk/makefile.cygwin: Use new DLL naming style for the
13707         GCC-compiled ones.
13708
13709         * gdk/win32/makefile.msc
13710         * gtk/makefile.msc: Cosmetics mostly.
13711
13712         * gtk/gtk.def: Add missing entry points.
13713
13714         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
13715
13716 1999-07-09  Tor Lillqvist  <tml@iki.fi>
13717
13718         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
13719         or height is zero. Don't print a warning if Pie or Arc fails, they
13720         always fail (?) for very narrow ellipses.
13721
13722         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
13723         the part or the destination window corresponding to source area
13724         outside of the source drawable's boundary.
13725
13726         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
13727         anything if less than two points.
13728
13729         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
13730         return NULL. Gtk cut-and-paste inside a single program works
13731         better this way. (It always gets the clipboard contents from
13732         Windows, not from its own copy, which is cleared anyway. I can't
13733         say I fully understand what happens... Emulating the X selection
13734         and property stuff is a bit of a mess.)
13735
13736         * gdk/win32/gdkevents.c
13737         * gdk/win32/gdkproperty.c: A bit more verbose logging.
13738
13739         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
13740         that never got deleted). Revamp gdk_region_shrink.
13741
13742         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
13743         after use.
13744
13745         * gtk/gtk.def: Add some missing entry points.
13746
13747         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
13748         component.
13749
13750 1999-07-04  Tor Lillqvist  <tml@iki.fi>
13751
13752         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
13753         Control-digits specially.
13754
13755 1999-07-03  Tor Lillqvist  <tml@iki.fi>
13756
13757         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
13758
13759 1999-06-28  Tor Lillqvist  <tml@iki.fi>
13760
13761         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
13762         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
13763         finding this.)
13764
13765 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
13766
13767         * gtk+.spec.in: Corrected some typos in files section.
13768         
13769 1999-06-15  Tor Lillqvist  <tml@iki.fi>
13770
13771         * README.win32: Mention using GNU gettext.
13772         * config.h.win32: Enable NLS stuff.
13773         * gtk/makefile.msc: Use GNU gettext.
13774         * gdk/win32/gdkdnd.c: Minor header reorg.
13775         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
13776         cosmetics.
13777         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
13778         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
13779
13780 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
13781
13782         * acinclude.m4
13783         * config.guess
13784         * config.status
13785         * ltconfig
13786         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
13787
13788 1999-05-30  Tor Lillqvist  <tml@iki.fi>
13789
13790         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
13791         SafeAdjustWindowRectEx. Don't override all calls to
13792         AdjustWindowRectEx by it, but use it only in two places: When
13793         creating a new top-level window and when moving a top-level
13794         window.
13795
13796         Use screen coordinate rectangle, not client rectangle, in
13797         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
13798         when we try to place a window so that the decoration (mainly,
13799         title bar) isn't visible.
13800
13801         These changes fix the bug that showed up for instance as the
13802         GIMP's saved top-level windows moving right and down (by an amount
13803         equal to the window decoration) for each session. This bug showed
13804         up also in testgtk's "Saved Position".
13805
13806         gdk_window_resize also redone a bit.
13807
13808 1999-05-25  Tor Lillqvist  <tml@iki.fi>
13809
13810         * gtk/testgtkrc: Add (commented out) Windows-style theme
13811         include line.
13812
13813         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
13814
13815 1999-05-18  Tor Lillqvist  <tml@iki.fi>
13816
13817         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
13818         gdkx.h to a gdk subdirectory, so that applications can include
13819         these with <gdk/*.h> without trouble.
13820
13821         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
13822         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
13823         have their bitmap destroyed.
13824
13825         * gdk/win32/gdk.def: Add gdk_root_parent.
13826
13827 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
13828
13829         * configure.in
13830           gtk-config.in
13831           ltconfig
13832           ltmain.sh     
13833           gtk/Makefile.am: changes to compile nicely (with xlib) 
13834           on BeOS
13835
13836 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
13837
13838         * acinclude.m4
13839         * config.guess
13840         * config.sub
13841         * ltconfig
13842         * ltmain.sh: upgrade to libtool 1.3
13843
13844 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
13845
13846         * gtk/gtkclist.c:
13847         * gtk/gtkctree.c: merges from gtk-1-2
13848
13849 1999-04-25  Tor Lillqvist  <tml@iki.fi>
13850
13851         Support added for building using a GNU toolchain on Win32,
13852         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
13853
13854         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
13855         * config.h.win32: Changes for gcc.
13856         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
13857         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
13858         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
13859         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
13860         Protect shl stuff unavaiilable with mingw32 headers.
13861         * gdk/win32/gdkevents.c: Fix typo.
13862         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
13863         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
13864         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
13865         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
13866         the mingw32 headers.
13867         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
13868         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
13869         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
13870         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
13871         Test for NATIVE_WIN32, not _MSC_VER.
13872         * gtk/gtkmain.c: No use warning about developer version on Win32,
13873         there aren't any non-developer versions anyhow.
13874         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
13875         * gtk/makefile.msc: Use pthread from another directory. Minor other
13876         changes. 
13877
13878 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13879
13880         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13881           default filter from the list
13882
13883 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
13884
13885         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
13886          when gtk_widget_grab_default() is called for a widget that
13887          is not within a GtkWindow.
13888
13889 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
13890
13891         * docs/gtk_tut.sgml, examples/clist.c: use a
13892           scrolled window in the clist example. Minor
13893           tutorial fixes.
13894
13895 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
13896
13897         * docs/gtk_tut.sgml: Style check from David King
13898           <dking@youvegotmail.net>
13899
13900 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
13901
13902         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
13903         compile with unknown value of GDK_WINDOWING
13904
13905 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
13906
13907         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
13908         after the rule is fired.
13909         (install-exec-local): Install gdkconfig.h only if the contents are
13910         different from the currently installed gdkconfig.h.
13911
13912 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
13913
13914         * gdk/Makefile.am (configexecincludedir): Rename from 
13915         configincludedir so that gdkconfig.h will be installed 
13916         as part of `make install-exec'. 
13917
13918 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
13919
13920         * acinclude.m4
13921         * config.guess
13922         * config.sub
13923         * ltconfig
13924         * ltmain.sh: upgrade to libtool 1.2f
13925
13926         * autogen.sh: libtool is not required to autogen gtk+
13927
13928         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
13929         needed)
13930
13931 1999-03-18  Tor Lillqvist  <tml@iki.fi>
13932
13933         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
13934         declaring gdk variables exported/imported from the DLL. New image
13935         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
13936         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
13937         GDK_DRAG_PROTO_OLE2.
13938
13939         * gdk/gdk.h: Merge in Win32 version: Two new functions,
13940         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
13941         declared only for the Win32 version, but could be in the X11
13942         version as well. (Needed for a Xlib-less gdk_imlib.)
13943         gdk_color_hash should have only one parameter. Declare
13944         gdk_threads_mutex with GDKVAR.
13945         
13946         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
13947         just one parameter.
13948
13949         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
13950         per pixel, not bits.
13951
13952         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
13953         Fetch bpp (which means bits-per-pixel here) from another place on
13954         Win32. Accept also depth==32 (which we might get on Win32) with
13955         bpp==32.
13956
13957         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
13958         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
13959         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
13960         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
13961         in the backend-dependent directory, not in the common gdk
13962         directory.
13963
13964         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
13965         headers.
13966
13967 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
13968
13969         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
13970         want to use the Gtk+ devel version (which is true, and yes - even i am
13971         currently working with the 1.2.x branch). so everyone reading this, you
13972         probably want to issue
13973         cvs checkout -r glib-1-2 glib
13974         and
13975         cvs checkout -r gtk-1-2 gtk+
13976         as your next two comands.
13977
13978 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
13979
13980         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
13981         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
13982
13983         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
13984         file. strongly deprecated the GTK_HAVE_* macros, we provide
13985         GTK_CHECK_VERSION() for people that need to check for certain
13986         Gtk+ versions.
13987
13988         * gtk/gtkcompat.h: removed this from CVS.
13989         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
13990         idea right from the start, it just didn't seem like that back then.
13991
13992 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
13993
13994         * merges from gtk-1-2:
13995
13996 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
13997
13998         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
13999         item factory class has been created.
14000         (gtk_item_factory_parse_rc): likewise.
14001
14002         * gtk/gtkmenu.c:
14003         keep proper references for old_active_menu_item.
14004         (gtk_menu_reparent): unset the usize of the new parent,
14005         so the menu can sanely be size requested and we don't get nasty screen
14006         artefacts upon next reparentation.
14007         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
14008         enter notify. only synthesize enter notifies if the pointer really is
14009         inside the event window.
14010         (gtk_menu_popdown): use gtk_menu_shell_deselect().
14011         (gtk_menu_popup): move the background setting stuff into
14012         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
14013
14014         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
14015         gtk_menu_shell_select_item() to select the new item.
14016         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
14017         do the right thing for deselection as well.
14018
14019 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
14020
14021         * gtk/gtkwidget.[hc]:
14022         (gtk_widget_accelerators_locked): return whether a widget's accelerators
14023         are locked.
14024
14025         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
14026         existing accelerators if the widget's accelerators are locked.
14027
14028 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
14029
14030         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
14031
14032         * gtk/gtkmenu.c: truely forward key press and key release events to
14033         the menu widget from the toplevel or tearoff window. we can't simply
14034         connect to that, we need to stop further processing of the events as
14035         well.
14036
14037 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
14038
14039         * gtk/gtkmenu.c:
14040         (gtk_menu_key_press): pass event->keyval, event->state to
14041         gtk_accelerator_valid, instead of event->keyval twice.
14042         refuse to install single letter accelerators for menus that use
14043         single letter shortcuts.
14044
14045         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
14046         gtk_menu_ensure_uline_accel_group().
14047
14048         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
14049         which will always return an uline accel group, made
14050         gtk_menu_get_uline_accel_group() return NULL if the group isn't
14051         yet created.
14052
14053 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
14054
14055         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
14056
14057         * gtk/gtkclist.c (gtk_clist_column_title_passive):
14058         Leave button sensitive, trap  button_press, button_release,
14059         motion_notify, enter_notify and leave_notify events instead.
14060         (gtk_clist_column_title_active): disconnect event handler.
14061         (gtk_clist_drag_data_get): fixed memory leak. Reported by
14062         Guillaume Laurent <glaurent@worldnet.fr>
14063
14064 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
14065
14066         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
14067         width/height mixups.
14068
14069         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
14070         if needed.
14071
14072 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
14073
14074         * gtk/testgtk.c (create_item_factory): unref the item factory after
14075         window's destruction.
14076
14077         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
14078         count on the menu shell around the menu item's activation, since the
14079         signal emission may cause menu shell destruction.
14080
14081         * gtk/gtkitemfactory.c:
14082         the previous code leaked one accel group per menu. we use
14083         gtk_menu_get_uline_accel_group() now to fix that, and with that
14084         also create the underline accelerator group of the menus only if
14085         required (i.e. an underline accelerator has been specified).
14086         (gtk_item_factory_construct):
14087         (gtk_item_factory_create_item): removed code that would create an
14088         extra accel group for the menu (and leak references).
14089         (gtk_item_factory_create_item): adapted the underline accelerator
14090         installation code to properly feature gtk_menu_get_uline_accel_group().
14091
14092         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
14093         menu->accel_group, this may return NULL if the accelerator group
14094         hasn't been set yet.
14095         added gtk_menu_get_uline_accel_group() to retrive the underline
14096         accelerator group of the menu, this will be created on demand
14097         and proper care is taken about its reference count.
14098
14099         * gtk/gtkitemfactory.h:
14100         * gtk/gtkitemfactory.c:
14101         dumped the approach of keeping a widgets by action list on the
14102         factory since the factory<->widget destroy negotiation didn't work
14103         and would be hard to get going at all. instead we keep a list of
14104         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
14105         persistant throughout a program's life time).
14106         also, i removed the static const gchar *key_* variables, and made
14107         them inline strings (they weren't actually used anyways).
14108         (gtk_item_factory_add_item): update ifactory->items.
14109         (gtk_item_factory_destroy): destroy ifactory->items (and remove
14110         the item factory pointer from the remaining ifactory widgets).
14111         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
14112         list to find the widget.
14113         (gtk_item_factory_get_item): new function that works around
14114         gtk_item_factory_get_widget() limitations, this function will only
14115         return menu items, even for <Branch> entries.
14116
14117 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14118
14119         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14120         font hash table, if we have a GdkFontPrivate entry for this font
14121         already, simply increment its reference count, provided by Olaf Dietsche
14122         <olaf.dietsche+list.gtk@netcologne.de>.
14123
14124         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14125         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14126
14127 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
14128
14129         * gtk/gtkcontainer.c:
14130         (gtk_container_add_with_args):
14131         (gtk_container_addv):
14132         (gtk_container_add): before adding a child to a conatiner, make sure
14133         it is (default) constructed, this is neccessary because under certain
14134         circumstances the child will get relized and mapped immediatedly, in
14135         which case it has to be constructed already.
14136
14137 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
14138
14139         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
14140         values > 1 as TRUE also.
14141
14142 1999-03-16  Tor Lillqvist  <tml@iki.fi>
14143
14144         * README.win32: New file.
14145                 
14146         * configure.in: Check for lstat.
14147
14148         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
14149         completeness.
14150
14151         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
14152
14153         * gtk/gtk.def: Removed CRs.
14154
14155         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
14156         ..\gdk\win32).
14157
14158         * gdk/win32/makefile.msc: Correct upwards relative paths.
14159         
14160 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
14161
14162         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
14163           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
14164           it was connecting a void function to expose_event and the int
14165           returning function to the draw signal
14166
14167 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
14168
14169         * configure.in:
14170         Use correct path to libgmodule.la when ref'ing uninstalled copy
14171         of glib.  (Already in stable branch, Bug #417)
14172
14173 1999-03-15  Tor Lillqvist  <tml@iki.fi>
14174
14175         Win32 merge and general portability stuff:
14176                 
14177         * acconfig.h,configure.in: Check for <sys/time.h>.
14178
14179         * gdk/win32: New directory (actually, been there for a while).
14180         
14181         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
14182         NATIVE_WIN32, and use these. Always case fold on Win32. No
14183         backslashed escapes on native Win32.
14184
14185         * gtk/{gtk.def,makefile.msc}: New files.
14186
14187         * gtk/Makefile.am: Add above new files.
14188         
14189         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
14190         instead of <strings.h>.
14191
14192         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
14193         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
14194         <unistd.h> appropriately.
14195
14196         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
14197         Use ABS() (from <glib.h>) instead of abs().
14198         
14199         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
14200         of gtk (and thus glib) headers, so that WIN32 will be
14201         defined. With MS C, include <direct.h> for mkdir prototype.
14202
14203         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
14204         some casts, needed by MS C.
14205
14206         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
14207         implemented).
14208
14209         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
14210         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
14211         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
14212
14213         * gtk/gtkmain.h: Mark variables for export/import on Win32.
14214                 
14215         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
14216         the event is not a hint, or its window is not the slider. Needed
14217         on Win32, at least.
14218
14219         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
14220         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
14221         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
14222         a subdirectory of the Windows directory as gtk system
14223         configuration directory.
14224
14225         * gtk/gtkselection.c: No chunks on Win32.
14226
14227         * gtk/gtksocket.c: Not implemented on Win32.
14228
14229         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
14230
14231         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
14232
14233         * gtk/maketypes.awk: Declare variables with a macro that expands to
14234         necessary export/import magic in the case of Win32.
14235                 
14236         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
14237
14238 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
14239
14240         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
14241         since those were meant only for gdki18n.h.  
14242         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
14243         for widechar tests.
14244         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
14245
14246 1999-03-13  Tor Lillqvist  <tml@iki.fi>
14247
14248         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
14249         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
14250
14251         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
14252         installed) to CFLAGS.
14253
14254         * gdk/Makefile.am: Add rules for gdkconfig.h.
14255
14256         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
14257         APIs.
14258
14259         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
14260         gdkx.h anyway when compiling for X11.
14261         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
14262         general): Merge in Win32 version.
14263         
14264         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
14265         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
14266         expansion (if we don't have HAVE_PWD_H), allow for drive
14267         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
14268         included code from Craig Setera's port to Win32 (the one that uses
14269         X11, and the cygwin dll), even if it probably will be abandoned.
14270
14271         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
14272         the user entered one herself.  This way one can complete *.h and
14273         don't get matches on any .help files, for instance.
14274         
14275 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14276
14277         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14278         font hash table, if we have a GdkFontPrivate entry for this font
14279         already, simply increment its reference count, provided by Olaf Dietsche
14280         <olaf.dietsche+list.gtk@netcologne.de>.
14281
14282         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14283         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14284
14285 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14286
14287         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
14288         the number of calls to gdk_draw_point() (and thus to X) by
14289         clipping the points by hand.
14290
14291         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
14292         the clip parameter.
14293         (gtk_handle_box_paint): Only paint the handle if the expose area
14294         intersects it.
14295
14296 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14297
14298         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
14299
14300 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
14301
14302         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
14303         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
14304
14305 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14306
14307         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
14308          textmode (O_TEXT) for OS/2 version.
14309
14310 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
14311
14312         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
14313         GtkSpinButton, "input" and "output", to make the output more flexible.
14314         The user has to provide a mapping between adjustment->value and the
14315         output string (and vice versa, if the spin button is editable). 
14316         See testgtk for examples.
14317
14318 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
14319
14320         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
14321         new one.
14322         
14323         * configure.in: set gtk+ version to 1.3.0.