]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-6
Fix sign error with queued region translations.
[~andy/gtk] / ChangeLog.pre-2-6
1 2001-03-16  Alexander Larsson  <alexl@redhat.com>
2
3         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
4         Fix sign error with queued region translations.
5
6 2001-03-15  HideToshi Tajima  <tajima@happy>
7
8         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
9         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
10         * gtk/gtkentry.c (update_im_cursor_location): 
11         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
12         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
13         set_cursor_pos to set_cursor_location in GtkInputContext class
14
15 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
16
17         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
18         the location of the cell relative to its area.
19         * gtk/gtkcell*: modified for above change
20         * gtk/gtktreeview.c: modified for above change.
21
22 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
23
24         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
25          (gtk_tree_view_finalize): actually unref the model.  Thanks to
26         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
27
28 2001-03-14  Havoc Pennington  <hp@redhat.com>
29
30         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
31         
32         * gtk/gtk.h: remove gtkdata.h
33
34         * gtk/Makefile.am: remove gtkdata
35         
36         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
37         not "disconnect" on the adjustments.
38         
39         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
40         GtkData
41
42         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
43         not GtkData
44
45         * configure.in: handle case where X render exists, but Pango lacks
46         Xft support.
47
48 2001-03-15 Alexander Larsson  <alexl@redhat.com>
49
50         * gtk/gtktoolbar.[ch]:
51         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
52         to add stock items to toolbars.
53
54         * gtk/Makefile.am:
55         Remove ../gdk/gdkim.h from gdk_headers.
56
57 2001-03-15  Sven Neumann  <sven@gimp.org>
58
59         * gdk/gdkim.h: removed
60         
61         * gdk/gdkprivate.h
62         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
63
64 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
65
66         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
67         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
68         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
69         set_cursor_pos() virtual method
70
71         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
72         (gtk_im_context_xim_set_cursor_pos): add implementation for
73         set_cursor_pos() method
74
75         * gtk/gtkentry.c (recompute_idle_func): set current cursor
76         position to input methods
77
78 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
79
80         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
81         code a lot.
82
83         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
84         g_mem_chunk.
85         (_gtk_tree_data_list_alloc): use g_mem_chunk.
86         (_gtk_tree_data_list_node_to_value): Fix to switch on
87         G_TYPE_FUNDAMENTAL.
88         (_gtk_tree_data_list_value_to_node): Fix to switch on
89         G_TYPE_FUNDAMENTAL.
90         (_gtk_tree_data_list_node_copy): Fix to switch on
91         G_TYPE_FUNDAMENTAL.
92
93 2001-03-12  Havoc Pennington  <hp@redhat.com>
94
95         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
96         to convert to new property API. Also, change default_width and
97         default_height get_property to return 0 as the flag value for
98         "unset"; -1 is not a valid value for these fields.
99
100 2001-03-12  Havoc Pennington  <hp@redhat.com>
101
102         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
103         enum with registration for icon sizes, instead of strings.
104
105         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
106         gtkwidget.c: Fix to reflect GtkIconSize
107         
108 2001-03-12  Alexander Larsson  <alexl@redhat.com>
109
110         Make GtkFB compile and link.
111         
112         * gdk/linux-fb/gdkdrawable-fb2.c:
113         window->mapped to GDK_WINDOW_IS_MAPPED(). 
114         
115         * gdk/linux-fb/gdkwindow-fb.c:
116         window->mapped to GDK_WINDOW_IS_MAPPED(). 
117         Added gdk_window_shape_combine_region.
118         Added assorted placeholders for unimplemented new GdkWindow API calls.
119
120 2001-03-12  Alexander Larsson  <alexl@redhat.com>
121
122         * gtk/gtkfilesel.c:
123         Add more test when converting filenames from/to utf-8.
124         Don't allow entering text in the filename entry which isn't allowed in
125         a filename. Just beep instead.
126
127 2001-03-12  Alexander Larsson  <alexl@redhat.com>
128
129         * gtk/gtkclist.c:
130         Scroll using gdk_window_scroll(). Don't wait for exposes.
131         Move the column headers in an order that makes them flash less.
132
133 2001-03-10  Hans Breuer  <hans@breuer.org>
134
135         * gdk/gdk.def : updated
136
137         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
138         to offseting the clip_mask at the right place
139
140         * gdk/win32/gdkwindow-win32.c : don't create background brushes
141         for all the gdkClasses, especially not for the input_only case.
142         Otherwise flickering wont be avoidable, because we don't get
143         WM_ERASEBKGND message for these windows.
144
145         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
146         and fixed massive redraw problems apparently triggered by Alexanders 
147         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
148         but it seems to work quite well :-)
149
150         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
151         prototype
152
153 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
154
155         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
156         (gtk_list_store_set_cell): Fix a stupid typo.
157
158 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
159
160         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
161         select_all not work if you're in SINGLE mode (it doesn't make that
162         much sense, anyway.)
163
164         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
165         handle types more sanely.
166         (_gtk_tree_data_list_value_to_node): handle types more sanely.
167         (_gtk_tree_data_list_node_copy): handle types more sanely.
168
169         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
170         GValue better. Converts the type as well.
171
172         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
173         GValue better. Converts the type as well.
174
175 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
176
177         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
178         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
179         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
180         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
181
182         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
183         gdk_im/gdk_ic.
184
185 2001-03-09  Hans Breuer  <hans@breuer.org>
186
187         * gdk/gdk.def : updated
188
189         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
190         for their palette
191
192         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
193         removing
194
195         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
196         removing and implemented Havoc's GdkWindow state functions; 
197         stick/unstick only as no-op, cause I don't know how to emulate 
198         on win32 ...
199
200         * gtk/gtk.def : updated
201
202         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
203
204         * gtk/gtktypeutils.c : #include <string.h>
205
206         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
207
208 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
209
210         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
211         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
212         not a boxed.
213
214 2001-03-09  Alexander Larsson  <alexl@redhat.com>
215
216         * docs/Changes-2.0.txt:
217         Document expose event->region change and that gtk_widget_event
218         doesn't allow passing expose events.
219
220         * gdk/gdkevents.h:
221         Add region to expose event.
222         
223         * gdk/gdkevents.c:
224         Handle event->region in gdk_event_copy() and gdk_event_free().
225
226         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
227         Generate expose_event->region when creating expose events.
228
229         * gdk/x11/gdkevents-x11.c:
230         Generate expose events with regions when translating X events.
231
232         * gtk/gtkcontainer.[ch]:
233         Default expose handler that propagates expose events to NO_WINDOW
234         children. New function gtk_container_propagate_expose()
235
236         * gtk/gtkwidget.[ch]:
237         Moved gtk_widget_event implementation to gtk_widget_event_internal.
238         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
239         expose events. New function gtk_widget_send_expose() to send expose
240         events. New function gtk_widget_region_intersect() to calculate
241         window/region intersections.
242         
243         * gtk/gtkmain.c (gtk_main_do_event):
244         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
245         Use gtk_widget_send_expose() to send expose events.
246         
247         * gtk/gtkbin.c:
248         * gtk/gtkbox.c:
249         * gtk/gtkfixed.c:
250         * gtk/gtkimagemenuitem.c:
251         * gtk/gtklist.c:
252         * gtk/gtkpacker.c:
253         * gtk/gtktable.c:
254         * gtk/gtktree.c:
255         Remove expose handler, using the default container implementation
256         instead.
257         
258         * gtk/gtkbutton.c:
259         * gtk/gtkcheckbutton.c:
260         * gtk/gtkeventbox.c:
261         * gtk/gtkfixed.c:
262         * gtk/gtkhandlebox.c:
263         * gtk/gtklayout.c:
264         * gtk/gtklistitem.c:
265         * gtk/gtkmenu.c:
266         * gtk/gtkmenubar.c:
267         * gtk/gtkmenuitem.c:
268         * gtk/gtknotebook.c:
269         * gtk/gtkoptionmenu.c:
270         * gtk/gtkpaned.c:
271         * gtk/gtkscrolledwindow.c:
272         * gtk/gtktogglebutton.c:
273         * gtk/gtktoolbar.c:
274         * gtk/gtktreeitem.c:
275         * gtk/gtkviewport.c:
276         Chain expose handler to parent class handler. Use
277         gtk_container_propagate_expose() to propagate exposes.
278
279         * gtk/gtkclist.c (check_exposures):
280         * gtk/gtktext.c (process_exposes):
281         Use gtk_widget_send_expose instead of gtk_widget_event.
282
283 >>>>>>> 1.1811
284 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
285
286         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
287
288 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
289
290         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
291         unref the nodes.   Fixes bug #50058.
292
293         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
294         "::ref_iter" to "::ref_node".
295         (gtk_tree_model_unref_node): change "::unref_iter" to
296         "::unref_node". Fixes bug #50064.
297
298 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
299
300         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
301         support for invisible cells.
302          (gtk_tree_view_bin_expose): ditto
303
304 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
305
306         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
307         on gobjects.
308
309         * tests/testtreefocus.c (main): New test file.
310
311         * tests/testtreeview.c: update to latest glib changes.
312
313         * tests/testtreecolumns.c: update to latest glib changes.
314
315 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
316
317         * gtk/testgtk.c: re-enabled event watcher emission hooks.
318
319 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
320
321         * *.c: added accumulator data argument to g_signal_newc()
322         functions.
323
324         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
325         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
326         * gtk/treestoretest.c (make_window):
327         s/g_signal_connect/g_signal_connectc/.
328
329         * gtk/gtktextbuffer.c: completed signal arg fixups,
330         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
331
332 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
333
334         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
335         G_CONST_RETURN.
336
337         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
338         ::hierarchy-changed signal when a widget changes
339         from anchored to unanchored or vice versa.
340         (anchored means 
341          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
342         Use a private flag to keep track of this efficiently.
343
344 2001-03-07  Havoc Pennington  <hp@redhat.com>
345
346         * gtk/testgtk.c (create_spins): uglify so that size request gets
347         tested.
348
349         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
350         request on values for upper/lower, completes #6152
351
352 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
353
354         * Makefile.am: Remove gtk-config-2.0 again.
355         (Grrrr, pkg-config. And stops make loops.)
356
357 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
358
359         * gtk/gtksignal.[hc]: removed old emission hook API.
360         
361         * docs/Changes-2.0.txt: fixed sections.
362         
363         * gtk/gtktextbuffer.c: signal arg fixups.
364
365 2001-03-07  Havoc Pennington  <hp@redhat.com>
366
367         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
368
369         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
370         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
371         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
372         validation and the redraw which is higher priority than the
373         validation.
374
375 2001-03-07  Havoc Pennington  <hp@redhat.com>
376
377         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
378         (gtk_entry_set_property): remove trailer
379
380         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
381         (gtk_entry_get_width_chars): new functions, to set size request to 
382         a given number of characters
383
384         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
385
386         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
387         (gtk_dialog_get_has_separator): new function
388         (run_delete_handler): fix to not emit "response" signal
389         because we already did in the delete event handler installed
390         at dialog creation time.
391         
392         * gtk/gtkdialog.h: add a has_separator property,
393         add GTK_DIALOG_NO_SEPARATOR flag
394
395 2001-03-07  Havoc Pennington  <hp@redhat.com>
396
397         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
398         off decorations for a window.
399
400         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
401         changes
402
403         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
404         to get location of PangoLayout inside the label, closes #51198
405
406         * gtk/testgtk.c (create_bbox): fix up button box usage
407
408         * gtk/testcalendar.c (create_calendar): fix up button box usage
409
410         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
411
412         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
413
414         * gtk/gtkhbbox.h: deprecations
415
416         * gtk/gtkvbbox.h: deprecations
417
418         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
419         emulate deprecated gtk_button_box_get_spacing
420
421         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
422         the "set global default" functions
423         (struct _GtkButtonBox): remove "spacing" field, use the one from 
424         GtkBox base class
425
426         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
427
428         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
429         render the icon, return the missing image icon.
430
431         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
432         image icon if the load fails.   
433
434         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
435         when no image is found; should be the Netscape "missing image"
436         icon eventually but for now is a random image
437
438         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
439         role for the session manager
440
441         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
442
443         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
444         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
445
446         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
447
448 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
449
450         * gtk/*.c: marshaller fixes.
451         
452         * gtk/gtkmarshal.list: extreme cleanup.
453
454         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
455         param spec for now.
456
457         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
458         where appliable.
459
460         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
461         special cased autogenerated boxed types from gtktypebuiltins_ids.c
462         which are not reference counted:
463         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
464         PangoFontDescription, GtkTreeIter and GtkTreePath.
465
466 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
467
468         * gtk/gtktreeselection.h: 
469         * gtk/gtktreemodel.c:
470         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
471         file should be included directly, and gobject/gmarshal.h
472         as well as gtk/gtkmarshal.h even can't be included directly.
473
474         * Makefile.am: grr, install gtk-config-2.0.
475
476         * gtk/testgtk.c:
477         * gtk/simple.c:
478         * gtk/gtkmenu.c:
479         * gtk/gtkitemfactory.c: use g_object_connect() instead of
480         passing "*signal*::*" args to gtk_widget_set().
481         
482         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
483         
484         * gtk/*.c: removed trailer arg from property setters and getters.
485         macro fixups.
486
487 2001-03-07  Alexander Larsson  <alexl@redhat.com>
488
489         * gtk/gtklabel.c (set_markup): Removed warning
490
491 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
492
493         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
494         field to allow you to hide cell renderers.
495
496         * gtk/gtkcellrenderer.c: Add support for invisible cells.
497
498         * gtk/gtktreeview.c: Add support for invisible cells.
499
500 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
501
502         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
503         Add "clicked" signal back to columns.
504
505         * ChangeLog: remove conflict markers.
506
507 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
508
509         * gtk/gtkbutton.c: Add animation of activation by, on 
510         activate, pressing the button, and adding a timeout that 
511         releases the button after 250ms or on key release and
512         emits ::clicked. (#51501)
513
514         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
515         action area, we connect to ::clicked instead of ::activate
516         so the dialog stays up through the animation.
517
518 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
519
520         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
521         check the ignore_enter flag for the menu shell that
522         the item is actually a child of, not for attached
523         submenus. (#51536)
524
525 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
526
527         * gtk/gtkmain.c (gtk_propagate_event): Only do special
528         special key-press grab handling for widgets within
529         GtkWindows. Otherwise, fall through to normal case.
530
531         This prevents key events being sent twice to GtkInvisible
532         widgets, which can cause all sorts of mischief.
533
534 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
535
536         * gtk/gtkmain.c (gtk_propagate_event): When a grab
537         widget is in effect, give the grab widget a first
538         crack at KEY_PRESS/RELEASE events. (#424)
539
540 2001-03-06  James Henstridge  <james@daa.com.au>
541
542         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
543         offset for the window_state_event to point at window_state_event
544         rather than no_expose_event.
545
546 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
547
548         * gtk/gtkimmodule.h: fix busted /* comment */
549
550 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
551
552         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
553         object properties.
554
555 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
556
557         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
558         add object properties.
559
560         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
561         to add object properties.
562
563         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
564         object properties.
565
566         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
567         add object properties.
568
569         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
570         object properties.
571
572 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
573
574         * gtk/gtktreemodel.c: renamed "child_toggled" to
575         "has_child_toggled".
576
577         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
578         handle new signal name.
579
580         * gtk/gtktreestore.c: Updated to handle new signal name.
581         * gtk/gtklisttore.c: Updated to handle new signal name.
582         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
583
584 2001-03-05  Alexander Larsson  <alexl@redhat.com>
585
586         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
587         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
588
589 2001-03-05  Michael Natterer  <mitch@gimp.org>
590
591         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
592         pixbuf-engine coincidentially also failed to make one of it's
593         parent_class pointers static, causing overwriting of GtkLabel's
594         parent_class pointer in pixbuf_style_class_init().
595         (Will commit the fix to the pixbuf-engine too).
596
597 2001-03-05  Alexander Larsson  <alexl@redhat.com>
598
599         * gdk/gdkwindow.h:
600         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
601         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
602         gdk_window_set_icon_list for net wmspec functionality.
603
604         * gdk/x11/gdkwindow-x11.c:
605         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
606         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
607         gdk_window_set_icon_list.
608         Added gdk_wmspec_change_state helper function and used it in the code.
609         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
610
611         * gtk/gtkdialog.c (gtk_dialog_init):
612         Set GDK_WINDOW_TYPE_HINT_DIALOG.
613
614         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
615         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
616
617         * gtk/gtkwindow.c:
618         new function gtk_window_set_type_hint.
619         On realize, set type hint and modal hint.
620
621         * gtk/gtkwindow.h:
622         Added type_hint field and gtk_window_set_type_hint.
623
624 2001-03-05  Alexander Larsson  <alexl@redhat.com>
625
626         * gtk/gtklabel.[ch]:
627         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
628         New function gtk_label_get_accel_keyval () to get the underline accelerator
629         of the label. Setting the label pattern overrides other attributes.
630
631 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
632
633         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
634         Added missing initializers to gtk_rc_style_init().
635
636 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
637
638         * gtk/gtktextview.c: fixed bug #51097 about setting 
639         gtk_text_view_set_border_window_size() if the widget is 
640         already realized.
641
642 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
643
644         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
645
646         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
647         comment. Won't do to have duplicated doc comments between
648         the platform subdirs.
649
650 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
651
652         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
653           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
654
655         Detectable auto-repeat - make a repeating key generate
656         press/press/press/release instead of press/release pairs.
657
658         If we have Xkb and XkbSetDectableAutoRepeat supports
659         that, we do it that way. Otherwise, when we get
660         a release event, we check ahead with XPending to see
661         if the next key is a KeyPress with the same keycode
662         and timestamp. (Not 100% reliable, but pretty close.)
663           
664 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
665         
666         * gtk/gtkmain.c (gtk_propagate_event): Only do special
667         special key-press grab handling for widgets within
668         GtkWindows. Otherwise, fall through to normal case.
669  
670         This prevents key events being sent twice to GtkInvisible
671         widgets, which can cause all sorts of mischief.
672  
673 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
674  
675         * gtk/gtkmain.c (gtk_propagate_event): When a grab
676         widget is in effect, give the grab widget a first
677         crack at KEY_PRESS/RELEASE events. (#424)
678  
679 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
680
681         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
682         to extend the selection. (Roughly based on patch
683         from Jay Cox, #50939)
684
685         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
686         to properly handle previous GDK_BUTTON_PRESS. 
687         (Patch from Jay Cox, #50938)
688
689         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
690         '\0' back along with the deleted text. (#51148)
691
692 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
693
694         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
695         the group when extracting it from the X keyboard event.
696
697         * modules/input/Makefile.am modules/input/imipa.c: 
698         Simple module for entering IPA. (Do we need a 
699         gtk-stupid-input-tricks CVS module?)
700
701 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
702
703         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
704         const.
705
706         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
707
708         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
709         is no focus widget for the dialog currently, grab the focus as well
710         as the default.
711
712         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
713         the action area's children to iterate through, not the
714         dialog's children.
715
716 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
717
718         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
719         Add plug-socket tests. (Won't work worth a darn until I commit
720         the rest of the plug-socket changes, but no reason these
721         can't go into CVS now.)
722
723 2001-03-02  Havoc Pennington  <hp@redhat.com>
724
725         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
726         _gdk_region_get_xrectangles()
727
728         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
729
730         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
731
732         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
733         function, contributed by Ron Steinke    
734
735         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
736         gdk_net_wm_supports
737
738         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
739         New function, contributed by Ron Steinke
740
741         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
742         used to line up the text in the entry when using the entry for
743         editable sheet cell hacks
744
745         * gtk/testgtk.c (create_entry): test the activate_default setting
746         on GtkEntry
747
748         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
749         cause the entry to activate the default button for a dialog when 
750         activated
751         (gtk_entry_get_activates_default): new function
752
753 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
754
755         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
756         Hwang to move call to sync_selection() up a few lines
757         to before the row list is modified, to fix crash when
758         removing rows in the undo_selection list.
759
760         (Test case provided by Daniel Elstner:
761
762         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
763
764 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
765
766         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
767         of tree->root_tree in parent_set rather than _map(), 
768         fixing #50892 in a bit better manner.
769
770 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
771
772         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
773
774 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
775
776         * gtk/gtkstyle.c : Remove duplicate fwd decl for
777         gtk_default_draw_shadow.
778
779 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
780
781         * gdk/gdkimage.c (gdk_image_new): Remove excess 
782         warning, make warnings more verbose, treat a error
783         in shmat as permanent, and don't try again.
784         (#51163, Ed Randall.)
785
786 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
787
788         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
789         delay for the first click before starting to scroll.
790         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
791
792         * gtk/gtktext.c: GtkText should have I-beam cursor. 
793         (based on gtk-enf-990513-1.patch, Eric Fisher.)
794
795 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
796
797         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
798         cleanup to remove some references to unused
799         ->xoffset, ->yoffset.
800
801 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
802
803         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
804         mask. (#51039, fix from Martin Maierhofer)
805
806 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
807
808         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
809         for unshifted + and shifted = for non-us keyboards.
810         Make <Control>+ and <Control>- work as well as 
811         <Control>KP_Plus, <Control>KP_Minus for recursive
812         open/close.  (#2682, René Seindal)
813
814 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
815
816         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
817         the active menu item before deactivating the menu,
818         so gtk_menu_popdown doesn't change the history. (#50964)
819         
820 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
821
822         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
823         draw lines with text_gc rather than black_gc.
824         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
825
826 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
827
828         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
829         Move handling of buttons fully in gtktreeviewcolumn.  This code is
830         less interrelated then it was, but it still requires the
831         GtkTreeView to map it.
832
833         * test/testtreecolumn.c: Now I can add a column to one view,
834         remove it, add it to the another view, remove it, then re-add it
835         to the first.  Nifty.
836
837 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
838
839         * docs/tutorial/gtk-tut.sgml: Minor corrections
840
841 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
842
843         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
844         GtkRowReference.
845
846 2001-02-28  Havoc Pennington  <hp@redhat.com>
847
848         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
849         draw_default
850         (gtk_widget_draw_focus): remove this function; we could instead
851         make it just gtk_widget_draw(), but in most cases I think the
852         result would be broken user code, so think it's better to have
853         that code not compile and get fixed
854         (gtk_widget_draw_default): ditto
855
856         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
857         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
858         
859         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
860         widgets lose/get the default, instead of calling draw_default
861         
862         * docs/Changes-2.0.txt: note about all this
863
864         Then fixed every widget in GTK, I won't list all the filenames.
865
866 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
867
868         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
869         _gtk_tree_row_reference_deleted.
870         (inserted_callback): Proxy out to
871         _gtk_tree_row_reference_inserted.
872         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
873         get around signal emission ordering problem.
874
875         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
876         fix to work with SINGLE 
877         (_gtk_tree_selection_internal_select_node): Major sanitization on
878         selections.  SINGLE now seems to work.
879
880         * tests/Makefile.am: add testtreecolumn.c:
881
882         * tests/testtreecolumn.c: New test.  Mostly points out selection
883         bugs currently, but will test columns later.
884
885         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
886         selection bug.  I hate touching this code -- it's scary.
887
888 2001-02-26  Havoc Pennington  <hp@redhat.com>
889
890         * gtk/testgtk.c: test the window state stuff
891
892         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
893         window come to the user's attention as if it were just created
894         (gtk_window_iconify): new function
895         (gtk_window_deiconify): new function
896         (gtk_window_stick): new function
897         (gtk_window_unstick): new function
898         (gtk_window_maximize): new function
899         (gtk_window_unmaximize): new function
900
901         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
902
903         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
904
905         * gdk/x11/gdkevents-x11.c: create window state events when
906         appropriate
907         (gdk_wmspec_supported): new function
908
909         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
910         iconification before showing the window
911         (gdk_window_deiconify): new function
912         (gdk_window_stick): new function
913         (gdk_window_unstick): new function
914         (gdk_window_maximize): new function
915         (gdk_window_unmaximize): new function
916
917         * gdk/gdkwindow.c: store the window state in the window; 
918         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
919         window->mapped.
920         (gdk_window_get_state): return the current window state
921
922         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
923         (gdk_event_get_state): handle GDK_WINDOW_STATE
924         (gdk_synthesize_window_state): function to create the window state
925         events
926
927         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
928         event, for changes to "window state" such as maximized, sticky, 
929         etc.
930         
931         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
932         focuses a window
933
934         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
935         finds out if we support a given WM spec hint
936
937 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
938
939         * docs/faq/gtk-faq.sgml: New question re memory leaks.
940
941 2001-02-25  Hans Breuer  <hans@breuer.org>
942
943         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
944         cause we want to loose those prototypes only in the latter case
945
946         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
947         GdkPixmapImplWin32 because it itsn't derived from it. Use the
948         impl member variable instead
949
950         * gtk/gtk.def : updated
951
952         * gtk/gtklist.c : 
953         * gtk/gtkmenus.c : include <string.h> for memset ()
954
955         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
956         for everthing built here, but for gtk-x.x.dll only. This solves
957         problem of indifferent gtk type definitions
958
959 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
960
961         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
962
963 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
964
965         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
966         column that is exposed.
967
968         (_gtk_tree_view_update_size): Changed name from set_size, and
969         changed function to do more work, and not force people calling it
970         to figure out the size.  Simplifies a lot of code elsewhere.
971
972 2001-02-23  Alexander Larsson  <alexl@redhat.com>
973
974         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
975         return solid masks for xpms that have no transparent color.
976         This makes the ..._create_from_xpm... API backwards
977         compatible.
978
979 2001-02-23  Tor Lillqvist  <tml@iki.fi>
980
981         * README.win32: Update. Mention the gtk-1-3-win32-production
982         branch.
983
984         * gdk/win32/bdfcursor.c: New file. A program that generates
985         xcursors.h. Thanks to Stefan Ondrejicka.
986
987         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
988         compact format.
989
990         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
991
992         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
993         function, uses xcursors.h.
994         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
995         cursor from inline data instead of using LoadCursor() to generate
996         it from a resource.
997
998         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
999         event, must check the Windows message for mouse button state, as
1000         the GDK event state might not have been built if it is
1001         undelivered. Remove one goto.
1002
1003         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
1004         SetCursor() if the current cursor as returned by GetCursor() is
1005         the window's previous cursor. The ChildWindowFromPoint() test
1006         apparently didn't work correctly.
1007
1008         * gdk/win32/rc/*.cur: Remove.
1009
1010         * gdk/win32/rc/gdk.rc.in: Remove cursors.
1011
1012         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
1013
1014         * gtk/makefile.{mingw,msc}.in: Updates.
1015
1016 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
1017
1018         * gtk/gtktreemodel.h: add functions for signal emission.
1019
1020         * gtk/gtktreestore.c: move to use above functions instead of
1021         g_signal_emit.
1022
1023         * gtk/gtkliststore.c: ditto
1024
1025 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
1026
1027         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
1028         GObject instead of GtkObject.
1029
1030         * gtk/gtkliststore.c: ditto.
1031
1032         * gtk/gtktreemodelsort.c: ditto.
1033
1034         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
1035         GtkTreeModelIface, instead of in each model.
1036
1037 2001-02-21  Havoc Pennington  <hp@redhat.com>
1038
1039         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
1040         unbreak this function
1041
1042         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
1043         properties
1044
1045         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
1046         properties
1047
1048         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
1049         properties
1050
1051         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
1052         mean unset the max length
1053
1054 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
1055
1056         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
1057         Changed name to be set_cell_data_func to make it clear what
1058         the functino does.  Close bug #51069.
1059
1060 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
1061
1062         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
1063         have memory actually freed.  Keeps box running longer.
1064
1065 2001-02-21  Alexander Larsson  <alexl@redhat.com>
1066         
1067         * gtk/gtkseparatormenuitem.[ch]:
1068         Added new menu separator item. The drawing and size handling
1069         is still done in GtkMenuItem, but the API is a bit more sane.
1070         
1071         * gtk/Makefile.am:
1072         Add gtkseparatormenuitem.[ch].
1073
1074         * gtk/gtk.h:
1075         Add gtkseparatormenuitem.h.
1076         
1077         * gtk/gtkentry.c:
1078         * gtk/gtkmenufactory.c:
1079         * gtk/gtktextview.c:
1080         Use the new API for menu separators.
1081         
1082         * demos/gtk-demo/menus.c (create_menu):
1083         Add some GtkSeparatorMenuItem demo code.
1084
1085 2001-02-20  Havoc Pennington  <hp@redhat.com>
1086
1087         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
1088         Lee Mallabone
1089
1090         * gtk/gtkarrow.c: Convert to new property API, patch from 
1091         Lee Mallabone
1092
1093 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
1094
1095         * tests/testtreeview.c (toggled_callback): fix to reflect change
1096         in GtkTreeModelStore.
1097
1098 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
1099
1100         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
1101         function to create an icon set from a pixbuf.
1102
1103 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1104
1105         * gtk/gtkcellrenderertext.[ch]:
1106         Add a "markup" property.
1107
1108         * gtk/treestoretest.c:
1109         Use the markup property, remove some leftover stuff from
1110         GtkTreeModelMapping.
1111
1112 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1113
1114         * gtk/gtklabel.c (gtk_label_set_selectable):
1115         Queue a redraw if the selectable setting was changed.
1116
1117 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1118
1119         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
1120         Actually copy the whole gc, not just the public parts.
1121         
1122         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1123         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
1124         labels.
1125
1126 2001-02-19  Havoc Pennington  <hp@pobox.com>
1127
1128         * gdk/gdkwindow.c: docs
1129
1130         * gdk/gdkrgb.c: docs
1131
1132         * gdk/gdkregion-generic.c: docs
1133
1134         * gdk/gdkgc.c (gdk_gc_set_values): docs
1135
1136         * gdk/gdkdraw.c: docs
1137
1138         * gdk/gdkdrawable.h: deprecate drawable get/set data
1139
1140 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
1141
1142         * demos/gtk-demo/dialog.c: Add simple new demo.
1143
1144 2001-02-19  Havoc Pennington  <hp@redhat.com>
1145
1146         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
1147         insert_child_anchor signal, bug #50245
1148
1149         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
1150         from create_child_anchor, so the anchor is passed in
1151
1152         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
1153         (_gtk_widget_segment_new): have the child anchor object passed in, 
1154         instead of creating it.
1155
1156         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
1157         to gtk_text_buffer_get_modified
1158
1159 2001-02-19  Havoc Pennington  <hp@redhat.com>
1160
1161         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
1162         changed GLib without fixing GTK
1163
1164         * gtk/gtkrange.h: Rename all the stupid implementation detail 
1165         functions to have an underscore in front. Most of them should 
1166         probably just go away, but for starters don't export them.
1167         Bug #50482
1168
1169 2001-02-19  Havoc Pennington  <hp@redhat.com>
1170
1171         * gdk/gdkcolor.h: test was backward, so deprecated functions were
1172         excluded by default
1173
1174         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
1175         clean up the old code a bit
1176
1177         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
1178         inconsistent state
1179
1180         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
1181         draw inconsistent state
1182
1183         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
1184         (create_menu): add inconsistent test
1185
1186         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
1187         new function
1188         (gtk_check_menu_item_get_inconsistent): new function
1189         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
1190         state (using etched in for now)
1191
1192         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
1193         draw inconsistent state
1194
1195         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
1196         function, used when the user has selected a range of stuff in
1197         different states
1198         (gtk_toggle_button_get_inconsistent): accessor for that
1199         (gtk_toggle_button_paint): draw inconsistent state (etched in?
1200         don't know what else to do)
1201
1202 2001-02-19  Hans Breuer <hans@breuer.org>
1203
1204         * gtk/gtk.def : updated exported symbols
1205
1206         * gtk/makefile.msc.in : updated
1207
1208         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
1209         a colormap, when invoked from testgtk::entry. I'm not sure where
1210         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
1211         avoids immediate crashing ...
1212
1213         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
1214         any objections ?
1215
1216         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
1217         0 parameter. At least msvc doesn't like macros with var args. 
1218         I simply removed the extra 0, was it a feature or a typo ?
1219
1220         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
1221         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
1222         because the value assignment to the internal struct wasn't working.
1223         I'm not absolutely sure. The problem could have been resolved by
1224         changing the "func" declartion in the struct, but was the pointer
1225         to the function pointer intended ?
1226
1227         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
1228
1229         * gdk/gdk.def : updated exported symbols
1230
1231         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
1232         only use SetDIBitsToDevice if there is a palette at the drawable
1233         and the image is GDK_VISUAL_PSEUDO_COLOR
1234
1235         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
1236
1237         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
1238
1239         * gdk/*/makefile.msc : updated
1240
1241 2001-02-19  Havoc Pennington  <hp@redhat.com>
1242
1243         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
1244         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
1245
1246         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
1247         (gdk_key_repeat_restore): nuke
1248
1249         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
1250         (gdk_init_check): no atexit func
1251
1252         * gdk/gdkrgb.h: mark some stuff deprecated
1253
1254         * gdk/gdkcolor.h: mark some stuff deprecated
1255         
1256         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
1257
1258         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
1259
1260 2001-02-16  Havoc Pennington  <hp@redhat.com>
1261
1262         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
1263         scroll steps.
1264
1265         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
1266         steps, and add Ctrl-arrow shortcuts for paging visually as with
1267         HScale, since Page Up and Page Down move logically.
1268
1269         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
1270         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
1271         
1272         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
1273         steps
1274         (gtk_range_scroll): handle the visual steps
1275
1276         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
1277         scroll steps
1278
1279         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
1280         steps, not the logical ones.
1281
1282         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
1283         (scroll_vertical): handle up/down steps
1284
1285 2001-02-19 Alexander Larsson  <alexl@redhat.com>
1286
1287         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
1288         Copy data and free data with free().
1289
1290         * gdk-pixbuf/gdk-pixbuf.c:
1291         * gdk-pixbuf/io-jpeg.c:
1292         * gdk-pixbuf/io-png.c:
1293         Use g_try_malloc/g_free instead malloc/free.
1294         
1295         * gdk-pixbuf/test-gdk-pixbuf.c:
1296         Must... initialize... gobject...
1297         
1298         * gdk-pixbuf/pixops/timescale.c:
1299         * gtk/gtkcalendar.c:
1300         Use g_malloc instead of malloc.
1301         
1302 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
1303
1304         * gtk/testgtkrc:
1305         Comment out property assignments, these don't work yet.
1306
1307 2001-02-17  Havoc Pennington  <hp@pobox.com>
1308
1309         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
1310         bit.
1311
1312 2001-02-17  Havoc Pennington  <hp@pobox.com>
1313
1314         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
1315         shadowed variables that had broken size request in some cases,
1316         leading to bogus tooltips (#50996)
1317
1318 2001-02-06  Jon K Hellan  <hellan@acm.org>
1319
1320         Implement fast browsing of tooltips, bug #50619
1321         
1322         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
1323         and last_popdown
1324         
1325         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
1326         use_sticky_delay and last_popdown.
1327         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
1328         time of popdown.
1329         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
1330         is NULL.
1331         (gtk_tooltips_recently_shown): New static function.  Return true
1332         if < sticky_delay has elapsed since last popdown.
1333         (gtk_tooltips_event_handler): Display window after sticky_delay
1334         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
1335         since last popdown.
1336         
1337 2001-02-17  Havoc Pennington  <hp@pobox.com>
1338
1339         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
1340         instead of (). #6394
1341
1342         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
1343         G_CONST_RETURN, make it return by reference, #50473
1344         
1345 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
1346
1347         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
1348         generated ENTER_NOTIFY event with 0, otherwise not explicitely
1349         setup fields contain garbage (e.g. subwindow, breaking
1350         gdk_drawable_ref() upon event copy).
1351         (gtk_menu_stop_navigating_submenu_cb): same here.
1352
1353         * gtk/gtklist.c (gtk_list_vertical_timeout): 
1354         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
1355         * gtk/gtkclist.c (vertical_timeout): 
1356         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
1357         default-zero-intialization for unions to memset(,0,), as unions are
1358         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
1359         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
1360
1361         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
1362         g_closure_sink() warning.
1363
1364         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
1365         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
1366         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
1367         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
1368         
1369 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
1370
1371         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
1372         gtk_*_store_get, and moved to GtkTreeModel.
1373
1374         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
1375
1376         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
1377
1378         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
1379
1380         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
1381         set the func.
1382
1383         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1384         freeze/thaw notify between setting all the properties for a cell.
1385
1386         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
1387
1388 2001-02-15  Havoc Pennington  <hp@redhat.com>
1389
1390         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
1391         the X coordinates so they're with respect to the line, rather than 
1392         with respect to the layout.
1393
1394         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
1395         Mallabone
1396
1397         * gtk/testgtk.c (create_range_controls): add vscale tests, 
1398         and inverted test
1399
1400         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
1401         #50806
1402
1403         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
1404
1405         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
1406         gtk_text_iter_is_end
1407
1408         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
1409         rename gtk_text_buffer_get_end_iter
1410
1411         * gtk/testgtk.c (create_labels): Add test for selectable
1412
1413         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
1414         the selection stuff. This code is kind of broken since it doesn't 
1415         use the theme engine.
1416
1417         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
1418         fix infinite loop and y offset problem
1419         (gdk_draw_layout_line_with_colors): fix foreground color handling
1420
1421         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
1422         that makes the label selectable.
1423         
1424         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
1425         layout when the style is set, since fonts etc. could have changed.      
1426
1427 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
1428
1429         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
1430
1431         * gtk/gtktreemodelsimple.[ch]: removed.
1432
1433 2001-02-16  Alexander Larsson  <alexl@redhat.com>
1434
1435         * gtk/gtktreemodelmapping.[ch]:
1436         New files. Implement GtkTreeModelMapping.
1437         
1438         * gtk/Makefile.am:
1439         Add gtktreemodelmapping.[ch].
1440         
1441         * gtk/gtk.h:
1442         Add gtktreemodelmapping.h
1443
1444         * gtk/treestoretest.c:
1445         Test the GtkTreeModelMapping
1446
1447 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
1448
1449         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
1450         have a demo, we might as well pass in real values.  Thanks to
1451         clahey for pointing this out.
1452
1453 2001-02-14  Havoc Pennington  <hp@pobox.com>
1454
1455         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
1456         "static" to a private function
1457         (gtk_image_menu_item_class_init): remove destroy handler,
1458         add "image" object property
1459
1460 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
1461
1462         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
1463         Add a shortcut if the window and the current clip_region doesn't
1464         overlap. This is needed when there are a lot of windows in a
1465         window. The layout test in testgtk is a good test.
1466
1467         * gdk/linux-fb/gdkwindow-fb.c:
1468         Whitespace fix.
1469
1470 2001-02-13  Sven Neumann  <sven@convergence.de>
1471
1472         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
1473
1474 2001-02-13  Alexander Larsson  <alexl@redhat.com>
1475
1476         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
1477         Don't reference last_cursor if it is null. Fixes crash when rotating
1478         the screen before having moved the mouse.
1479
1480         * gdk/linux-fb/gdkcc-fb.c: Zapp!
1481
1482         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
1483
1484         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
1485         when using 90 or 270 degrees rotation.
1486
1487 2001-02-12  Havoc Pennington  <hp@pobox.com>
1488
1489         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
1490         it always set the foreground, even if we were only using
1491         a stipple.
1492         (gdk_draw_layout_line_with_colors): new function, allow
1493         override colors
1494         (gdk_draw_layout_with_colors): new function, allow override
1495         colors
1496         (gdk_pango_layout_line_get_clip_region): function to get the clip
1497         region for a logical text range
1498         (gdk_pango_layout_get_clip_region): get the clip region for a
1499         logical text range
1500
1501         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
1502         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
1503         the right number of arguments.
1504
1505         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
1506         enhance the function to check that node data corresponds to a 
1507         view still belonging to the tree.
1508
1509         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
1510         GtkTreePath
1511         (gtk_tree_view_inserted): ditto
1512         (gtk_tree_view_child_toggled): ditto
1513
1514         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
1515         simplify this code.
1516
1517         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
1518         a PangoAttrList
1519
1520         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
1521
1522         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
1523
1524         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
1525         size in the size request 
1526         (gtk_menu_bar_size_allocate): consider toggle size here
1527
1528         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
1529         that displays a widget in the toggle slot
1530
1531         * gtk/testgtk.c: test GtkImageMenuItem
1532
1533         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
1534         
1535         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
1536         request and allocation
1537
1538         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
1539
1540         * gtk/gtkcheckmenuitem.c
1541         (gtk_check_menu_item_toggle_size_request): ditto
1542         
1543 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
1544
1545         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
1546         reference.
1547
1548         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
1549         and refuse to initialize GTK+ if they fail.
1550
1551 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
1552
1553         * configure.in: Add check for gtk-doc version.
1554
1555 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
1556
1557         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
1558         where the xpad/ypad was only being used on one side!
1559
1560 2001-02-11  Tor Lillqvist  <tml@iki.fi>
1561
1562         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
1563         function, copied from X11 version.
1564
1565         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
1566         DestroyCursor failures. The reason for the problem (despite the
1567         inconsistent messages from GetLastError()) was that
1568         DestroyCursor() cannot be called while a cursor is set in a
1569         window. Set the new cursor first and then destroy the old one.
1570         Thanks to jpe@archaeopteryx.com.
1571
1572         * gdk/win32/gdkcc-win32.c: Remove.
1573
1574         * gdk/win32/Makefile.am: Remove from here, too.
1575         
1576         * gdk/gdk.def
1577         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
1578
1579         * gtk/gtk.def
1580         * gtk/makefile.mingw.in: Updates.
1581
1582 2001-02-08  Havoc Pennington  <hp@redhat.com>
1583
1584         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
1585         add a widget to a bin that already has a child.
1586
1587         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
1588
1589         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
1590         
1591         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
1592
1593         * gdk/gdk.h: remove gdkcc.h
1594
1595         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
1596
1597         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
1598         GdkPixbuf, since the previous implementation was GdkColorContext
1599         dependent.
1600
1601         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
1602         
1603 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
1604
1605         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
1606         a sane value!
1607
1608 2001-02-08  Havoc Pennington  <hp@redhat.com>
1609
1610         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
1611         lighten them.
1612
1613 2001-02-08  Havoc Pennington  <hp@redhat.com>
1614
1615         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
1616         validation idle
1617
1618         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
1619         cell renderer
1620
1621         * demos/pixbuf-demo.c (timeout): remove deprecated
1622         gtk_widget_draw
1623
1624         * demos/testpixbuf-save.c (main): remove deprecated
1625         gtk_drawing_area_size
1626
1627         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
1628         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
1629         at the start of the allocation.
1630         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
1631         unsetup or NULL model.
1632
1633         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
1634         even/odd/sorted cells in the tree view.
1635
1636         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1637         bugfixes
1638
1639         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
1640         backgrounds with draw_flat_box using different detail for even/odd
1641         rows.
1642
1643         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
1644         row, so we can draw the alternating colors thing
1645
1646         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
1647         property from a synonym property, notify for the synonym.
1648         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
1649         (gtk_text_tag_get_property): Always return the font, even if
1650         all its fields aren't set
1651
1652         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
1653         store the attr list; it leaves us with no way to change attributes
1654         in _render according to the render flags, and no way to implement
1655         get_property. Instead store all the specific text attributes. 
1656         Separate whether an attribute is enabled from its value. Sync all
1657         properties with GtkTextTag, make them all consistent, etc.
1658
1659         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
1660         renderers can highlight the sort row/column     
1661
1662         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
1663         accessor functions to get values; this has the side effect of
1664         showing up which accessor functions were missing. Added those.
1665
1666         * gtk/gtktreeviewcolumn.h: Replace set_justification with
1667         set_alignment, to be consistent with GtkLabel, GtkMisc
1668
1669         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
1670         arrow.
1671
1672         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
1673
1674         * gtk/gtktreesortable.h: updates in here
1675
1676 2001-02-07  Sven Neumann  <sven@convergence.de>
1677
1678         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
1679         pango dimensions after painting the background. We used to draw
1680         gigantic flat boxes here.
1681
1682 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
1683
1684         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
1685         error introduced with earlier commit) (pointed out by
1686         Ollie Lho)
1687
1688 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
1689
1690         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
1691         which are no longer necessary.
1692
1693 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
1694
1695         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
1696
1697 2001-02-04  Tor Lillqvist  <tml@iki.fi>
1698
1699         * gdk/gdk.def
1700         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
1701         Provide dummy implementations.
1702
1703 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
1704
1705         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
1706
1707         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
1708         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
1709         deprecated this function.
1710
1711         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
1712         argument.
1713
1714 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
1715
1716         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
1717
1718 2001-02-03  Havoc Pennington  <hp@pobox.com>
1719
1720         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
1721         Mikael Hermansson with patch from Mikael (if there was a toggle
1722         start one after the first character in the range, this function
1723         was broken). Bug #50380
1724
1725 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
1726
1727         * configure.in: Remove confusing comment about X11.
1728
1729 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
1730
1731         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
1732         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
1733         
1734 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
1735
1736         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
1737         it breaks things on BSD. If you want to compile GTK+ with
1738         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
1739         when configuring, since GTK+ simply can't be "pure ANSI" 
1740         in the header files it uses. (#8170, Greg Hudson)
1741
1742 2001-02-02  Havoc Pennington  <hp@redhat.com>
1743
1744         * gtk/gtkwindow.c: docs
1745
1746         * gtk/gtkwidget.c: docs
1747         (gtk_widget_set_colormap): add a reference to the colormap
1748         (gtk_widget_get_default_colormap): add a reference to the colormap
1749
1750         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
1751
1752         * gtk/gtktextiter.c: docs
1753
1754         * gtk/gtkmain.c (gtk_propagate_event): docs
1755
1756         * gtk/gtkpaned.c (gtk_paned_get_position): docs
1757         (gtk_paned_set_position): docs
1758
1759         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
1760         sort interface, no implementation yet.
1761
1762         * demos/testpixbuf.c (new_testrgb_window): replace
1763         gtk_drawing_area_size() with gtk_widget_set_usize()
1764
1765         * demos/testpixbuf-drawable.c (main): ditto
1766         
1767         * gtk/testgtk.c: remove use of GtkStatusbarMsg
1768
1769         * gtk/gtktextbuffer.c: docs
1770
1771         * gtk/gtkstock.c: docs
1772
1773         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
1774
1775         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
1776
1777         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
1778         
1779         * gtk/gtkimage.c: add some docs in here
1780         (gtk_image_size_request): change name of
1781         gtk_widget_render_stock_icon
1782         (gtk_image_get_icon_set): don't dup returned string
1783         (gtk_image_get_icon_set): don't dup returned string
1784
1785         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
1786         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
1787         and gtkiconfactory.h functions
1788
1789         * gtk/gtkiconfactory.c: add some docs in here
1790
1791         * gtk/gtkmain.c (gtk_get_default_language): document
1792         (gtk_get_current_event): document
1793         (gtk_get_current_event_state): document
1794         (gtk_get_event_widget): document
1795
1796         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
1797
1798         * gtk/gtkcontainer.c: Add some documentation
1799         (gtk_container_add): give a more explanatory warning on adding an
1800         already-parented widget, this is kind of a FAQ and also a common
1801         typo that's easier to debug with a nice warning 
1802
1803         * gtk/gtkcellrenderertoggle.c
1804         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
1805         adding this, it's useless
1806         (gtk_cell_renderer_toggle_set_active): remove
1807         (gtk_cell_renderer_toggle_get_radio): add
1808
1809         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
1810         the NULL cell renderer, that doesn't make any sense to me. 
1811
1812         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
1813         demo code should never use deprecated features.
1814
1815         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
1816         code should never use deprecated features.
1817
1818         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
1819         gtk_widget_queue_clear_area deprecated
1820
1821         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
1822         deprecated
1823
1824         * gtk/gtklabel.h: mark gtk_label_get() deprecated
1825
1826         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
1827         a GdkImage deprecated, replaced by new consistently-named
1828         functions       
1829
1830         * gtk/gtkmain.h: Mark gtk_exit() deprecated
1831
1832         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
1833
1834         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
1835         deprecated
1836
1837         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
1838         so it won't appear in docs and confuse people.
1839
1840         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
1841
1842         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
1843         macros deprecated. (can't mark the type itself deprecated, since
1844         GtkProgressBar is not deprecated and we need the type decl to use
1845         GtkProgressBar)
1846
1847         * gtk/gtkpixmap.h: Mark deprecated
1848
1849         * gtk/gtkoldeditable.h: Mark deprecated
1850
1851         * gtk/gtklist.h: Mark deprecated
1852
1853         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
1854         for anything anymore.
1855
1856         * gtk/gtkctree.h: Mark deprecated
1857
1858         * gtk/gtkclist.h: Mark deprecated
1859
1860         * gtk/gtkpreview.h: Mark deprecated
1861
1862         * gtk/gtkpacker.h: Mark deprecated
1863
1864         * gtk/gtktipsquery.h: Mark deprecated
1865
1866         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
1867
1868         * gtk/gtkvruler.h: Add comment that it will move out of GTK
1869
1870         * gtk/gtkhruler.h: Add comment that it will move out of GTK
1871
1872         * gtk/gtkruler.h: Add comment that it will move out of GTK
1873
1874         * gtk/gtkgamma.h: Add comment that it will move out of GTK
1875
1876         * gtk/gtkcurve.h: Add comment that it will move out of GTK
1877
1878 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
1879
1880         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
1881         gdk_colormap_sync private since it was never exported
1882         in a header file.
1883
1884         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
1885         colormap->colors[] for StaticGray, StaticColor colormaps.
1886
1887         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
1888         was being used as if it was image->bits_per_pixel.
1889
1890         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
1891         for the image in the GdkImage structure since it isn't
1892         reconstructable, and we need it to handle packed types
1893
1894         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
1895         the assumption that on Win32 image->bits_per_pixel == image->depth,
1896         always.
1897
1898         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
1899
1900         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
1901         warning message if no converter can be found. 
1902
1903 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
1904
1905         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
1906         chars to isupper() / tolower(). (#567)
1907
1908         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
1909         to clear up 64-bit warnings. (#567)
1910
1911 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
1912
1913         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
1914         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
1915
1916         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
1917         since some people set $(libdir) separately. (#1290, David Kaelbling)
1918
1919 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
1920
1921         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
1922         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
1923         MAXPATHLEN, but the code here depends on a fixed value.)
1924         (#4524)
1925
1926 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
1927
1928         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
1929         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
1930
1931 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
1932
1933         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
1934         viewable there is no way that moving the node will cause the 
1935         focus row to become not viewable, so omit check on the visibility
1936         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
1937
1938 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
1939
1940         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
1941         selection before inserting new text.
1942
1943 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
1944
1945         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
1946         Make the sensitivity of the reparented child track that of
1947         the original parent menu item. (#34218, David Hodson)
1948
1949         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
1950         the case where the current item is destroyed properly.
1951
1952         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
1953         some edge cases with child-less menuitems.
1954         
1955 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
1956
1957         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
1958         key pop down window. (#12074, Jon K Hellan)
1959
1960 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
1961
1962         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
1963         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
1964         The solution here isn't perfect - you get an extraneous
1965         emission of "toggle", which could conceivably confuse an app,
1966         but better than the current situation. LXR search seems to
1967         indicate that no apps in GNOME CVS connect to "toggle".
1968
1969 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
1970
1971         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
1972         gtk_public_h_sources to directly here to avoid warning when
1973         building srcdir != builddir. (#9656)
1974
1975 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
1976
1977         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
1978         handlers in gtkrange.c return the proper values (TRUE == handled)
1979         (#10316).
1980
1981         This is just the tip of the iceberg, but gtkrange.c is the
1982         most common place where the propagation is problematical,
1983         and also a place where it is almost certainly safe to change
1984         this in the stable branch.
1985
1986         (You don't want right click popups on a range control or anything...)
1987
1988 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
1989
1990         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
1991         area on focus out, even if a background pixmap isn't set.
1992         (#13941)
1993         
1994 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
1995
1996         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
1997         to deal with setting the shape properly when scrolling arrows are
1998         turned on, but not visible because there is sufficient space.
1999         (#13432)
2000
2001 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
2002
2003         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
2004         items with submenus, destroy the item along with the submenu.
2005         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
2006         properly.
2007
2008         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
2009         later.
2010
2011 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
2012
2013         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
2014         the focus widget sometimes wasn't drawn with the default if there
2015         was no default widget.
2016
2017         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
2018         unreference pixmaps. 
2019
2020         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
2021         for some extra safety.
2022
2023 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
2024
2025         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
2026         the text of a cell to the old pointer value better, by
2027         copying the new text before freeing the old text. Some code
2028         cleanup. (#8079, Karl Nelson)
2029
2030 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
2031
2032         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
2033         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
2034
2035 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
2036
2037         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
2038         item from a menu, check to see if it matches 
2039         menu->old_active_menu_item, and if so, unref and clear
2040         old_active_menu_item (Patch from Pavel Cisler)
2041
2042         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
2043         menu_shell->active_menu_item, if it is the child being
2044         removed. (Patch based on that of Gene Ragan, #50337)
2045
2046 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
2047
2048         * gdk/linux-fb/gdkselection-fb.c: 
2049         * gdk/linux-fb/gdkcolor-fb.c: 
2050         * gdk/linux-fb/gdkdrawable-fb2.c: 
2051         * gdk/linux-fb/gdkfont-fb.c: 
2052         * gdk/linux-fb/gdkim-fb.c: 
2053         * gdk/linux-fb/gdkinput.c: 
2054         * gdk/linux-fb/gdkkeyboard-fb.c: 
2055         * gdk/linux-fb/gdkmain-fb.c: 
2056         * gdk/linux-fb/gdkrender-fb.c: 
2057         A bunch of whitespace cleanup.
2058         
2059 2001-01-30  Havoc Pennington  <hp@pobox.com>
2060
2061         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
2062         #ifdef GTK_ENABLE_BROKEN.
2063
2064         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
2065         GTK_ENABLE_BROKEN just before including the broken headers.
2066         
2067         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
2068         deprecated types registered.
2069
2070         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
2071         we have to test the broken stuff.
2072
2073         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
2074         
2075 2001-01-30  Havoc Pennington  <hp@redhat.com>
2076
2077         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
2078         here where prev pointer was set to the wrong thing
2079
2080         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
2081         (gtk_tree_path_is_descendant): new function
2082
2083         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
2084         cached length
2085         (gtk_list_store_get_iter): don't modify iter if we can't get the
2086         path.
2087
2088         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
2089         
2090         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
2091         GtkTreeDragDest
2092
2093         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
2094         was causing segfault
2095
2096         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
2097         pointer to NULL
2098
2099         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
2100
2101         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
2102         on returning FALSE
2103         (gtk_list_store_iter_children): ditto
2104         (gtk_list_store_iter_nth_child): ditto
2105         (gtk_list_store_iter_nth_child): ditto
2106         (gtk_list_store_iter_parent): ditto
2107
2108         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
2109         on iter->user_data != NULL instead of silently accepting it.
2110         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
2111         we are returning TRUE.
2112         (gtk_tree_store_iter_children): ditto
2113         (gtk_tree_store_iter_nth_child): ditto
2114         (gtk_tree_store_iter_parent): ditto
2115         (gtk_tree_store_insert): remove handling of parent->user_data ==
2116         NULL, replace with parent == NULL       
2117
2118         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
2119         and a comment explaining things
2120
2121         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
2122         interface support to GtkTreeStore.
2123
2124         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
2125         FALSE if no prev, fix
2126
2127         * gtk/gtktreeview.c (set_source_row): use a row reference
2128         (set_dest_row): use a row reference
2129
2130 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
2131
2132         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
2133         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
2134         (gtk_tree_selection_select_iter): The same as above.
2135
2136 2001-01-26  Havoc Pennington  <hp@redhat.com>
2137
2138         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
2139         which holds a handle to a specific row (particular set of values
2140         in the model, i.e. pointer-identity row).
2141
2142         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
2143         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
2144         Still need to use it for the src/dest row saved on the drag context.
2145
2146 2001-01-26  Havoc Pennington  <hp@redhat.com>
2147
2148         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
2149
2150         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
2151         not offset by TREE_VIEW_HEADER_HEIGHT
2152         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
2153         TREE_VIEW_HEADER_HEIGHT
2154
2155         * configure.in (included_loaders): for me, --with-included-loaders
2156         generates the error "the specified loader yes does not exist",
2157         i.e. the arg defaults to "yes", so change test for value ""
2158         to test for value "yes", and include all loaders in that case.
2159
2160         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
2161
2162         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
2163         handle TREE_VIEW_VERTICAL_SEPARATOR
2164         (gtk_tree_view_bin_expose): fix to consider the row offset as
2165         pointing halfway into vertical separator.       
2166         (gtk_tree_view_draw_node_focus_rect): ditto
2167
2168         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
2169         --gtk-debug=updates, which causes gdk_window_set_debug_updates
2170         (TRUE) to be called.
2171
2172         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
2173         debug mode where the invalid region is colored in on invalidate,
2174         so you can see the flicker and know whether your redraw code is 
2175         doing a good job.
2176
2177         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
2178         tree window coordinates (clip rect is in tree window coords)
2179
2180         * gtk/Makefile.am: add gtktreednd.[hc]
2181
2182         * gtk/gtkliststore.c: implement gtktreednd interfaces.
2183
2184         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
2185         drag-and-drop data operations on a model (so we can set up tree
2186         drag-and-drop automatically)
2187
2188         * gtk/testgtk.c: Add a window to change sensitivity in the
2189         GtkLabel test; add a way to change the entry frame in GtkEntry
2190         test
2191
2192         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
2193         (gtk_entry_get_has_frame): new functions to remove the frame
2194         around an entry
2195         (gtk_entry_size_request): shrink requisition if no frame
2196         (gtk_entry_draw_focus): don't draw frame if no frame
2197
2198         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
2199         checks inside a cell renderer
2200         (gtk_default_draw_option): ditto for options
2201
2202         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
2203         children from the alignment, not the button
2204         (gtk_tree_view_column_init): ref/sink the column, to emulate
2205         GObject refcounting.
2206
2207         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
2208         
2209         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2210         Use theme functions to draw the toggles 
2211
2212         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
2213
2214         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
2215         GdkPangoAttrEmbossed to use in rendering insensitive text
2216
2217         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
2218
2219         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
2220         using new GDK features
2221         
2222 2001-01-24  Alexander Larsson  <alexl@redhat.com>
2223
2224         * gtk/gtkimage.c:
2225         Splitted gtk_image_clear into gtk_image_clear() and
2226         gtk_image_reset(). Call gtk_image_clear() in ::destroy
2227         to avoid leaks.
2228
2229         * gtk/gtklabel.c (set_markup):
2230         Don't leak text.
2231
2232         * gtk/gtktextlayout.c:
2233         Always free display->shaped_objects.
2234
2235         * gtk/testgtk.c (create_clist):
2236         Don't leak custom style.
2237
2238 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2239
2240         * gtk/gtkcolorsel.c (grab_color_at_mouse):
2241         Don't leak image. Simplify using gdk_colormap_query_color().
2242         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
2243
2244         * linux-fb/gdkcolor-fb.c:
2245         Implemented gdk_colormap_query_color.
2246
2247 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2248
2249         * linux-fb/gdkcursor-fb.c:
2250         Don't leak built-in cursors.
2251
2252         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
2253         Don't leak tmp_points.
2254
2255         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
2256         Don't modify desc. Don't leak font if the PangoFont
2257         isn't found.
2258         
2259         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
2260         Free dash_list.
2261
2262         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
2263         Don't leak string.
2264         
2265 2001-01-20  Havoc Pennington  <hp@pobox.com>
2266
2267         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
2268         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
2269         me, matches Pango
2270
2271 2001-01-22  Havoc Pennington  <hp@redhat.com>
2272
2273         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
2274
2275         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
2276
2277         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
2278         Remove, move back to gdk-pixbuf
2279
2280         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
2281         to all the word functions
2282
2283         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
2284         before doing anything on NULL layout or if we don't have the focus
2285
2286         * gtk/testtext.c (fill_example_buffer): "justification"
2287
2288         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
2289         to be called "justification" not "justify"
2290
2291         * demos/gtk-demo/textview.c (create_tags): "justification"
2292         
2293         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
2294
2295 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2296
2297         * gdk/gdkwindow.c (gdk_window_invalidate_region):
2298         Don't leak visible_region. Use visible_region instead of region.
2299         
2300         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2301         Don't do extra gdk_drawable_ref(). This is not X.
2302         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
2303         gdk_fb_focused_window is ref:ed.
2304         (gdk_fb_window_send_crossing_events): Watch out for destroyed
2305         windows.
2306
2307 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2308
2309         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
2310         Don't leak the PangoFontDescriptor.
2311
2312 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
2313
2314         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
2315         when not realized.
2316         (gtk_tree_view_scroll_to_cell): Make work when not realized.
2317         (gtk_tree_view_realize): add scroll_to support
2318         (gtk_tree_view_finalize): add a finalize method.  Populate.
2319         (gtk_tree_view_insert_column): ref and sink the column.
2320         (gtk_tree_view_append_column): ref and sink the column.
2321         (gtk_tree_view_queue_draw_node): New function to handle redrawing
2322         individual nodes.  Should make the code much more efficient, if
2323         actually used.
2324
2325 2001-01-19  Havoc Pennington  <hp@redhat.com>
2326
2327         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
2328         byte_offset variable was being used to mean both "offset into
2329         layout" and "offset into buffer line" which was no longer true
2330         with addition of preedit string; fix
2331
2332 2001-01-19  Havoc Pennington  <hp@redhat.com>
2333
2334         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
2335
2336         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
2337         function
2338
2339         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
2340         implement
2341
2342         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
2343         scroll_to_cell, matches TextView scroll functions better
2344         (gtk_tree_view_tree_to_widget_coords): new function
2345         (gtk_tree_view_widget_to_tree_coords): new function
2346         (gtk_tree_view_get_visible_rect): new function
2347         (gtk_tree_view_get_path_at_pos): accept negative coordinates
2348         (gtk_tree_view_draw_node_focus_rect): new function moved from
2349         draw_focus, also, use width of bin_window as width of the focus
2350         rect
2351         (gtk_tree_view_expand_row): fix bug where it didn't recognize
2352         already-expanded rows
2353         (gtk_tree_view_get_cell_rect): new function
2354         (gtk_tree_view_get_path_at_pos): return the click position
2355         relative to the passed-in cell
2356         (gtk_tree_view_set_expander_column): new function
2357
2358         * configure.in: remove gtk-config-2.0 chmod
2359
2360         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
2361         and properly handle drags with targets we don't understand
2362         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
2363         scrolling anyway
2364         (gtk_text_view_drag_drop): stop scrolling here though, and set the
2365         mark invisible
2366
2367         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
2368         function
2369         (gtk_drag_dest_get_target_list): new function
2370         (gtk_drag_dest_set_target_list): new function
2371         
2372         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
2373
2374         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
2375         related to drag-and-drop
2376
2377 2001-01-19  Alexander Larsson  <alexl@redhat.com>
2378
2379         * gdk/linux-fb/gdkprivate-fb.h:
2380         Define EMULATE_GDKFONT.
2381         Add extra pango_font stuff to GfkFontPrivate.
2382         
2383         * gdk/linux-fb/gdkdrawable-fb2.c:
2384         * gdk/linux-fb/gdkfont-fb.c:
2385         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
2386         emulation using PangoFont.
2387
2388 2001-01-17  Havoc Pennington  <hp@pobox.com>
2389
2390         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
2391         all the non-deprecated set_foo functions. Added missing object
2392         properties, and added g_object_notify() to setters. 
2393         Wrote docs.
2394         
2395 2001-01-18  Tor Lillqvist  <tml@iki.fi>
2396
2397         * gtk/gtkmain.c
2398         * gtk/gtkrc.c: (Win32) Use the new
2399         g_win32_get_package_installation_(sub)directory() functions.
2400
2401         * config.h.win32.in: New file.
2402         
2403         * config.h.win32: Removed.
2404
2405         * configure.in: Output config.h.win32.
2406
2407         * Makefile.am: Add it to EXTRA_DIST.
2408
2409         * gtk/gtk.def: Update.
2410
2411 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
2412
2413         * gtk/gtklabel.c (gtk_label_size_request): Set the
2414         attributes onto the PangoLayout even if they are newly
2415         created from label->pattern.
2416
2417 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
2418
2419         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
2420
2421         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
2422         structures in functions. Fixes bug where gtk_dataset_*
2423         was accidentally still being used in one place, causing
2424         every dest side event to be treated independently.
2425
2426         * gtk/gtkdnd.c: Remove last vestages of handling
2427         ::draw (fixes warning)
2428         
2429         * gtk/gtkentry.[ch]: Add drag and drop support.
2430
2431         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
2432         new function gtk_check_drag_threshhold() for checking
2433         to check if (dx,dy) has exceeded the threshhold for starting
2434         a drag and use it everywhere.
2435
2436 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
2437
2438         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
2439         add -I{includedir}/gtk-2.0.
2440
2441         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
2442         gdk/gdk-pixbuf.h: Doc fixups.
2443         
2444         * gtk/gtkobject.h: Remove trailing , from enum
2445
2446 2001-01-17 Alexander Larsson <alexl@redhat.com> 
2447
2448         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
2449         Doh! Mixed up x and y.
2450
2451         * gdk/linux-fb/gdkglobals-fb.c:
2452         Removed gdk_fb_pointer_grab_window_events,
2453         added _gdk_fb_pointer_grab_owner_events and
2454         _gdk_fb_keyboard_grab_owner_events.
2455
2456         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
2457         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
2458         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
2459         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
2460         Send crossing events after ungrab finished.
2461         (gdk_keyboard_grab): Set ..._owner_events
2462         (type_masks): Move out of function.
2463         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
2464         gdk_fb_keyboard_event_window): New functions, return the
2465         window an event should be targeted at. Handles grabs and
2466         event propagation. Can return NULL.
2467         (gdk_event_make): Remove event_mask checking. Now always
2468         returns an event.
2469                 
2470         * gdk/linux-fb/gdkkeyboard-fb.c:
2471         * gdk/linux-fb/gdkproperty-fb.c:
2472         * gdk/linux-fb/gdkselection-fb.c:
2473         Use new event_window/gdk_event_make() behaviour.
2474         
2475         * gdk/linux-fb/gdkmouse-fb.c:
2476         Use new event_window/gdk_event_make() behaviour.
2477         Only send motion events if in the same window.
2478         If grabbed, use cursor from window if sibling of grabbed
2479         window, and cursor from grabbed window otherwise.
2480
2481         * gdk/linux-fb/gdkprivate-fb.h:
2482         Update gdk_fb_window_send_crossing_events, gdk_event_make
2483         and grab varaible declarations. Add gdk_fb_*_event_window().
2484
2485         * gdk/linux-fb/gdkwindow-fb.c:
2486         Use new event_window/gdk_event_make() behaviour.
2487         Keep correct track of focus window.
2488         (gdk_window_set_events): Set all specific button motion masks
2489         if GDK_BUTTON_MOTION_MASK set.
2490
2491         * gtk/gtkdnd.c (gtk_drag_update):
2492         Free info->last_event if gdk_drag_motion returned FALSE.
2493
2494 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2495
2496         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
2497         Eliminate redraws when input-only windows are shown or
2498         hidden. Thanks to jpe@archaeopteryx.com.
2499
2500 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
2501
2502         * docs/faq/gtk-faq.sgml: FAQ update:
2503           - Update to bugzilla
2504           - Add GTK+ and security/SUID/SGID
2505           - Add DnD question
2506
2507 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
2508
2509         * gdk/linux-fb/gdkdnd-fb.c:
2510         Some cleanups.
2511         
2512 2001-01-15  Havoc Pennington  <hp@pobox.com>
2513
2514         * tests/testtreeview.c: add test stuff for CellRendererToggle
2515
2516         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
2517         accessor
2518
2519         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
2520         only toggle on button press (would do release like GtkButton, but
2521         we'd need implicit grab code for treeview cells)
2522
2523 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2524
2525         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
2526
2527         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
2528         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
2529
2530         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
2531         to g_{locale,filename}_{to,from}_utf8 to match current API.
2532
2533         * gtk/makefile.msc.in (gtk_OBJECTS)
2534         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
2535
2536         * gtk/gtk.def: Update.
2537
2538 2001-01-15  Tor Lillqvist  <tml@iki.fi>
2539
2540         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
2541         implementaion that more closely mimics the events that an X server
2542         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
2543         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
2544         with nested preview widgets, for instance, more responsive when
2545         you move the mouse quickly into them.
2546         (find_window_for_pointer_event): Make it actually compile.
2547         (gdk_event_translate): Set send_event to the value of
2548         InSendMessage (). This doesn't really mean the same as X11's
2549         send_event flag, but is close enough, says jpe@archaeopteryx.com
2550
2551 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2552
2553         * gdk/linux-fb/gdkdnd-fb.c:
2554         Implemented drag and drop.
2555         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
2556         when it tries to free and then copy the same event (info->last_event).
2557         I am not sure about why this happens, but will continue looking.
2558
2559 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2560
2561         * gdk/linux-fb/gdkwindow-fb.c:
2562         Use gdk_window_invalidate_rect instead of
2563         gdk_window_invalidate_rect_clear to minimise flashing.
2564         When hiding windows you need to clear the root window though.
2565
2566 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2567
2568         * gdk/linux-fb/gdkdrawable-fb2.c:
2569         For optization, add an full_shapes argument to gdk_fb_clip_region.
2570         If this is false, only the cliprects of the shapes are used.
2571
2572         * gdk/linux-fb/gdkprivate-fb.h:
2573         Export gdk_fb_window_peek_shape.
2574         Add full_shapes to gdk_fb_clip_region.
2575
2576         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2577         When moving a window, don't clear everything under the it, just the
2578         root window. Makes stuff faster and flash less.
2579         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
2580         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
2581         offset of the shape.
2582         
2583
2584 2001-01-12  Havoc Pennington  <hp@redhat.com>
2585
2586         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
2587         current invalid region, fixes redraw bug while scrolling the 
2588         text widget
2589
2590         * gtk/gtktextview.c, gtk/gtktextview.h:
2591         Rearrange the scrolling/validation/etc. code in a major way, 
2592         so it seems to make sense to me. Probably isn't genuinely that
2593         much better, but...
2594
2595         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
2596         notifies
2597
2598         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
2599
2600 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
2601
2602         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
2603         Hide mouse pointer while rotation. Show it afterwards.
2604
2605 2001-01-12  Alexander Larsson  <alexl@redhat.com>
2606
2607         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
2608         windows in consideration when generating clip region.
2609
2610         * gdk/linux-fb/gdkfb.h:
2611         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
2612
2613         * gdk/linux-fb/gdkprivate-fb.h:
2614         Add shape to GdkWindowFBDatat.
2615         exported gdk_fb_window_get_abs_shape().
2616         removed gdk_fb_draw_lines declaration.
2617
2618         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
2619         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
2620         send focus changes when there is a grabbed window.
2621         (gdk_window_get_pointer): Handle shaped windows.
2622         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
2623         (gdk_fb_window_peek_shape): Returns the shape for a window,
2624         handles GDK_FB_USE_CHILD_SHAPE.
2625         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
2626         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
2627         (gdk_window_shape_combine_mask): Implement.
2628
2629         * gtk/gtkwindow-decorate.c:
2630         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
2631         setting the shape of a window makes the window transparent.
2632
2633 2001-01-11  Havoc Pennington  <hp@redhat.com>
2634
2635         * gtk/gtktreemodelsimple.h: Oops, broke some macros
2636
2637 2001-01-10  Havoc Pennington  <hp@redhat.com>
2638
2639         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
2640         add this function, bug 40251
2641
2642         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
2643         of type macro   
2644
2645 2001-01-11  Alexander Larsson  <alexl@redhat.com>
2646
2647         * acconfig.h:
2648         Added ENABLE_SHADOW_FB
2649
2650         * configure.in:
2651         Added --disable-shadowfb
2652
2653         * gdk/linux-fb/gdkcursor-fb.c:
2654         Update shadowfb when updating cursor
2655
2656         * gdk/linux-fb/gdkdrawable-fb2.c:
2657         Added wrappers for shadowfb that calls  the normal drawable
2658         methods, but calls gdk_shadow_fb_update(bounding box) when
2659         GdkWindows are drawed to.
2660         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
2661         which also returns the bounding box.
2662
2663         * gdk/linux-fb/gdkfb.h:
2664         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
2665
2666         * gdk/linux-fb/gdkgeometry-fb.c:
2667         Update shadowfb when scrolling window.
2668
2669         * gdk/linux-fb/gdkglobals-fb.c:
2670         Add _gdk_fb_screen_angle.
2671         
2672         * gdk/linux-fb/gdkkeyboard-fb.c:
2673         Test code for screen rotation. Shift-F2 in the xlate driver
2674         rotates the screen.
2675
2676         * gdk/linux-fb/gdkmain-fb.c:
2677         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
2678
2679         * gdk/linux-fb/gdkmouse-fb.c:
2680         Use fb_width/height instead of modeinfo.xres/yres.
2681
2682         * gdk/linux-fb/gdkprivate-fb.h:
2683         Added fb_men, fb_width, fb_height & fb_stride. When using
2684         shadow fb these can differ from the framebuffer stuff.
2685         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
2686         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
2687         _gdk_fb_screen_angle. Removed CM, RP.
2688
2689         * gdk/linux-fb/gdkrender-fb.c:
2690         Added code for shadowfb handling and screen rotation using
2691         shadowfb.
2692
2693         * gdk/linux-fb/gdkwindow-fb.c:
2694         Use fb_mem, fb_stride, fb_width, fb_height.
2695         Added recompute_rowstride to reset the rowstride of all windows.
2696         Added gdk_fb_recompute_all() which recomputes rootwindow size,
2697         window abs positions and window rowstrides. Usefull when the
2698         rotation has changed.
2699
2700 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
2701
2702         * docs/faq/gtk-faq.sgml: update to make web site updating easier
2703
2704 2001-01-10  Havoc Pennington  <hp@redhat.com>
2705
2706         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
2707         where sibling == iter
2708         (gtk_tree_store_insert_after): handle sibling == iter
2709         (gtk_tree_store_prepend): remove stamp checks
2710         (gtk_tree_store_insert_before): ditto
2711         (gtk_tree_store_append): ditto
2712         (gtk_tree_store_get_path): ditto
2713         (gtk_tree_store_get_value): ditto
2714         (gtk_tree_store_iter_has_child): ditto
2715         (gtk_tree_store_iter_n_children): ditto
2716         (gtk_tree_store_iter_nth_child): ditto
2717         (gtk_tree_store_insert_after): ditto
2718         (gtk_tree_store_is_ancestor): ditto
2719         (gtk_tree_store_iter_depth): ditto
2720         (gtk_tree_store_insert_before): assert that sibling's parent is
2721         the same as the passed-in parent
2722         (gtk_tree_store_insert_after): assert that sibling's parent is
2723         the same as the passed-in parent
2724
2725         
2726         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
2727         function to get the first iterator in a model
2728         
2729         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
2730         conventionally the "root" in this sense is just NULL afaict.
2731
2732         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
2733         where sibling == iter
2734         (gtk_list_store_insert_after): handle case where sibling == iter
2735
2736         * tests/testtreeview.c (run_automated_tests): fairly lame basic
2737         automated tests for ListStore, TreeStore
2738
2739         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
2740         (gtk_list_store_insert): update tail pointer, and fix it to work
2741         (gtk_list_store_insert_before): update tail pointer, and fix it to work
2742         (gtk_list_store_append): use tail to be faster
2743         (gtk_list_store_prepend): fix it, update tail pointer
2744         (gtk_list_store_insert_after): fix it, update tail pointer
2745
2746         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
2747         the list
2748
2749 2001-01-09  Havoc Pennington  <hp@redhat.com>
2750
2751         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
2752         is NULL due to a pending resize
2753
2754         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
2755         column width to values less than 1
2756
2757         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
2758         width to be between min/max width, and still set the width 
2759         even if autosize is turned on, so the tree view can use this 
2760         function in order to autosize.
2761         (gtk_tree_view_column_init): set initial width to 1 not 0
2762
2763         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
2764         setter function to modify column width, so we get notification
2765         (gtk_tree_view_insert_iter_height): ditto
2766         (gtk_tree_view_calc_size): ditto
2767         (gtk_tree_view_check_dirty): ditto
2768
2769         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
2770         properties to change all the interesting attributes of the tree
2771         view column.
2772         (gtk_tree_view_column_set_header_clickable): rename set_clickable
2773         (gtk_tree_view_column_get_clickable): add
2774         (gtk_tree_view_column_set_cell_renderer): don't unset the current
2775         attributes; assume a cell renderer with equivalent object
2776         properties has been swapped in. Do g_object_notify().
2777         (gtk_tree_view_column_set_visible): g_object_notify
2778         (gtk_tree_view_column_get_sizing): rename from get_col_type
2779         (gtk_tree_view_column_set_sizing): g_object_notify
2780         (gtk_tree_view_column_set_width): add g_object_notify
2781         (gtk_tree_view_column_set_min_width): ditto
2782         (gtk_tree_view_column_set_max_width): ditto
2783         (gtk_tree_view_column_set_title): ditto
2784         (gtk_tree_view_column_set_clickable): ditto
2785         (gtk_tree_view_column_set_widget): ditto
2786         (gtk_tree_view_column_set_justification): ditto
2787
2788 2001-01-09  Havoc Pennington  <hp@redhat.com>
2789
2790         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
2791         there are no rows in the model
2792
2793         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
2794         NULL, then return the start of the list
2795
2796         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
2797         if we can't get any rows from an empty model 
2798
2799         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
2800         extraneous * after function pointer typedef usage
2801
2802         * Makefile.am: don't specify full path to cp and rm
2803
2804         * gtk/gtkcellrenderertextpixbuf.c
2805         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
2806         NULL before dereferencing, fixes a segfault that happened from
2807         time to time
2808
2809         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
2810         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
2811         and reindent the function
2812         (gtk_cell_renderer_pixbuf_get_size): indentation
2813
2814         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
2815         we quit it
2816         (gtk_dialog_add_buttons_valist): add g_return_if_fail
2817         (gtk_dialog_set_default_response): New function, to set default
2818         button
2819         (gtk_dialog_set_response_sensitive): New function, to set 
2820         sensitivity of buttons
2821
2822         * gtk/gtkcellrendererpixbuf.c
2823         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
2824         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
2825
2826         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
2827         handle any G_TYPE_OBJECT subclass, not just the base class, and 
2828         also boxed types.
2829         (_gtk_tree_data_list_value_to_node): ditto
2830
2831         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
2832         --gtk-debug=tree
2833
2834         * gtk/gtkmain.c: add GTK_DEBUG_TREE
2835
2836         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
2837
2838 2001-01-09  Tor Lillqvist  <tml@iki.fi>
2839
2840         * gdk/win32/gdkevents-win32.c: Implement better mouse
2841         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
2842         (find_window_for_pointer_event): New function.
2843         (gdk_event_translate): Use it when handling mouse events.
2844
2845 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
2846
2847         * configure.in:
2848         Added --with-included-loaders option
2849
2850         * gdk-pixbuf/Makefile.am:
2851         * gdk-pixbuf/gdk-pixbuf-io.c:
2852         Add support for including selected gdk-pixbuf loaders only.
2853
2854         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
2855         gtk_window_set_has_frame):
2856         Added inline documentation.
2857
2858         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
2859         * docs/reference/gdk/tmpl/windows.sgml:
2860         Added inline documentation.
2861
2862 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
2863
2864         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
2865         realizing buttons that have already been realized.
2866
2867 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
2868
2869         * tests/testtreeview.c (main): Show menu items before adding to
2870         option menu.
2871
2872         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
2873         around if we kill them.
2874
2875         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2876         Return if we pass in a NULL model.
2877
2878 2001-01-08  Havoc Pennington  <hp@redhat.com>
2879
2880         * tests/testtreeview.c: hack on this some
2881
2882         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
2883         gtk_tree_store_set_valist, v is for arrays, valist for varargs
2884         list
2885         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
2886
2887         * gtk/gtkliststore.h: Add varargs set() and get() convenience
2888         functions
2889
2890 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2891
2892         * gtk/gtkwindow-decorate.[hc]:
2893         * gtk/Makefile.am:
2894         New files. Contains an implementation of a minimal WM for
2895         linux-fb.
2896
2897         * gtk/gtkwindow.h:
2898         Add the possibility for GtkWindows to specify a frame. This
2899         is used for the window decoration code, but could concievably
2900         be used for X programs too (xmms style windows).
2901         GtkWindow->frame is the toplevel window if the window is framed.
2902         The signal frame_event gets all events that are targeted to
2903         GtkWindow->frame.
2904         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
2905         
2906         * gtk/gtkwindow.c:
2907         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
2908         Call out to gtkwindow-decorate.c for WM support in linx-fb.
2909
2910 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2911
2912         * docs/README.linux-fb:
2913         Correct filename ~/.pangoft2_aliases
2914
2915         * gdk/gdkwindow.h:
2916         Added new function gdk_window_get_decorations.
2917
2918         * gdk/linux-fb/gdkfb.h:
2919         Removed _gdk_window_get_decorations declaration.
2920         Renamed _gdk_window_set_child_handler to
2921         gdk_fb_window_set_child_handler.
2922
2923         * gdk/linux-fb/gdkwindow-fb.c:
2924         Renamed _gdk_window_set_child_handler to
2925         gdk_fb_window_set_child_handler.
2926
2927         * gdk/x11/gdkwindow-x11.c:
2928         New function gdk_window_get_mwm_hints().
2929         Implemented gdk_window_get_decorations.
2930
2931         * docs/reference/gdk/tmpl/windows.sgml:
2932         * docs/reference/gdk/gdk-sections.txt:
2933         Added gdk_window_get_decorations docs.
2934         
2935 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
2936
2937         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
2938         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
2939         gdk_fb_window_send_crossing_events):
2940         Possibly send focus events when the mouse moves from one
2941         window to another.
2942
2943 2001-01-07  Tor Lillqvist  <tml@iki.fi>
2944
2945         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
2946         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
2947         to match current API.
2948
2949         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
2950         environment variable is set, don't call g_error when on a
2951         palettized (PseudoColor) display. Some people want to use GTK+ 
2952         in 256-colour mode even though works only partially.
2953
2954         * gdk/gdk.def
2955         * gtk/gtk.def
2956         * gtk/makefile.mingw.in: Update.
2957
2958 2001-01-05  Havoc Pennington  <hp@redhat.com>
2959
2960         * tests/testtreeview.c: hack on this a bit
2961
2962         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
2963         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
2964
2965         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
2966         was spelled incorrectly
2967         (GTK_IS_TREE_MODEL_SIMPLE): ditto
2968
2969         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
2970         from gtk_tree_view_set_headers_active   
2971
2972         * gtk/gtktexttag.c:
2973         (gtk_text_tag_get_property): handle PROP_DIRECTION
2974         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
2975         properties, bug 40235
2976
2977         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
2978         forward_to_line_end
2979
2980 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
2981
2982         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
2983         modules/input/gtkimcontextxim.c: Adapt to new prototypes
2984         for unicode,locale,filename conversion functions.
2985
2986 2001-01-05  Havoc Pennington  <hp@redhat.com>
2987
2988         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
2989         broken if called on the first position in the buffer.
2990
2991         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
2992         forward_to_delimiters to be called only if we aren't already at
2993         the delimiters.
2994
2995 2001-01-05  Havoc Pennington  <hp@redhat.com>
2996
2997         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
2998
2999 2001-01-05  Alexander Larsson  <alexl@redhat.com>
3000
3001         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
3002         colormap in here. Sync from X port.
3003         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
3004         Sync from X port.
3005         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
3006         This happens now and then, and i don't think it is a bug.
3007         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
3008         != endpoint.
3009         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
3010         GDK_LINE_SOLID.
3011
3012         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
3013         some of the fields filled in at least.
3014
3015         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
3016         miLineArcD is no more, remove it from the function definition.
3017
3018 2001-01-04  Havoc Pennington  <hp@redhat.com>
3019
3020         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
3021         this
3022
3023         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
3024         user_data instead of tree_node
3025
3026         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
3027         TREE_VIEW_COLUMN_SIZE
3028
3029         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
3030         "size" field to "width" finishes bug 40061
3031
3032         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
3033         for bitfields, bug 40268
3034
3035 2001-01-04  Havoc Pennington  <hp@redhat.com>
3036
3037         Rename some stuff:
3038         
3039         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
3040
3041         s/GtkModelSimple/GtkTreeModelSimple/g;
3042         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
3043         s/gtk_model_simple/gtk_tree_model_simple/g;
3044         s/gtkmodelsimple/gtktreemodelsimple/g;
3045
3046         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
3047
3048         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
3049         s/column_set_col_type/column_set_sizing/g;
3050
3051         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
3052         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
3053
3054         s/GtkCellRendererType/GtkCellRendererState/g;
3055         
3056         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
3057         (gtk_cell_renderer_toggle_class_init): change "state" property to
3058         "active", to match GtkToggleButton
3059         (gtk_cell_renderer_toggle_get_active): new function, bug
3060         40269
3061         (gtk_cell_renderer_toggle_set_active): new function
3062         (gtk_cell_renderer_toggle_set_property): route changes to toggle
3063         state through gtk_cell_renderer_set_active
3064
3065 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
3066
3067         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
3068         temporarily until they work again.  Brought up to date with
3069         changes in the model.
3070         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
3071         model.
3072
3073 2001-01-04  Havoc Pennington  <hp@redhat.com>
3074
3075         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
3076         equal to the line length, then position iterator before paragraph 
3077         separators. Fixes crash reported by Mikael Hermansson when
3078         pressing left arrow from the start of a line.   
3079
3080         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
3081         about byte indexes off the end
3082         (iter_set_from_char_offset): add g_error about char offsets
3083         off the end
3084
3085 2001-01-03  Havoc Pennington  <hp@redhat.com>
3086
3087         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
3088
3089         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
3090         of private functions; remove inclusion of private headers.
3091
3092         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
3093         function, so we don't need private functions in gtktextdisplay.c
3094
3095         * gtk/gtktextiterprivate.h: underscore-ification
3096
3097         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
3098         to instead say "only useful to implement widgets"
3099
3100         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
3101         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
3102         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
3103
3104         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
3105         This function was completely broken
3106
3107         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
3108
3109         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
3110
3111         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
3112
3113         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
3114
3115         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
3116
3117         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
3118
3119         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
3120         gtk_paint_layout
3121
3122         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
3123         gtk_paint_layout
3124
3125         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
3126         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
3127         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
3128         which were not implemented.     
3129
3130         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
3131         insert_pixbuf signal. Rename delete_text to delete_range since it
3132         also deletes pixbufs and child anchors. This almost closes bug
3133         40245 (still need to deal with child anchors)
3134
3135         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
3136         insert_pixbuf, change signal names as appropriate, change types of
3137         signals taking marks/tags to have the specific type, not just
3138         G_TYPE_OBJECT
3139         
3140         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
3141         closes bug 40051
3142
3143         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
3144         unnecessary remove_contents() call
3145         (gtk_option_menu_class_init): add a "changed" signal, closes
3146         bug 40039
3147         (gtk_option_menu_update_contents): emit "changed" if the 
3148         active menu item changes
3149
3150         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
3151         cast to GtkObject, reported by Jonas Borgstrom
3152         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
3153         we can't do stuff with side effects in finalize. Instead, spew a
3154         warning if the loader isn't closed.
3155
3156         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
3157         colormap in here, non-X ports probably need to sync to this change
3158
3159         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
3160         assertion that colormap != NULL, you can set the colormap to NULL
3161         if you like.
3162         
3163         * Makefile.am: remove gtk-config-2.0
3164
3165         * configure.in: Use pkg-config to locate GLib. Remove
3166         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
3167         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
3168         Use pkg-config to locate Pango. Output correct Pango libs to
3169         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
3170
3171         * Makefile.am (pkgconfig_DATA): install only target-specific pc
3172         files
3173         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
3174         X11 pc files
3175
3176         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
3177         unref from here
3178
3179 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
3180
3181         * configure.in:
3182         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
3183
3184 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
3185
3186         * gtk/gtktextlayout.c
3187         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
3188         variable when moving back onto a single line.
3189
3190 2001-01-01  Havoc Pennington  <hp@redhat.com>
3191
3192         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3193
3194         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3195
3196         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
3197         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
3198
3199 2001-01-01  Havoc Pennington  <hp@redhat.com>
3200
3201         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
3202
3203         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
3204         GtkTextAttributes
3205
3206         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
3207         #40246
3208         (gtk_text_attributes_copy_values): rename from 
3209         gtk_text_attributes_copy
3210         (gtk_text_attributes_copy): a more standard GTK copy function, 
3211         which returns a new object
3212
3213 2001-01-01  Havoc Pennington  <hp@redhat.com>
3214
3215         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
3216         
3217         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
3218         don't fill in tree_view->priv->selection, kind of an unexpected
3219         side effect
3220
3221         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
3222         gtkintl.h
3223         
3224         * gtk/gtkcellrenderer.c: Remove definition of _ and include
3225         gtkintl.h
3226         (gtk_cell_renderer_get_property): remove calls to g_value_init
3227
3228         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
3229         gtkintl.h
3230
3231         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
3232         and include gtkintl.h
3233         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
3234         property names
3235
3236         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
3237         GtkTreeSelection
3238         (_gtk_tree_selection_new_from_with_view): rename, return
3239         GtkTreeSelection
3240         (_gtk_tree_selection_set_tree_view): rename with uscore
3241         (gtk_tree_selection_get_selected): fill in the "model" out param
3242         first, so it gets filled in even if we return at the top of the 
3243         function
3244         (gtk_tree_selection_real_select_all): add a comment and an else{}
3245         to clarify this a bit
3246         (gtk_tree_selection_real_unselect_all): add the same else{}
3247
3248         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
3249         set_tree_view to have underscore prefixes, move them to the
3250         private header, fix return type of new_with_tree_view
3251         (struct _GtkTreeSelection): mark struct
3252         fields private  
3253
3254         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
3255         GtkTreeModelFlags, not a guint
3256         (gtk_tree_path_prev): return gboolean not gint
3257         (gtk_tree_path_up): return gboolean not gint
3258
3259         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
3260         return GtkTreeModelFlags, not a guint
3261
3262         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
3263         that child model is non-null before unrefing it
3264         (g_value_int_compare_func): make this a qsort compare func, not 
3265         a boolean predicate
3266
3267         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
3268         (add -umn to the end), and mark it unimplemented
3269         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
3270         I don't see what it's for - doesn't the model always sort itself?
3271         (gtk_tree_model_sort_set_compare): this had the wrong signature
3272
3273         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
3274         Fix the docs to say that it destructively replaces existing
3275         attributes (previously said that it added attributes).
3276         (gtk_tree_view_column_set_visible): canonicalize bool before
3277         equality testing. Also, check for realization before
3278         hiding/showing the tree_column->window; if this window could exist
3279         before realization, then it's busted and needs fixing, we can't 
3280         create GDK resources pre-realization. Also, remove
3281         superfluous queue_resize(), since set_size() does that for us.
3282         (gtk_tree_view_column_set_col_type): check realization before 
3283         using tree_column->window
3284
3285         * gtk/gtktreedatalist.c: fix filename in copyright notice
3286
3287 2000-12-31  Havoc Pennington  <hp@pobox.com>
3288
3289         * gtk/gtktextview.c: Rearrange all the
3290         scroll-while-dragging-or-selecting code to be different, not
3291         necessarily better. ;-)
3292         (gtk_text_view_scroll_to_mark): Change this
3293         function to take within_margin as a fraction instead of a pixel
3294         value, and to take alignment arguments (indicating where to align 
3295         the mark inside the visible area)
3296         
3297         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
3298         to GtkObject
3299
3300         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
3301         behavior so that offsets past the end of the line are not 
3302         allowed, and an offset equal to the line length moves the iterator
3303         to the next line
3304         (gtk_text_iter_set_line_index): make parallel change
3305         (gtk_text_iter_get_bytes_in_line): add this function
3306         
3307         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
3308         of byte indexes off the end of the line; byte index at the end of
3309         the line now returns FALSE and doesn't fill in the requested
3310         values, byte index past the end of the line is an error.  Also,
3311         don't allow -1 offset anymore, since its meaning is unclear.
3312
3313         This change exposes some bug in visual cursor motion, where we
3314         end up with a huge invalid byte index; needs fixing. Symptom of 
3315         bug is a crash when you hit up arrow.
3316         
3317         (_gtk_text_line_char_locate): match the change to byte_locate
3318
3319         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
3320         from start of line properly. fixes bug reported by Mikael
3321         Hermansson where backspace would delete all text before the
3322         cursor.
3323
3324 2000-12-30  Tor Lillqvist  <tml@iki.fi>
3325
3326         * gdk/win32/gdkwindow-win32.c
3327         (gdk_window_impl_win32_get_visible_region): New function, as in
3328         the X11 backend.
3329         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
3330         instead of duplicating the same code here.
3331
3332         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
3333         GDK_COLORMAP macro.
3334
3335         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
3336         destroy function.
3337         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
3338         access that.
3339
3340         * gtk/gtk.def: Update.
3341
3342         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
3343
3344 2000-12-30  Havoc Pennington  <hp@pobox.com>
3345
3346         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
3347         colormap on input only windows, to avoid special cases all over
3348         the code for these windows.
3349
3350 2000-12-26  Tor Lillqvist  <tml@iki.fi>
3351
3352         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
3353         we are on a palettized display ("PseudoColor" in X11), as the code
3354         for that doesn't work anyway, and never has.
3355
3356 2000-12-22  Alexander Larsson  <alexl@redhat.com>
3357
3358         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
3359         Don't use isprint() for chars > 255.
3360
3361 2000-12-21  Havoc Pennington  <hp@redhat.com>
3362
3363         * tests/testtreeview.c: more work
3364
3365 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3366
3367         * docs/README.linux-fb:
3368         Update the docs to the new pangoft2 way.
3369
3370 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3371
3372         * configure.in:
3373         For linux-fb get the pangoft2 cflags and libs. This needs a recent
3374         pango version.
3375         Remove modules/linux-fb/Makefile.
3376
3377         * gdk/linux-fb/gdkdrawable-fb2.c:
3378         Render glyphs using freetype.
3379
3380         * gdk/linux-fb/gdkfb.h:
3381         Add new fb-specific functions needed for managing windows.
3382
3383         * gdk/linux-fb/gdkmain-fb.c:
3384         Remove gdk_font_init/fini() calls.
3385
3386         * gdk/linux-fb/gdkpango-fb.c:
3387         Remove old implementation. Use pangoft2 instead.
3388
3389         * gdk/linux-fb/gdkprivate-fb.h:
3390         Remove PangoFBFont and related stuff.
3391
3392         * gdk/linux-fb/gdkwindow-fb.c:
3393         Implement drawable->get_visible_region.
3394         Implement support for _gdk_window_set_child_handler () and
3395         _gdk_window_get_decorations().
3396
3397         * modules/Makefile.am:
3398         Remove linux-fb subdir.
3399
3400         * modules/linux-fb/*:
3401         Removed all.
3402         
3403 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
3404
3405         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
3406         calls, as they are no longer needed.
3407
3408         * gtk/gtktreemodelsort.c: Fix up the comparison code.
3409         
3410         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
3411         figure out how to emit a signal on an interface.
3412
3413 2000-12-20  Havoc Pennington  <hp@redhat.com>
3414
3415         * tests: new directory to contain tests, gtk/test* should move
3416         here sometime (with appropriate on-cvs-server hackery)
3417
3418         * tests/testtreeview.c, tests/Makefile.am: a test
3419         
3420         * configure.in (AC_OUTPUT): add tests/Makefile
3421
3422         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
3423         and "invisible_set" which were missing
3424
3425         * gtk/gtkrbtree.h: some cheesy indentation fix
3426         
3427 2000-12-20  Alexander Larsson  <alexl@redhat.com>
3428
3429         * gtk/gtkinvisible.c (gtk_invisible_realize):
3430         Attach the style to the window so that the style it is not
3431         leaked when unrealizing the window.
3432
3433 2000-12-18  Havoc Pennington  <hp@redhat.com>
3434
3435         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
3436         begin/end user action where appropriate
3437         (gtk_text_view_commit_handler): add begin/end user action
3438
3439         * gtk/gtktextbuffer.c: add begin/end user action signals, and
3440         bracket interactive operations with begin/end user action pair.
3441         
3442         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
3443         "interactive" arg from insert_text and delete_text signals.
3444         Add begin_user_action, end_user_action signals
3445         (gtk_text_buffer_begin_user_action): 
3446         (gtk_text_buffer_end_user_action): New functions to delimit 
3447         a user-visible action
3448
3449         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
3450         signals.
3451         
3452 2000-12-18  Havoc Pennington  <hp@redhat.com>
3453
3454         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
3455         was pretty non-working.
3456
3457         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
3458         by passing the length to g_utf8_validate().
3459
3460 2000-12-16  Havoc Pennington  <hp@pobox.com>
3461
3462         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
3463         Port to GObject, can go back in gdk-pixbuf after setting up 
3464         a gdk-pixbuf-marshal.h header over there.
3465
3466         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
3467         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
3468         args
3469         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
3470         set
3471         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
3472         here, do it when we create the buttons later
3473         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
3474         (gtk_tree_view_map): paranoia checks that column->button is shown 
3475         and unmapped
3476         (gtk_tree_view_size_request): only request visible children.
3477         Move header size calculation in here, for cleanliness, and 
3478         to maintain invariants for child widgets if we eventually 
3479         let users set different children inside the buttons
3480         (gtk_tree_view_map_buttons): factor out code to map buttons,
3481         since it was being called several times
3482         (gtk_tree_view_size_allocate_buttons): move_resize the drag
3483         windows instead of just moving them; their height may change 
3484         if we allow random widgets in there, or the theme changes.
3485         (gtk_tree_view_size_allocate): move button size allocation 
3486         above emitting the scroll signals, to ensure a sane state when we
3487         hit user code
3488         (gtk_tree_view_button_release): remove queue_resize after
3489         tree_view_set_size(), set_size() will handle any resize queuing
3490         that's needed
3491         (gtk_tree_view_focus_in): just queue a draw, don't fool with
3492         draw_focus goo
3493         (gtk_tree_view_focus): use gtk_get_current_event() and
3494         gdk_event_get_state()
3495         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
3496         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
3497         semicolon
3498         (gtk_tree_view_create_button): show the button here
3499         (gtk_tree_view_button_clicked): actually emit the clicked signal
3500         on the column
3501         (_gtk_tree_view_set_size): return right away if the size is
3502         unchanged, as a cheesy optimization
3503         (gtk_tree_view_setup_model): rename set_model_realized to 
3504         setup_model to match the flag that indicates whether we've 
3505         called it
3506         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
3507         exist, because set_scroll_adjustment does that and it shouldn't
3508         matter what order you call these in
3509         (gtk_tree_view_get_vadjustment): ditto
3510         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
3511         for paranoia
3512         (gtk_tree_view_set_headers_visible): call
3513         gtk_tree_view_map_buttons() instead of using cut-and-paste code
3514         (gtk_tree_view_append_column): clarify whether the return value
3515         is the count of columns before or after, and do the increment 
3516         separately from the return statement so you can tell from the code.
3517         (gtk_tree_view_remove_column): ditto
3518         (gtk_tree_view_insert_column): ditto
3519         (gtk_tree_view_get_column): remove g_return_if_fail for columns
3520         outside the existing range, the docs say that outside-range
3521         columns are allowed, so we handle them as documented. (Presumably
3522         this allows a nice loop with column != NULL as test.)
3523         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
3524         mean (left/right/center etc.).
3525         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
3526         (gtk_tree_view_expand_row): add docs
3527         (gtk_tree_view_collapse_row): add docs
3528
3529         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
3530         function to emit the clicked signal on a column
3531         
3532         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
3533         state of an event
3534         (gdk_event_get_time): don't treat GDK_SCROLL 
3535         as a button event, remove default case from switch so gcc 
3536         will whine if we don't explicitly handle all event types
3537
3538         * gtk/gtktreeselection.h: added some FIXME 
3539         
3540         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
3541         "columns" to "n_columns" and "column" to "columns" for clarity
3542
3543 2000-12-16  Havoc Pennington  <hp@pobox.com>
3544         
3545         * gtk/gtktextiter.c: General cleanup of the log attr iteration
3546         stuff. This should make e.g. the delete key work again in the
3547         text widget...
3548         (gtk_text_iter_forward_cursor_positions): handle negative count
3549         (gtk_text_iter_backward_cursor_positions): handle negative count
3550         (gtk_text_iter_forward_word_ends): handle negative count
3551         (gtk_text_iter_backward_word_starts): handle negative count
3552
3553         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
3554         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
3555         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
3556         GObject. No doubt will cause breakage.
3557
3558         * demos/gtk-demo/textview.c: remove hacks around
3559         non-GObject-ification of the text objects
3560
3561         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
3562         the text tag
3563         
3564 2000-12-14  Havoc Pennington  <hp@pobox.com>
3565
3566         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
3567         that we have Xrender
3568
3569 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
3570
3571         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
3572         Add two virtualized functions gdk_drawable_get_clip_region - to
3573         get the clip region when drawing.
3574         
3575         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
3576         use invalidate_region.
3577
3578         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
3579         region.
3580
3581         * acconfig.h configure.in: Check for Xft. For now, assume
3582         that if Xft is found, Pango was compiled with Xft support
3583         as well.
3584
3585         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
3586         gdk_colormap_query_color().
3587         
3588         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
3589         with Xft if appropriate.
3590
3591         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
3592         a pangoxft context if we have XFT and the environment
3593         variable GD_USE_XFT is set.
3594         
3595         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
3596         and also possibly an XftDraw structure.
3597
3598         * gtk/gtkfontsel.c: Handle the case where the font from the
3599         style doesn't match any of the fonts a bit better.
3600         
3601         * gtk/testgtk.c: Add tabs between directional segments for
3602         hebrew/arabic test. (Not really necessary, just a little
3603         prettier.)
3604
3605 2000-12-14  Havoc Pennington  <hp@redhat.com>
3606
3607         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
3608         reading a file
3609
3610 2000-12-14  Havoc Pennington  <hp@redhat.com>
3611
3612         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
3613         unused call to get_last_line()
3614
3615         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
3616         here until boxed is working (and maybe after that - we should
3617         really not gratuitously break old code)
3618
3619         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
3620         specific types for font_desc and tabs args, move them to
3621         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
3622         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
3623
3624         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
3625         use GTK_TYPE_POINTER for signal signatures as a hack-around
3626
3627         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
3628         PangoTabArray
3629
3630         * gtk/gtktextlayout.c (line_display_iter_to_index): 
3631         make static
3632         (line_display_index_to_iter): make static
3633
3634         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
3635         to marshal a string not a boxed
3636
3637         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
3638
3639         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
3640         since the UTF-8 isn't validated yet
3641
3642         * gtk/gtktextsegment.c (char_segment_check_func): don't require
3643         lines to end in '\n'
3644         
3645         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
3646         forward_to_delimiters, and grapheme boundaries
3647         (gtk_text_view_delete_from_cursor): properly handle non-newline
3648         delimiters, and grapheme boundaries
3649
3650         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
3651         to gtk_text_iter_forward_to_delimiters, and make it work properly
3652         if empty lines end with a character other than '\n'
3653
3654         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
3655         position
3656
3657 2000-12-15  Tor Lillqvist  <tml@iki.fi>
3658
3659         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
3660
3661         * gtk/gtk.def
3662         * gdk/gdk.def: Update.
3663
3664         * gdk/win32/gdkmain-win32.c
3665         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
3666         gdkmain-win32.c here.
3667
3668         * gdk/win32/makefile.mingw.in (all): No need to make
3669         gdk-win32res.o here, the makefile one step up will call us to make
3670         it.
3671
3672         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
3673         gdkkeys-win32.
3674
3675         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
3676
3677         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
3678         call to g_source_add().
3679
3680         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
3681         leak. Thanks to Andreas Kemnade.
3682
3683 2000-12-13  Havoc Pennington  <hp@pobox.com>
3684
3685         * gtk/gtktextbtree.h: Remove double _ in front of some functions
3686
3687         * gtk/gtktext*.[hc]: update accordingly
3688         
3689 2000-12-13  Havoc Pennington  <hp@pobox.com>
3690
3691         * gtk/gtktextbtree.h: Put _ in front of every function in this 
3692         header file
3693
3694         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
3695
3696 2000-12-13  Alex Larsson  <alexl@redhat.com>
3697
3698         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
3699         Add support for ps2 intellimouse.
3700
3701         * gdkkeyboard-fb.c:
3702         Move shift-F1 repaint handling to xlate handler only.
3703         
3704         * docs/README.linux-fb:
3705         Add imps2 to docs.
3706         Document the new refresh keys.
3707         
3708 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
3709
3710         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
3711
3712         * gtk/gtkbox.c: change property types from (u)long to (u)int for
3713         ::position and ::padding.
3714
3715         * gtk/gtkcontainer.c: make ::border_width an INT property.
3716
3717         * gtk/gtkpacker.c: make ::position an INT property.
3718
3719         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
3720         guard against NULL h/v scrollbars, since this is used at construction
3721         time.
3722
3723         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
3724         internal gtk_clist_constructor().
3725
3726         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
3727         gtk_ctree_constructor().
3728
3729         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
3730         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
3731
3732         * docs/reference/Makefile.am: fun stuff, disabled docs generation
3733         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
3734
3735         * gtk/gtkwidget.[hc]:
3736         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
3737         and gtk_widget_get().
3738         (gtk_widget_new): use g_object_new_valist().
3739         (gtk_widget_set): use g_object_set_valist().
3740
3741         * gtk/gtkobject.[hc]:
3742         removed gtk_object_arg_get_info(), gtk_object_getv(),
3743         gtk_object_query_args(), gtk_object_newv(),
3744         gtk_object_class_add_signals(),
3745         gtk_object_class_user_signal_new(),
3746         gtk_object_class_user_signal_newv(),
3747         gtk_object_arg_set(), gtk_object_arg_get(),
3748         gtk_object_args_collect(),
3749         gtk_object_default_construct(),
3750         gtk_object_constructed(),
3751         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
3752         removed nsignals, signals and n_args members from GtkObjectClass.
3753         (gtk_object_new): use g_object_new_valist().
3754         (gtk_object_set): use g_object_set_valist().
3755         (gtk_object_get): use g_object_get_valist().
3756         
3757         * gtk/gtkcompat.h: define gtk_object_default_construct().
3758         
3759         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
3760         g_object_new().
3761
3762         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
3763         fucntions, cleaned up method assignments (make sure your structures
3764         are setup properly before calling out). removed all GTK_CONSTRUCTED
3765         hacks ;)
3766
3767 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
3768
3769         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
3770         off-by-one error in checks. (Dave Lambert)
3771
3772 2000-12-12  Alexander Larsson  <alexl@redhat.com>
3773
3774         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
3775         Don't free gdk_fb_keyboard twice.
3776
3777 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
3778
3779         * gtk/testgtk.c:
3780         (create_tooltips): 
3781         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
3782         use GObject swapped_signal:: properties instead.
3783
3784         * gtk/gtkcellrenderertoggle.c: 
3785         * gtk/gtkcellrenderertextpixbuf.c: 
3786         * gtk/gtkcellrenderertext.c: 
3787         * gtk/gtkcellrendererpixbuf.c: 
3788         * gtk/gtkcellrenderer.c:
3789         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
3790         missing warnings for invalid property ids, install properties
3791         with g_object_class_install_property() now.
3792         
3793         * gtk/gtksignal.c:
3794         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
3795         
3796 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
3797         
3798         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
3799         to determine if a window is the focus widget within
3800         its toplevel.
3801
3802         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
3803         to be boolean.
3804
3805         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
3806         of the case where the container CAN_FOCUS to here instead
3807         of having it in each individual move-the-focus place.
3808
3809         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
3810         focusing to be geometric in a much more obvious sense. Arrowing
3811         around is still non-intuitive because it isn't perfect and
3812         because entries, etc, grab the arrow keys, but it at least
3813         usually will do what you expect now.
3814         
3815         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
3816         file.
3817
3818         * gtk/gtknotebook.c: Change tabs to be a single item in
3819         the focus chain. Make movement of focus on tabs with arrow
3820         keys wrap around.
3821         
3822         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
3823         CHECK_FIND_CHILD macro to give informative error messages
3824         instead of silent returns.
3825
3826         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
3827         flag since we handle GdkReturn on the tabs.
3828
3829         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
3830         windows rather than sending expose events directly.
3831
3832         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
3833         definition for GtkNotebookPage into .c file, since it is private.
3834
3835         * gtk/testgtk.c (create_notebook): Add option for 
3836         testing borderless notebook.
3837
3838         * gtk/testgtk.c (page_switch): Removed egregious poking
3839         around in GTK+ internals.
3840
3841         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
3842
3843         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
3844         properly through gtk_clist_focus. Make the title headers a
3845         single item in the tab-focus chain, and make left-right wrap
3846         around.
3847
3848         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
3849         focus method so that wrapping around works properly.
3850
3851         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
3852         that is handled for the widget now. 
3853
3854 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
3855
3856         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
3857         widgets as TOPLEVEL.
3858
3859         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
3860         TOPLEVEL widgets are containers.
3861
3862         * gtk/gtkinvisible.h: Remove useless include.
3863
3864 2000-12-11  Havoc Pennington  <hp@redhat.com>
3865
3866         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
3867         Handle chopping off \r\n and 0x2029 in addition to \n before
3868         passing to PangoLayout
3869
3870         * gtk/gtkimcontextsimple.c
3871         (gtk_im_context_simple_get_preedit_string): 
3872         return an empty string if no match is pending
3873
3874         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
3875         assertion that the returned preedit string was sane
3876
3877         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
3878         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
3879         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
3880
3881 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
3882
3883         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
3884         Fix up finalizer to chain to its parent.
3885
3886 2000-12-11  Alexander Larsson  <alexl@redhat.com>
3887
3888         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
3889         Clearified the difference between the keyboard types. Wrote a note
3890         about the magic sysrq key to get out of raw mode.
3891
3892 2000-12-09  James Henstridge  <james@daa.com.au>
3893
3894         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
3895         member to hold masks for detecting the start of a protocol packet.
3896         (mouse_devs): add packet start masks for ps2 and ms device types.
3897         Left the mask for fidmour blank, as I have no idea what it should
3898         be.
3899         (handle_mouse_io): skip bytes until we get to the start of a
3900         packet.  My Logitech mouse seems to be passing an extra NULL pad
3901         byte, and GPM does a similar thing here.
3902         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
3903         this is the ms mouse driver.
3904         (gdk_fb_mouse_ms_packet): fix up button handling, which was
3905         completely broken except for button1.  It was checking the wrong
3906         bit in the packet for the status of the right mouse button, and
3907         wrongly assuming right == button2 rather than 3.  I fixed that and
3908         also added support for middle button (button2).
3909
3910 2000-12-08  Havoc Pennington  <hp@redhat.com>
3911
3912         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
3913         that cause a segfault on text insertion
3914
3915         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
3916         warning
3917
3918         * gtk/gtktextiter.c (test_log_attrs): use
3919         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
3920
3921         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
3922         Get log attrs for a line, using a cache stored on the buffer
3923         
3924         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
3925         reported by Jeff Franks
3926
3927 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3928
3929         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
3930         /dev/ttyS0 -> /dev/mouse
3931
3932 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3933
3934         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
3935         Added dummy gdk_fontset_load.
3936
3937 2000-12-08  Alexander Larsson  <alexl@redhat.com>
3938
3939         * docs/README.linux-fb:
3940         * docs/Makefile.am:
3941         Initial GtkFB docs.
3942         
3943         * gdk/linux-fb/Makefile.am:
3944         Define GDK_DATA_PREFIX.
3945
3946         * gdk/linux-fb/gdkmain-fb.c:
3947         Fix typo.
3948         Change default display to /dev/fb0.
3949
3950         * gdk/linux-fb/gdkpango-fb.c:
3951         Add $(prefix)/share/fonts/ to font path.
3952         
3953 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3954
3955         * gdk/linux-fb/gdkkeyboard-fb.c:
3956         New file containing the abstracted keyboard driver. Most code
3957         taken from gdkinput-ps2.c
3958
3959         * gdk/linux-fb/gdkinput-ps2.c:
3960         Removed file.
3961         
3962         * gdk/linux-fb/Makefile.am:
3963         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
3964
3965         * gdk/linux-fb/gdkcolor-fb.c:
3966         display->fb was renamed to display->fb_fd.
3967
3968         * gdk/linux-fb/gdkcursor-fb.c:
3969         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3970
3971         * gdk/linux-fb/gdkinput.c:
3972         Moved gdk_input_init here from gdkinput-ps2.c
3973
3974         * gdk/linux-fb/gdkmain-fb.c:
3975         display->fb was renamed to display->fb_fd.
3976         Now the tty and the console is opened here instead
3977         of in the keyboard driver. Also check GDK_VT to see what
3978         tty to open.
3979         Move gdk_beep () here from gdkinput-ps2.c
3980         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3981
3982         * gdk/linux-fb/gdkmouse-fb.c:
3983         Add header.
3984         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3985         Return correct keyboard modifiers.
3986         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
3987
3988         * gdk/linux-fb/gdkprivate-fb.h:
3989         Add tty and vt info to display.
3990         Add orignal modeinfo storage to display
3991         Update global functions
3992
3993         * gdk/linux-fb/gdkwindow-fb.c:
3994         Added gdk_fb_window_find_focus().
3995         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3996
3997 2000-12-07  Havoc Pennington  <hp@pobox.com>
3998
3999         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
4000         function, noticed by Alex
4001
4002 2000-12-06  Elliot Lee  <sopwith@redhat.com>
4003
4004         * configure.in: Detect freetype properly
4005
4006         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
4007         above.
4008
4009 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4010
4011         * gdk/linux-fb/Makefile.am:
4012         Add gdkmouse-fb.c
4013         
4014         * gdk/linux-fb/gdkmouse-fb.c:
4015         New file. Abstracted the mouse drivers a bit.
4016
4017         * gdk/linux-fb/gdkcursor-fb.c:
4018         The cursor hide/show functions was moved here from gdkinput-ps2.c.
4019
4020         * gdk/linux-fb/gdkinput-ps2.c:
4021         Removed old mouse handling code. Moved cursor handling code
4022         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
4023         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
4024         gdk_mouse_get_info.
4025
4026         * gdk/linux-fb/gdkmain-fb.c:
4027         Pass NULL pointers for x,y in gdk_mouse_get_info call.
4028
4029         * gdk/linux-fb/gdkprivate-fb.h:
4030         Removed public gdk_fb_find_common_ancestor, added and renamed
4031         functions for the new mouse handling code.
4032
4033         * gdk/linux-fb/gdkwindow-fb.c:
4034         Moved gdk_fb_window_send_crossing_events here. added global
4035         variable gdk_fb_window_containing_pointer. made
4036         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
4037         renamed to gdk_mouse_get_info.
4038
4039 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4040
4041         * gdk/linux-fb/gdkevents-fb.c:
4042         Update to match latest gmain/gsource changes.
4043
4044         * gdk/linux-fb/gdkinput-ps2.c:
4045         Bogus gdk_keymap_get_entries_for_keycode implementation so that
4046         it links. Will be implemented later.
4047
4048 2000-12-03  Havoc Pennington  <hp@pobox.com>
4049
4050         * gdk/Makefile.am: add gdkkeys.[hc]
4051
4052         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
4053         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
4054
4055         * acconfig.h, configure.in: add checks and command line options
4056         for XKB
4057
4058         * gdk/x11/gdkkeys-x11.c: Implement the above functions
4059         
4060         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
4061         and group in the key event
4062
4063         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
4064         field with the low-level hardware key code, and a group
4065         field with the keyboard group
4066
4067         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
4068         and declare a couple globals used for keymap handling
4069         
4070         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
4071         hold down Shift-Control and type a hex number to get a Unicode 
4072         character corresponding to the hex number
4073         (gtk_im_context_simple_get_preedit_string): Fix cursor position
4074         (return bytes not chars)
4075
4076 2000-12-05  Elliot Lee  <sopwith@redhat.com>
4077
4078         * gdk/gdkcolor.h: Make GdkColor specify element sizes
4079         to avoid waste on 64-bit platforms.
4080
4081 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
4082
4083         * INSTALL: Fix link to PNG home, remove reference
4084         to fribidi.
4085
4086         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
4087         
4088         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
4089         tested.)
4090
4091         * gtk/gtkcheckmenuitem.c: Permanently turn on
4092         always_show_toggle.
4093
4094         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
4095         be NULL. (Vladimir Klebanov, #26545)
4096
4097         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
4098         some signed/unsigned comparison problems. (#6510,
4099         David Kaelbling)
4100
4101         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
4102         return type to boolean (Oskar Liljeblad, #18648)
4103
4104 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4105
4106         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
4107         Remove bogus colormap setting.
4108
4109 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4110
4111         * gdk/linux-fb/gdkcolor-fb.c:
4112         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
4113
4114         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
4115         Must set colormap.
4116         
4117 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
4118
4119         * docs/tutorial/gtk-tut.sgml: DND updates
4120
4121 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
4122
4123         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4124         Remove old debug g_warning().
4125         (gdk_fb_draw_drawable): The src argument can be either a wrapper
4126         or an implementation, just pass the implementation to draw_drawable_2.
4127         
4128         * gdk/linux-fb/gdkprivate-fb.h:
4129         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
4130
4131         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4132         clear and invalidate area when window is destroyed.
4133         (send_map_events): Remove old commented out code.
4134
4135 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4136
4137         * gdk/linux-fb/gdkpango-fb.c:
4138         Use italic instead of oblique in font aliases.
4139         
4140         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
4141         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
4142         other unsupported functions.
4143
4144 2000-12-04  Havoc Pennington  <hp@redhat.com>
4145
4146         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
4147
4148         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
4149
4150         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
4151
4152         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
4153         hack to avoid infinite loops (synthetic expose event) - 
4154         Owen has more appropriate fixes in a branch he'll check in later.
4155
4156         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
4157         separator, CR, and CRLF as line ends
4158
4159         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
4160         into lines using pango_find_paragraph_boundary(); other bits of
4161         the widget are still going to be broken if the boundary isn't '\n'
4162         though
4163
4164 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4165
4166         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
4167         multiply.
4168
4169         * gdk/linux-fb/gdkpango-fb.c:
4170         Copied some 26.6 scaling macros from pango to clean up the rounding.
4171         (pango_fb_font_get_glyph_info): Correct sign on x value.
4172
4173         * gdk/linux-fb/gdkprivate-fb.h:
4174         Removed unreferenced external functions.
4175
4176         * modules/linux-fb/Makefile.am: Use ` instead of '.
4177
4178         * modules/linux-fb/basic.c:
4179         Remove dead code. In particular the dummy lang engine which broke all
4180         pango layouts in GtkFB. Don't include tables-big.i anymore.
4181
4182         * modules/linux-fb/tables-big.i:
4183         Upgrade to latest version from pango. Left for reference, basic_ranges
4184         moved to basic.c.
4185         
4186 2000-12-04  Havoc Pennington  <hp@redhat.com>
4187
4188         Fix bugs Alex found:
4189         
4190         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
4191         to "draw"
4192
4193         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
4194
4195         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
4196
4197         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
4198         implementation in here, apparently the expose() implementation was
4199         dead code.
4200
4201 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4202
4203         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4204         Return positive descent.
4205
4206 2000-12-02  Havoc Pennington  <hp@pobox.com>
4207
4208         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
4209         method and signal
4210         
4211         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
4212         calls gdk_window_process_updates() to push the exposes through
4213         (gtk_widget_class_init): No more draw signal, no
4214         gtk_widget_real_draw()  
4215         
4216         * gtk/gtkbin.c (gtk_bin_draw): remove
4217
4218         * gtk/gtkbox.c (gtk_box_draw): remove
4219
4220         * gtk/gtkbutton.c (gtk_button_draw): remove
4221
4222         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
4223
4224         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
4225
4226         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
4227
4228         * gtk/gtkclist.c (gtk_clist_draw): remove
4229
4230         * gtk/gtkentry.c (gtk_entry_draw): remove
4231
4232         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
4233
4234         * gtk/gtkfixed.c (gtk_fixed_draw): remove
4235
4236         * gtk/gtkframe.c (gtk_frame_draw): remove
4237
4238         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
4239
4240         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
4241
4242         * gtk/gtklayout.c (gtk_layout_draw): remove
4243
4244         * gtk/gtklist.c (gtk_list_draw): remove
4245
4246         * gtk/gtklistitem.c (gtk_list_item_draw): remove
4247
4248         * gtk/gtkmenu.c (gtk_menu_draw): remove
4249
4250         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
4251
4252         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
4253
4254         * gtk/gtknotebook.c (gtk_notebook_draw): remove
4255
4256         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
4257
4258         * gtk/gtkpacker.c (gtk_packer_draw): remove
4259
4260         * gtk/gtkrange.c (gtk_range_draw): remove
4261
4262         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
4263
4264         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
4265
4266         * gtk/gtktable.c (gtk_table_draw): remove
4267
4268         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
4269
4270         * gtk/gtktext.c (gtk_text_draw): remove
4271
4272         * gtk/gtktextview.c (gtk_text_view_draw): remove
4273
4274         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
4275
4276         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
4277
4278         * gtk/gtktree.c (gtk_tree_draw): remove
4279
4280         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
4281
4282         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
4283
4284         * gtk/gtkviewport.c (gtk_viewport_draw): remove
4285
4286         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
4287
4288         * gtk/gtkvscale.c (gtk_vscale_draw): remove
4289
4290         * gtk/gtkwindow.c (gtk_window_draw): remove
4291
4292 2000-20-01  Anders Carlsson  <andersca@gnu.org>
4293
4294         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
4295         a GtkToggleButton is both insensitive and active, it was being
4296         drawn by the GtkButton draw handler which doesn't check the
4297         state. Now it's calling gtk_toggle_button_paint instead.
4298         
4299 2000-12-01  Havoc Pennington  <hp@redhat.com>
4300
4301         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
4302         dangling pointers to the appearance attributes from the 
4303         line display
4304
4305         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
4306         width/height to mean "full width/height of drawable"
4307
4308         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
4309         click to select word/line
4310         
4311         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
4312         when getting log attrs. Get a slice, so that pixmaps and stuff
4313         are properly handled.
4314
4315         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
4316         paste into the selection (replaces selection now, previously
4317         crashed or added to selection). Reveals longstanding btree bug -
4318         select multiple lines, middle-click on the selection, boom. This
4319         isn't related to my changes though.
4320
4321         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
4322         PangoLogAttrs changes
4323         (gtk_entry_move_backward_word): ditto
4324
4325         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
4326         functions return bool whether the iter moved onto a
4327         dereferenceable position.
4328  
4329         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
4330         functions for motion in terms of display lines.
4331
4332         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
4333         get the buffer a mark is inside
4334         
4335 2000-12-01  Alexander Larsson  <alexl@redhat.com>
4336
4337         * gdk/linux-fb/Makefile.am:
4338         * modules/linux-fb/Makefile.am:
4339         Freetype 2 final uses freetype-config
4340
4341         * gdk/linux-fb/gdkpango-fb.c:
4342         Upgrade to use Freetype 2 final.
4343         More flexible support for font aliases, this also fixes a bug with
4344         GtkFontSelector, as the aliases must be visible in the font/family list,
4345         or GtkFontSelector reads uninitialized memory.
4346
4347 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
4348
4349         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
4350         XGetIMValues to properly terminate variable argument list, and do
4351         NULL return check for ic_values and xim_styles.
4352
4353         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
4354         Restore preedit state after XmbResetIC().
4355         
4356         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
4357         XvaCreateNestedList() should take XvaNestedList, but not
4358         XvaNestedList*.
4359
4360         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
4361         preedit_draw_callback, preedit_caret_callback): Match
4362         "preedit-changed" signal name to "preedit_changed" to be
4363         consistent to the spec.
4364
4365         * gtk/gtkimcontextsimple.c (check_table):
4366         Match "preedit-changed" to "preedit_changed" to be consistent
4367         to the spec.
4368
4369 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
4370
4371         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
4372         gc->clip_region == NULL>
4373
4374 2000-11-30  Tor Lillqvist  <tml@iki.fi>
4375
4376         Changes by Hans Breuer:
4377         
4378         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
4379         Dont't use negative width and height as max_hints. This fixes
4380         Owen's recent testgtk changes for win32.
4381
4382         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
4383         gdk_win32_hdc_release): These are exported and may be called with
4384         other drawable types than our GdkDrawableImplWin32 (?).
4385
4386         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
4387         so always #define USE_BACKING_STORE.
4388
4389         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
4390         of printf for debugging output.
4391
4392         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
4393         
4394         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
4395
4396         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
4397         declaration.
4398
4399         * gtk/gtktexttypes.h: Ditto.
4400
4401         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
4402         (GDK_VoidSymbol) also if in case of arg check failure.
4403
4404         * gtk/gtkimcontextsimple.c
4405         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
4406         position to the pointer, but to the variable it points to.
4407
4408         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
4409
4410         * gtk/gtk.def: Updates.
4411
4412 2000-11-29  Elliot Lee  <sopwith@redhat.com>
4413
4414         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
4415         GTK_TYPE_TREE_MODEL.
4416
4417 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4418
4419         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
4420         Set the size of the font from the description.
4421         (gdk_text_width): Gross hack that calculates the width
4422         of text by text_length * size/2. This is necessary because
4423         GtkLabel does some ugly gtk_string_width call to calculate
4424         an good size.
4425         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
4426
4427 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
4428
4429         * docs/tutorial/gtk-tut.sgml: DND updates
4430
4431 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4432
4433         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
4434         If you pass width or height == 0 to gdk_window_clear_area they
4435         should be calculated from the window size.
4436
4437 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4438
4439         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
4440         a grab, but no grab-cursor, use the cursor from the grabbed
4441         window. (gdk_fb_window_send_crossing_events): Send normal
4442         enter/leave notifications if grab and owner_events == TRUE.
4443
4444 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4445
4446         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4447         Do implicit button grabs, even if the window doesn't
4448         want the event.
4449         (gdk_fb_window_send_crossing_events): If there is a
4450         grab, only the grabbed window gets normal enter/leave
4451         notifications. On ungrab go from grabbed window to current.
4452         Don't send any notification to b when propagating from c -> b.
4453         If setting a grab on window, don't set prev_window.
4454         (handle_mouse_input): Send enter/leave events to the window the
4455         mouse is over, not the grabbed one.
4456         
4457 2000-11-28  Elliot Lee  <sopwith@redhat.com>
4458
4459         * gdk/gdkregion-generic.c: Zap warning.
4460         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
4461         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
4462
4463 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
4464
4465         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
4466         The cursor should be hidden if it is part of either the
4467         source or destination region. Not only if it is in both.
4468         (gdk_window_set_transient_for): Silence warnings.
4469
4470 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4471
4472         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
4473         The default mode in X is Pie Arcs, therefore that is
4474         what Gtk+ uses.
4475
4476 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4477
4478         * gdk/linux-fb/gdkinput-ps2.c:
4479         Implement correct EnterNotify/LeaveNotify:
4480         (gdk_fb_window_send_crossing_events): New function that sends
4481         all GdkCrossingEvents from the last mouse-window to the specified
4482         destination.
4483         (gdk_fb_window_visibility_crossing): Removed function.
4484         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
4485         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
4486         instead of gdk_window_get_pointer() for better readability.
4487
4488         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
4489         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
4490
4491         * gdk/linux-fb/gdkprivate-fb.h:
4492         removed gdk_fb_window_visibility_crossing, added
4493         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
4494
4495         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
4496         New function that finds the least common ancestor of two windows.
4497         (gdk_window_show, gdk_window_hide):
4498         Use gdk_fb_window_send_crossing_events.
4499         (gdk_fb_window_move_resize): Send configure events to toplevel
4500         windows. Use gdk_fb_window_send_crossing_events.
4501
4502 2000-11-27  Havoc Pennington  <hp@redhat.com>
4503
4504         * gtk/gtkprivate.h (enum): Remove a trailing comma
4505
4506 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
4507
4508         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
4509         the "changed" callback of the adjustment.  We need to redraw the
4510         spin button's arrows when the adjustment's range changes.
4511         (adjustment_changed_cb): Draw the arrows.
4512         (gtk_spin_button_value_changed): Draw the arrows.
4513
4514 2000-11-23  Alexander Larsson  <alexl@redhat.com>
4515
4516         * gdk/linux-fb/gdkselection-fb.c:
4517         Initial selection implementation.
4518
4519         * gtk/gtkselection.c:
4520         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
4521         requestor in gtk_selection_request.
4522         
4523         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
4524         Added gdk_selection_property atom.
4525
4526         * gdk/linux-fb/gdkprivate-fb.h:
4527         Export _gdk_selection_window_destroyed.
4528         Removed mask_off_x/y from GdkCursorPrivateFB.
4529         Removed hbearing, added top, left to PangoFBGlyphInfo.
4530
4531         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4532         Call _gdk_selection_window_destroyed
4533         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
4534         the root window has been created.
4535         (static_dx_hack, static_dy_hack, compare_draw_rects,
4536         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
4537         in region. They are already sorted. Instead just traverse them in
4538         reverse if draw_direction < 0.
4539         
4540         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4541         Double-clicks must be sent after the normal button_press.
4542         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
4543         
4544         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
4545         Pass _gdk_fb_screen_gc instead of NULL.
4546
4547         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
4548         Initialize gdk_selection_property.
4549         (gdk_event_make): Remove unused code.
4550
4551         * gdk/linux-fb/gdkcursor-fb.c:
4552         Make the pixmap for the cursor the same size as the mask. Also remove
4553         the mask_off_x/y fields in GdkCursorPrivateFB and combine
4554         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
4555         Now the whole cursor is visible.
4556
4557         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4558         Fix bug where xdest+height instead of ydest+height was used
4559         to calculate if the source and dest overlapped. This fixes the
4560         redraw bug when the main window in testgtk was scrolled when
4561         partially covered by a tall window.
4562         Copy rectangles in region in order depending on draw_direction.
4563         Also moved the draw_direction flipping of start_y and end_y into
4564         the gc functions, as this might not be what all of them want.
4565         (gdk_fb_draw_lines): Support dashed lines.
4566         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
4567         so that the text is positioned correctly (was 1 pixel high).
4568
4569         gdk/linux-fb/gdkgc-fb.c:
4570         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
4571         all lines were drawn a pixel to short. Also checked the default of
4572         the rest of the values, and they're the same as X now.
4573
4574         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
4575         Clean up pixel positioning of the glyphs. Just use bgy->top and
4576         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
4577         to all divisions to get correct rounding behaviour.
4578
4579         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
4580         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
4581         Moved start_y/end_y flip into draw_drawable implementations.
4582         Flip also x rendering when draw_direction < 0.
4583         Remove unneccesary multiply with draw_direction.
4584
4585 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
4586
4587         * docs/tutorial/gtk-tut.sgml:
4588           - get rid of gtk_toggle_button_toggled FUD
4589           - start DND section - needs work - based on:
4590                 http://wolfpack.twu.net/docs/gtkdnd/
4591
4592 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4593
4594         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4595         Correct calculation of font metrics. Now GtkEntrys have sane
4596         size.
4597
4598 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4599
4600         * gdk/gdktypes.h:
4601         Add new type GdkSpan
4602         
4603         * docs/reference/gdk/gdk-sections.txt,
4604         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
4605         gdk/gdkregion.h:
4606         Implement and document gdk_region_spans_intersect_foreach.
4607
4608         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
4609         Add new file gdkrender-fb.c which contains all core
4610         rendering code.
4611         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
4612         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
4613         (optimized rectangle fillers).
4614
4615         * gdk/linux-fb/gdkdrawable-fb2.c:
4616         Move all rendering code to gdkrender-fb.c.
4617         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
4618         Use the new span intersection functions in gdk_fb_fill_spans.
4619         gdk_fb_draw_rectangle() clips filled rectangles and calls
4620         gc->fill_rectangle with the result.
4621         gdk_fb_fill_spans() gets extra argument "sorted".
4622
4623         * gdk/linux-fb/gdkevents-fb.c:
4624         Remove unused includes and defines.
4625         New function gdk_fb_get_time() to get correct time for events.
4626
4627         * gdk/linux-fb/gdkinput-ps2.c:
4628         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
4629         Make sure to set the time of all events.
4630
4631         * gdk/linux-fb/gdkmain-fb.c:
4632         Use gdk_fb_get_time ().
4633
4634         * gdk/linux-fb/gdkprivate-fb.h:
4635         New virtual GC calls: fill_span & fill_rectangle.
4636         Export gdk_fb_get_time().
4637         gdk_fb_fill_spans() gets extra argument "sorted".
4638
4639         * gdk/linux-fb/mi*.c:
4640         Use GdkSpan instead of GdkRectangle.
4641         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
4642         from XFree 4 source)
4643         
4644 2000-11-22    <jrb@redhat.com>
4645
4646         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
4647         reversing the order in an if statement will do.  Doing so managed
4648         to make the treemodelsort half work.  Other half will follow after
4649         I get the insert function fully fixed.
4650
4651 2000-11-21  Elliot Lee  <sopwith@redhat.com>
4652         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
4653         more than 2 bits. Besides, I need to implement an evil hack. :)
4654
4655 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
4656
4657         * docs/tutorial/gtk-tut.sgml: minor corrections
4658
4659 2000-11-20  Jonathan Blandford <jrb@redhat.com>
4660         * gtk/gtktreemodelsort.h: Add convertion functions to let you
4661           convert to and from relative path's and iters.
4662
4663         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
4664           testing sorting functions a bit better.  Currently broken -- will
4665           fix in morning.
4666
4667 2000-11-20  Havoc Pennington  <hp@redhat.com>
4668
4669         * gtk/gtkwidget.c: Documented a bunch of functions in here
4670         (gtk_widget_realize): Warn if you try to realize
4671         a widget with no parent that isn't a toplevel
4672         (gtk_widget_intersect): return a gboolean
4673
4674 2000-11-20  Havoc Pennington  <hp@redhat.com>
4675
4676         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
4677         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
4678         scrolling to be implemented in GDK to finish. Also, right now
4679         we just size_allocate all children on every layout change,
4680         which is pretty lame. Test commented out of testtext.c, 
4681         until it works better.
4682
4683 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
4684
4685         * gdk/linux-fb/gdkdrawable-fb2.c:
4686         Removed unused arguments from gdk_fb_drawable_get_pixel().
4687
4688         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
4689         Renamed fidur specific mouse packet data in MouseDevice to
4690         generic. Used it in ps2 mouse handling code to avoid blocking
4691         reads.
4692
4693 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
4694
4695         * demos/gtk-demo/main.c: Changed to have the list become
4696         non-italic when the demo window is destroyed through an external
4697         event (like a close button).  Doing so found three bugs in the
4698         widget.
4699
4700         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
4701
4702         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
4703         we actually set the cell.
4704
4705         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
4706
4707         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
4708         free a leaked path.  Thanks memprof.
4709
4710 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
4711
4712         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
4713         off-by-one error when destroying allocated segments
4714         on failure. (Elliot)
4715
4716 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
4717
4718         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
4719         memleaks found by Evan Martin.
4720
4721 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
4722
4723         * Released 1.3.2
4724         
4725         * NEWS: Updates for 1.3.2
4726
4727 2000-11-17  Tor Lillqvist  <tml@iki.fi>
4728
4729         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
4730         but in general for window system specific events.
4731
4732         * gtk/gtk.def
4733         * gtk/makefile.mingw.in
4734         * gtk/makefile.msc.in: Update.
4735         
4736         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
4737
4738 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
4739
4740         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
4741         distribute gtk.immodules.
4742
4743         * gtk/Makefile.am (install-data-local): Don't install the
4744         gtk.immodules file created for the uninstalled modules;
4745         instead run gtk-query-immodules after install
4746
4747 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
4748
4749         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
4750         -rpath to the right install location.
4751
4752         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
4753         -export-dynamic.
4754
4755         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
4756         properly.
4757
4758 2000-11-15  Havoc Pennington  <hp@pobox.com>
4759
4760         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
4761         patch from Mikael Hermansson to temporarily stop blinking while
4762         the user is using the keyboard to type or navigate. 
4763
4764         Also, when blinking, stay on for longer than we stay off. Also,
4765         return from start_cursor_blink if !cursor_visible, to save
4766         checking that flag all over the place before we call
4767         start_cursor_blink.
4768
4769 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
4770
4771         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
4772         only contain a "fontset" line, which is now ignored.
4773
4774         * gtk/gtkentry.c (gtk_entry_button_release): Make 
4775         double-click-to-select-word work.
4776         
4777 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
4778
4779         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
4780         Don't move back one char when we are actually at the end of the 
4781         paragraph.
4782
4783 2000-11-15  Robert Brady  <robert@suse.co.uk>
4784
4785         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
4786         'o' < 'p'.
4787         
4788         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
4789         bind_textdomain_codeset.
4790
4791         (gtk_init_check): Make the warning about translating default:LTR
4792         sterner.
4793         
4794 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
4795
4796         * **/Makefile.am : remove unecessary rules for win32-specific
4797         config-substituted targets. If you want these rules, use
4798         --enable-maintainer-mode (called automatically by autogen.sh).
4799         Stops a lot of unneccessary make-time warnings.
4800
4801         * gtk/gtktext{layout,display}.c: Factor in total width as
4802         well as screen when figuring alignment for word-wrap as well as
4803         no wrap; this is necessary to handle lines that cannot be wrapped
4804         at all.
4805
4806 2000-11-15  Havoc Pennington  <hp@redhat.com>
4807
4808         * gtk/testtext.c: Implement essential color cycling feature
4809
4810 2000-11-15  Havoc Pennington  <hp@redhat.com>
4811
4812         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
4813         when we invalidate the main window.
4814
4815         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
4816         GtkTextView will now invalidate the side windows for us when text
4817         changes.
4818
4819 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
4820
4821         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
4822         unconditionally, since we may need to update the horizontal
4823         scrollbars even if the height didn't change.
4824
4825         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
4826         the extra attrs, since some of them affect size.
4827
4828         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
4829         x_offset correctly.
4830
4831 2000-11-15  Havoc Pennington  <hp@redhat.com>
4832
4833         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
4834         don't move the first line out into the margin, instead move the
4835         whole paragraph in order to make space for the first line within 
4836         the margin
4837
4838 2000-11-15  Havoc Pennington  <hp@redhat.com>
4839
4840         * gtk/gtktextview.c (changed_handler): offset redraw rect by
4841         xoffset in addition to yoffset, so horizontal scrolling doesn't
4842         break redraws
4843
4844 2000-11-15  Havoc Pennington  <hp@redhat.com>
4845
4846         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
4847         from the cursor
4848         (render_layout_line): fix reversed test that caused weird
4849         underlines to get drawn
4850
4851 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4852
4853         * gdk/linux-fb/gdkprivate-fb.h:
4854         Fix debug macros.
4855         
4856 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4857
4858         * gdk/linux-fb/gdkprivate-fb.h:
4859         Added virtual functions set_pixel, get_color,
4860         fill_span and draw_drawable to the GC.
4861         Added global _gdk_fb_screen_gc to use instead of
4862         NULL when drawing to the screen.
4863         Added _gdk_fb_gc_calc_state() prototype.
4864
4865         * gdk/linux-fb/gdkgc-fb.c:
4866         Call _gdk_fb_gc_calc_state() on any gc state change.
4867
4868         * gdk/linux-fb/gdkglobals-fb.c:
4869         Add _gdk_fb_screen_gc
4870                 
4871         * gdk/linux-fb/gdkdrawable-fb2.c:
4872         _gdk_fb_gc_calc_state() calculates best functions
4873         for the GC state and depth.
4874         Moved bpp specialized code to separate functions.
4875         Added optimized 24 bpp AA draw_drawable.
4876
4877         * gdk/linux-fb/gdkevents-fb.c:
4878         Silence gcc warning.
4879
4880         * gdk/linux-fb/gdkimage-fb.c:
4881         Use _gdk_fb_screen_gc
4882
4883         * gdk/linux-fb/gdkwindow-fb.c:
4884         Init and use _gdk_fb_screen_gc
4885
4886         * gdk/linux-fb/mitypes.h:
4887         Remove unused types.
4888
4889 2000-11-14  Havoc Pennington  <hp@pobox.com>
4890
4891         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
4892         to pixels
4893
4894 2000-11-14  Havoc Pennington  <hp@pobox.com>
4895
4896         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
4897
4898         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
4899         unknown char, no real reason we were using a variable. 
4900         Remove gtk_text_unknown_char variable. Fix all the text widget
4901         files accordingly.
4902
4903         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
4904         since the Unicode spec seems to prefer that character for our
4905         purposes.
4906
4907 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
4908
4909         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
4910         value of g_getenv() isn't freeable, so g_strdup it.
4911
4912         * modules/input/inuktitut.c: Inuktitut input method.
4913
4914         * modules/input/Makefile.am: Build this.
4915         
4916 2000-11-14  Elliot Lee  <sopwith@redhat.com>
4917
4918         * gtk/Makefile.am: Install gtk.immodules, needed for operation
4919         of gtk programs.
4920
4921 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
4922
4923         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
4924         reversed > that was causing Home to go to end of previous line.
4925
4926         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
4927         modified-keypresses (leave for bindings.)
4928
4929         * modules/input/Makefile.am: Remove useless -export-dynamic
4930         from module LDFLAGS.
4931
4932 2000-11-14  Havoc Pennington  <hp@redhat.com>
4933
4934         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
4935         higher.
4936
4937         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
4938         account. Also, render rise, underline, background, etc. for
4939         pixbufs as well as text. Also, draw underlines one pixel higher.
4940
4941         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
4942         PangoAttribute for the rise, so it gets drawn properly. Also,
4943         add the GtkTextAppearance attribute for pixbuf/widget segments
4944         as well; we should go ahead and have rise, underline, background,
4945         stipple work for those
4946
4947         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
4948         Pango
4949
4950 2000-11-15  Tor Lillqvist  <tml@iki.fi>
4951
4952         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
4953
4954         * gtk/gtk.def: Update.
4955
4956         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
4957         included.
4958         (gtk_rc_get_im_module_file): Use run-time installation directory
4959         on Win32.
4960
4961         * gdk/win32/rc/gdk.rc: Remove.
4962         * gdk/win32/rc/gdk.rc.in: New file.
4963         * gdk/win32/rc/Makefile.am: New file
4964         * gdk/win32/Makefile.am: Corresponding changes.
4965
4966         * gtk/gtk.rc: Remove.
4967         * gtk/gtk-win32.rc.in: New file.
4968         * gtk/Makefile.am: Corresponding changes.
4969
4970         * configure.in: Corresponding changes.
4971
4972         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
4973         has a built gtkcompat.h. Developers using CVS code on Win32 can
4974         hand-edit it from gtkcompat.h.in.
4975
4976         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
4977         gtkcompat.h from gtkcompat.h.win32.
4978
4979 2000-11-14  Havoc Pennington  <hp@redhat.com>
4980
4981         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
4982         to default to GDK_ACTION_MOVE if the drag is within a single
4983         widget. Defaults to GDK_ACTION_COPY between widgets.
4984
4985 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
4986
4987         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
4988
4989         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
4990
4991         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
4992         srcdir != builddir
4993
4994         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
4995
4996         * configure.in (GTK_VERSION): Up to 1.3.2
4997
4998         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
4999         gtkimcontextxim.h
5000
5001         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
5002         missing doc comment.
5003
5004 2000-11-14  Alexander Larsson  <alexl@redhat.com>
5005
5006         * modules/linux-fb/basic.c:
5007         Use the glib iconv wrappers.
5008
5009 2000-11-13  Havoc Pennington  <hp@pobox.com>
5010
5011         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
5012         still more bugs.
5013
5014         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
5015         scroll the GdkWindows before realization.
5016
5017 2000-11-13  Havoc Pennington  <hp@redhat.com>
5018
5019         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
5020         where GC didn't always get updated properly
5021
5022         * demos/gtk-demo/textview.c (create_tags): Use subattributes
5023         of fonts instead of setting the entire font
5024
5025         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
5026         setting entire font
5027
5028         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
5029
5030         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
5031         a bunch of individually-settable font attributes. You can still 
5032         use the "font" and "font_desc" args, they just set all the font
5033         attributes at once.
5034
5035 2000-11-13 Elliot Lee <sopwith@redhat.com>
5036
5037         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
5038
5039 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
5040
5041         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
5042         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
5043
5044         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
5045         work better.
5046
5047 2000-11-13  Havoc Pennington  <hp@redhat.com>
5048
5049         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
5050         the module file.
5051
5052         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
5053         dest->language
5054
5055         * gtk/testtext.c: Test pixels above/below/inside paragraphs
5056         settings
5057
5058         * gtk/gtktextview.c: Implement object args and setters/getters for
5059         all the aspects of the GtkTextAttributes that are not set from
5060         GtkWidget attributes. This is spacing, justification, margins,
5061         etc.
5062
5063         (gtk_text_view_set_arg)
5064         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
5065         args
5066         (gtk_text_view_class_init): Add args for justify, left_margin,
5067         right_margin, indent, and tabs
5068         
5069
5070         * gtk/gtktextlayout.c (set_para_values): fix to display indent
5071         attribute properly
5072
5073         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
5074         replace with indent attribute
5075
5076         * gtk/gtktextlayout.c (set_para_values): multiply indent by
5077         PANGO_SCALE
5078
5079         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
5080         rearranging code to do that
5081         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
5082         i.e. don't subtract the top_margin first, just to keep
5083         all margin-futzing in one place.
5084
5085         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
5086
5087         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
5088         special case of last line, Pango now handles this itself.
5089         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
5090         Y coordinate
5091         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
5092         (find_display_line_above): wasn't moving the byte index as it
5093         iterated over lines, so always returned byte 0. Also, port to use
5094         PangoLayoutIter.
5095         (find_display_line_below): same problem as
5096         find_display_line_above. Also, port to use PangoLayoutIter.
5097
5098 2000-11-13  Alexander Larsson  <alexl@redhat.com>
5099
5100         * gdk/linux-fb/*.[ch]:
5101         Massive reindent to gtk+ standard. My hands hurt.
5102
5103         * gdk/linux-fb/gdkcolor-fb.c:
5104         Move GdkColorPrivateFB from inherited to windowing_data
5105
5106         * gdk/linux-fb/gdkcursor-fb.c:
5107         _gdk_cursor_new_from_pixmap made static
5108
5109         * gdk/linux-fb/gdkdnd-fb.c:
5110         GdkDragContextPrivate moved to windowing_data
5111
5112         * gdk/linux-fb/gdkdrawable-fb2.c:
5113         Removed endian.h, use glib endianness macros instead
5114         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
5115         and GDK_DRAWABLE_IMPL_FBDATA
5116
5117         * gdk/linux-fb/gdkfont-fb.c:
5118         Add empty gdk_font_load(). Needed for linking of Gtk+.
5119
5120         * gdk/linux-fb/gdkimage-fb.c:
5121         Removed endian.h, use glib endianness macros instead
5122         Moved GdkImagePrivateFB to windowing_data
5123         gdk_image_new_bitmap didn't always allocate enough
5124         memory.
5125
5126         * gdk/linux-fb/gdkinput-ps2.c:
5127         Added semi-working support for MS serial mice.
5128
5129         * gdk/linux-fb/gdkprivate-fb.h:
5130         s/GdkWindowPrivate/GdkWindowObject/
5131         Removed GdkWindowPrivate typedef
5132         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
5133         Removed GDK_DRAWABLE_P
5134         Move GdkColorPrivateFB from inherited to windowing_data
5135         Moved GdkImagePrivateFB to windowing_data
5136
5137         * gdk/linux-fb/gdkvisual-fb.c:
5138         Removed some unused debug code.
5139
5140         * gdk/linux-fb/gdkwindow-fb.c:
5141         Use stock cursors instead of including X headers.
5142         s/GdkWindowPrivate/GdkWindowObject/
5143
5144         * gdk/linux-fb/mitypes.h:
5145         Removed unused types.
5146
5147         * modules/linux-fb/basic.c:
5148         Use the pango fribidi wrappers.
5149
5150 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5151
5152         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
5153         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
5154         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
5155         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
5156         GEqualFunc where applicable.
5157         
5158         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
5159         pango_font_description_equal as changed in pango.
5160         
5161         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
5162
5163         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
5164
5165         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
5166
5167         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
5168
5169         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
5170
5171         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
5172
5173         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
5174         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
5175
5176         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
5177         gtk_rc_styles_compare -> gtk_rc_styles_equal.
5178
5179 2000-11-12  Havoc Pennington  <hp@pobox.com>
5180
5181         * demos/gtk-demo/Makefile.am (democodedir): change demo install
5182         dir to datadir/gtk+-2.0/demo
5183
5184         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
5185         sorts of text widget and Pango font bugs. Urgh.
5186
5187         * demos/gtk-demo/Makefile.am (demos): Add textview.c
5188
5189         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
5190         tree that you should double click to see the demo. Fix 
5191         types of variables to reflect changed return values from 
5192         GtkTreeStore and GtkTreeViewColumn constructors.
5193
5194         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
5195         newly-created buffer to prepare for GObject semantics
5196
5197         * gtk/testtext.c: don't leak the buffer with GObject semantics
5198
5199         * gtk/testtextbuffer.c: ditto
5200         
5201 2000-11-12  Havoc Pennington  <hp@pobox.com>
5202
5203         Rename this testgtk to gtk-demo to avoid confusion, and 
5204         install it so people can use it as a supplement to 
5205         the documentation.
5206         
5207         * demos/gtk-demo: Moved from demos/testgtk
5208
5209         * demos/testgtk: Removed
5210
5211         * configure.in: make Makefile in gtk-demo
5212         
5213         * demos/gtk-demo/Makefile.am: Install sample source to 
5214         datadir/gtk-demo (maybe there's a better place?), and 
5215         rename the binary to gtk-demo
5216         
5217         * demos/gtk-demo/main.c (load_file): Load installed sample
5218         source if source isn't found in pwd.
5219
5220 2000-11-09  Havoc Pennington  <hp@pobox.com>
5221
5222         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
5223         argument to set the char displayed when visibility == FALSE
5224         (gtk_entry_create_layout): If !entry->visible, replace 
5225         all chars with the "invisible char"
5226
5227         * gtk/testgtk.c: Test the invisible_char deal
5228         
5229 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
5230
5231         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
5232         can't get a native font in the right encoding.
5233
5234 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
5235
5236         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
5237         respectively.
5238
5239 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
5240
5241         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
5242         Fix warning when moving between paragraphs.
5243
5244         * gtk/gtkentry.[ch]: Change move => move_cursor, 
5245         delete => delete_from_cursor, insert => insert_at_cursor
5246
5247 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
5248
5249         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
5250
5251         * modules/input/imthai-broken.c: A Thai input method for use if
5252         Thai keys are really generating Latin1 keysyms.
5253
5254         * modules/input/Makefile.am: Build these.
5255
5256 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
5257
5258         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
5259         g_filename_{to,from}_utf8 now takes an extra parameter.
5260
5261         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
5262         strftime into UTF-8.
5263
5264         (column_from_x, gtk_calendar_paint_day_names): Support RTL
5265         calendars.
5266
5267         (gtk_calendar_paint_day_names): Draw day names in the right 
5268         place.
5269         
5270 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
5271
5272         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
5273         problem with using result of g_get_charset() backwards -
5274         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
5275
5276         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
5277         negative min_width/height and max_width/height to
5278         mean "requisition"; this allows setting a window
5279         to be user-resizable in only one direction easily.
5280
5281         * gtk/testgtk.c (create_main_window): Remove hard-coded
5282         usize - set a default size in the vertical direction.
5283
5284 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
5285
5286         * gtk/gtkrange.c: Add some missing casts. Support 
5287         2 and 3 button clicks on the arrows to mean 
5288         "move by pages" and "jump to end". (Like gtkspinbutton)
5289
5290 2000-11-12 Hans Breuer <Hans@Breuer.Org>
5291
5292         * gdk/win32/makefile.msc : reflect build module changes
5293
5294         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
5295         from GdkPixmap*, cast implementation member instead.
5296
5297         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
5298         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
5299         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
5300         more Gdi functions return value checking. 
5301         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
5302         GdkImagePrivateWin32 *.
5303
5304         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
5305         menus useable again. Add #pragma message to keep reminded on this issue.
5306         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
5307         windows. This allows to enable backing store on Win32!
5308
5309         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
5310         in drawable is of impl type. Correct specific type checks appropriate.
5311  
5312         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
5313         GDK_WINDOW_DESTROYED before allocating new resources.
5314
5315         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
5316
5317         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
5318         (gdk_window_foreign_new) initialize parent handle.
5319         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
5320
5321         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
5322         Let the GDI invalidate the window on MoveWindow call to fix scrolling
5323         problems (e.g. main buttons in testgtk). 
5324
5325 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
5326
5327         * gtk/gtkentry.c (gtk_entry_key_press): Call 
5328         gtk_widget_activate for GDK_Return.
5329
5330         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
5331         of preedit cursor position.
5332
5333 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
5334
5335         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
5336         static.
5337
5338 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
5339
5340         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
5341         out support for multiple locales; that simple doesn't
5342         work reliably with current Xlib
5343
5344         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
5345         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
5346         Add support for positioning the cursor within the preedit string.
5347
5348 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
5349
5350         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
5351         at XIM input method module.
5352
5353         * gtk/gtktextview.c: Check for bindings after passing
5354         events to im context filter.
5355
5356 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
5357
5358         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
5359         empty attribute lists properly.
5360
5361 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
5362
5363         * gtk/queryimmodules.c (main): Return non-zero exit
5364         status if errors were encountered querying any
5365         modules.
5366
5367         * modules/input/Makefile.am (moduledir): remove
5368         leftover bin program target.
5369
5370         * docs/make-todo: Fix typo in error message.
5371
5372 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
5373
5374         * configure.in: Add modules/input/Makefile
5375
5376 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
5377
5378         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
5379         don't include gtkthemes.h.
5380
5381         * gtk/testgtk.c gtk/testtext.c: Set environment variables
5382         to point
5383
5384         * gtk/Makefile.am: Add new .c and .h files, build 
5385         gtk-query-immodules and use it to create a gtk.immodules
5386         file for use of test programs.
5387
5388         * gtk/gtkpreview.c: remove extra blank line.
5389
5390 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
5391
5392         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
5393         Add the ability to add extra tables beyond the default
5394         one, and also the ability to have compose sequences 
5395         that are prefixes of other compose sequences. 
5396
5397         * gtk/gtkimcontextsimple.c: Export a preedit string which
5398         consists of possible candidates for keystrokes that have
5399         been entered but not yet committed.
5400
5401         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
5402         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
5403
5404         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
5405         Add a function to add input-method switching menu items
5406         to a menu.
5407
5408         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
5409         when switching input methods.
5410
5411         * gtk/gtkimcontextsimple.[ch]: Change the format of
5412         the compose table to allow compose tables of different
5413         lengths / sequence.
5414
5415 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
5416
5417         * gtk/gtkimmodule.[ch]: Support routines for loading
5418         GtkIMContext implementations dynamically at runtime.
5419
5420         * modules/input/imcyrillic-translit.c: A sample input
5421         method (based on GtkIMContextSimple with an extra table),
5422         which demonstrates preedit strings and the module
5423         system for input modules
5424
5425         * gtk/queryimmodules.c: Program to query the available
5426         input modules and write the results into a file.
5427          
5428         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
5429         extra config options "im_module_file" (cache file for
5430         input method modules), and "im_module_path" - path
5431         to look for modules when generating cache file.
5432
5433         This doesn't scale.
5434
5435 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
5436
5437         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
5438         generic code from gtkthemes into a new abstraction
5439         GtkModule which has the logic for implementing
5440         a loadable module which implements a number of 
5441         GObject types.
5442
5443 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
5444
5445         * gtk/gtkeditable.[ch]: Convert GtkEditable from
5446         a class into an interface  
5447         
5448         * gtk/gtkoldeditable.[ch]: Move the old editable
5449         implementation into here, so legacy widgets can
5450         still rely on the implemenation. GtkOldEditable
5451         exports GtkEditable. Make selection handling
5452         code use new text conversion functions (and
5453         handle UTF-8 as a side-effect). Use GtkClipboard
5454         for CLIPBOARD.
5455
5456         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
5457         Adopt to match above changes.
5458
5459         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
5460         avoid GtkOldEditable implementation. Restructure
5461         to reduce number of places that modify state directly.
5462         Move to GtkBindingSet. Display the preedit string.
5463         Queue recomputation of PangoLayout and scroll position
5464         to improve effiency of doing complex changes naively.
5465         Add a menu with cut/copy/paste and input method selection.
5466
5467 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
5468
5469         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
5470         to set preedit string and attributes; display preedit string by
5471         inserting string and attributes at cursor when creating the
5472         GtkTextLineDisplay.
5473
5474         * gtk/gtktextlayout.c: Move all conversions between byte
5475         positions in PangoLayout and GtkTextIter into new functions
5476         line_display_iter_to_index/index_to_iter that properly
5477         handle the preedit string.
5478
5479         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
5480         it to return const char * (eventually will end up
5481         as GCONST char *, most likely.)
5482
5483         * gtk/gtktextview.[ch]: Handle the preedit string, call
5484         gtk_im_context_reset() as necessary, add a menu to switch
5485         input methods.
5486         
5487         * gtk/gtktextlayout.[ch]: Remove useless
5488         gtk_text_layout_get_log_attrs() function.
5489
5490 2000-11-11  Tor Lillqvist  <tml@iki.fi>
5491
5492         * gdk/gdk.def
5493         * gtk/gtk.def: Update.
5494
5495         * gdk/win32/*.c: Add last argument to g_type_register_static()
5496         calls.
5497
5498         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
5499
5500         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
5501         generated by older wheel mouse drivers. Get the correct y
5502         coordinate from WM_MOUSEWHEEL messages.
5503
5504         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
5505         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
5506         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
5507         Debugging functions.
5508
5509         * gdk/win32/gdkprivate-win32.h: Declare them.
5510
5511         * gdk/win32/gdkinput-win32.h: Add declaration for
5512         gdk_input_window_destroy().
5513
5514         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
5515
5516 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
5517
5518         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
5519         function to help handle keeping things in sync.
5520
5521 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
5522
5523         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
5524         BOXED marshallers.
5525
5526         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
5527         (gtk_list_store_class_init): use the new BOXED marshallers.
5528
5529         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
5530         new_with_values to new_with_types.
5531         (gtk_tree_store_get_column_type): add this.
5532         (gtk_tree_store_class_init): use the new BOXED marshallers.
5533
5534         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
5535         mirror some POINTER marshallers.
5536
5537 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
5538
5539         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
5540         allow more interesting iterators.  Also, made the lifecycle of
5541         iterators more explicit.
5542
5543         * gtk/gtktreemodelsort.[ch]: New model for sorting.
5544
5545         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
5546         types.
5547
5548 2000-11-09  Alexander Larsson  <alexl@redhat.com>
5549
5550         * demos/testgtk/menus.c:
5551         Changes to make the new testgtk compile after
5552         gtk_menu_append was removed.
5553
5554         * gdk/linux-fb/gdkdrawable-fb2.c
5555         (gdk_fb_get_depth, gdk_fb_get_visual,
5556         gdk_drawable_impl_fb_class_init): Implement
5557         these drawable functions. Now GtkImages work again.
5558
5559         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
5560
5561         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
5562         
5563         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
5564         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
5565         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
5566         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
5567
5568 2000-11-08  Havoc Pennington  <hp@pobox.com>
5569
5570         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
5571         visible_set args, don't know where these had gone, I thought they
5572         used to be there
5573
5574         * gtk/testtext.c: Add a menu item to apply invisibility tag;
5575         now we can test the feature and see that it's totally broken.
5576
5577 2000-11-08  Havoc Pennington  <hp@pobox.com>
5578
5579         Make DND copy pixbufs and tags when source and target share a 
5580         tag table.
5581         
5582         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
5583         in-process GTK_TEXT_BUFFER_CONTENTS target
5584         (gtk_text_view_drag_data_received): Paste from
5585         GTK_TEXT_BUFFER_CONTENTS if we receive it.
5586
5587 2000-11-08  Alexander Larsson  <alexl@redhat.com>
5588
5589         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
5590         API changes.
5591
5592         * gtk/gtkmenu.c: Add support for scrolling menus.
5593         Remove gtk_menu_append/prepend/insert, these have been moved to
5594         gtkcompat.h as #defines.
5595
5596         * gtk/gtkcompat.h.in:
5597         Add compatibility #defines for gtk_menu_append/prepend/insert
5598
5599         * gtk/gtkmenu.h: Add data needed for scrolling menus.
5600         GtkMenuPositionFunc gets an extra argument push_in.
5601         gtk_menu_append/prepend/insert removed.
5602         
5603         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
5604         positioning behaviour to fit to scrolling menus.
5605
5606         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
5607         into menuitem->submeny. That is wrong, and broke torn
5608         off submenus of torn off menus, since they were unrealized
5609         when the first menu was unrealized.
5610
5611         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
5612         gtk_menu_shell_select_item() since these need to be overridden in
5613         GtkMenu.
5614
5615         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
5616         positioning behaviour to fit to scrolling menus.
5617         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
5618         the current item so that it is prelighted when the menu pops up.
5619         This is a workaround to the fact that the menu doesn't get the
5620         initial enter event (due to grabs).
5621
5622         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
5623         s/gtk_menu_append/gtk_menu_shell_append/
5624
5625         * gtk/gtknotebook.c:
5626         s/gtk_menu_insert/gtk_menu_shell_insert/
5627
5628         * gtk/testgtk.c (create_menu, create_menus):
5629         Create the first menu with 50 items so that menu scrolling
5630         can be tested.
5631         
5632         
5633         Patch from Jonathan Blandford  <jrb@redhat.com>
5634
5635         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
5636         system to handle size requests.  First, we ask what the size of
5637         the toggle is.  Then, when allocating the size, we allocate the
5638         toggle_size first.  This way we can have multiple menu-item
5639         classes w/o needing a seperate class for each.
5640
5641         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
5642         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
5643
5644         * gtk/gtkcheckmenuitem.c
5645         (gtk_check_menu_item_toggle_size_request): New function to handle
5646         the toggle size-request.
5647
5648 2000-11-07  Havoc Pennington  <hp@redhat.com>
5649
5650         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
5651         Half-ass somewhat fix this function, so that scrolling to the
5652         insertion point works. Pango hacking is in the future to really
5653         fix it.
5654
5655         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
5656         length of data, no longer used.
5657
5658         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
5659         method contents in here, get rid of destroy method
5660         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
5661         that were backward. Remove debug spew.
5662         (cut_or_copy): Make the clipboard work with insert_range to
5663         preserve tags and pixbufs, not just the primary selection.
5664
5665 2000-11-07  Havoc Pennington  <hp@redhat.com>
5666
5667         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
5668         to gtk_text_mark_get_visible
5669
5670         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
5671         bug that was generating an invalid iterator
5672
5673         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
5674         ensure_char_offsets() in front of code placing the iter in an
5675         invalid state.
5676
5677         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
5678         make override_location arg const
5679         (paste): Replace the selection if we paste into the 
5680         current selection
5681
5682         * gtk/gtkselection.h: Remove "GtkSelectioData"
5683         (struct _GtkSelectionData): move the definition here.
5684
5685         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
5686         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
5687
5688         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
5689
5690         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
5691         (gtk_text_buffer_insert_range_interactive): implement
5692         (gtk_text_buffer_get_tags): Remove, replaced by
5693         gtk_text_iter_get_tags()
5694
5695         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
5696         limit parameter, to avoid infinite linear scan.
5697         (gtk_text_iter_backward_search): Add search limit
5698         (gtk_text_iter_forward_find_char): Add search limit
5699         (gtk_text_iter_backward_find_char): Add search limit
5700
5701 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
5702
5703         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5704         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
5705         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
5706         gdk/linux-fb/gdkwindow-fb.c:
5707         use g_object_new() instead of g_type_create_instance() which
5708         is a private function for fundamental type implementations.
5709
5710         * gdk/linux-fb/gdkinput-ps2.c:
5711         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
5712         instead just store the current modifier state. Add a (somewhat broken)
5713         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
5714         Rename exported function gdk_input_ps2_get_mouseinfo to
5715         gdk_input_get_mouseinfo.
5716
5717         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
5718         gdk/linux-fb/gdkwindow-fb.c:
5719         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
5720         
5721
5722 2000-11-02  Havoc Pennington  <hp@redhat.com>
5723
5724         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
5725         use stock buttons. Should be 100% source compatible, appropriate
5726         filesel fields now point to dialog->vbox and dialog->action_area.
5727         On the bizarre side, dialog->action_area and filesel->action_area
5728         are not the same widget.
5729         (gtk_file_selection_init): Put some padding around the selection
5730         entry, so it isn't touching the GtkDialog separator.    
5731
5732         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
5733         use stock buttons, etc. Should also be source compatible.
5734         Set the dialog default title in _init not _new().
5735         
5736         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
5737         Use stock buttons; don't put a button box inside the existing
5738         dialog button box. Don't bother with push/pop colormap anymore.
5739
5740         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
5741         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
5742         for message dialog, and necessary for the font selection and color
5743         selection with help and apply buttons.
5744         
5745         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
5746         to the created button widget. Set GTK_CAN_DEFAULT on the button.
5747         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
5748         between buttons, put less padding around the action area.
5749         (gtk_dialog_run): Exit on unmap rather than on destroy. 
5750         This will also exit the loop if the widget is hidden.
5751         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
5752         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
5753         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
5754         special-case delete event.
5755
5756         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
5757         formatting
5758         
5759 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
5760
5761         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
5762         button to temporarily disable position recording in the
5763         "saved position" test.
5764
5765 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
5766
5767         * gtk/gtkthemes.c: added compat code that temporarily implements
5768         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
5769         going to be revamped by owen's upcoming GtkModule patches, but
5770         untill then people want gtk to build, right? ;)
5771
5772 2000-11-04  Havoc Pennington  <hp@pobox.com>
5773
5774         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
5775         list
5776
5777         * docs/Changes-2.0.txt: Add note about
5778         gtk_container_get_toplevels()
5779
5780         * gtk/gtktextview.h: formatting
5781         
5782         * gtk/gtktextview.c: don't start descriptions with "Returns",
5783         confuses gtk-doc
5784
5785 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
5786
5787         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
5788         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
5789
5790 2000-11-03  Havoc Pennington  <hp@redhat.com>
5791
5792         * gtk/gtktexttagtable.c: Docs
5793         (gtk_text_tag_table_size): return a signed int
5794
5795         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
5796         (gtk_text_tag_event): make the event_object a GObject
5797
5798         * gtk/gtktextview.c: Write API docs for all functions.
5799
5800         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
5801         for gtk_text_view_get_window_type() called on one of the private
5802         windows.
5803
5804         * gtk/gtktextview.c: Instead of accessing text_view->buffer
5805         directly, call get_buffer() which demand-creates a default
5806         buffer. So gtk_text_view_new() can be used to create a view with a
5807         default buffer in it, if you just want an empty text box users can
5808         put data in. Useful for GUI builders also.
5809
5810 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
5811
5812         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
5813         the charset encodign portion MUST be in lowercase.
5814         * gtk/gtkrc.az: added file for Azeri language
5815
5816 2000-11-03  Havoc Pennington  <hp@redhat.com>
5817
5818         Get widgets working on the btree/buffer side. Display of them 
5819         still doesn't work.
5820         
5821         * gtk/gtktextview.c: start implementing child widget stuff
5822
5823         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
5824
5825         * gtk/gtktextlayout.c: handle embedded widgets
5826
5827         * gtk/gtktextdisplay.c: handle embedded widgets
5828
5829         * gtk/gtktextchild.c: Implement all the child anchor goo
5830
5831         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
5832         function
5833
5834         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
5835         (insert_pixbuf_or_widget_segment): abstract out common portions of 
5836         creating a child anchor or a pixbuf segment.
5837         (gtk_text_btree_create_child_anchor): new function
5838         (gtk_text_btree_unregister_child_anchor): new function
5839
5840         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
5841         allocate_child signal on GtkTextLayout
5842
5843         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
5844         values
5845         (gtk_text_iter_get_child_anchor): new function
5846
5847         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
5848         default handler for the changed signal, which calls
5849         gtk_text_buffer_set_modified(), instead of just always emitting
5850         changed then calling set_modified() manually. I guess this is
5851         maybe more flexible. It seems logical.
5852
5853 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
5854
5855         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
5856         now.
5857
5858         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
5859
5860 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
5861
5862         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
5863         been marked static.
5864
5865 2000-11-02  Havoc Pennington  <hp@redhat.com>
5866
5867         * gtk/testgtk.c (create_labels): had a test backward
5868
5869         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
5870         fields, so the dest GC ends up with the correct clip origin, 
5871         etc. Fixes a bug where colored labels didn't redraw 
5872         properly.
5873
5874 2000-11-02  Alexander Larsson  <alexl@redhat.com>
5875
5876         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5877         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
5878         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
5879         Add last argument to t_type_register_static call.
5880         
5881         * gdk/linux-fb/gdkdrawable-fb2.c:
5882         Add last argument to t_type_register_static call.
5883         export the get_image drawable virtual function.
5884
5885         * gdk/linux-fb/gdkimage-fb.c:
5886         Add last argument to t_type_register_static call.
5887         rename gtk_image_get to _gdk_fb_get_image and
5888         export it for use by gdkdrawable-fb2.
5889
5890         * gdk/linux-fb/gdkprivate-fb.h:
5891         export _gdk_fb_get_image.
5892
5893         * gdk/linux-fb/gdkselection-fb.c:
5894         Add new api call stubs.
5895
5896         * gtk/Makefile.am:
5897         Missing ( in linux-fb part.
5898
5899         * modules/linux-fb/Makefile.am:
5900         Must link with gdk_pixbuf or get unresolved symbol.
5901
5902 2000-11-01  Havoc Pennington  <hp@pobox.com>
5903
5904         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
5905         GTK_TYPE_TEXT_ITER and BOXED marshallers
5906
5907         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
5908
5909         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
5910         
5911         * gtk/gtk-boxed.defs: add GtkTextIter
5912
5913         * gtk/gtkmarshal.list: Add marshallers for text widget that 
5914         properly use OBJECT and BOXED
5915
5916 2000-11-01  Havoc Pennington  <hp@redhat.com>
5917
5918         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
5919
5920         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
5921         before returning it. 
5922         
5923 2000-11-01  Havoc Pennington  <hp@redhat.com>
5924
5925         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5926         Clip the rectangle to be rendered to the drawable, since
5927         get_from_drawable() requires a region within the drawable
5928
5929 2000-11-01  Havoc Pennington  <hp@redhat.com>
5930
5931         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
5932         from coordinates.
5933
5934 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
5935
5936         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
5937         it isn't NULL.
5938
5939 2000-11-01  Havoc Pennington  <hp@pobox.com>
5940
5941         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
5942         on a label
5943         (gtk_label_finalize): unref the attr list if any.
5944
5945         * gtk/testgtk.c (create_get_image): close test on second click
5946         (make_message_dialog): close dialog if it exists
5947
5948         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
5949
5950         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
5951         gdk-pixbuf
5952
5953         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
5954         from Pango markup format
5955         (gtk_label_set_markup_with_accel): ditto but with accelerator
5956         parsing
5957
5958         * gtk/gtkimage.c (gtk_image_expose): reformatting.
5959
5960         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
5961         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
5962         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
5963         call gdk_window_get_origin().
5964
5965         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5966         implement GDK_PIXBUF_ALPHA_FULL
5967         
5968 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
5969
5970         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
5971         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
5972         g_signal_handlers_disconnect_matched to block/unblock and disconnect
5973         multiple handlers respectively, instead of only treating the
5974         first handler found (bug reported by owen).
5975
5976 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
5977
5978         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
5979
5980         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
5981
5982         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
5983         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
5984         gtk/gtktreeviewcolumn.h: Fixed inline docs.
5985
5986         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
5987         widget.  Needs writing someday.
5988
5989         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
5990         the docs.
5991
5992 2000-10-30  Havoc Pennington  <hp@redhat.com>
5993
5994         * gtk/gtktextview.h, gtk/gtktextview.c:
5995         Rename delete_at_cursor delete_from_cursor, and 
5996         move to move_cursor.
5997
5998 2000-10-30  Havoc Pennington  <hp@redhat.com>
5999
6000         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
6001         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
6002         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
6003         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
6004         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
6005         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
6006         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
6007         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
6008         gtktexttypes.h, gtktextview.c, gtktextview.h:
6009
6010         Massive reindentation and reformatting. Arg alignment and comments
6011         still need fixing in various places.
6012
6013 2000-10-30  Havoc Pennington  <hp@redhat.com>
6014
6015         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
6016         to be named insert_at_cursor and delete_at_cursor so C++ can
6017         handle them.
6018
6019 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6020
6021         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
6022         to get a double directory separator in case the home directory
6023         ends with one. This would cause trouble especially on Windows,
6024         where the path will be confused with the syntax for an an UNC
6025         (network share) path \\server\share\path.
6026         (gtk_rc_add_initial_default_files): Ditto.
6027
6028 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
6029
6030         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
6031
6032         * gtk/gtktextview.c: Use correct marshallers.
6033
6034 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
6035
6036         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
6037         use new iter stuff, and added all the appropriate signals et al.
6038
6039         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
6040         code is internal to gtk only.
6041
6042 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6043
6044         * gtk/gtk.def
6045         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
6046         glib-genmarshal etc.
6047
6048 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
6049
6050         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
6051         parallel builds.
6052
6053 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
6054
6055         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
6056
6057 2000-10-27  Robert Brady  <robert@suse.co.uk>
6058
6059         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
6060         en_GB (British), ia (Interlingua).
6061
6062 2000-10-26  Havoc Pennington  <hp@redhat.com>
6063
6064         * gtk/gtktextiter.c (my_strrstr): fix constness warning
6065
6066         Fixed output of:
6067         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
6068         
6069         * gtk/gtktextsegment.c (char_segment_new): rename
6070         (_char_segment_new_from_two_strings): rename
6071         (_toggle_segment_new): rename
6072         
6073         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
6074         (make_clipboard_widget): make it static
6075         (text_get_func): static
6076         (text_clear_func): static
6077
6078         * gtk/gtkcolorsel.c (adjustment_changed): make this function
6079         static
6080         (hex_changed): make it static
6081         (hsv_changed): make it static
6082         (opacity_entry_changed): make it static
6083
6084         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
6085         (toggle_segment_check_func): rename with _gtk
6086
6087         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
6088         (_widget_segment_new): rename
6089         (_widget_segment_add): rename
6090         (_widget_segment_remove): rename
6091         (_widget_segment_ref): rename
6092         (_widget_segment_unref): rename
6093
6094         * gtk/gtktextmark.c (_mark_segment_new): Rename
6095         _gtk_mark_segment_new   
6096
6097 2000-10-26  Havoc Pennington  <hp@redhat.com>
6098
6099         * gtk/gtkmarshal.list: add new marshallers used by the text widget
6100         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6101         types
6102
6103         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
6104         marshaller types
6105
6106         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
6107         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
6108         license on these files.
6109
6110         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
6111         work.
6112
6113         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
6114         runtime random number different for each tree, instead of 
6115         a constant I made up.
6116
6117 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
6118
6119         * gtk/Makefile.am: buncha cleanups, kludged build sources
6120         dependencies with a Makefile: oldest-source-stamp dependancy
6121         for the moment. automake is really fighting us here, with
6122         intentionally not allowing user-defined rules or dependancies
6123         prior to it's -include $(DEP_FILES) statement. sucks rocks!
6124
6125         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
6126         to public headers. tehy have a comment stating that they are
6127         "semi-public" aren't included by gtk.h and if enums popup there,
6128         they can be /*< skip >*/-ed.
6129
6130         * gtk/gtktextlayout.h: 
6131         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
6132         added LGPL... <SIGH>
6133
6134 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
6135
6136         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
6137         GtkTreeIter.  Added iterators everywhere.
6138
6139         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
6140
6141         * gtk/gtktreeviewselection.c: Changed to use the iterators.
6142
6143         * gtk/gtktreestore.c: Changed to use the iterators.
6144
6145         * gtk/gtkliststore.c: Commented out the code.  Will convert to
6146         iterators tomorrow.
6147
6148         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
6149         iterators tomorrow.
6150
6151         * gtk/treestoretest.c: Changed to use iterators.
6152
6153         * demos/testgtk/main.c: Moved to use the new iterator system.
6154
6155 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
6156
6157         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
6158         localization misbehaviour.
6159
6160         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
6161         a useless type without copy/free.
6162
6163         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
6164         of GTK_TYPE_CTREE_NODE.
6165
6166 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
6167
6168         * gtk/gtksignal.c:
6169         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
6170         applicable.
6171
6172         * gtk/gtk-boxed.defs (GtkSelectionData): specify
6173         gtk_selection_data_copy and gtk_selection_data_free
6174         do GtkSelectionData work as params in signals.
6175
6176 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
6177
6178         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
6179         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
6180         couldn't they at least give it a non-standard name?
6181         
6182         * gtk/gtktextlayout.c: arg! yet another implementation of
6183         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
6184
6185         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
6186         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
6187         home. now i know this _is_ a conspiracy.
6188
6189         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
6190         ::state-changed.
6191
6192         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
6193         (gtk_accel_group_create_add): marshaller signature fixups.
6194
6195         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
6196         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
6197
6198         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
6199         anymore.
6200
6201 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
6202
6203         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
6204         due to the signal system changes, it wouldn't build currently. to
6205         be fixed soon.
6206
6207         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
6208
6209         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
6210         so it needs gtk_marshal_VOID__ENUM() instead of
6211         gtk_marshal_NONE__UINT().
6212
6213         * gdk/gdk*.c: adapted type registration functions.
6214
6215         * gtk/gtkbindings.c:
6216         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
6217         gone.
6218
6219         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
6220
6221         * gtk/gtkobject.c:
6222         (gtk_object_destroy):
6223         (gtk_object_shutdown): fixed recursion guards. basically we have to
6224         catch the case where any of GObject.shutdown() or gtk_object_destroy()
6225         is called during ::destroy, and avoid recursion there.
6226
6227         * gtk/gtktypeutils.c:
6228         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
6229         boxed_copy/boxed_free. this needs a more general solution based on a
6230         publically installed code-generator utility.
6231
6232         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
6233         glib's gobject has support for that now.
6234         define GtkSignalMarshaller in terms of GSignalCMarshaller.
6235
6236 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
6237
6238         * gtk/gtksignal.[hc]:
6239         * gtk/gtkmarshal.[hc]:
6240         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
6241         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
6242         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
6243         care of that.
6244
6245         * *.c: marshaller name fixups.
6246
6247         * gtk/gtkmarshal.list: added a comment briefing the format.
6248
6249 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
6250
6251         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
6252         compatibility macros here now. more specifically, most of
6253         the API is preserved (yes, _most_, nonwithstanding the
6254         following exceptions listed, the API is stil lHUGE ;)
6255         things that got removed completely:
6256         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
6257         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
6258         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
6259         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
6260         gtk_signal_remove_emission_hook().
6261         non-functional functions variants:
6262         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
6263         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
6264         not supported anymore.
6265         (gtk_signal_compat_matched): new internal function to aid
6266         implementation of the compatibility macros, it  provides
6267         functionality to block/unblock/disconnect handlers based
6268         on func/data.
6269
6270         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
6271
6272         * *.c: adaptions to new type registration API signatures.
6273
6274 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
6275
6276         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
6277
6278 2000-10-25  Robert Brady  <robert@suse.co.uk>
6279
6280         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
6281         gdk_property_delete): If window == NULL, assume the root window.
6282         (restoring the behaviour that was in 1.2).
6283         
6284         * gtk/testtext.c (save_buffer): Allow creation of new files when
6285         saving.
6286
6287         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
6288         calls to read().
6289
6290 2000-10-25  Tor Lillqvist  <tml@iki.fi>
6291
6292         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
6293
6294         * gdk/win32/gdkdrawable-win32.c
6295         * gdk/win32/gdkimage-win32.c
6296         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
6297         X11 backend.
6298
6299         * gdk/win32/gdkcc-win32.c
6300         * gdk/win32/gdkcolor-win32.c
6301         * gdk/win32/gdkfont-win32.c
6302         * gdk/win32/gdkinput-win32.c
6303         * gdk/win32/gdkmain-win32.c
6304         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
6305
6306 2000-10-24  Havoc Pennington  <hp@redhat.com>
6307
6308         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
6309         it a static function
6310
6311         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
6312         redraw text when a tag is applied to it.
6313
6314         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
6315         (gtk_text_tag_affects_nonsize_appearance): private functions to
6316         see if a tag requires various kinds of redraw/layout to be queued
6317         up.
6318
6319         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
6320
6321         * gtk/testtext.c (fill_example_buffer): Put the cursor 
6322         at the start of the buffer, so search works by default
6323
6324         * gtk/gtktextiter.c (lines_match): init match_start always
6325
6326         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
6327         function, get iter at a line + a byte index
6328
6329         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
6330         to set byte position within a line
6331         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
6332
6333 2000-10-23  Havoc Pennington  <hp@redhat.com>
6334
6335         * gtk/testtext.c: Re-enable the "find" dialog
6336
6337         * gtk/testgtk.c: Add test for gdk_drawable_get_image
6338         
6339         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
6340         the arguments to gdk_draw_drawable were in the wrong order
6341         (gdk_window_paint_init_bg): This function was ignoring the
6342         init_region, instead of clipping to it, so the entire backing
6343         pixmap was cleared on every begin_paint()
6344         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
6345         was in here again, the loop kept using the same GtkWindowPaint
6346         over and over.
6347         (gdk_window_begin_paint_region): Fix a bug where we had two
6348         x_offset instead of x_offset and y_offset
6349
6350         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
6351         before we get the image.
6352         (gdk_draw_drawable): get the composite before we draw the drawable.
6353         (gdk_drawable_real_get_composite_drawable): default
6354         get_composite_drawable implementation that returns the drawable 
6355         itself
6356
6357         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
6358         get_composite_drawable virtual function
6359
6360         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
6361         list-walking bug
6362
6363         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
6364         make this work if the source drawable is a GdkDrawableImplX11
6365         instead of a public drawable type. This is really broken; the
6366         problem is that GdkDrawable needs a virtual method get_xid(), but
6367         of course that doesn't work in practice. Enter RTTI.
6368
6369         Also, improve mismatched depth message.
6370
6371         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
6372         GdkPixmap
6373
6374         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
6375         install _gdk_x11_get_image as our implementation of get_image
6376         
6377         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
6378         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
6379
6380         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
6381         gdk_drawable_get_image
6382
6383         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
6384
6385         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
6386         get_image
6387
6388         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
6389         trailing semicolon after for loop
6390
6391 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
6392
6393         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
6394         where font_desc for widget's context lagged widget's font_desc by
6395         one step.
6396
6397 2000-10-22  Tor Lillqvist  <tml@iki.fi>
6398
6399         * gdk/win32/gdkgc-win32.c
6400         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
6401
6402         * gtk/makefile.mingw.in
6403         * gtk/gtk.def: Updates.
6404
6405         * gtk/testgtk.c: sleep() is called _sleep in MS's C
6406         library.
6407
6408         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
6409
6410         * gtk/makefile.msc: Remove
6411
6412         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
6413
6414         * gtk/Makefile.am: Add it.
6415
6416         * configure.in: Generate it.
6417
6418         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
6419         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
6420         something even if not implemented, to satisfy picky MSVC.
6421
6422         Patches by Hans Breuer:
6423         
6424         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
6425         SetBkMode() and SetTextAlign() before calling
6426         pango_win32_render().
6427
6428         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
6429         Set hcliprgn to NULL after destroying it.
6430         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
6431
6432         * gdk/win32/gdkgeometry-win32.c
6433         (_gdk_windowing_window_queue_antiexpose): More effective
6434         implementation.
6435
6436         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
6437         depth as default, not the visual's.
6438
6439         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
6440         against empty title.
6441
6442         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
6443         IMAGE_PRIVATE_DATA.
6444
6445         * gdk/win32/gdkimage-win32.c: Use it.
6446
6447 2000-10-22  Robert Brady  <robert@suse.co.uk>
6448
6449         * configure.in: Check for bind_textdomain_codeset
6450
6451         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
6452         present, make use of it.
6453
6454         Add a translatable string "default:LTR" which, if translated
6455         to "default:RTL", will cause the default direction to be
6456         Right-to-Left.
6457
6458         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
6459         direction if marked as flippable.
6460
6461         * gtk/gtkhscale.c: Mark widget as flippable.
6462         
6463 2000-10-04  Havoc Pennington  <hp@redhat.com>
6464
6465         * gtk/testgtk.c (create_buttons): create some stock buttons
6466         with the default accel group
6467         (create_image): test some new GtkImage features
6468         (make_message_dialog): test GtkMessageDialog
6469         (create_modal_window): fix someone's bizzarro indentation
6470
6471         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
6472         GTK_WIN_POS_CENTER_ON_PARENT. 
6473         Add "destroy with parent" setting, which means the window goes
6474         away with its transient parent.
6475         (gtk_window_get_default_accel_group): get the default accel group
6476         for the window.
6477         (gtk_window_set_destroy_with_parent): set/unset destroy with
6478         parent flag
6479         (gtk_window_read_rcfiles): invalidate icon set caches
6480         after reloading rcfiles 
6481
6482         * gtk/gtkenums.h (GtkWindowPosition): add
6483         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
6484         on its parent window when the dialog is mapped for the first time.
6485
6486         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
6487         a simple message dialog class
6488         
6489         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
6490         handler to emit response signal, and maybe later it would
6491         honor a hide_on_delete flag - though that isn't there yet.
6492         Set border width on the vbox to 2, so we get some padding.      
6493         Use a button box for the action area.
6494         (gtk_dialog_key_press): synthesize a delete event if Esc
6495         is pressed and the GtkWidget key press handler didn't 
6496         handle the escape key.
6497         (gtk_dialog_new_with_buttons): new function creates a dialog
6498         with some default buttons in it.
6499         (gtk_dialog_add_action_widget): add an activatable widget
6500         as a button in the dialog - you can also add a non-activatable
6501         widget by accessing the action area directly.
6502         (gtk_dialog_add_button): add a simple button - stock ID or 
6503         label - to the action area
6504         (gtk_dialog_response): emit response signal
6505         (gtk_dialog_run): block waiting for the dialog, return 
6506         the response. Override normal delete_event behavior, so that 
6507         delete_event does nothing inside gtk_dialog_run().
6508
6509         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
6510         emitted when an action widget is clicked or the dialog gets
6511         delete_event
6512
6513         * gtk/gtk.h: add gtkmessagedialog.h
6514
6515         * gtk/Makefile.am: add gtkmessagedialog.[hc]
6516
6517 2000-10-18  Havoc Pennington  <hp@redhat.com>
6518
6519         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
6520         where any number of empty lines would get skipped
6521
6522         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
6523         edge.
6524
6525         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
6526         warning about invalid iterators (explain more thoroughly)
6527         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
6528
6529         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
6530         big
6531
6532         * demos/*.c: Add error handling
6533
6534         * gtk/gtktextbuffer.c: don't modify const iterators
6535
6536         * gtk/gdk-pixbuf-loader.c: Add full error handling here
6537
6538         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
6539         on file load
6540
6541         * gtk/gtkiconfactory.c: Update to reflect addition of error
6542         handling to gdk-pixbuf loaders
6543
6544 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
6545
6546         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
6547         move to new modularized testgtk.
6548
6549 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
6550
6551         * gtk/gtktreeview.c: Draw the arrows correctly.
6552
6553         * gtk/gtktreemodel.c: Added user docs.
6554
6555         * gtk/gtk.h: remove gtktreedatalist.h.
6556
6557         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
6558         parent when generating my type.
6559
6560         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
6561         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
6562
6563 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6564
6565         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
6566         GtkTreeModel from object to interface.
6567
6568 2000-10-16  Havoc Pennington  <hp@redhat.com>
6569
6570         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
6571         compilation
6572
6573 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6574
6575         * gtk/gtktreeselection.c: Add API documentation to all public
6576         functions.
6577
6578         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
6579         functions.
6580
6581 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
6582
6583         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
6584         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
6585         docs to all public functions.
6586
6587         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
6588         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
6589         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
6590         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
6591         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
6592         issue.
6593
6594 2000-10-14  Robert Brady  <robert@suse.co.uk>
6595
6596         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
6597
6598 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
6599
6600         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
6601         values other then G_TYPE_STRING.
6602         * gtk/gtktreeselection.c: Minor commenting updates.
6603         * gtk/gtktreeview.c: Format updates.
6604
6605 2000-10-09  Tor Lillqvist  <tml@iki.fi>
6606
6607         * README.win32: Update.
6608
6609         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
6610         lines that had been deleted by mistake (?).
6611
6612         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
6613         also the case fg==white and bg==black (but still not randomly
6614         coloured cursors). Thanks to Wolfgang Sourdeau.
6615
6616         * gdk/win32/*.c: Silence gcc -Wall.
6617
6618         * gtk/gtk.def: Add missing entry points.
6619
6620         Fixes by Hans Breuer:
6621
6622         * gdk/makefile.msc
6623         * gdk/win32/makefile.msc: Update.
6624
6625         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
6626         some MSVC thing, presumably), cause breakpoint on failures. Add
6627         GDK_NOR case. Call g_log_set_always_fatal.
6628
6629         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
6630         should be pased by reference.
6631         
6632         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
6633         
6634         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
6635
6636         * gdk/win32/gdkevents-win32.c
6637         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
6638
6639         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
6640         implementation object.
6641
6642         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
6643         not just windows.
6644         
6645         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
6646         Use the wrapper object.
6647         
6648 2000-10-06  Havoc Pennington  <hp@redhat.com>
6649
6650         * Makefile.am (SRC_SUBDIRS): contrib subdir
6651
6652         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
6653         so it can be used in Xlib version
6654
6655         * demos/testpixbuf.c (update_timeout): error checking from 1.0
6656         tree
6657
6658         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
6659         change from 1.0 tree that returns first frame of animation
6660         if the loaded file is an animation.
6661
6662         * contrib: add new directory to hold stuff that comes with GTK+
6663         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
6664         
6665         * configure.in: add contrib/*
6666
6667 2000-10-05  Havoc Pennington  <hp@redhat.com>
6668
6669         * demos/testpixbuf-save.c: add pixbuf save test
6670
6671         * demos/Makefile.am: add testpixbuf-save.c
6672
6673 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
6674
6675         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
6676         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
6677         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
6678         * gtk/gtktreeselection.[ch]: Replaced
6679         "node_selected"/"node_unselected" signal with "selection_changed"
6680         signal.
6681
6682 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6683
6684         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
6685         tree widget.
6686
6687 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6688
6689         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
6690         drawing.
6691
6692 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
6693
6694         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
6695         Move list pointer forwards before removing item from
6696         list. (Crash reported by Salmaso Raffaele)
6697
6698         * gdk/gdkwindow.h: Remove spurious trailing ,
6699
6700         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
6701         dependencies on uninstalled libraries, sorry folks.
6702
6703 2000-10-04  Havoc Pennington  <hp@redhat.com>
6704
6705         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
6706         gtk/gtkiconfactory.c: Fix copyrights    
6707
6708         * demos/testpixbuf.c: add inline pixbuf test
6709         
6710 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
6711
6712         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
6713         Add gdk_window_iconify.
6714
6715         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
6716         (gdk_window_set_geometry_hints): Add win_gravity
6717         to geometry structure.
6718
6719         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
6720         Implement _NET_WM_PING.
6721
6722         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
6723         Set _NET_WM_PID on the client leader.
6724
6725         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
6726         Handle UTF-8 better.
6727
6728         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
6729         UTF-8 better, set _NET_WM_NAME as well. Only set
6730         icon name if it hasn't previously been explicitely 
6731         set.
6732
6733 2000-10-03  Havoc Pennington  <hp@redhat.com>
6734
6735         * gtk/testtextbuffer.c: clean up trailing whitespace,
6736         add extensive tests for tag toggle iteration.
6737         
6738         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
6739         distance
6740
6741         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
6742         optimize case where the tag root is on level 1
6743         (gtk_text_line_previous_could_contain_tag): attempt to implement
6744         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
6745         functionality
6746
6747         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
6748         Implement this, though not very efficiently.
6749
6750         * gtk/gtktextiterprivate.h: reformat
6751
6752         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
6753         iterator
6754
6755         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
6756         this to properly revalidate the iterators.
6757
6758         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
6759         properly at the end of the line (and therefore on empty lines)
6760
6761         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
6762         maybe we should return a value...
6763
6764 2000-10-03  Tor Lillqvist  <tml@iki.fi>
6765
6766         * config.h.win32: Guard definition of alloca(). glib.h now handles
6767         that.
6768
6769         * gdk/gdk.def
6770         * gtk/gtk.def: Add new entry points.
6771
6772         Changes just to make GTK+ build without errors on Win32. No hope
6773         of it working in its current state, though...:
6774         
6775         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
6776         some functions from the X11 backend, just to make GTK+ build.
6777
6778         * gdk/makefile.mingw.in
6779         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
6780         number. Add new object files.
6781
6782         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
6783         GetMessageTime to get timestamp (where on X11 uses
6784         gdk_x11_get_server_time()).
6785
6786 2000-10-02  Havoc Pennington  <hp@pobox.com>
6787
6788         * gtk/gtktextview.c: text_window_* weren't static and should have
6789         been.
6790         Start work on child widgets; not yet complete, syncing to 
6791         office computer.
6792
6793         * gtk/gtktextchild.h: change this to contain a public interface,
6794         starting work on child interfaces.
6795         * gtk/gtktextchildprivate.h: move private interfaces here
6796
6797         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
6798
6799         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
6800         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
6801         gtk/gtktextmark.c: copyright notices
6802
6803         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
6804         internal functions      
6805
6806         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
6807         internal function
6808
6809         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
6810         Reformatting    
6811
6812 2000-09-30  Havoc Pennington  <hp@pobox.com>
6813
6814         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
6815         NULL start/end pointers
6816
6817         * gtk/gtktextbuffer.c: Write some docs
6818         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
6819         NULL, so you can just check whether there's a selection.        
6820
6821         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
6822         cleanup_line or segments_changed ourselves, it gets done 
6823         in unlink_segment
6824
6825         * gtk/gtktextmark.h:
6826         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
6827         
6828         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
6829
6830         * gtk/gtktextmark.c: delete some more old Tk cruft
6831
6832         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
6833         mark before removing it, so we can emit MARK_DELETED with a valid
6834         pointer.
6835         (gtk_text_buffer_mark_set): hold ref across signal emission
6836
6837         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
6838         whining about attempts to delete special marks
6839
6840         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
6841         underscore, since it's internal.
6842
6843         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
6844         now implemented in terms of iterators in gtktextiter.h
6845
6846         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
6847         New function, destructively sets contents of buffer. Also 
6848         a convenient way to clear the buffer by setting text to ""
6849
6850         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
6851         multiline string literal
6852
6853         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
6854         text changes.
6855
6856         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
6857         is not dereferenceable
6858         (gtk_text_iter_forward_lines): fix return value
6859
6860 2000-09-29  Havoc Pennington  <hp@redhat.com>
6861
6862         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
6863
6864         * gtk/gtktextview.c: Implement drag thresholding; change functions 
6865         that set border window size to have nicer name
6866         (gtk_text_view_mark_set_handler):  Fix this to have the 
6867         right signature.
6868
6869         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
6870
6871         * gtk/testtext.c: Update with API changes, put line numbers on 
6872         both sides.
6873         
6874         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
6875         with this
6876
6877         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
6878         pixbuf; delete a big block of #if 0 Tk code
6879
6880         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
6881         insert_pixmap with insert_pixbuf
6882
6883 2000-09-29  Martin Baulig  <baulig@suse.de>
6884
6885         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
6886         confusion with the GdkPixbuf of the GNOME 1.x platform.
6887
6888 2000-09-29  Havoc Pennington  <hp@pobox.com>
6889
6890         * gtk/gtktextview.c: Implement the side windows.
6891
6892         * gtk/testtext.c: Implement simple line numbering in the 
6893         left side window; seems to make scrolling sloooow. Oops.
6894         Also, cursor blink is for some reason causing redraws
6895         of the line numbers. Should investigate...
6896
6897 2000-09-28  Havoc Pennington  <hp@redhat.com>
6898
6899         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
6900         scrolling child windows, and draw focus rectangle properly.
6901         
6902         (gtk_text_view_buffer_to_window_coords):
6903         Coordinate transformation to deal with all these freaking windows
6904         and offsets
6905         (gtk_text_view_window_to_buffer_coords): transform the other way
6906
6907         * gtk/testtext.c (create_buffer): Update to match Pango API change
6908
6909         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
6910         anonymous tags
6911         (foreach_unref): don't emit remove signal from finalize, just
6912         set tag's parent to NULL
6913
6914 2000-09-26  Havoc Pennington  <hp@redhat.com>
6915
6916         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
6917         Fix some warnings       
6918
6919 2000-09-26  Havoc Pennington  <hp@redhat.com>
6920
6921         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
6922         headers into the private header list
6923
6924         * Makefile.am (pkgconfig_DATA): install pkg-config files
6925
6926         * configure.in: add pkg-config files
6927
6928         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
6929
6930         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
6931         outstanding icon caches on theme change.
6932
6933         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
6934         important types:
6935
6936         (GtkIconSource): Specification for creating a pixbuf 
6937         appropriate for a direction/state/size triplet from 
6938         a source pixbuf or filename
6939
6940         (GtkIconSet): List of GtkIconSource objects that are used to
6941         create the "same" icon (e.g. an OK button icon), and cache for
6942         rendered icons
6943
6944         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
6945         up the icon set for a given stock ID.  GTK maintains a stack of
6946         GtkIconFactory to search, and applications or libraries can add
6947         additional icon factories on top of the stack
6948         
6949         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
6950         the set of GtkIconSource specified for a given stock ID into 
6951         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
6952         RcStyle, under the specified stock ID.
6953
6954         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
6955         render_icon used to derive a GdkPixbuf from a GtkIconSource.
6956         This allows people to theme how prelight, insensitive, etc. are
6957         done.
6958
6959         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
6960         icon factories for a style, and return the resulting 
6961         icon set if any.
6962
6963         (gtk_style_render_icon): Render an icon using the render_icon 
6964         method in the GtkStyleClass.
6965
6966         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
6967         Use the style for a given widget to look up a stock ID, get the
6968         icon set, and render an icon using the render_icon method 
6969         of the style
6970
6971         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
6972         (contains information about a stock item), the built-in stock item
6973         IDs, and functions to add/lookup stock items.
6974
6975         * gtk/stock-icons/*: Stock icons that come with GTK
6976
6977         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
6978         a button based on a GtkStockItem
6979         (gtk_button_new_accel): Takes a uline string and accel group, and
6980         installs the accelerator.
6981
6982         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
6983         image-display widget.
6984
6985 2000-09-25  Havoc Pennington  <hp@redhat.com>
6986
6987         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
6988
6989         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
6990         Fix a bug when removing node data, we didn't properly 
6991         re-splice the linked list after removing the data.
6992
6993         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
6994         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
6995
6996         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
6997
6998         * gtk/gtktextlayout.c (set_para_values): Set tab array 
6999         for the layout from the GtkTextTag.
7000
7001         * gtk/gtktexttypes.h: delete tab and search cruft, 
7002         remove g_convert() in favor of GLib version
7003
7004         * gtk/gtktexttypes.c: remove tab implementation from here,
7005         move to Pango
7006
7007         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
7008         tab stuff using new PangoTabArray from Pango
7009
7010         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
7011         unused border_width stuff
7012
7013 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
7014
7015         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
7016         glib) and now useless utf_to_latin1() latin1_to_utf()
7017
7018         * gtk/gtktextview.[ch]: Change ::move_insert and
7019         ::delete_text action signals to ::move and ::delete;
7020         create the signals with the right enumeration type,
7021         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
7022         C-v bindings, change Home, End to move to beginning/end
7023         of line, Add C-Home C-End to move to beginning/end
7024         of buffer. Change ::cut_text to ::cut_clipboard, etc;
7025         combine ::scroll_text into ::move; use new GtkSelectionData
7026         functions to simplify DND text handling.
7027         
7028         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
7029         deletion enumerations here, rename enumeration values to 
7030         be consistently plural.
7031
7032         * gtk/gtktextbuffer.c: Use new clipboard interfaces
7033         for cut/copy/paste and primary selection.
7034
7035         * gtk/gtktextbuffer.[ch]: Remove excess time and
7036         'interactive' arguments from cut/copy/paste;
7037         rename cut to cut_clipboard, etc; remove
7038         gtk_text_buffer_get_clipboard_contents().
7039
7040         * gtk/gtktextlayout.[ch]: Add 
7041         gtk_text_layout_move_iter_to_line_end() to move the iter to 
7042         line ends.
7043
7044         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
7045         Functions to set or get a UTF-8 string on the selection
7046         data.
7047
7048         * gtk/gtkclipboard.[ch]: New, simplified selection handling
7049         interfaces.
7050
7051         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
7052         created widgets - one of these is useless if we don't.
7053
7054         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
7055         a public function clear all targets registered for the
7056         widget.
7057
7058         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
7059         Never call gtk_widget_realize() - that was just asking
7060         for bizarre side-effects.
7061
7062         * gtk/gtkselection.c (gtk_selection_owner_set): Call
7063         gdk_selection_owner_set even if the widget is the
7064         same so that we reliably update the timestamp on
7065         the server.
7066
7067         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
7068         gdk_x11_get_server_time() function.
7069         
7070         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
7071         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
7072         Add some tricky filtering on serial numbers for
7073         selection clear events to fix up long-standard
7074         race condition FIXME's in gtkselection.c.
7075
7076         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
7077         routines to convert from utf8 to compound text or
7078         STRING and from a text property to UTF-8.
7079
7080         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
7081         a convenience function gdk_get_current_event_time().
7082
7083         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
7084         and free selection_data->data properly
7085
7086 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
7087
7088         * gtk/gtkthemes.c: Remove some unecessary includes.
7089
7090 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
7091
7092         * gtk/gtktextdisplay.c
7093         * gtk/gtktextlayout.c
7094         * gtk/gtktexttag.c
7095         * gtk/gtktexttag.h
7096         * gtk/testtext.c: Change the overstrike property to strikethrough,
7097         to closer match pango.
7098
7099 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
7100
7101         * gtk/gtktextview.c: Fix up visibility so that focus,
7102         cursor_visible and blink interact properly.  Reenable cursor blink
7103         which had been roughly disabled. Make blink and focus
7104         properly per-view.
7105
7106         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
7107         Add a flag for whether to display insertion cursor and
7108         a function to set the flag.
7109
7110         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
7111         get_line_y() to get_line_yrange(), to be a bit more generally
7112         useful.
7113
7114 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
7115
7116         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
7117           do stop_navigating_submenu, to clear last timeout properly.
7118           Also in gtk_menu_motion_notify move ignore_enter above
7119           the conditional to make it always happen as suggested by Owen
7120
7121 2000-09-07  Tor Lillqvist  <tml@iki.fi>
7122
7123         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
7124
7125         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
7126         w32api headers.
7127
7128         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
7129         declarations.
7130
7131         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
7132         (gdk_win32_get_colormap): A line had been deleted by mistake.
7133
7134         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
7135         (gdk_event_translate): Handle more virtual keycodes to be able to
7136         generate GDK events for Control-comma, Control-period, etc.
7137
7138         * gtk/gtk.def: Add some missing entry points.
7139
7140 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
7141
7142         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
7143         Doc comment fixing. (Mostly non-matching parameter names.)
7144
7145         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
7146         comments a little to avoid looking like a doc comment.
7147
7148         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
7149         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
7150         conversions be changed to GError?)
7151
7152         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
7153         Move private #defines into .c file.
7154
7155         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
7156         order of argument addition, remove duplicates.
7157
7158         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
7159         parent class is FrameClass, not BinClass.
7160
7161         * gtk/gtk.h: Add gtkinvisible, which was missing.
7162         (It's occasionalyl useful for client apps, if seldom.)
7163
7164         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
7165         #define.
7166
7167 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
7168
7169         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
7170         coordinates when creating window, instead of GDK-space
7171         coordinates. (Avoid BadValue on too large windows.)
7172
7173 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7174
7175         * configure.in (use_mmx_asm): Remove conftest* after use along the
7176         lines of AC_TRY_COMPILE.        
7177         
7178         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
7179         of g_dirname, which is deprecated.
7180         (gtk_rc_parse_any): Removed calls to
7181         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
7182
7183         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
7184         Removed calls to g_hash_table_{freeze,thaw}, as they are
7185         deprecated now.
7186
7187         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
7188         instead of g_basename.
7189         
7190 2000-09-04 Elliot Lee <sopwith@redhat.com>
7191         
7192         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
7193         ANSI warning.
7194
7195 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
7196
7197         * gtk/gtkwidget.h:  Add some documenting comments about 
7198           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
7199           just as owen said on irc.
7200
7201         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
7202           set HAS_DEFAULT.  Only set it if there isn't another window
7203           holding it (a focus window which RECEIVES_DEFAULT) and only unset
7204           it if the widget is not the focused window with RECEIVES_DEFAULT.
7205           This fixes weird double default bugs in dialogs which has things
7206           call gtk_window_set_default at times.
7207
7208 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
7209
7210         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
7211         Nils Barth and David Santiago to improve submenu
7212         navigation. The patch does this by creating a triangular
7213         region from the point where the pointer leaves the
7214         menu to the submenu.  While the pointer is in
7215         that region and a timeout has not expired, events 
7216         that would cause the active submenu to change are
7217         ignored.
7218
7219 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
7220
7221         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
7222         moving a toplevel window immediately after sizing it would
7223         result in it being sized back to the old size since 
7224         impl->width, impl->height aren't updated until we hear
7225         back from the server. There is still a (longstanding) bug
7226         here that gdk_window_get_size() will give the wrong size
7227         until we do hear back.
7228
7229 2000-08-31  Havoc Pennington  <hp@redhat.com>
7230
7231         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
7232         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
7233         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
7234         Rename GtkTextStyleValues to GtkTextAttributes
7235
7236 2000-08-31  Havoc Pennington  <hp@pobox.com>
7237
7238         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
7239         for rapid testing whether an iterator is the end iterator
7240         (gtk_text_btree_new): init end line cache
7241         (gtk_text_line_is_last): use fast cached line to 
7242         see if we're the last line.
7243         (get_last_line): use cached line here too, should 
7244         speed up some random unrelated code.
7245         
7246 2000-08-30  Havoc Pennington  <hp@pobox.com>
7247
7248         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
7249         signals.
7250
7251         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
7252         delete_text signals. This allows the signals to be used for
7253         implementing undo.
7254
7255         * gtk/gtktextbuffer.c: Change signal handler signatures; 
7256         provide "interactive" argument when emitting insert_text or
7257         delete_text signal.
7258         
7259 2000-08-30  Havoc Pennington  <hp@pobox.com>
7260
7261         * gtk/gtktextbuffer.c: Docs
7262
7263 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
7264
7265         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
7266         from switch statements, since Tor removed the enumeration
7267         value.
7268         
7269         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7270         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
7271
7272 2000-08-29 Elliot Lee <sopwith@redhat.com>
7273         * */*.h: Use G_GNUC_CONST.
7274
7275 2000-08-27  Havoc Pennington  <hp@pobox.com>
7276
7277         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
7278         minor indentation fixes, inserted some FIXME about stuff I
7279         realized was broken while documenting it.
7280         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
7281         GTK convention  
7282
7283 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
7284
7285         * gtk/testgtk.c (create_styles): Fix double free of
7286         font desc.
7287
7288 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7289
7290         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
7291         
7292         * gtk/testgtk.c (create_styles): Add a test for modifying
7293         the style through gtk_widget_modify_*.
7294
7295         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
7296         a function to get the current modifier style.
7297
7298         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
7299         of the passed in GtkRcStyle instead of ref'ing it.
7300
7301         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
7302
7303 2000-08-20  Tor Lillqvist  <tml@iki.fi>
7304
7305         * gdk/gdkimage.h
7306         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
7307         shared memory image+pixmap GdkImage type, or
7308         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
7309         I am dropping that.
7310
7311         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
7312         actually call gtk_init_abi_check(), passing also
7313         sizeof(GtkWindow). Ditto for gtk_init_check(). 
7314
7315         * gtk/gtk.def
7316         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
7317         New functions, used to check that the GTK+-using code has been
7318         compiled using the correct compiler and switches. In particular,
7319         with gcc one has to use the -fnative-struct switch as GTK+ is
7320         compiled with that.
7321
7322 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
7323
7324         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
7325         ->prev fields when merging lists. (Found simultaneously
7326         by Pawel Salek and Jakub Jelinek)
7327
7328 2000-08-12  Tor Lillqvist  <tml@iki.fi>
7329
7330         * gdk/gdk.def
7331         * gtk/gtk.def: Add missing entries.
7332
7333         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
7334         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
7335
7336         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
7337         function. Dummy implementation at this point.
7338
7339         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
7340         rules. Undefine GTK_COMPILATION when compiling the test programs.
7341         
7342         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
7343
7344 2000-08-11  Tor Lillqvist  <tml@iki.fi>
7345
7346         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
7347         to convert back and forth from UTF-8 and the "system" (or "current
7348         locale") charset when necessary. Indentation/spacing cleanup.
7349
7350 2000-08-10  Havoc Pennington  <hp@redhat.com>
7351
7352         * Makefile.am (snapshot): Change the format of the snapshot
7353         version to match glib
7354
7355         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
7356         from EXTRA_DIST since it doesn't seem to exist
7357
7358 2000-08-10  Tor Lillqvist  <tml@iki.fi>
7359
7360         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
7361         version of the directory name (not the UTF-8 one) when building
7362         the path name to stat().
7363
7364 2000-08-03  Elliot Lee  <sopwith@redhat.com>
7365
7366         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
7367         PANGO_ATTR_SHAPE set.
7368
7369 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
7370
7371         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
7372         Peter Osterlund to simplify the code while keeping the
7373         functionality the same.
7374
7375 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
7376
7377         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
7378         is_viewable() test further inside the function, since removing the 
7379         window from the redraw list without clearing ->update_area
7380         was also very broken.
7381
7382 2000-08-02  Tor Lillqvist  <tml@iki.fi>
7383
7384         * configure.in: Check for <unistd.h>.
7385
7386 2000-08-01  Martin Baulig  <baulig@suse.de>
7387
7388         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
7389         to display the message that this is a development version of GTK+.
7390
7391 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
7392
7393         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
7394         was depending on widget->allocation instead of the width of text_area,
7395         which was incorrect for subclasses like GtkSpinButton.
7396
7397         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
7398         with width == 1 tests that should be width == -1.
7399
7400 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
7401
7402         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
7403         (broken, Elliot, every single window blank on X) custom code with call
7404         to gdk_window_is_viewable() which a) prevents code duplicate and
7405         b) works. 
7406
7407 2000-07-31  Elliot Lee  <sopwith@redhat.com>
7408
7409         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
7410         to get the GDK_PARENT_ROOT() macro to work.
7411         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
7412         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
7413         of, windows that aren't shown.
7414         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
7415         pointer grab stuff.
7416
7417 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
7418
7419         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
7420           s/gtk_main_iteration/g_main_iteration/
7421
7422           Did this already in change:
7423                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
7424           don't know how it got reverted.
7425
7426 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
7427
7428         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
7429         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
7430
7431         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
7432         not gdk_pixbuf.
7433
7434 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
7435
7436         * configure.in,po/{sp,sr}.po: Added Serbian files
7437
7438 2000-07-30  Tor Lillqvist  <tml@iki.fi>
7439
7440         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
7441
7442         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
7443         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
7444         GIOChannel implementation.
7445
7446         * gdk/win32/gdkinput.c
7447         * gdk/win32/gdkpango-win32.c: Update license name here, too.
7448
7449         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
7450         definition to match prototype.
7451
7452         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
7453
7454 2000-07-27  Elliot Lee  <sopwith@redhat.com>
7455
7456         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
7457         function, to allow handling image formats that cannot be detected
7458         by looking at content alone.
7459
7460 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
7461
7462         * docs/tutorial/*.gif *.jpg *.eps
7463           Update these to the same look-n-feel.
7464           Why does including images in DocBook suck so badly?
7465
7466 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
7467
7468         * gtk/gtktable.c: applied patch from Phil Thompson
7469         <phil@river-bank.demon.co.uk> that enables space settings for
7470         the last row/columns as well.
7471
7472 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
7473
7474         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
7475         updates the license headers to the GNU Lesser General Public License,
7476         as well as updating the copyright year to 2000.
7477
7478 2000-07-26  Robert Brady  <rwb197@zepler.org>
7479
7480         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
7481           and po/Makefile, was installing and looking for them under gtk20
7482           and gtk2 respectively.
7483
7484 2000-07-25  Havoc Pennington  <hp@redhat.com>
7485
7486         * gtk/testtext.c: Comment out some stuff that depends on the rest
7487         of my patches.
7488
7489 2000-07-25  Havoc Pennington  <hp@redhat.com>
7490
7491         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
7492         buffer
7493
7494 2000-07-25  Havoc Pennington  <hp@redhat.com>
7495
7496         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
7497         widget changes.
7498
7499         * gtk/gtktextview.h: To be consistent with usage of "line"
7500         throughout the API to mean "newline-terminated thingy", change
7501         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
7502         to MOVEMENT_LINE.
7503
7504         (GtkTextView): Add flags for default editability, and whether to
7505         show the cursor. Add functions to get/set that. Add 
7506
7507         (gtk_text_view_get_iter_location): new function
7508
7509         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
7510         gtktextlayout.h
7511         (g_convert): Add g_convert temporarily, will go in glib in a bit
7512         
7513         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
7514         GtkTextTagTableForeach instead of brokenly using GHFunc.
7515         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
7516
7517         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
7518         moved to public header.
7519
7520         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
7521         "invisible", since "elide" was a bad name.
7522         (gtk_text_tag_get_priority): Added
7523
7524         (GtkTextStyleValues): put this in public header, along with
7525         functions to use it.
7526
7527         * gtk/gtktextmarkprivate.h: Include more headers, since we no
7528         longer include gtktextbtree.h.
7529
7530         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
7531         gtk_text_mark_deleted
7532
7533         * gtk/gtktextlayout.h: Don't include the "really private" headers,
7534         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
7535         to make this possible. Now we only need to install
7536         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
7537         (However the Makefile.am isn't changed yet because of the
7538         logistics of merging gtk-hp-patches piecemeal)
7539
7540         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
7541         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
7542         gtk_text_iter_get_line is now used in the public API for a
7543         different purpose.
7544
7545         * gtk/gtktextiter.h: Clean up function names to be more
7546         consistent. Always call char offset "offset" and byte index
7547         "index". A "line" is always a line number. 
7548
7549         (gtk_text_iter_is_last): new function, more efficient than 
7550         the existing way to check
7551         (gtk_text_iter_is_first): new function, also more efficient
7552
7553         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
7554
7555         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
7556         gtk_text_iter_forward_char, etc.
7557
7558         (gtk_text_iter_forward_to_tag_toggle): Renamed from
7559         forward_find_tag_toggle, since this isn't a linear search
7560
7561         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
7562
7563         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
7564         New functions, search for a buffer substring.
7565
7566         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
7567         interactive and default editable (since we need to store that info
7568         until we receive the selection data).
7569
7570         Remove all the _at_char and at_line etc. versions of functions;
7571         only have iterator versions.
7572
7573         Add _interactive() versions of functions, that consider the
7574         editability of text. (FIXME add interactive flag to the 
7575         insert/delete signals per Darin's suggestion)
7576
7577         (gtk_text_buffer_get_tag_table): new function, demand-creates the
7578         tag table if necessary
7579
7580         Remove declaration of gtk_text_buffer_get_iter_from_string
7581
7582         (_gtk_text_buffer_get_btree): private/internal function, added.
7583         
7584
7585         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
7586         (gtk_text_line_is_last): new function
7587
7588 2000-07-25  Havoc Pennington  <hp@redhat.com>
7589
7590         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
7591         using GtkProgressBar. See Changes-2.0.txt for details.
7592
7593         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
7594         "pulse_step" which are the equivalent of
7595         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
7596         Implement new API.
7597         
7598         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
7599         (use_text_format) to mark whether text set on the progress bar is
7600         a format string. Deprecate entire GtkProgress interface.
7601
7602         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
7603         (gtk_progress_build_string): make this a no-op if use_text_format
7604         is FALSE
7605
7606         * docs/Changes-2.0.txt: Describe progress bar changes.
7607
7608 2000-07-25  Tor Lillqvist  <tml@iki.fi>
7609
7610         * Makefile.am: Include the build directory.
7611
7612         * configure.in: Generate build/Makefile, build/win32/Makefile,
7613         gdk/, gdk/win32/, and gtk/makefile.mingw.
7614
7615         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
7616         Add GETTEXT_PACKAGE.
7617         
7618         * gdk/gdk.def
7619         * gtk/gtk.def: Updates.
7620
7621         * gdk/gdkfont.h
7622         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
7623         need them any longer.
7624
7625         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
7626
7627         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
7628         PANGOWIN32_LIBS and gdk_pixbuf.
7629
7630         * gdk/win32: Compiles, but no doubt doesn't work at all.
7631
7632         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
7633
7634         * gdk/win32/gdkinput.c: New file, temporarily.
7635         
7636         * gdk/win32/gdkinput-win32.h: New file
7637
7638         * gdk/win32/gdkinputprivate.h: Remove.
7639
7640         * gdk/win32/gdkpango-win32.c: New file.
7641
7642         * gtk/makefile.mingw.in: New file
7643
7644         * gtk/makefile.cygwin: Removed
7645         
7646         * gtk/Makefile.am: Update accordingly.
7647
7648         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
7649         made externally visible.
7650
7651         * gtk/gtkmain.c: Use it.
7652         
7653         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
7654         is enough.
7655
7656         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
7657
7658 2000-07-24 Elliot Lee <sopwith@redhat.com>
7659         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
7660         individual backends already.
7661         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
7662         again. Yes, there really is a good reason for this, if you are using the gdkregion
7663         internals, and if you're not, why do you care?
7664         * gdk/gdkwindow.c: Fix inverted condition
7665         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
7666         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
7667         * gtk/gtkrange.c: Redraw trough when moving.
7668         * gtk/gtktypeutils.c: Fix warning by adding const cast.
7669         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
7670
7671 2000-07-23  Tor Lillqvist  <tml@iki.fi>
7672
7673         * configure.in: Check for mkstemp and sigsetjmp. Output
7674         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
7675
7676         More work on GDK for Win32. Still in an intermediate state.
7677
7678         * gdk/makefile.cygwin
7679         * gdk/win32/makefile.cygwin: Removed.
7680         
7681         * gdk/makefile.mingw.in
7682         * gdk/win32/makefile.mingw.in: New files.
7683
7684         * gdk/Makefile.am
7685         * gdk/win32/Makefile.am: Generate and distribute them.
7686
7687         * gdk/win32/gdkwindow-win32.h
7688         * gdk/win32/gdkdrawable-win32.h
7689         * gdk/win32/gdkpixmap-win32.h: New files.
7690
7691         * gdk/win32/gdkcolor-win32.c
7692         * gdk/win32/gdkcursor-win32.c
7693         * gdk/win32/gdkdrawable-win32.c
7694         * gdk/win32/gdkgc-win32.c
7695         * gdk/win32/gdkimage-win32.c
7696         * gdk/win32/gdkprivate-win32.h
7697         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
7698         Rename fields and variables called xcursor, xid, etc (these names
7699         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
7700
7701 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
7702
7703         * gtk/gtkentry.[ch]: Fix some problems with vertical
7704         alignment.
7705
7706         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
7707         char/byte confusion.
7708
7709 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
7710
7711         * gtk/gtktextview.c (changed_handler): Fix bug where
7712         redraw wasn't being done properly when height of
7713         dirty region changed.
7714
7715         * demos/Makefile.am: Remove various references to
7716         -lgmodule
7717
7718 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
7719
7720         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
7721         PangoAttrShape to reserve space for pixmaps, add 
7722         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
7723         in the display functions.
7724         
7725         * gtk/testgtk.c (create_layout): Set some more exotic
7726         scrolled window options
7727
7728         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
7729         Add function to set the shadow type of a window, to allow
7730         putting a shadow around widgets such as GtkLayout or GnomeCanvas
7731         which don't draw their own frame.
7732
7733 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
7734
7735         * docs/tutorial/package-db-tutorial.sh: New file for
7736           packaging DocBook format tutorial
7737
7738 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
7739
7740         * docs/tutorial/gtk-tut.sgml: Minor updates
7741
7742         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
7743
7744 2000-07-19  Tor Lillqvist  <tml@iki.fi>
7745
7746         * gtk/gtksignal.c: Fix C++ comment.
7747
7748         * gtk/gtkimmulticontext.c
7749         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
7750         don't return value from void functions.
7751
7752         * gtk/gtk.def: Add gtk_rc_style_unref.
7753
7754 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7755
7756         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
7757         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
7758         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
7759         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
7760         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
7761         gtk/gtktypeutils.h: Include files outside of the extern "C"
7762         block. Makes some C++ compiler happy. Reported by Denis Vakatov
7763         <vakatov@peony.nlm.nih.gov>.
7764
7765 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
7766
7767         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
7768           Completes first pass. Hurrah!
7769
7770 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
7771
7772         * docs/tutorial/gtk-tut.sgml: More clean ups.
7773
7774 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
7775
7776         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
7777         paint the background of the text area which was accidentally
7778         removed at some point.
7779
7780         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
7781           
7782          - Move most of the functionality from the theme vtable
7783            into GtkRcStyleClass and GtkStyleClass. The moved
7784            vtable functions were changed a bit in the move to
7785            work better in their new home.
7786
7787          - Get rid of the engine and engine_data fields from
7788            GtkRcStyle and GtkStyle; instead the theme
7789            engine derives theme-specific subclasses of GtkRcStyle
7790            and GtkStyle
7791
7792          - Add extra dlsym() found entry point to themes,
7793            theme_create_rc_style().
7794
7795         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
7796         in gtk_style_real_copy.
7797
7798         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
7799         to register a type associated with an engine. (The engine
7800         won't be unloaded as there is an instance of the type.)
7801
7802
7803 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
7804
7805         * docs/tutorial/gtk-tut.sgml: Clean ups.
7806
7807 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
7808
7809         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
7810           of cleaning up to do.
7811
7812 2000-07-15  Tor Lillqvist  <tml@iki.fi>
7813
7814         * gdk/testgdk.c: New file, quick hack to test backends for
7815         pixel-by-pixel correctness of the most simple graphic operations.
7816
7817 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
7818
7819         * Really release 1.3.1
7820         
7821         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
7822         include structure.
7823
7824 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
7825
7826         * Released 1.3.1
7827
7828 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
7829
7830         * gtk/gtktextlayout.c: use FALSE for size_only most
7831         of the time when calling gtk_text_layout_get_line_display()
7832         to avoid causing double reshapes when a redraw follows
7833         immediately after.
7834
7835 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
7836
7837         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
7838         appropriate region and gdk_window_process_updates() so trough
7839         updating doesn't lag behind the window being scrolled.
7840
7841         * gdk/gdkgc.c: Make parent_class pointer static.
7842          
7843 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
7844
7845         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
7846         include <string.h>.
7847          
7848         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
7849         cut-and-paste error in computing memory offset for 4 channels.
7850
7851 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
7852
7853         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
7854         gtk_rc_append_default_pixmap_path(), since it wasn't
7855         adding an interesting path and we don't have a meaningful
7856         default for this value.
7857
7858 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
7859
7860         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
7861         gtk-config to gtk-config-2.0 move gtk_.m4 to
7862         gtk-2.0.m4
7863
7864         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7865         gdk/Makefile.am demos/Makefile.am: Change 
7866         library names to libgtk-1.3.la, etc, so that we
7867         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
7868
7869         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7870         gdk/Makefile.am gdk/x11/Makfile.am
7871         Move include files into /usr/include/gtk-2.0, 
7872         /usr/lib/gtk-2.0/include/
7873          
7874         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
7875         gtk/gtkintl.h: Change package for gettext from 
7876         gtk+ to gtk20. Put hack in autogen.sh to modify
7877         po/Makefile.in.in after gettextize to make this
7878         possible.
7879
7880         * gtk+.spec: Some updates, not tested.
7881
7882         * gdk-pixbuf/Makefile.am: Move loaders into
7883         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
7884
7885         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
7886         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
7887         to THEMENAME/gtk-2.0/. Move engine directory  to
7888         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
7889         
7890 2000-07-12  Tor Lillqvist  <tml@iki.fi>
7891
7892         Win32 changes, still doesn't build though.
7893
7894         * gdk/makefile.cygwin
7895         * gdk/win32/makefile.cygwin
7896         * gtk/makefile.cygwin: Updates.
7897
7898         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
7899         default values for fg and bg pixel as X11 does (0 and 1), not
7900         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
7901         Use 0 for pen width by default (treated as 1 anyway later, but for
7902         apps that might check the value in the GdkGC).
7903         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
7904         interface to gdk_gc_predraw and _postdraw.
7905
7906         * gdk/win32/gdkwin32.h
7907         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
7908
7909         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
7910         extraneous semicolon.
7911
7912         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
7913
7914         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
7915         not the Win32 bitspixel value.
7916
7917         * gdk/win32/gdkcc-win32.c:
7918         * gdk/win32/gdkcolor-win32.c 
7919         * gdk/win32/gdkprivate-win32.h
7920         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
7921         GDK object structure.
7922
7923 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
7924
7925         * docs/tutorial/gtk_tut_12.es.sgml (name): 
7926         * docs/tutorial/gtk_tut_it.sgml (name): 
7927         * docs/tutorial/gtk_tut_fr.sgml (name): 
7928         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
7929         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
7930
7931 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
7932
7933         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
7934           small changes.
7935
7936 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
7937
7938         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
7939         a bug here, never been here and never fixed anything ;(
7940         (don't segfault if tree->root_tree is NULL, which happens prior
7941         to widget realization, but puke instead).
7942
7943 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
7944
7945         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
7946         add the necessary tokens.
7947
7948         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
7949         (gtk_rc_style_to_style): copy thicknesses.
7950         (gtk_rc_init_style): apply thicknesses.
7951         (gtk_rc_parse_style): parse xthickness and ythickness.
7952
7953         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
7954
7955         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
7956         (gdk_window_new): 
7957         (_gdk_windowing_window_init): 
7958         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
7959         (gdk_pixmap_create_from_data): 
7960         (gdk_bitmap_create_from_data): 
7961         (gdk_pixmap_new): 
7962         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7963         (gdk_image_new): 
7964         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
7965         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
7966         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
7967         (gdk_colormap_get_system): 
7968         (gdk_colormap_new): 
7969         * gdk/gdkwindow.c (gdk_window_init): 
7970         * gtk/gtkstyle.c (gtk_style_new):
7971         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
7972         * gdk/gdkpixmap.c (gdk_pixmap_init): 
7973         * gtk/gtkrc.c (gtk_rc_style_new):
7974         use g_object_new() instead of g_type_create_instance() which
7975         is a private function for fundamental type implementations.
7976
7977 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
7978
7979         * configure.in: Add check for db2html
7980
7981 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
7982
7983         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
7984         hack to set glib_debug_objects based on gtk_debug_flags.
7985
7986 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
7987
7988         * INSTALL.in: Update the Prerequisites section.
7989
7990         * Makefile.am demos/Makefile.am docs/Makefile.am
7991         docs/tutorial/Makefile.am gdk/x11/Makefile.am
7992         gdk/linux-fb/Makefile.am: Dist fixes
7993
7994 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
7995
7996         * NEWS: 10,000 foot view of 1.3.1 changes.
7997
7998 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
7999
8000         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
8001         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
8002         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
8003         gdk/x11/gdkmain-x11.c: 
8004
8005         Patch from George Lebl to add a GdkGrabStatus enumeration to use
8006         as a return value of gdk_*_grab(). Previously, we just
8007         returned the X11 values directly.
8008
8009 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
8010
8011         * gdk/x11/Makefile.am: Patch from George Lebl to 
8012         install all the headers in the right place.
8013
8014 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
8015
8016         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
8017           initial conversion to DocBook.
8018
8019 2000-07-04  Tor Lillqvist  <tml@iki.fi>
8020
8021         * README.win32: Improve a bit.
8022
8023         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
8024         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
8025         Alt+0nnn on the numpad (used to enter characters by numeric code
8026         from current DOS or ANSI codepage) working correctly, as in other
8027         Windows apps.
8028
8029         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
8030         same argument validity tests as in X11 version.
8031         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
8032
8033         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
8034         definitions in case missing from headers.
8035
8036         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
8037         destroy the window-specific cursor.
8038         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
8039         calling GetModuleHandle(NULL).
8040         (gdk_window_set_cursor): Reworked to always copy the passed cursor
8041         with CopyCursor before setting it as the window-specific
8042         cursor. It is OK for the caller to destroy the GdkCursor (and thus
8043         also its Windows cursor) after calling this function. Destroy any
8044         previous window-specific cursor.
8045
8046 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
8047
8048         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
8049         font charset is iso8859-1, not iso-8859-1.
8050
8051 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
8052
8053         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
8054         Use g_get_charset() instead of g_get_codeset().
8055
8056         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
8057         Comment out some strdup'ing functions to keep timj
8058         happy until we finish fighting this out.
8059
8060 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
8061
8062         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
8063         <= width or height.
8064
8065         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
8066         from 1.2 for parent/child states.
8067
8068         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
8069         of typos.
8070
8071         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
8072         event structures, replace with a generic axes field. Replace 
8073         deviceid/sourec with GdkDevice *device.
8074
8075         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
8076         to extract particular axis use value from event. (Also
8077         can be used for normal X/Y.)
8078
8079         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
8080         allow for arbitrary number of axes, namespace everything
8081         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
8082         everywhere.
8083
8084         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
8085         Get rid of the gdk_input_vtable setup if favor of simply
8086         defining the functions in gdkinput-none/gxi/xfree.c in
8087         a similar fashion to the way that the port structure is 
8088         done.
8089
8090         * gtk/gtkdnd.c: Fix fields of synthesized button press event
8091         for new event structures. 
8092
8093         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
8094         new device interfaces.
8095
8096 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
8097
8098         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
8099         set the initial text.
8100
8101         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
8102         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
8103         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
8104         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
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:43:41 2000  Owen Taylor  <otaylor@redhat.com>
8110
8111         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8112         pango_layout_set_font_description to simplify.
8113
8114 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
8115
8116         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
8117         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
8118         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
8119
8120         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
8121         PANGO_PIXELS() macro.
8122
8123 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
8124
8125         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
8126         that returns a PangoContext owned by the widget and updated to
8127         match future changes in the widget. Also, make 
8128         gtk_widget_create_pango_layout() use this context. If we ever
8129         add a ::changed signal to PangoContext, this will make things
8130         much more convenient. 
8131
8132         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
8133         in the appropriate places instead of destroying the layouts and
8134         creating new ones.
8135
8136         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
8137         in a few strategic places.
8138
8139 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
8140
8141         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
8142         gtk_widget_size_request() on reparented child, if one. Otherwise,
8143         queue_resize() on the child never results in it getting size-requested
8144         at all.
8145
8146         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
8147         in option menus, so that (with luck) people won't copy it into
8148         their apps in the future.
8149
8150         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
8151         to gtk_option_menu_calc_size. This isn't perfect, but should fix
8152         a lot of problems with changing the size of the menu's menu
8153         items after adding it to the option menu.
8154
8155         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
8156
8157         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
8158         the text direction for a widget changes.
8159
8160         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
8161         ::direction_changed to get rid of various hacks.
8162
8163 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
8164
8165         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
8166         name.
8167
8168 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
8169
8170         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
8171         flag to the structure. Do not call XFreePixmap on pixmaps created
8172         by gdk_pixmap_foreign_new().
8173
8174 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
8175
8176         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
8177         value using GdkRGB functionality given GdkColormap and GdkColor.
8178         (name not final, waiting for inspiration.)
8179         
8180         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
8181         set the foreground/background of a GC using the GC's colormap
8182         and GdkRGB. (name not final, waiting for inspiration.)
8183
8184         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
8185         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
8186
8187         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
8188         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
8189         purely a function of the corresponding colormap. Make
8190         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
8191
8192         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
8193         gdk_pixbuf_*create_from_xpm_* in terms of
8194         gdk_pixbuf_new_from_xpm_data(), move into platform independent
8195         code.
8196
8197         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
8198         advantage of the new draw_rgb_32_image_dithalign.
8199
8200         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
8201
8202         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
8203         on each created GC.
8204
8205         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
8206
8207         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
8208         which we initialize from the drawable when the GC is created,
8209         if the drawable has a colormap.
8210
8211         * gdk/x11/gdkgc-x11.c: include string.h for memset.
8212
8213         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
8214
8215         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
8216
8217 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
8218
8219         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
8220         actually returning expose events, make sure to set
8221         the count field properly.
8222
8223         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
8224         accidentally reintroced bug which always cleared
8225         the graphics_exposures value. 
8226
8227 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
8228
8229         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
8230
8231 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
8232
8233         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
8234
8235 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
8236
8237         * docs/faq/gtk-faq.sgml: Start of Section 6.
8238
8239 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
8240
8241         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
8242         
8243         (Fixes problem with drawing childless frames. Pointed out
8244         by and a first patch from Anders)
8245         
8246         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
8247         compute a child_allocation, even if we don't have a child.
8248
8249         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
8250         Always chain to the parent's impl, even if we don't have a child.
8251
8252 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8253
8254         * gdk/gdkrgb.c: If possible, create only a single shm segment and
8255         use multiple parts of it instead of creating a bunch of separate
8256         segments, since the maximum number of segments per system is not
8257         large. (This might be worth backporting to GTK+-1.2.x if we make a
8258         new release )
8259
8260         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
8261         structure in preparation for per-colormap GdkRGB.
8262
8263         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
8264         to False when we get EINVAL from shmget so that the caller of
8265         gdk_image_new can retry with a smaller segment size.
8266
8267 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
8268
8269         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
8270
8271 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
8272
8273         * configure.in: make the current version number 1.3.1 (binary age 0,
8274         interface age 0).
8275         
8276         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
8277         gtkcompat.h is all we want.
8278
8279         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
8280         GLib primitive types. fixed g_type_register_fundamental() argument
8281         ordering.
8282
8283         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
8284         compiles.
8285
8286         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
8287         object code cleanup, comment trigraph fixes, etc...
8288
8289 2000-06-23  Havoc Pennington  <hp@redhat.com>
8290
8291         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
8292         instead of making up a bogus name for first_para_mark
8293
8294         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
8295         0 as a context ID
8296
8297 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
8298
8299         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
8300
8301 2000-06-21  Havoc Pennington  <hp@pobox.com>
8302
8303         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
8304         we didn't check window->bg_pixmap != GDK_NO_BG.
8305
8306         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
8307         gdk-pixbuf
8308
8309 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
8310
8311         * docs/faq/gtk-faq.sgm: Move file to here.
8312           TODO: Update Makfile.am 
8313
8314 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
8315
8316         * docs/gtk-faq.sgm: Add Section 2
8317
8318 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
8319
8320         * docs/gtk-faq.sgm: New file. Start of DocBook
8321           version of the FAQ.
8322
8323 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
8324
8325         * configure.in (GDK_PIXBUF_MAJOR): Define version
8326         numbers for GDK_PIXBUF_*, as they get substituted
8327         into a header file. Need to consider versioning
8328         for gdk-pixbuf more carefully later.
8329
8330 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
8331
8332         Work with srcdir != builddir.   
8333         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
8334         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
8335         * demos/testpixbuf.c: Likewise.
8336         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
8337         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
8338         <gdk/x11/gdkx.h>.
8339         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
8340         "gdk-pixbuf.h".
8341         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
8342
8343 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
8344
8345         * TODO.xml: Change 1.4 version numbers to 2.0.
8346
8347 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
8348
8349         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
8350         fixups to GTK+ standard.
8351
8352 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
8353
8354         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
8355         gdk-pixbuf.
8356
8357         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
8358         fixups for GObject.
8359
8360         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
8361         gdk-pixbuf with GDK dependencies moved into GDK.
8362         
8363         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
8364         move gdk-pixbuf-loader here until GObject has signals.
8365
8366         * demos/: New directory of demos. Move demos from
8367         gdk-pixbuf here.
8368
8369         * demos/pixbuf-init.c: Small bit of code to check for
8370         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
8371         set GDK_PIXBUF_MODULEDIR appropriately.
8372
8373         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
8374         define which no longer makes sense.
8375
8376 2000-06-21  Havoc Pennington  <hp@redhat.com>
8377
8378         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
8379         gtk_get_default_language
8380
8381         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
8382         new function to get the default language
8383
8384         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
8385         s/gtk_text_view_style_values/gtk_text_style_values/
8386
8387         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
8388         Add a "language" field to tags.
8389
8390         (gtk_text_tag_set_arg): Fix bug in setting
8391         "bg_full_height_set" tag.
8392
8393 2000-06-21  Havoc Pennington  <hp@redhat.com>
8394
8395         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
8396         in the interfaces
8397
8398         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
8399         stuff instead when possible.
8400
8401         * gtk/gtktexttypes.h: Delete some unused constants
8402
8403         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
8404         testtextbuffer.c: use glib instead of custom unicode routines
8405
8406 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
8407
8408         * docs/es/: Removed mistakenly added generated sgml
8409
8410         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
8411         Remove outdated info files.
8412
8413         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
8414         Moved tutorial files into subdir
8415
8416         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
8417         subdir.
8418
8419         * docs/man/gtk_button.pod: Remove. (contents will be
8420         integrated into gtk-reference button page.)
8421
8422         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
8423         docs/faq/Makefile.am: Adjust for new organization
8424
8425 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
8426
8427         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
8428         not $(MKINSTALLDIRS)
8429
8430 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
8431
8432         * gtk/testgtk.c (create_text): Finish the job Elliot started
8433         of removing font setting test for text widget. (Since text widget
8434         and GdkFont are not deprecated, and cause portability problems.)
8435
8436 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
8437
8438         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
8439         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
8440         Remove use of libunicode in favor of new GLib functions.
8441
8442         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
8443         nano-x, framebuffer. The X11 include is just a hack until we get
8444         the necessary functions in gdkcolor.h, so there is no reason to
8445         add other includes of platforms.
8446
8447         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
8448         window bigger than the screen change.
8449
8450         * gtk/testgtk.c: Revert some random changes from Elliot
8451         that had no particular point and were causing testgtkrc
8452         not to function correctly.
8453         
8454         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
8455         because GdkSegment and GdkRegionBox have the same fields,
8456         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
8457         results in clearer code.
8458
8459         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
8460         gdk_input_translate_coordinates): Fix missed GdkObjectification
8461
8462 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8463
8464         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
8465         * gtk/gtk{plug,socket}.h: Missed commits from previous.
8466
8467 2000-06-20  Havoc Pennington  <hp@redhat.com>
8468
8469         * modules/linux-fb/Makefile.am: Make this compile
8470         without framebuffer enabled
8471
8472         * gdk/linux-fb/Makefile.am: Add conditional to not build
8473         framebuffer unless specified in configure
8474
8475         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
8476         the size of the target instead of source if -1 was passed for
8477         width/height
8478
8479         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
8480         width/height confusion.
8481
8482 2000-06-19  Havoc Pennington  <hp@redhat.com>
8483
8484         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
8485         GDK_DRAWABLE_XID. In the future, we probably want to make it
8486         faster with G_DISABLE_CHECKS turned on.
8487
8488 2000-06-14  Havoc Pennington  <hp@redhat.com>
8489
8490         * gdk/Makefile.am: add gdkpixmap.c
8491
8492         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
8493         s/gdk_image_init/_gdk_windowing_image_init
8494
8495         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
8496         ref/unref
8497
8498         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
8499
8500         * gdk/gdkcompat.h: remove GdkWindowType compat, since
8501         GdkWindowType is now non-deprecated; 
8502         change gdk_window_get_type() compat to be
8503         gdk_window_get_window_type().
8504
8505         * gdk/gdkdnd.h: make GdkDragContext a GObject.
8506
8507         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
8508         virtual GObject. Make all functions call into the vtable.
8509         Move gdk_image_put() guts in here. Remove GdkDrawableType
8510         and gdk_drawable_get_type(), these are now GdkWindow-specific.
8511         draw_image, get_depth, get_size, set_colormap, get_colormap,
8512         get_visual added to the vtable.
8513         
8514         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
8515         GObject. Virtualize everything. 
8516         (gdk_gc_new_with_values): remove check for destroyed window,
8517         because now GdkWindow::create_gc will check this.
8518         (gdk_gc_set_values): New function to set GC values, this 
8519         was already implemented but wasn't in the header
8520
8521         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
8522
8523         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
8524         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
8525         remove _gdk_window_class; add _gdk_window_impl_get_type() and
8526         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
8527         _gdk_windowing_window_init, rename gdk_image_init to
8528         _gdk_windowing_image_init.
8529         
8530         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
8531         (gdk_draw_layout): Remove check for destroyed window, 
8532         because all the drawable methods already check it.
8533         
8534         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
8535         Add gdkpixmap.c which contains implementation of GdkDrawable
8536         virtual table (by chaining to a platform-specific implementation
8537         object).
8538         
8539         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
8540         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
8541         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
8542         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
8543         GdkColormapPrivate. 
8544
8545         * gdk/gdktypes.h: #include <glib-object.h>
8546
8547         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
8548         Move most functionality to platform-specific implementation
8549         object. GdkWindow itself now handles the backing store, then
8550         chains to the platform-specific implementation.
8551         (gdk_window_get_window_type): return GdkWindowType of the window.
8552         (gdk_window_peek_children): New routine, returns the children of 
8553         a GdkWindow
8554         (gdk_window_get_children): Was in X11-specific code and did 
8555         XQueryTree. Changed to simply return a copy of window->children; 
8556         so it can go in cross-platform code.
8557         
8558         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
8559
8560         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
8561         GdkColormap; just changed to use the new private data instead
8562         of casting to GdkColormapPrivate.
8563
8564         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
8565         gdk_cursor_new().
8566
8567         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
8568         (private data member in the GObject). 
8569         (xdnd_manager_source_filter): Function had broken 
8570         error handling, fix it (use gdk_error_trap_push).
8571
8572         * gdk/x11/gdkdrawable-x11.c: This file now implements
8573         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
8574         base class is purely for the convenience of the X port,
8575         and not part of the interface to cross-platform GDK.
8576
8577         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
8578         
8579         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
8580         specific to X, and returned by the create_gc virtual method
8581         of GdkDrawableImplX11. 
8582         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
8583         rather than gchar, this was also changed in the GdkGC vtable.
8584         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
8585         mask is 0, return immediately, instead of checking every flag.
8586         This is faster, and keeps us from segfaulting if values is NULL
8587         and the mask contains some nonzero flags.
8588
8589         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
8590         GdkWindow.
8591
8592         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
8593         GdkWindowPrivate is gone.
8594
8595         * gdk/x11/gdkim-x11.c: rename things that got renamed.
8596
8597         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
8598         remove the image_put stuff that got transferred to GdkDrawable.
8599         
8600         * gdk/x11/gdkinput.c: renamings
8601
8602         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
8603
8604         * gdk/x11/gdkpixmap-x11.c: GObject conversion
8605
8606         * gdk/x11/gdkprivate-x11.h: indentation fixes
8607
8608         * gdk/x11/gdkproperty-x11.c: renamings
8609
8610         * gdk/x11/gdkselection-x11.c: renamings
8611
8612         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
8613         implements the platform-specific "impl" object.
8614         Moved gdk_window_get_children to gdk/gdkwindow.c
8615
8616         * gdk/x11/gdkx.h: Remove all the private structs and private datas
8617         that no longer exist. Add declaration of GdkGCX11 object here.
8618         Fix all the macros to still work. 
8619
8620         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
8621         GdkDragContext from the boxed types since they are now GObjects.
8622
8623         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
8624         moved xthickness/ythickness into the instance. GtkStyleClass
8625         functions are now in the standard vtable for GtkStyle, so you have
8626         to create a GObject subclass to write a theme engine.
8627         (gtk_style_copy): fixed a leaked PangoFontDescription
8628         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
8629         can be the standard GObject function.
8630         
8631         * Throughout GTK:
8632         s/style->klass->[xy]thickness/style->[xy]thickness
8633         s/pango_layout_unref/g_object_unref/
8634
8635         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
8636         
8637         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
8638         accessing GDK internals.
8639
8640         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
8641         accessing GDK internals.
8642
8643 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8644
8645         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
8646
8647         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
8648         problem by calculating event position relative to the trough
8649         rather than the slider.
8650         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
8651
8652         * gdk/gdkgc.h: Add GDK_NOR.
8653
8654         * configure.in, Makefile.am: Add modules top level dir
8655         * configure.in: Only use pangox library if building x11 target.
8656         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
8657
8658 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8659
8660         * gtk/gtkcolorsel.c: Change private class member to be named
8661         private_data throughout the file.
8662
8663         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
8664         private_data to avoid clashing with keyword.
8665
8666 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8667
8668         * gdk/gdkdnd.h: Add comment to remove warning.
8669
8670 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
8671
8672         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
8673         Byelorussian language; changed the Makefile and file names 
8674         to reflect that.
8675
8676 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
8677
8678         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
8679         rather than gdk_window_hide; this makes things work
8680         correctly if the window is programmatically hidden while
8681         iconified.
8682
8683 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
8684
8685         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
8686         cut and paste typo where wrong pixmap was being
8687         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
8688
8689 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
8690
8691         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
8692         Add helper function to compute format / bytes 
8693         relationship. Use in a couple places to fix up
8694         errors which assume 8 * format.
8695
8696         * gtk/gtkselection.c (gtk_selection_request): Use 32
8697         rather than 8 * sizeof (GdkAtom), to work correctly
8698         on Alpha.
8699
8700 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
8701
8702         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
8703         libgtk.la
8704         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
8705         versions
8706
8707         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
8708         checking macros return NULL since the function has a return value.
8709
8710 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
8711
8712         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
8713         GTK+ from building at all.
8714
8715         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
8716
8717 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
8718
8719         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
8720         gtk/Makefile.am: make it possible to configure gtk for different
8721         targets on the same platform. The library name is now 
8722         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
8723         flag. Only the x11 target compiles right now.
8724         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
8725         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
8726         * gdk/nanox/gdk*generic*: delete generic region code.
8727         * gdk/linux-fb/gdk*generic*: delete generic region code.
8728         * README.nanox: update information.
8729         
8730 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
8731
8732         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
8733         prepend not append. (Pointed out by Brett Hall.)
8734
8735 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
8736
8737         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
8738
8739 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
8740
8741         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
8742         need this later, and this makes sure that the atexit for
8743         glib gets called after that for GDK, so atexits are
8744         properly ordered for object leak checking.
8745
8746         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
8747
8748         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
8749         pango_x_shutdown_display()
8750
8751         * gtk/simple.c (main): Close window on destroy.
8752
8753 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
8754
8755         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
8756         to treat initial creation different from setting with 
8757         regards to the graphics-exposures parameter, so add a parameter
8758         indicating whether this is initial or not.
8759
8760 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
8761
8762         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
8763         to sort of work by adding an extra return_exposes arg
8764         to gdk_event_translate() - it might be better to simply
8765         deprecate the function altogether and force people to rewrite
8766         without it. gdk_window_scroll() handles most of it, and where
8767         gdk_window_scroll() doesn't work, simply redrawing more does.
8768
8769         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
8770         assertion.
8771
8772         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
8773
8774         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
8775         bunch of pretty much useless /* Print debugging info */ comments 
8776         which had drifted away from the code they were commenting.
8777
8778 2000-06-02  Havoc Pennington  <hp@pobox.com>
8779
8780         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
8781         is in working order.
8782         
8783         * gtk/testtext.c: Change to reflect anonymous mark API
8784
8785         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
8786
8787         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
8788         field, which was unused.
8789
8790         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
8791         saves some typing.
8792
8793         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
8794
8795         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
8796         flag on the insertion point and selection bound
8797
8798         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
8799         make mark-manipulation functions take a GtkTextMark* instead of a
8800         mark name.
8801         
8802         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
8803         GtkTextMarkBody; will be used to detect attempts to delete
8804         the permanent marks (insert and selection bound)
8805
8806         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
8807
8808 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
8809
8810         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
8811         flag to on.
8812
8813         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
8814         Honor DOUBLE_BUFFRED_FLAG
8815
8816         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
8817         function to set the DOUBLE_BUFFERED flag.
8818
8819         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
8820         or not exposes done on the widget should be double-buffered.
8821
8822         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
8823         to be what would be expected. (Fixes problem with a
8824         g_return_if_fail() validating a TextDirection enumeration)
8825
8826 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
8827
8828         * gtk/gtkwidget.c: Remove all references to 
8829         offscreen flag which was no longer used.
8830
8831         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
8832
8833         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
8834         for non-null label_widget->parent.
8835
8836         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
8837         which no longer was used.
8838
8839         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
8840
8841         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
8842         for null arguments.
8843
8844         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
8845         check for destroyed windows.
8846
8847 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
8848
8849         * gtk/gtkimmulticontext.c: Add a finalize method and unref
8850         the slave context there.
8851
8852         * gtk/gtkinvisible.[ch]: Make reference counting behavior
8853         identical to GtkWindow.
8854
8855 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
8856
8857         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
8858         pangox to here, so we can write them independent of rendering
8859         system, using GDK primitives.
8860
8861         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
8862         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
8863         since we have a rendering-system independent implementation in
8864         terms of draw_glyphs().
8865         
8866         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
8867         function to render a single line.
8868
8869         * gdk/x11/gdkpango.c: Move the guts of this file mostly
8870         into ../gdkpango.c, which simplifies things, since we
8871         don't have to deal with raw X gc's.
8872
8873 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
8874
8875         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
8876         get the logical attributes for a given GtkTextLine.
8877
8878 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
8879
8880         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
8881         g_locale_get_codeset() to g_get_codeset() change.
8882
8883 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
8884
8885         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
8886         descriptions.
8887
8888         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
8889         the entry.
8890
8891         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
8892         redoing (vastly simplifying) for Pango. Still needs quite
8893         a bit of work. (Size selection is currently poor. List of 
8894         predefined sizes is not a good idea, since all of these
8895         sizes won't necessarily be distinct.)
8896
8897 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
8898
8899         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
8900         CODESET results for LANG=C.
8901
8902 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
8903
8904         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
8905         which takes a stringized pango font description;
8906         ignore the older 'font' and 'fontset' declarations.
8907
8908         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
8909         field with a GdkFont derived via gdk_font_from_description(),
8910         for compatibility. (Should we just remove it entirely?
8911         Probably too much compatibility breakage, but people
8912         should be migrating to the new Pango stuff as quickly
8913         as possible.)
8914
8915 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
8916
8917         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
8918
8919 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
8920
8921         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
8922         redoing; there are some bugs in size allocation right
8923         now, the semi-existant distinction between header / day
8924         fonts was removed, but, with Pango, could actually
8925         be made functional in a nice way.
8926         
8927         * gtk/testcalender: Move calender from examples into this
8928         directory as a test program. (We really need to restrcture
8929         testgtk into a whole directory full of tests for every
8930         widget or functionality group, separated into multiple .c
8931         files.)
8932
8933 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
8934
8935         * gtk/testgtk.c (file_exists): Fix stupid typo that
8936         was keeping RC file from being loaded.
8937
8938         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
8939         RC file font code.
8940
8941 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
8942
8943         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
8944         Add function to load a GdkFont from a PangoFontDescription.
8945
8946 2000-05-29  Tor Lillqvist  <tml@iki.fi>
8947
8948         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
8949         variable should be of type GdkEventPrivate.
8950
8951 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
8952
8953         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
8954         to have any widget for the label, use a GtkLabel widget
8955         to display the text. (Based partially on a patch from
8956         Anders Carlson.)
8957
8958         (Quite a bit of code reorganization - strip 90% of the
8959         guts out of gtkaspectframe and add a single virtual
8960         func to GtkFrameClass - compute_child_allocation.)
8961
8962 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
8963
8964         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
8965         (Removed clist->row_center_offset field because caching
8966         it wasn't saving time or code, added private function
8967         _gtk_clist_create_cell_layout()).
8968
8969 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
8970
8971         * gtk/gtkaccellabel.c: Pangoized.
8972
8973         * gtk/[hv]ruler.c: Pangoized
8974
8975 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
8976
8977         * gtk/gtkfilesel.c (gtk_file_selection_init):
8978         Use gtk_clist_set_column_auto_resize() to remove need
8979         need for manual column width computations.
8980
8981 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
8982
8983         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
8984         ensuring Pango correctness, and considerably simplifying the
8985         code.
8986         
8987         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
8988
8989         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
8990         getting of numbers of lines.
8991
8992         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
8993         to the actual requested width of the lable, not to the wrap
8994         width we set.
8995
8996         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
8997
8998         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
8999           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
9000
9001         * gtk/gtktextview.c: Fix structure inheritance.
9002
9003         * gtk/gtkprogressbar.c: Pangoize.
9004
9005 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
9006
9007         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
9008         in a function.
9009
9010         * gtk/gtktextlayout.c (find_display_line_above): Fixed
9011         bug with computing line tops.
9012
9013         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
9014
9015 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9016
9017         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
9018         and y_offset coordinates to do what we need now. (The offset between
9019         buffer and layout coordinates has been reintroduced, but is a 
9020         bit different than before.)
9021
9022         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
9023         handle the adjustments ourselves, and scroll as necessary using
9024         the new gdk_window_scroll().
9025         
9026         The advantage of this is that when we are incrementally revalidating,
9027         we are essentially rearranging things around the visible portion
9028         of the screen. With the old setup, the visible portion of the
9029         screen was moved around in the layout, so scrolling and redrawing
9030         to track that caused jumping of the display. Since we now
9031         control the scrolling ourselves, we can suppress this and
9032         only redraw when things actually change.
9033
9034 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
9035
9036         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
9037         the region not just redisplay it after-all, since we store the
9038         cursors in the LineDisplay. (Ugly interactions here between
9039         GtkLayout and GtkTextBTree here.)
9040         
9041         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
9042
9043 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9044
9045         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
9046         Added function to scroll contents of a window while keeping the
9047         window constant. Works by XCopyArea or guffaw-scrolling depending
9048         on the details of how the window is set up. (guffaw-scrolling
9049         still needs to be filled in.)
9050
9051 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
9052
9053         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
9054         move the debugging that was tied to a global variable
9055         to that.
9056
9057         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
9058
9059         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
9060         validated flag, in line data instead of setting height/width to
9061         -1. This allows us to perform operations with partially invalid
9062         buffer (using the old size for invalid lines) and thus to do
9063         incremental vaidation. Keep height/width aggregates up to date
9064         when deleting text and rebalancing the tree.
9065
9066         * gtk/gtktextbtree.[ch]: Add functions validate a line
9067         (gtk_text_btree_validate_line), and to validate up
9068         to a number of pixels (gtk_text_btree_validate).
9069
9070         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
9071         that indicates that something is changed and a revalidation
9072         pass is needed. Change ::need_repaint to ::changed, and
9073         make it take old and new yranges instead of a rectangle.
9074
9075         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
9076         the line_data_destroy() function from 
9077         gtk_text_btree_add_view() to a virtual function in 
9078         GtkTextLayout
9079
9080         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
9081         since we are handling partial repaints in a different fashion
9082         now.
9083
9084         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
9085         of the selection instead of queueing a repaint on the
9086         entire widget.
9087
9088         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
9089         get_selection_bounds() down to btree, make the function
9090         in buffer a wrapper around the btree function.
9091
9092         * gtk/gtktextlayout.[ch]: Add functions to check if the
9093         layout is valid and to recompute either a range of pixels
9094         aroudn a line or a certain total number of pixels.
9095
9096         * gtk/gtktextlayout.[ch]: Cache a single line display;
9097         now that we only redraw the needed portions, the hit rate
9098         for this cache is quite high.
9099         
9100         * gtk/gtktextview.[ch]: Keep track of the first paragraph
9101         on the screen so that when re-laying-out the buffer, we can
9102         keep the same place. This requires connecting to ::value_changed
9103         on the adjustments
9104
9105         * gtk/gtktextview.[ch]: Add idle functions to revalidate
9106         the buffer after we receive an ::invalidated signal.
9107         
9108 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
9109
9110         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
9111         to max of allocation and layout size, not just to the
9112         layout size.
9113
9114         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
9115         Invalidate window so it gets redrawn properly.
9116
9117         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
9118         to mean the entire window.
9119
9120         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
9121         into public header.
9122
9123 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
9124
9125         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
9126         to get the name of a mark.
9127
9128         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
9129         to find the paragraph from a y position.
9130
9131 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
9132
9133         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
9134         nodes have width/height >= 0, not > 0.
9135
9136 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
9137
9138         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
9139         Add a size_only flag, so when we only need the size, we don't create
9140         useless appearance attributes.
9141
9142         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
9143         duplicate setting of font description.
9144
9145         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
9146
9147 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9148
9149         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9150         EXTRA_DIST. It does not work well when the file that
9151         everything depends on is not in the tarball.
9152
9153 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9154
9155         * gtk/testgtk.c: Some hacks and fixes so that it basically
9156         works when not sitting in the GTK+ build tree.
9157
9158 2000-05-03  Havoc Pennington  <hp@redhat.com>
9159
9160         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9161         Properly determine the ordering of the tag root and the current
9162         line within the tree. Previous algorithm only worked if the tag
9163         root's immediate parent was the common root of both the current
9164         line and the tag root.
9165
9166 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
9167
9168         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
9169         alignment.
9170
9171         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
9172         the widget text directional dynamically.
9173
9174         * gtk/gtktextview.[ch]: Added functions to get and set default
9175         wrap mode.
9176
9177 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
9178
9179         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
9180         in cursor location computation.
9181
9182 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
9183
9184         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
9185         vadjusment values properly when layout gets smaller.
9186
9187         * gtk/gtktextview.c (need_repaint_handler): Areas being
9188         passed in are far completely inaccurate, and sometimes
9189         too small, so, for now, just queue a redraw on the
9190         whole visible region.
9191
9192 2000-04-25  Havoc Pennington  <hp@redhat.com>
9193
9194         * gtk/gtktextbtree.c (summary_destroy): new function to 
9195         destroy tag summary nodes
9196         (gtk_text_line_next_could_contain_tag): this function was 
9197         totally broken if the line passed in wasn't below the tag
9198         root. Fix it.
9199         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
9200         "wildcard" case, we have to do a linear scan. Blah.
9201         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
9202         we have to do the linear scan
9203         (tag_removed_cb): When a tag is removed from the tag table, 
9204         remove the GtkTextTagInfo node from the btree.
9205         (gtk_text_btree_spew): Implement the spew function, for 
9206         our debugging pleasure.
9207
9208 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
9209
9210         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
9211         a problem with referring to the wrong buffer.
9212
9213         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
9214
9215         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
9216         font description to gtk_style_new() - otherwise things
9217         don't work without a .gtkrc file.
9218
9219         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
9220         tags table if we create it ourself, too.
9221
9222         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
9223         it was conflicting with XKB modifiers.
9224
9225         * gtk/gtktextview.[ch]: Add simple support for 
9226         GtkIMContext.
9227
9228 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
9229
9230         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
9231         with deletion from last commit.
9232
9233 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
9234
9235         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
9236         in the context from the current locale.
9237         
9238         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
9239         context, not hardcoded value.
9240
9241         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
9242         not logical.
9243
9244 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9245
9246         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
9247         attributes - that doesn't handle partial-glyph selection
9248         properly. Instead use new pango_layout_line_get_x_ranges()
9249         functionality to draw the selection.
9250
9251         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
9252         now properly handles out-of-range coordinates.
9253
9254         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
9255
9256         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
9257         public.
9258
9259         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
9260         for paragraphs opposite to the base direction of the widget.
9261
9262         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
9263
9264         * gtk/gtktextlayout.c: Don't split segments on marks, since that
9265         causes Arabic words to reshape as you cursor through.
9266
9267         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
9268         cursor position when moving vertically with the arrow keys and
9269         scrolling with page-up/page-down. (Arrow keys save only the X,
9270         scrolling saves both X and Y.)
9271
9272         This means you can line-up / line-down or page-up / page-down
9273         without losing your place, and also that moving vertically
9274         with the cursor keys keeps the same X position, not the same
9275         character count:
9276
9277         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
9278         arrow keys move by display lines, not paragraphs.
9279
9280 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9281
9282         * gtk/gtklayout.c: Make sure that the bin window is at least
9283         as big as the allocation. (Should we also make sure that the
9284         bin window is big enough to completely cover widget->window?)
9285
9286         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
9287         function to get the onscreen rectangle.
9288
9289         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
9290         for offsets in window coordinates.
9291
9292 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
9293
9294         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
9295         confusion.
9296
9297         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
9298         from the widget direction.
9299
9300         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
9301         Add a "direction" attribute.
9302
9303         * gtk/gtktextview.c: global s/tkxt/text_view/.
9304
9305         * gtk/testtext.c: Added long block of text in Arabic, to test out
9306         the direction attributes. (Some problems with the shaping system
9307         for arabic become obvious - like the fact the cursor splits words
9308         into unjoined pieces.)
9309
9310 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
9311
9312         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
9313
9314         * gtk/gtktextlayout.c: Fix up alignment.
9315
9316         * gtk/testtext.c: Add some tests for centering, wrapping.
9317
9318 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
9319
9320         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9321         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
9322         If we wrote GTK+-specific layout-render function this could just replace
9323         the draw_layout() operation in the vtable.
9324
9325         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
9326         pango_layout_get_cursor_pos() and use that function.
9327
9328         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
9329         is a non-static symbol.
9330
9331         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
9332         with gtk_text_btree_find_line_by_y()
9333
9334         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
9335         renderer that handles GtkTextAppearance attributes.
9336
9337         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
9338
9339           - Move the values in the style that don't affect geometry into a
9340             GtkTextAppearance structure.
9341           - Change underline to take a PangoUnderline and "font" a string
9342             representation of a font description
9343           - Add a "font_desc" attribute which takes a FontDescription structure.
9344
9345         * gtk/gtktextlayout.[ch]:
9346
9347           - Get rid of the display-line list per each line. Instead, we
9348             generate, on demand, a GtkTextLineDisplay structure which]
9349             contains a PangoLayout * and other necesary information
9350             (offsets, cursor locations) for displaying a paragraph.
9351           - Get rid of the code to wrap lines, create display chunks,
9352             etc. Instead, we just go through a paragraph and convert
9353             it into the necessary inputs to a PangoLayout.
9354           - Implement a new attribute type, GtkTextAttrAppearance. This
9355             holds a GtkTextAppearance, and is used to pass colors, 
9356             stipple, etc, through from the layout to the display without
9357             having to use lots and lots of individual attributes.
9358           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
9359             in terms of PangoLayout functions.
9360         
9361         * gtk/gtktextview.c: 
9362          
9363           - Handle passing the necessary PangoContext to the layout
9364           - Some fixups in painting to deal with the automatic backing store
9365             and offsetting of GTK+-1.4
9366           - Add a style_set handler so that the default style reacts
9367             properly to theme changes.
9368         
9369         * gtk/gtktext?*.[ch]: Random code-style fixes.
9370
9371         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
9372
9373 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
9374
9375         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
9376         in original form preparatory to Pango-ization and gdkimcontext-ization.
9377
9378 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
9379
9380         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
9381         so that we can derive from gtkimcontext in language bindings properly.
9382
9383 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
9384
9385         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
9386         Add a compose table including (almost) all the compose combinations
9387         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
9388         data in the XIM implementation.
9389
9390         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
9391         Moved functions to convert keyvalues from and to unicode here from
9392         the win32 port and made them public.
9393
9394 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9395
9396         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
9397
9398 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
9399
9400         * gtk/gtkimcontext.[ch]: Base class for new input context system
9401
9402         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
9403         the real input context implementation to be loaded from modules
9404         and switched on the fly.
9405
9406         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
9407         context that just does direct keysymbol => unicode translation.
9408
9409         * gtk/gtkentry.[ch]: Start switching editing over to using
9410         GtkInputContext. (No handling of preedit yet.)
9411
9412 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
9413
9414         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
9415         many substitutions. (klass should not be subsituted.)
9416
9417 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
9418
9419         * configure.in: Add checks for Pango
9420
9421         * configure.in docs/Makefile.am: Add test for sgml2html
9422         and allow 'make dist' without building html, but print out
9423         warnings in that case. (For making snapshots)
9424
9425         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
9426         Add Pango libraries and C flags
9427
9428         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9429         Add function (gdk_draw_layout) to draw a pango layout.
9430
9431         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
9432         for getting Pango contexts for GDK.
9433
9434         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
9435
9436         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
9437         editing.
9438
9439         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
9440         keysym => unicode translations. More languages can be added
9441         here, but real input-method support is needed.
9442
9443         * docs/Changes-1.4.txt: Added note about entry behavior.
9444         
9445         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
9446         to set the reading direction for a widget and the global direction.
9447         Add test which allows toggling the global direction. Two private
9448         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
9449
9450         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
9451           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
9452
9453         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
9454
9455         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
9456         underlining now handled by Pango.
9457
9458         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
9459         to RCStyle and Style. (Having both this and the old font name and GdkFont 
9460         is temporary.)
9461
9462         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
9463         convenience functions for creating contexts and layouts for widgets.
9464
9465         * gtk/testgtk.c: Enhance label tests with multilingual labels.
9466
9467 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
9468
9469         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
9470         titles to be active, even if they aren't visible.
9471         (gtk_clist_column_titles_passive):  Ditto.
9472
9473 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
9474
9475         * gtkmenu.c:
9476         * gtkmenu.h:
9477         * gtktypeutils.h: Spelling/grammar fixes in comments.
9478
9479 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
9480
9481         * gdk/nanox/*.h: add missing header files.
9482
9483 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
9484
9485         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
9486         send_event to TRUE.
9487         (gtk_drawing_area_size): queue a resize.
9488
9489 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
9490
9491         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
9492         the handlers, also invalidate them. bug nailed down by Karl Nelson
9493         <kenelson@ece.ucdavis.edu>.
9494
9495 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
9496
9497         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
9498         "(nil)" foundries, patch from Grigorios Magklis.
9499
9500         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
9501         on non-available fonts, based on a patch by Grigorios Magklis
9502         <maglis@cs.rochester.edu>.
9503
9504 2000-05-18  Elliot Lee  <sopwith@redhat.com>
9505
9506         * gdk/x11/gdkregion-generic.c: If a region does not have any
9507         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
9508         instead of GDK_OVERLAP_RECTANGLE_IN.
9509
9510 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
9511
9512         * gtk/gtklayout.c (gtk_layout_map): Remove references to
9513         OFFSCREEN, as it is no longer necessary.
9514
9515 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
9516
9517         * gtk/gtkcolorsel.c: Patch from David Santiago
9518         <mrcooger@cyberverse.com> to change things so that the 
9519         indicator of the active palette entry is done independently,
9520         not via the focus, since it should always be visible.
9521
9522 2000-05-17  Tor Lillqvist  <tml@iki.fi>
9523
9524         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
9525         refcount leaks as in the X11 backend.
9526
9527         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
9528         cosmetics.
9529
9530         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
9531         backend. Add _gdk_windowing_window_destroy().
9532
9533         * gtk/gtkcolorsel.c: Include correct backend-specific header.
9534         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
9535         either, but these probably do exist on nanox?)
9536         
9537         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
9538         which isn't necessarily defined by <math.h>.
9539
9540         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
9541         ancestry past GtkObject.
9542
9543         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
9544         from DLL on Win32.
9545
9546         * gtk/gtk.def: Update corresponding to recent changes.
9547
9548         * gtk/makefile.{cygwin,msc}: Updates.
9549
9550 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
9551
9552         * docs/Changes-1.4.txt: A bit of editing.
9553
9554         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
9555         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
9556         to clear the update area for the window, and clear it
9557         when hiding a window.
9558
9559         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
9560         if window destroyed.
9561
9562         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
9563
9564         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
9565         gdk_window_destroy() to the generic code, since there was a lot of 
9566         window-system-independent logic it in. Add a function:
9567         
9568          _gdk_window_destroy() 
9569
9570         to the internal API to destroy a window without unreferencing it.
9571         Add a function:
9572
9573          _gdk_windowing_window_destroy()
9574
9575         That does the windowing-system-dependent part of destroying 
9576         the window.
9577
9578 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
9579
9580         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
9581
9582 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
9583
9584         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
9585         Make gtk_widget_shape_combine_mask() keep a reference count on
9586         the pixmap since it keeps it around.
9587
9588 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
9589
9590         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
9591         leak.
9592
9593         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
9594         leak with event filters.
9595
9596 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
9597
9598         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
9599         signal handlers with the right data arguments. (Fixes
9600         some warnings when a widget was repeatedly set as a drag
9601         destination.)
9602
9603         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
9604         window so we can avoid avoid setting the DND properties on the
9605         toplevel window repeatedly.
9606
9607 2000-05-13  Tor Lillqvist  <tml@iki.fi>
9608
9609         * gdk/win32/gdkwin32.h: Define more message types missing from
9610         mingw headers.
9611
9612         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
9613         call gdk_window_destroy_notify(). It was never called. This
9614         probably meant that the GdkWindow was never freed. Thanks Owen for
9615         noticing (!).
9616
9617         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
9618         window as destroyed before calling DestroyWindow(). DestroyWindow()
9619         causes a call to the window procedure (gdk_WindowProc), which
9620         calls gdk_event_translate(), which calls
9621         gdk_window_destroy_notify(), which gets confused unless the window
9622         is set as destroyed.
9623
9624         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
9625         this function to indicate it's win32 only. Put inside #ifdef
9626         G_ENABLE_DEBUG.
9627
9628         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
9629         debugging function. (gdk_event_translate:) Add a default branch
9630         that uses the above function to print debug messages with all
9631         Windows messages symbolically.
9632
9633         * gdk/win32/gdkprivate-win32.h: Declare it, and
9634         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
9635
9636 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
9637
9638         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
9639         public header file.
9640
9641 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
9642
9643         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
9644
9645         * gtk/gtktext.c: made the adjustments no-construct args, simply
9646         provide default adjustments.
9647         (gtk_text_destroy): release adjustments.
9648
9649         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
9650         adjustment argument non-construct.
9651
9652         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
9653         instead of in finalize.
9654         (gtk_progress_get_text_from_value): 
9655         (gtk_progress_get_current_text): 
9656         (gtk_progress_set_value): 
9657         (gtk_progress_get_percentage_from_value): 
9658         (gtk_progress_get_current_percentage): 
9659         (gtk_progress_set_percentage): 
9660         (gtk_progress_configure): ensure an adjustment is present.
9661
9662 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
9663
9664         * gtk/gtkcolorsel.[hc]:
9665         * gtk/gtkcolorseldialog.[hc]:
9666         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
9667         their parent implementation, use bit fields for boolean values, don't
9668         create unused widgets, usage of glib types, braces go on their own
9669         lines, function argument alignment, #include directives etc. etc. etc..
9670
9671         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
9672
9673 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
9674
9675         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
9676
9677         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
9678         of NULL.
9679
9680         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
9681         to freed data.
9682         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
9683
9684         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
9685         to NULL when the toplevel is getting destroyed.
9686         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
9687         (gtk_menu_destroy): 
9688         (gtk_menu_init): store the information of whether we have to
9689         readd the initial child ref_count during destruction in a new
9690         GtkMenu field needs_destruction_ref_count.
9691
9692         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
9693         here, those reading: learn from my mistake! ;)
9694         in order for set_?adjustment to support a default adjustemnt if
9695         invoked with an adjustment pointer of NULL, the code read (pseudo):
9696         if (v->adjustment) unref (v->adjustment);
9697         if (!adjustment) adjustment = adjustment_new ();
9698         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
9699         now imagine the first unref to actually free the old adjustment and
9700         adjustment_new() creating a new adjustment from the very same memory
9701         portion. here, the latter comparision will unintendedly fail, and
9702         all hell breaks loose.
9703         (gtk_viewport_set_hadjustment):
9704         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
9705         after unreferencing it.
9706
9707         * gtk/gtkcontainer.[hc]: removed toplevel registration
9708         functions: gtk_container_register_toplevel(),
9709         gtk_container_unregister_toplevel() and
9710         gtk_container_get_toplevels() which had wrong semantics
9711         anyways: it didn't reference and copy the list.
9712
9713         * gtk/gtkwindow.c: we take over the container toplevel registration
9714         bussiness now. windows are registered across multiple destructions,
9715         untill they are finalized. the initial implicit reference count
9716         users are holding on windows is removed with the first destruction
9717         though.
9718         (gtk_window_init): ref & sink and set has_user_ref_count, got
9719         rid of gtk_container_register_toplevel() call. add window to
9720         toplevel_list.
9721         (gtk_window_destroy): unref the window if has_user_ref_count
9722         is still set, got rid of call to
9723         gtk_container_unregister_toplevel().
9724         (gtk_window_finalize): remove window from toplevel list.
9725         (gtk_window_list_toplevels): new function to return a newly
9726         created list with referenced toplevels.
9727         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
9728
9729         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
9730         adjustment a non-construct arg.
9731         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
9732         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
9733         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
9734
9735         * gtk/gtkrange.c: added some realized checks.
9736         (gtk_range_destroy): get rid of the h/v adjustments in the
9737         destroy handler instead of finalize. remove timer.
9738         (gtk_range_get_adjustment): demand create adjustment.
9739
9740         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
9741         we simply create them on demand now and get rid of them in
9742         the destroy handler.
9743         (gtk_viewport_destroy): get rid of the h/v adjustments in the
9744         destroy handler instead of finalize.
9745         (gtk_viewport_get_hadjustment): 
9746         (gtk_viewport_get_vadjustment): 
9747         (gtk_viewport_size_allocate): demand create h/v adjustment
9748         if required.
9749
9750         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
9751         gtk_widget_real_destroy () functionality.
9752         (gtk_widget_real_destroy): reinitialize with a new style, instead
9753         of setting widget->style to NULL.
9754
9755 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
9756
9757         * gtk/gtkcalendar.c:
9758         * gtk/gtkbutton.c: ported _get_type() implementation over to
9759         GType, either to preserve memchunks allocation facilities,
9760         or because Gtk+ 1.0 GtkTypeInfo was still being used.
9761
9762         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
9763         over. prepare for ::destroy to be emitted multiple times.
9764         removed reference tracer magic. chain into GObjectClass.shutdown()
9765         to emit ::destroy signal.
9766
9767         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
9768         fundamental.
9769
9770         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
9771         cludge.
9772
9773         * gtk/gtksocket.c:
9774         * gtk/gtkplug.c:
9775         * gtk/gtklayout.c:
9776         * gtk/gtklabel.c:
9777         * gtk/gtkargcollector.c:
9778         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
9779         not being a fundamental anymore, and to work with the new
9780         type system (nuked fundamental type varargs clutter).
9781
9782         * gtk/*.c: install finalize handlers in the GObjectClass
9783         part of the class structure.
9784         changed direct GTK_OBJECT()->klass accesses to
9785         GTK_*_GET_CLASS().
9786         changed direct object_class->type accesses to GTK_CLASS_TYPE().
9787
9788         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
9789         GType. made most of the GTK_*() type macros and Gtk* typedefs
9790         simple wrappers around macros and types provided by GType.
9791         most notably, a significant portion of the old API vanished:
9792         GTK_TYPE_MAKE(),
9793         GTK_TYPE_SEQNO(),
9794         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
9795         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
9796         GTK_TYPE_ARGS,
9797         GTK_TYPE_CALLBACK,
9798         GTK_TYPE_C_CALLBACK,
9799         GTK_TYPE_FOREIGN,
9800         GtkTypeQuery,
9801         gtk_type_query(),
9802         gtk_type_set_varargs_type(),
9803         gtk_type_get_varargs_type(),
9804         gtk_type_check_object_cast(),
9805         gtk_type_check_class_cast(),
9806         gtk_type_describe_tree(),
9807         gtk_type_describe_heritage(),
9808         gtk_type_free(),
9809         gtk_type_children_types(),
9810         gtk_type_set_chunk_alloc(),
9811         gtk_type_register_enum(),
9812         gtk_type_register_flags(),
9813         gtk_type_parent_class().
9814         replacements, where available are described in ../docs/Changes-1.4.txt.
9815         implemented compatibility functions for the remaining API.
9816
9817         * configure.in: depend on glib 1.3.1, use gobject module.
9818
9819 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
9820
9821         * TODO.xml: Various updates to current status.
9822
9823 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
9824
9825         * gtk.m4: Print out version when test succeeds.
9826
9827 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
9828
9829         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
9830         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
9831         
9832         (Original triangle color selector from Simon Budig
9833         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
9834         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
9835         Santiago <mrcooger@cyberverse.com>)
9836
9837         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
9838         out into a separate widget.
9839
9840         * gtk/testgtk.c: Add some checkbuttons for toggling palette
9841         and opacity controls.
9842
9843 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
9844
9845         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
9846         snuck in prematurely.
9847
9848 2000-05-07  Tor Lillqvist  <tml@iki.fi>
9849
9850         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
9851         had deleted a ! operator by mistake, which caused
9852         GDK_SELECTION_CLEAR events never to be generated, which caused
9853         only the first copy to the clipboard from an gtkeditable to
9854         actually cause a copy to the Windows clipboard.
9855
9856 2000-05-06  Tor Lillqvist  <tml@iki.fi>
9857
9858         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
9859         compilation, too. Current mingw gcc distributions include the
9860         necessary headers. Also the necessary IIDs are now in mingw
9861         headers/libraries, and own definitions unnecessary.
9862
9863         More hacking on OLE2 DND, still doesn't work though, and thus
9864         ifdeffed out.
9865
9866         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
9867         here, too.
9868
9869 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
9870
9871         * gdk/nanox/*: nano-X port work in progress.
9872         * gdk/simple.c: simple test for Gdk.
9873         * README.nanox: notes about the port: read this first!
9874         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
9875         with nano-X.
9876
9877 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
9878
9879         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
9880         gdk_window_clear() into common code, implement in terms of
9881         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
9882         not redirected to the backing rectangle.
9883
9884 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9885
9886         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9887         EXTRA_DIST. It does not work well when the file that
9888         everything depends on is not in the tarball.
9889
9890 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
9891
9892         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
9893         with recursion where process_updates() is called from
9894         an expose handler. (GtkTextView is highly broken in
9895         doing this, but it should work, so it is a nice test
9896         case.)
9897
9898 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9899
9900         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
9901         handle the case where updates are queued during processing of
9902         updates.
9903
9904 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9905
9906         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
9907         window is on gdk_display - use that instead of segfaulting.
9908
9909 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
9910
9911         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
9912         broken and require an empty arg, give it to them.
9913
9914 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
9915
9916         * gtk/gtklabel.h: indentation fixes.
9917
9918 2000-05-02  Tor Lillqvist  <tml@iki.fi>
9919
9920         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
9921         draw too narrow or too low arcs, they seem to fail, at least with
9922         some display drivers.
9923
9924         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
9925
9926         Large changes to the Win32 backend, partially made necessary by
9927         the changes to the backend-independent internal
9928         structures. Attempts to implement similar backing store stuff as
9929         on X11. The current (CVS) version of the Win32 backend is *not* as
9930         stable as it was before the no-flicker branch was merged. A
9931         zipfile with that version is available from
9932         http://www.gimp.org/win32/. That should be use by "production"
9933         code until this CVS version is usable. (But note, the Win32
9934         backend has never been claimed to be "production quality".)
9935
9936         * README.win32: Add the above comment about versions.
9937
9938         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
9939
9940         * gdk/gdk.def: Update.
9941
9942         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
9943         presumably be replaced by some more better mechanism as 1.4 gets
9944         closer to release shape.
9945
9946         * gdk/makefile.{cygwin,msc}: Update.
9947
9948         * gdk/win32/*.c: Correct inclusions of the backend-specific and
9949         internal headers. Change code according to changes in these. Use
9950         gdk_drawable_*, not gdk_window_* where necessary.
9951
9952         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
9953         our old DND.
9954
9955         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
9956         to interpret single characters as UTF-8. Thanks to Hans Breuer.
9957         Use correct function name in warning messages.
9958
9959         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
9960         GSourceFuncs gdk_event_prepare and gdk_event_check.
9961         (gdk_event_get_graphics_expose): Do implement, use
9962         PeekMessage. Thanks to Hans Breuer.
9963         (event_mask_string): Debugging function to print an GdkEventMask.
9964         (gdk_pointer_grab): Use it.
9965
9966         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
9967         (old) book I used claimed was Hangul actually is CJK Unified
9968         Ideographs Extension A. Also, Hangul Syllables were missing.
9969         Improve logging.
9970
9971         * gdk/win32/gdkgc-win32.c: Largish changes.
9972
9973         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
9974         g_win32_getlocale() from GLib, and not setlocale() to get current
9975         locale name.
9976
9977         * gdk/win32/gdkprivate-win32.h
9978         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
9979         gdkwin32.h, similarily as in the X11 backend.
9980
9981         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
9982         assignment was used instead of equals in if test. Thanks to Hans
9983         Breuer.
9984
9985         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
9986         the X11 version.
9987
9988         * gdk/win32/makefile.{cygwin,msc}
9989         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
9990         path to the Win32 headers that works also with the mingw compiler.
9991
9992         * gtk/gtkstyle.c: Include <string.h>.
9993
9994 2000-04-26  Havoc Pennington  <hp@redhat.com>
9995
9996         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
9997         replacing the broken gtk_label_get ()
9998
9999 2000-04-15  Havoc Pennington  <hp@pobox.com>
10000
10001         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
10002         this keeps scanner scripts from getting confused.
10003
10004         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
10005         data, rather than void
10006
10007 2000-04-15  Tor Lillqvist  <tml@iki.fi>
10008
10009         * gtk/gtkclist.c (gtk_clist_motion)
10010         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
10011         with is_hint FALSE, get x and y from the event. They used to be
10012         used uninitialised. The Win32 backend never sends motion events
10013         marked as hints. This for instance fixes the annoying file and
10014         font selector behaviour in the Win32 version.
10015
10016 2000-04-14  Tor Lillqvist  <tml@iki.fi>
10017
10018         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
10019         gtk_private_n_signals variables, they are used by some software,
10020         sigh.
10021
10022         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
10023         installation directory from the Registry, where the installer
10024         should have put it.
10025
10026 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
10027
10028         * gdk/x11/Makefile.am: Fix problem with installation directory for
10029         gdkx.h
10030
10031         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
10032         <mrcooger@cyberverse.com> so that when selecting menus with the
10033         mouse, the first item will not be selected, but when selecting
10034         with an accelerator, or navigating left-right on a menubar with
10035         the menus popped up, the first item will be selected.
10036
10037 2000-04-05  Dan Damian  <dand@dnttm.ro>
10038
10039         * configure.in: Added "ro" to ALL_LINGUAS.
10040
10041 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
10042
10043         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
10044         indentation.
10045
10046         * Makefile.am (EXTRA_DIST): Fix typo.
10047
10048         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
10049         to catch gdkconfig.h
10050
10051         * gtk/gtkitemfactory.c: Added FIXME.
10052
10053 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
10054
10055         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
10056         s/return_if_fail/return_val_if_fail/g and add a return value.
10057
10058 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10059
10060         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
10061         merge slipup.
10062
10063         * gdk/gdkinput.h: Fix missing line from merge.
10064
10065 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
10066
10067         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
10068         instead of gdkprivate.h.
10069
10070 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
10071
10072         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
10073         parent class to correctly be GtkDialogClass.
10074
10075 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
10076
10077         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
10078         toplevel windows and their immediate children by their parents,
10079         since the size of toplevel windows is out of our immediate
10080         control and we don't get any real benefit from trying to track
10081         this size for clipping.
10082
10083         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
10084         for input_only windows.
10085
10086         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
10087         to fix some hacks and make sure that we don't try to set the
10088         background of input only windows.
10089
10090 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
10091
10092         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
10093         the _really_ internal stuff, and leave gdkprivate.h for the fake private
10094         stuff that we've traditionally exposed.
10095
10096         * gdk/**.c: Use gdkinternals.h where appropriate.
10097
10098         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
10099         not include gdkprivate-x11.h, move all stuff of conceivable public
10100         interest into gdkx.h; keep all really private stuff in
10101         uninstalled header gdkprivate-x11.h.
10102
10103         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
10104         image->image_put on windows through a new function _gdk_window_draw_image()
10105         to allow us to do backing store for images. (Sort of ugly)
10106
10107         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
10108         contexts locally so that we can offset them properly when drawing 
10109         onto backing pixmaps.
10110
10111         * gdk/gdkinput.h: Reindented
10112
10113         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
10114         pixmap or color for the window, so we can properly initialize
10115         our double-buffer pixmaps, and also so that we temporarily set
10116         a background of None while scrolling.
10117
10118         * gdk/gdkregion.h: Revise region boolean operators to have an
10119         interface that is actually convenient - switch from creating new
10120         regions on every op, to "methods" that modify existing regions
10121         (A = A OP B). 3 argument forms which allow dest == src, would also
10122         be possible, but the current interfaces seem to map nicely
10123         onto what needs to be done. (There is quite a lot of region
10124         code in GDK now.)
10125
10126         * gdk/gdkregion.h: Add constructor from rectangle and a copy
10127         operator.
10128
10129         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
10130         gdkpoly-generic.h: Copy region code from Xlib, switch it over
10131         to 32 bit coordinates, modify it to be mostly GTK+ style
10132         and to have interfaces that match gdkregion.h.
10133
10134         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
10135         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
10136         create a backing pixmap and redirect all drawing to
10137         that backing pixmap until a matching gdk_window_end_paint().
10138
10139         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
10140         Create a special drawable class for GtkWindow's that 
10141         redirects the drawing to the backing pixmap as necessary
10142         and then calls the real operations in _gdk_windowing_window_class.
10143
10144         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
10145         Store invalid region for each window. Generate expose events for invalid
10146         region in an idle. This replaces both the expose compression
10147         and the redrawing queuing in GTK+. It is both more efficient and
10148         simpler than either one individually and far more so then the
10149         combination.
10150
10151         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
10152         Emulate 32 bit coordinates for windows with 16 bit coordinates
10153         by offsetting drawing, guffaw scrolling techniques and
10154         mapping/unmapping child windows as necessary.
10155
10156         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
10157         where, when invalid regions are processed, the region is stored,
10158         and if expose events come in that are detectably duplicate
10159         the processed exposes (by comparison of event serial numbers),
10160         the stored region is subtracted out of those exposes.
10161
10162         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
10163         regions newly exposed when scrolling or resizing windows.
10164         This, combined with forcing processesing of queued invalidated
10165         regions, gives nice flicker-free scrolling.
10166
10167         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
10168         invalidated regions after every scroll.
10169
10170         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
10171         emulation in GDK. Its, for all practical purposes just a
10172         GtkViewport/GtkFixed hybrid now.
10173
10174         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
10175         (16-bit) structures as necessary instead of just casting.
10176
10177         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
10178         in terms of the structures from gdkregion-generic.c, using appropriate
10179         offsets from GDK to X11 coordinates. Cache clip mask and
10180         origin and ts origin locally and only flush to the server
10181         when drawing, to avoid constantly setting and resetting these
10182         values when offsetting GC's for scrolling and backing pixmaps.
10183
10184         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
10185
10186         * gtk/gtkcontainer.c: Call process_all_updates at end
10187         of resizing to reduce flicker. (Avoids having redraw
10188         lag arbitrarily behind resize under some circumstances)
10189
10190         * gtk/gtkentry.c: Remove old backing store code, and simply take
10191         advantage of the new backing store capabilities of GDK.
10192
10193         * gtk/gtkmain.c: Simple implementation of widget backing
10194         store - simply push a paint while handling each expose.
10195         (Should really be configurable widget for widget.)
10196         
10197         * gtk/gtkwidget.c: Remove all the old complicated redraw
10198         code, and simply invalidate the GDK windows from
10199         gdk_window_queue_clear(), etc. (Sigh, so much carefully
10200         debugged complexity ... gone to the winds.)
10201
10202         Remove all the code for suppressing expose events while
10203         resizes are pending; this isn't needed since the invalid
10204         areas won't be processed until after the resizes are
10205         processed, since they are in a lower priority idle.
10206
10207 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
10208
10209         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
10210         and height of dest rectangle for non-intersecting rectangles.
10211
10212 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
10213
10214         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
10215         for GdkRectangle.
10216
10217 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
10218
10219         * gdk/gdk{events,image,private,types,window}.h
10220          gdk/x11/gdkinputprivate.h: Change all coordinates
10221          from int16 to int. Also, Change width and height from
10222          unsigned to signed to avoid all the stupid C 
10223          signedness bugs.
10224
10225 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
10226
10227         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
10228         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
10229         Add some more detailed checking.
10230
10231         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
10232         New function to retrieve the depth of a drawable.
10233
10234         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
10235         field, reorder fields to save memory. 
10236
10237 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
10238
10239         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
10240         of the background image instead of scaling the background down to
10241         a line.
10242
10243         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
10244         which temporarily set slider to wrong size.
10245
10246         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
10247         queue_clear().
10248
10249 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
10250
10251 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
10252
10253         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
10254
10255 2000-03-17  Tor Lillqvist  <tml@iki.fi>
10256
10257         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
10258         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
10259
10260         * gdk/win32/gdkfont-win32.c
10261         * gdk/win32/gdkproperty-win32.c
10262         * gdk/win32/gdkselection-win32.c
10263         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
10264         now declared such.
10265
10266 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
10267
10268         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
10269
10270 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
10271
10272         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
10273         is called without trapping X errors.
10274
10275 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
10276
10277         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
10278         way into the fontset lists.
10279
10280 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
10281
10282         * gtk/gtkthemes.h: add extern "C" scope.
10283
10284 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
10285
10286         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
10287         to make appends to the list constant. (gtk-guy-990901-0.patch)
10288
10289 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
10290
10291         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
10292         for the typename hash table.
10293
10294 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
10295
10296         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
10297         to make sure we never divide by zero. 
10298         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
10299
10300 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
10301
10302         * gtk/gtkfontsel.c: Apply patch from
10303         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
10304         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
10305
10306         Also, some cleanups in atom handling.
10307
10308 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
10309
10310         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10311         not GtkWidget.
10312
10313 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
10314
10315         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
10316         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
10317         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
10318         more guint wrap-around bugs before going to bed.
10319
10320 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
10321
10322         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
10323         guint wrap arounds in allocation.width.
10324
10325         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
10326         process untill we fit the allocation given.
10327
10328 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
10329
10330         * gtk/gtkwidget.c:
10331         (gtk_widget_unrealize): guard widget access with ref/unref
10332         around signal emission.
10333         (gtk_widget_hide): same here, but also check its destroyed
10334         state before queueing a resize.
10335
10336 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
10337
10338         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
10339         of gtk_default_insensitive_bg as insensitive base color.
10340
10341         * gtk/gtktext.c (gtk_text_style_set): set the background color according
10342         to the widget's state.
10343         (gtk_text_realize): same here.
10344         (gtk_text_state_changed): same here.
10345         (draw_bg_rect): compare background color against base[] from
10346         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
10347
10348 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
10349
10350         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
10351         grabs are active, unless a delete event is send to the toplevel
10352         of the currently grab holding widget.
10353
10354 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
10355
10356         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
10357         debugging g_print's.
10358
10359 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
10360
10361         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
10362         ever make the scrolled-window requisition ever depend on the 
10363         visibility state of the scrollbars for the AUTOMATIC policy. 
10364         This breaks the GTK+ requisition model, and causes loops.
10365
10366 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
10367
10368         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
10369         the default font to avoid problems with XFree86-4.0 where the
10370         default charset is iso10646-1, not iso8859-1.
10371
10372 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
10373
10374         * acinclude.m4
10375         * config.guess
10376         * config.sub
10377         * ltconfig
10378         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
10379
10380         * gtk/Makefile.am: minor cosmetic consistency tweak
10381
10382 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
10383
10384         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
10385         the activate_time to 0, so that we handle a quick
10386         press/release press/release properly and don't suppress
10387         the second release. (Red Hat bug #7545)
10388
10389 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
10390
10391         * gtk/gtkctree.c (row_delete):
10392         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
10393         bugs with destruction notifier, *always* update internal
10394         structures *before* calling user code.
10395
10396 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
10397
10398         A few more fixes for bug #5487, #2051, #2677.
10399         * gtk/gtkclist.c : 
10400         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
10401         not GDK_BUTTON_PRESS.
10402         (resync_selection): resync only if selection_mode is
10403         GTK_SELECTION_EXTENDED
10404         * gtk/gtkctree.c (resync_selection): same here
10405
10406 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
10407
10408         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
10409         gdk_drag_get_selection() and gtk_menu_detach().
10410
10411         [ From Jeroen Ruigrok/Asmodai ]
10412
10413 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
10414
10415         * gtk/gtknotebook.c (gtk_notebook_size_request): 
10416         page->tab_label can be NULL.
10417
10418 2000-01-25  Havoc Pennington  <hp@pobox.com>
10419         
10420         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
10421         arg is boolean
10422
10423         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
10424
10425         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
10426
10427         * gdk/gdkproperty.c (gdk_property_get): return boolean
10428
10429         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
10430
10431         * gdk/gdkim.c (gdk_im_ready): return boolean
10432
10433         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
10434
10435         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
10436         glib clash, should fix glib)
10437
10438         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
10439         (gdk_get_show_events): return gboolean, and canonicalize 
10440         to TRUE/FALSE
10441
10442         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
10443         colormap is private
10444         (gdk_colors_alloc): gboolean whether to be contiguous
10445         (gdk_color_equal): return gboolean since we are a predicate
10446         and not a qsort() (this looks semi-wrong due to glib breakage,
10447         IMO glib should be fixed)
10448         
10449         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
10450         (gdk_get_use_xshm): return gboolean
10451         (gdk_pointer_is_grabbed): return gboolean
10452
10453         * gdk/gdk.h: Change prototypes to match all the above changes,
10454         and re-run egtk-format-protos as required.
10455
10456 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
10457
10458         * gtk/gtkctree.c (resync_selection): 
10459         * gtk/gtkclist.c (resync_selection):
10460
10461         Return immediately if clist->drag_pos < 0. This is a workaround
10462         for the corrupt state that the clist gets into when a
10463         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
10464
10465         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
10466         
10467         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
10468         variable from recent commit.
10469
10470 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
10471
10472         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
10473
10474 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
10475
10476         * gtk/Makefile.am: prefix all autogenerated source that get build in
10477         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
10478         in builddir. since we subsequently cd into srcdir for autogeneration,
10479         the paths have to be stripped from the target file names, thusly we
10480         use $(@F) as target names now.
10481         put a comment about configure.in's --disable-rebuilds option,
10482         which can be used for non-writable source directories, for development
10483         setups though, srcdir has to be *writable*.
10484
10485 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
10486
10487         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
10488           Finish the job of allowing event to be NULL.
10489           (Fixes bug #4283, reported by Chris Blizzard)
10490
10491         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
10492           things so that the cursor appears on screen, properly
10493           take into account INNER_BORDER.
10494           (Fixes bug #4754, reported by Antonio Campos)
10495
10496 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
10497
10498         * gtk/gtknotebook.c (gtk_notebook_map): Don't
10499           show the tab_label unless it itself is visible.
10500
10501           gtk/gtknotebook.c (gtk_notebook_size_request):
10502           Do a better job of making sure that the visibility
10503           of the tab label corresponds to whether it should
10504           be mapped or not.
10505
10506 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
10507
10508         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
10509           Use the requisition, not the allocation, since the
10510           allocation has not necessarily been computed yet.
10511           (Pointed out by Eugene Osintsev)
10512
10513 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
10514
10515         * gtk/gtkstyle.c (gtk_style_new): Dont' set
10516           style/base[GTK_STATE_INSENSITIVE] both to
10517           gtk_default_insensitive_bg!
10518           (Bug #2187, reported by Jonathan Blandford)
10519
10520         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
10521           Add Alt_L, Alt_R to list of invalid accelerators.
10522           (Bug #3736, reported by Vlad Harchev)
10523
10524 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
10525
10526         * gtk/gtkfilesel.c (open_ref_dir): Fix several
10527         bugs which occured after an attempt to open 
10528         invalid home directory left cmpl_state->reference_dir == NULL.
10529
10530          - completion on files in home directory didn't work
10531          - completion on an empty string caused  segfault
10532
10533          (Bug #3678, reported by Steve Ratcliffe)
10534
10535         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
10536         cut and paste error that was causing scales to
10537         be incorrectly positioned.
10538         (Bug #2956,
10539          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
10540
10541 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
10542
10543         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
10544         when checking for dcgettext, if we've found we needed
10545         it for dgettext.
10546 +
10547 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
10548
10549         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10550         queue_clear on NO_WINDOW widgets during a reparent,
10551         since at that point the window and widget heirarchies
10552         are out of sync. This stops crashing in some cases
10553         (the scrolled window reparent test, for instance), and
10554         _probably_ won't cause drawing errors.
10555
10556         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
10557         test do what it was supposed to do and be robust against
10558         window closings, etc. (Bug #2443)
10559
10560 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
10561
10562         * gtk/gtkentry.c: Fix return values on mouse events.
10563         (Bug #2686, Sky <seb_sky@yahoo.com>)
10564
10565         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
10566         (pointed out by George Lebl)
10567
10568         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
10569         (From Ettore Perazzoli  <ettore@helixcode.com>)
10570  
10571 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
10572
10573         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
10574         clicks between rows or outside calender area correctly.
10575         (Patch from Damon Chaplin)
10576
10577         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
10578         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
10579           Call destroy function when overwriting existing data. 
10580           (Pointed out by Damon Chaplin)
10581
10582 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
10583
10584         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
10585           which was causing problems on various systems with Xmu.
10586           This hasn't been needed for a very long time.
10587           (Fixes #1185 3167)
10588
10589 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
10590
10591         * gdk/gdki18n.h: Include <ctype.h> when defining
10592           gdk_isw* in terms of is* as a fallback.
10593           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
10594
10595 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
10596
10597         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
10598           realize the widget when it is size allocated!
10599           (old, old bug)
10600
10601         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
10602           Removed unused call to gdk_window_get_size() that
10603           showed up when the above was fixed.
10604
10605 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
10606
10607         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
10608           fix up widget->window when the widget is a
10609           NO_WINDOW container widget.
10610
10611 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
10612
10613         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
10614           to account for the fact that feof() does _not_ 
10615           return TRUE on errors, and thus avoid infinite loops
10616           when trying to use gdk_pixmap_create_from_xpm()
10617           on unreadable values.
10618
10619 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
10620
10621         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
10622
10623 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
10624
10625         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
10626           gdk_gc_set_dashes to take gint8 instead of gchar to
10627           make it clearer that it is _not_ a NULL terminated string.
10628
10629         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
10630           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
10631           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
10632           arguments.
10633
10634 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
10635
10636         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
10637         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
10638         background size relative to our allocation, guard against small
10639         allocations, we may have not yet been size allocated.
10640
10641 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
10642
10643         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
10644         not just version == 3. We implement all 3 + most of 4 - 
10645         (we don't support matching text/plain;charset=iso-8859-1
10646         to a dest that expects text/plain). We'll still advertise
10647         3 to be safe, but any client implementing version >= 3
10648         must interoperate with 3.
10649         
10650 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10651
10652         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
10653         background and gc members, add a warning in gtk_tooltips_set_color()
10654         indicating that this function is deprecated.
10655
10656 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
10657
10658         * docs/gtkfaq.sgml: FAQ Update:
10659           - Minor cleanups (Emmanuel, me)
10660           - New questions:
10661                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
10662                 How can I retrieve the text from a GtkMenuItem? (timj)
10663                 How do I validate/limit/filter the input to a GtkEntry? (me)
10664                 Memory does not seem to be released when I free the list
10665                         nodes I've allocated (timj)
10666
10667 2000-03-07  Tor Lillqvist  <tml@iki.fi>
10668
10669         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
10670         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
10671         for which it is no use to call GetLastError onWin9x.
10672         (gdk_other_api_failed) New function, for general error
10673         reporting without calling GetLastError.
10674         (gdk_win32_api_failed) OTOH, this function always calls
10675         GetLastError. (gdk_win32_last_error_string) Remove this function,
10676         GLib has the equivalent now.
10677
10678         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
10679         call them with function name, file name and line number in the
10680         arguments.
10681
10682         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
10683         functions.
10684         
10685         * gtk/gtk.def: Add some missing entry points.
10686
10687         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10688         gtk_paned_set_gutter_size, which don't exist any longer, as void.
10689         
10690         Fixes by Hans Breuer:
10691
10692         * gdk/makefile.msc: Update for debugging.
10693
10694         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
10695         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
10696         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
10697         in the dash_list.
10698
10699         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
10700         the x11 backend.
10701
10702         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
10703
10704         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
10705
10706 2000-03-04  Tor Lillqvist  <tml@iki.fi>
10707
10708         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
10709         just pixel value of background colour.
10710
10711         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
10712         containing code snippet previously duplicated in a couple of
10713         places.
10714         
10715         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
10716         gdk_colormap_color.
10717
10718         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
10719         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
10720         events for autorepeated Shift, Control and Alt keys. Use
10721         gdk_colormap_color.
10722
10723         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
10724         pointer is inside the window the cursor of which we are setting,
10725         call SetCursor immediately.
10726
10727         * gdk/win32/makefile.cygwin
10728         * gtk/makefile.cygwin: If we don't have the build number stamp
10729         file, use zero.
10730
10731         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10732         gtk_paned_set_gutter_size as empty.
10733
10734         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
10735         
10736 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
10737
10738         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
10739           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
10740           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
10741           docs/gtk_tut.sgml docs/gtk.texi TODO:
10742
10743           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
10744
10745 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
10746
10747         * gtk/gtkcalendar.c: Implement num_marked_dates,
10748           and don't emit mutiple day_selected signals on
10749           month_prev.
10750
10751 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
10752
10753         * docs/make-todo (lineno): let title and logo be configurable so
10754         that GNOME can use this script too.
10755
10756         * TODO.xml: added logourl and a title
10757
10758 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
10759
10760         * TODO.xml: Added some UI items, and an explanatory
10761         comment at the top of the file.
10762
10763 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
10764
10765         * TODO.xml: some updates, added abunch of new entries.
10766         a note for those fiddeling with this file, when done
10767         with it, invoke:
10768         $ ./docs/make-todo TODO.xml >/dev/null
10769         and correct output errors before comitting changes.
10770
10771 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
10772
10773         * TODO.xml: Added XML-structured TODO file.
10774         * docs/make-todo: python script to turn TODO.xml into
10775           pretty XML output. 
10776
10777 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
10778
10779         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
10780         the function to let it draw the seven dots, instead of the old,
10781         much maligned, method.
10782         (draw_dot): New function to draw a dot.
10783
10784         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
10785         to draw the handle inside the border width as opposed to outside.
10786         Use paint function instead of gdk_draw_point.
10787
10788         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
10789         to draw the handle inside the border width as opposed to outside.
10790         Use paint function instead of gdk_draw_point.
10791
10792         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
10793         Change indenting to be more GTK like.
10794
10795 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
10796
10797         * docs/gtk_tut.sgml: New section on GtkCalendar
10798         * examples/calendar: Update example code
10799
10800 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
10801
10802         * docs/gtkfaq.sgml: FAQ Update
10803
10804 2000-02-19  Anders Carlsson  <andersca@gnu.org>
10805
10806         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
10807         to prevent the scroll event to be propagated upwards.
10808
10809 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10810
10811         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
10812         OwnerGrabButtonMask from button entries for
10813         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
10814
10815         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
10816         to the event mask (which will result in button/press release
10817         being added to the event mask on Unix) so scrolling works
10818         for layouts in scroll windows.
10819
10820         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
10821
10822         Patch from Anders Carlsson  <andersca@gnu.org> to add
10823         a scroll event.
10824
10825         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
10826         scrolling to the "Test Scrolling" part of testgtk.
10827  
10828         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
10829  
10830         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
10831         it against GDK_SCROLL.
10832  
10833         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
10834         way of mouse wheel scrolling.
10835  
10836         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
10837  
10838         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
10839  
10840         * gtk/gtkmain.c: Removed previous mouse wheel hack.
10841  
10842         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
10843         gdk_event_mask_table.
10844  
10845         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
10846         GdkEventScroll handler.
10847  
10848         * gdk/gdkevents.h: Added GdkEventScroll structure.
10849  
10850 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
10851
10852         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
10853         and Anders Carlsson to change the Paned widgets so that they
10854         can be dragged from anywhere along the length. Also change
10855         the way that this is drawn to make this apparent.
10856
10857         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
10858         from George Lebl to check that option_menu->menu is present
10859         before getting history.
10860
10861 2000-02-14  Tor Lillqvist  <tml@iki.fi>
10862
10863         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
10864         before the assertion for non-NULL segment list.
10865
10866         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
10867         Seems that pattern brushes *must* be 8x8 pixels! At least on my
10868         machine, but it might be display driver dependent. Sigh, so make
10869         sure the stipple is that size. Does Windows suck or what?
10870
10871         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
10872         places.
10873
10874 2000-02-13  Havoc Pennington  <hp@pobox.com>
10875
10876         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
10877         refcount to 1
10878         (gdk_cursor_new): init refcount to 1
10879
10880         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
10881
10882 2000-02-13  Tor Lillqvist  <tml@iki.fi>
10883
10884         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
10885         so that we don't have to do unnecessary settings to the HDC.
10886
10887         * gdk/win32/gdkdrawable-win32.c
10888         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
10889         gdk_gc_predraw.
10890
10891         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
10892         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
10893         GDI paths, call WidenPath to get the outline of the stroken path,
10894         and then fill the outline (with the brush that was built from the
10895         stipple).
10896
10897         * gdk/win32/gdkgc-win32.c: Factor out common code from
10898         _gdk_win32_gc_new and gdk_win32_gc_set_values into
10899         gdk_win32_gc_values_to_win32values. Use correct colour for
10900         SetBkColor() (Until now the code actually used a random colour in
10901         the call to SetBkColor()... but that didn't show up as not many
10902         GDI APIs use the background colour. Pattern (opaque stippled)
10903         brushes do.)
10904
10905         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
10906         gdk_win32_api_failed): New functions for error logging.
10907
10908         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
10909         WIN32_API_FAILED to call them, passing function or file name and
10910         line number.
10911
10912         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
10913
10914         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
10915         GdkColor for foreground and background in GdkGCWin32Data.
10916
10917         * gdk/makefile.cygwin: Link in the resource object separately.
10918
10919         * gdk/win32/rc/gdk.rc
10920         * gtk/gtk.rc (New file)
10921         * gdk/win32/makefile.cygwin
10922         * gtk/makefile.cygwin: Update build number in DLLs automatically,
10923         as in GLib.
10924
10925 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
10926
10927         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
10928         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
10929         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
10930         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
10931         parameters given and cursor->ref_count. coding style fixups.
10932
10933         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10934         not GtkWidget.
10935         
10936         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
10937         fix up widget macros and add _GET_CLASS() variant.
10938         
10939         * gtk/*.c: some GtkType fixups.
10940
10941 2000-02-09  Tor Lillqvist  <tml@iki.fi>
10942
10943         * gdk/win32/gdkproperty-win32.c
10944         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
10945         were reversed.
10946
10947 2000-02-04  Tor Lillqvist  <tml@iki.fi>
10948
10949         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
10950         g_filename_to_utf8 to convert the font names Windows gives us from
10951         whatever is the default codepage to UTF-8.
10952         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
10953         in the other direction.
10954
10955         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
10956         error in debugging output.
10957
10958 2000-02-02  Tor Lillqvist  <tml@iki.fi>
10959
10960         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
10961         and height parameters to gdk_window_clear_area(). Not minus one.
10962
10963 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
10964
10965         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
10966         checks if the widget passed to gtk_drag_get_data() was not the
10967         dest widget.
10968
10969 2000-02-01  Tor Lillqvist  <tml@iki.fi>
10970
10971         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
10972         g_filename_from_utf8 functions (which were added a moment ago to
10973         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
10974         size buffers.
10975
10976         gtk_file_selection_get_filename returns the filename in the C
10977         runtime encoding. It calls g_filename_from_utf8, but copies the
10978         returned string to a static buffer, which is returned. I think
10979         this is better than returning the result from g_filename_from_utf8
10980         directly, which would mean all apps that use it would have to free
10981         the return value. Or should this function care about this issue at
10982         all? Maybe a new function with clearly defined semantics.
10983
10984         * gtk/gtkfilesel.h: Add comment about
10985         gtk_file_selection_get_filename returning the filename in the C
10986         runtime's encoding.
10987
10988         * README.win32
10989         * gdk/gdk.def
10990         * gdk/makefile.{cygwin,msc}
10991         * gtk/gtk.def: Updates.
10992
10993         * gdk/gdkcursor-win32.c: Initialise refcount.
10994
10995 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
10996
10997         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
10998
10999 2000-01-30  Havoc Pennington  <hp@pobox.com>
11000
11001         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
11002         destroy
11003
11004         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
11005
11006         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
11007         implemented in platform-specific code
11008
11009         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
11010
11011         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
11012         underscore in front
11013
11014         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
11015         put an underscore in front
11016
11017         * gdk/gdkcursor.c: new file, implements
11018         gdk_cursor_ref/gdk_cursor_unref
11019
11020         * gdk/gdkcursor.h: Refcount GdkCursor
11021
11022         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
11023
11024 2000-01-29  Tor Lillqvist  <tml@iki.fi>
11025
11026         * gdk/gdkwindow.h
11027         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
11028
11029 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
11030
11031         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
11032         structures to properly inherit from GtkWidget not GtkBin.
11033
11034 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
11035
11036         * gtk+.spec.in: Added lib/gtk+/include/* to %files
11037         (bug #5178 - Peter Wainright)
11038         
11039         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
11040         so that it will be installed.
11041         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
11042
11043 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
11044
11045         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
11046         for the GtkStyleClass vtable const.
11047
11048         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
11049         take a const string argument like GtkTranslateFunc. This will
11050         require changes in use code.
11051
11052 2000-01-19  Tor Lillqvist  <tml@iki.fi>
11053
11054         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
11055         semantics (to mimic the X11 backend, which just calls XClearArea)
11056         is to check for zero width (and height), and in that case use the
11057         window's width minus x (height minus y). This fixes for instance
11058         some redraw problems with gtkclist, which were easily noticeable
11059         in the gtk file selection widget.
11060
11061         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
11062         windows.
11063
11064 2000-01-13  Tor Lillqvist  <tml@iki.fi>
11065
11066         * configure.in
11067         * gdk/Makefile.am
11068         * gdk/x11/Makefile.am
11069         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
11070         (bug #5177).
11071         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
11072         out later.
11073
11074 2000-01-09  Tor Lillqvist  <tml@iki.fi>
11075
11076         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
11077         WM_MOVE for iconified or invisible windows. This fixes various
11078         problems when minimising windows. Thanks to Bernd Herd.
11079
11080 2000-01-05  Tor Lillqvist  <tml@iki.fi>
11081
11082         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
11083         backend's draw_lines method, not draw_points.
11084
11085 2000-01-02  Tor Lillqvist  <tml@iki.fi>
11086
11087         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
11088         before Owen's reorganisation: Don't have queued_events and
11089         queued_tail statics in this file, but use gdk_queued_events and
11090         gdk_queued_tail. This makes exposure event compression work again.
11091
11092         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
11093         seem to be needed?
11094
11095 1999-12-30  Tor Lillqvist  <tml@iki.fi>
11096
11097         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
11098         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
11099         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
11100         doesn't do anything.
11101
11102         * gdk/gdk.def: Add gdk_xid_table_insert.
11103
11104         * gdk/win32/gdkprivate-win32.h
11105         * gdk/win32/gdkevents-win32.c
11106         * gdk/win32/gdkinput-win32.c
11107         
11108         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
11109         extension_events field in the GdkWindowWin32Data struct. Use only
11110         the extension_events field in GdkWindowPrivate. Previously one was
11111         set, and the other one tested, which broke tablet
11112         functionality. Thanks to Keishi Suenaga for pointing this out.
11113
11114 1999-12-18  Tor Lillqvist  <tml@iki.fi>
11115
11116         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
11117         When handling a single character (text length == 1), don't handle
11118         it as if it was UTF-8.
11119
11120 1999-12-11  Tor Lillqvist  <tml@iki.fi>
11121
11122         * Makefile.am: Distribute README.win32.
11123         
11124         * gdk/Makefile.am
11125         * gdk/win32/Makefile.am: Distribute Win32 files.
11126
11127         * gdk/makefile.msc: New file.
11128
11129         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
11130         after label).
11131
11132         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
11133         gdk_error_code as GDKVAR, as they are referred outside GDK.
11134
11135         * gdk/win32/makefile.msc: Update.
11136
11137         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
11138         tweaks. Check only if at least one of those Unicode subrange bits
11139         we care for is set. If no code page bits are set, guess (wildly)
11140         based on the charset.
11141
11142         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
11143
11144         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
11145         non-NULL.
11146
11147         * gtk/gtkdnd.c
11148         * gtk/gtklayout.c
11149         * gtk/gtkplug.c
11150         * gtk/gtkselection.c
11151         * gtk/gtksocket.c
11152         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
11153         appropriate. There must be a cleaner way to handle this?
11154
11155         * gtk/gtkrc.c: Must include windows.h on Win32.
11156
11157         * gtk/testgtk.c: No need to include gdkx.h.
11158
11159         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
11160
11161 1999-12-07  Tor Lillqvist  <tml@iki.fi>
11162
11163         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
11164         the rbearing is set to the same as the width, but this should be
11165         fixed.
11166
11167 1999-12-06  Tor Lillqvist  <tml@iki.fi>
11168
11169         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
11170         function. If Windows doesn't tell us what Unicode subranges a font
11171         covers, guesstimate based on the codepages it covers. This will
11172         hopefully help those Windows versions or fonts that don't give us
11173         any useful Unicode subrange information with GetTextCharsetInfo.
11174         Call this function in gdk_font_load_internal.
11175
11176         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
11177         minor changes.
11178
11179 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
11180
11181         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
11182         New function, long needed.
11183
11184 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
11185
11186         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
11187         only_if_exists argument of gdk_atom_intern to
11188         bool.
11189
11190 1999-11-25  Tor Lillqvist  <tml@iki.fi>
11191
11192         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
11193         Fix two copy&paste errors.
11194
11195         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
11196         win32 has changed.
11197
11198         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
11199         GdkWin32SingleFont struct.
11200
11201         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
11202         subranges of loaded fonts. Clear font signature first, in case
11203         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
11204         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
11205
11206         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
11207         Unoffset clip region.
11208
11209 1999-11-23  Tor Lillqvist  <tml@iki.fi>
11210
11211         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
11212         event->any.window before calling filter functions.
11213
11214 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
11215
11216         * gtk/gtkgamma.h: Adapt cast macros to standard.
11217
11218 [ Merges from 1.2 ]
11219
11220 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
11221
11222         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
11223         If translation does not include a '/', use entire
11224         translation instead of crashing.
11225
11226 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
11227
11228         * docs/gtk_tut.sgml:
11229         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
11230
11231 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
11232
11233         * gtk/gtkselection.c (gtk_target_list_remove): Use
11234         g_list_remove_link, not g_list_remove.
11235
11236         [ From Geert Bevin <gbevin@thunderstorms.org> ]
11237         
11238 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
11239
11240         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
11241         statement upon unselection (how the heck did that slip in?).
11242
11243 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
11244
11245         * gtk/gtktext.c (gtk_text_freeze): 
11246         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
11247         in frozen state (and aparently crashes). patch provided by Anders
11248         Melchiorsen <and@kampsax.dtu.dk>.
11249
11250 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
11251
11252         * fix insensitive default/focus widget activation,
11253         reported by Matt Goodall <mgg@isotek.co.uk>.
11254
11255         * gtk/gtkwindow.c (gtk_window_key_press_event): 
11256         (gtk_window_activate_default):
11257         (gtk_window_activate_focus):
11258         return handled=FALSE for actiavtion of insensitive default
11259         widgets. return handled=TRUE for activation of insensitive
11260         focus widgets. don't activate in either case.
11261
11262 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
11263
11264         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
11265         and $glib_cflags to match library order and in the
11266         theory that an old version of GLib is more likely to
11267         be in the include directory for X then vice-versa.
11268         (Bug #2776)
11269
11270 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11271
11272         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
11273         to determine the locale for fontsets, not LC_MESSAGES;
11274         the user may want English messages with a handling
11275         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
11276         will still be broken) (Bug #2891)
11277
11278 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11279
11280         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
11281
11282 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11283
11284         * gtk/gtkrc.ko: Changed the Korean default fontset.
11285
11286 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
11287
11288         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
11289         where when scrolling to the left or top double exposes
11290         were done, causing major slowdowns.
11291
11292 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
11293
11294         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
11295         names to lowercase and alphanumeric, before looking
11296         them up.
11297
11298         * gtk/Makefile.am: Install codeset variant gtkrc files
11299         with normalized names.
11300
11301 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
11302
11303         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
11304         popup menus when the menu is already visible, but its parent
11305         is still hidden, (happens after tornoff window got hidden).
11306
11307 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
11308
11309         * gtk/Makefile.am (install-data-local): Fix
11310         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
11311         deleted, causing error messages on install.
11312
11313 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
11314
11315         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
11316         the handle as well, since we now sometimes ignore
11317         exposes on the handle while resizing.
11318
11319 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
11320
11321         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
11322         extra g_free introduced in one of the last one or two 
11323         commits.
11324
11325 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
11326
11327         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
11328         consistent, put each style that a gtkrc.* file creates
11329         in a unique namespace, remove old files before installing.
11330
11331 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
11332
11333         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
11334         gtk_rc_init is called multiple times. (Yes, people who
11335         do that have bugs in their code.)
11336
11337 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
11338
11339         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
11340         Remove it since it's generated by the Makefile anyway
11341
11342 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
11343
11344         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
11345         device->info.axes for core pointer.
11346
11347 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
11348
11349         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
11350         idle_id, to deal with obsolete, broken C libraries.
11351
11352 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
11353
11354         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
11355         allocation->x/y twice!
11356
11357         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
11358         consistent with gtk_vscale_pos_trough().
11359
11360 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
11361
11362         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
11363         be queueing a resize on a toplevel container between
11364         the time we show it and when we map it. So, we need
11365         to test GTK_WIDGET_VISIBLE() for toplevels, and only
11366         use GTK_WIDGET_DRAWABLE() for child windows.
11367
11368 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
11369
11370         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
11371         (fixes bug #2144)
11372
11373 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
11374
11375         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
11376         container DRAWABLE (instead of VISIBLE), so we don't queue
11377         resizes on non-toplevel containers.
11378
11379 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
11380
11381         * gtk/gtkselection.[ch]: Make the data argument
11382         const guchar *.
11383
11384 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
11385
11386         * gtk/gtkwindow.c: Try to behave sensibly if 
11387         the focus widget is the window itself. (Should
11388         we allow this at all?)
11389
11390 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11391
11392         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
11393         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
11394         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
11395         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
11396         in prototypes and implementations consistent (Tomas Ogren).
11397
11398         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
11399         before the widget is unparented (reported by damon).
11400
11401         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
11402         since we provide unsigned data anyways.
11403
11404 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
11405
11406         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
11407         the call to gtk_tooltips_layout_text() until later.
11408
11409         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
11410         Call gtk_widget_ensure_style() before using the style.
11411
11412 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
11413
11414         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
11415         for old widgets that don't propagate draws to all
11416         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
11417
11418 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
11419
11420         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
11421         for a redraw but just the widget that requested the resize.
11422
11423 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
11424
11425         * gtk/gtkcontainer.c: added new widget level method
11426         gtk_container_set_reallocate_redraws() and a GtkContainer flag
11427         reallocate_redraws : 1 to reflect the setting, exported this through
11428         the argument system as a boolean ::reallocate_redraws.
11429
11430         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
11431         on the widget because the allocation changes, do so as well for
11432         widget->parent if the parent has reallocate_redraws set to TRUE.
11433         with that containers requesting reallocation redraws get automatically
11434         redrawn if their children changed allocation (this unfortunately
11435         affects also other children that didn't change allocation, but we
11436         cannot work around that before 1.3).
11437
11438 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11439
11440         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
11441         _and_ height are >0 (not _or_).
11442
11443         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
11444         instead of gtk_container_queue_resize(), which is a core gtk internal
11445         function (must have been on crack when i queued that).
11446
11447         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
11448         we can check more reliably if we want to discard expose events.
11449         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
11450         flag.
11451         
11452         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
11453         we simply trust these events. for deciding whether to discard exposes,
11454         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
11455         
11456 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
11457
11458         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11459         queues of areas that are completely off screen.
11460
11461         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
11462         logic for handleboxes.
11463
11464         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
11465         check on width/height.
11466
11467 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
11468
11469         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
11470         we are fine with using $@ the way we do (if we actually encounter
11471         brokeness with $@ in VPATH builds because of additional path prefixes,
11472         we need to use $(@F) actually).
11473
11474 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
11475
11476         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
11477         short lived bugs, that would allow language bindings to do surgeries
11478         to our guts.
11479
11480 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
11481
11482         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
11483         where comparison was being done against an uninitialized
11484         value causing intermittant results depending on
11485         compiler flags. Also make it clearer that we aren't
11486         ever initializing the child as 0x0 (though this will
11487         be caught in gtk_widget_size_allocate())
11488
11489 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
11490
11491         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
11492         gtk_window_unset_transient_for() call after we do checks
11493         involving the old transient parent.
11494         [ From Lance Capser <lmc@cyberhighway.net> ]
11495
11496 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
11497
11498         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
11499         an empty file.
11500
11501 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
11502
11503         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
11504         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
11505
11506 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
11507
11508         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
11509         `$@' is valid only in the build dir, not after we've done 
11510         `cd $srcdir'.  Also use `test -f' instead of less portable
11511         `test -e'.
11512
11513 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
11514
11515         * gtk/gtktext.c (correct_cache_insert): Rewrite
11516          for simplicity, and hopefully correctness.
11517          (Fixes bug #1322, which was a segfault when
11518           on some insertions with the properties around
11519           the insertion set up just wrong.)
11520
11521         * gtk/gtktext.c (gtk_text_adjustment): When we receive
11522          a "changed" signal, clamp the new value to the adjustment
11523          bounds to avoid segfaulting if someone tries to change
11524          the adjustment to a bogus value. (Bug #1795)
11525
11526 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11527
11528         * gtk/gtkmain.c: Ignore unexpected destroy notifies
11529         for children, for toplevel windows handle them
11530         like delete_event.
11531
11532         * gtk/gtkplug.c: Add an unrealize handler so that
11533         we unref plug->socket_window when we are done
11534         with it.
11535
11536 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
11537
11538         * gtk/gtktext.c (clear_area): Fix stupid signedness
11539          problem that was causing background to sometimes
11540          be misaligned.
11541
11542 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
11543
11544         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
11545         
11546         * gtk/gtkmenu.c (gtk_menu_position): Make
11547          sure we never position menus with negative x, y,
11548          since gtk_widget_set_uposition() can't handle that.
11549
11550         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
11551          Modify the positioning code a bit so that we always
11552          put the top-left corner onscreen. (This is for
11553          UI reasons, gtk_menu_position() now takes care of
11554          gtk_widet_set_uposition() brokeness.)
11555
11556 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
11557
11558         * gtk/Makefile.am: fixed up things for -jx, x > 1.
11559
11560 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
11561
11562         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
11563           RC style that is passed in. The lack of the ref
11564           before was a bug. If people worked around this
11565           bug, this will introduce a slight memory leak
11566           in their code. The code should typically look like:
11567
11568             rc_style = gtk_rc_style_new ();
11569             [...]
11570             gtk_widget_modify_style (widget, rc_style);
11571             gtk_rc_style_unref (rc_style);
11572
11573         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
11574           the style if it was already set.
11575
11576         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
11577           style if it was set before.
11578
11579 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11580
11581         * gtk/testgtk.c (main): Add a check to see if we
11582           are being run from the correct directory and
11583           to quit nicely if we are not.
11584
11585         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
11586           static.
11587
11588 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
11589
11590         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
11591
11592         * gtk/gtkwindow.c:
11593         queue resizes unconditionally (gtk_widget_queue_resize will figure
11594         what to do if the window is not realized).
11595         (gtk_window_move_resize): only recenter the window
11596         for GTK_WIN_POS_CENTER_ALWAYS.
11597         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
11598         the same way as GTK_WIN_POS_CENTER.
11599
11600 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
11601
11602         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
11603         with (!(info->last_flags & GDK_HINT_POS)) instead of
11604         (!info->last_flags & GDK_HINT_POS).
11605
11606         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
11607         new_height unconditionally, because we use these values even if
11608         !default_size_changed && !hints_changed.
11609         comented the (default_size_changed || hints_changed) case with
11610         respect to resize rejects from the window manager.
11611
11612         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
11613         in the zvt condition hack, since this includes the window hints, set
11614         the hints after the handling_resize case.
11615
11616         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
11617         window is initially shown with to the geometry.
11618
11619 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
11620
11621         * gtk/gtkwindow.c (gtk_window_move_resize):
11622         s/size_changed/default_size_changed/g so i know what's
11623         really going on (frying brain on smaller flame now).
11624
11625 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
11626
11627         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
11628         we have size_changed upon handling_resize. this is a gross
11629         workaround for the broken zvt widget and should be removed in
11630         1.3 again (search for FIXME).
11631         Owen provided an accurate comment for this:
11632
11633         /* We could be here for two reasons
11634          *  1) We coincidentally got a resize while handling
11635          *     another resize.
11636          *  2) Our computation of size_changed was completely
11637          *     screwed up, probably because one of our children
11638          *     is broken. It's probably a zvt widget.
11639          *
11640          * For 1), we could just go ahead and ask for the
11641          * new size right now, but doing that for 2)
11642          * might well be fighting the user (and can even
11643          * trigger a loop). Since we really don't want to
11644          * do that, we requeue a resize in hopes that
11645          * by the time it gets handled, the child has seen
11646          * the light and is willing to go along with the
11647          * new size. (this happens for the zvt widget, since
11648          * the size_allocate() above will have stored the
11649          * requisition corresponding to the new size in the
11650          * zvt widget)
11651          *
11652          * This doesn't buy us anything for 1), but it shouldn't
11653          * hurt us too badly, since it is what would have
11654          * happened if we had gotten the configure event before
11655          * the new size had been set.
11656          */
11657
11658 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
11659
11660         * gtk/gtkrc.c: deal properly with the fact that RC
11661           style lists may include rc styles more than once.
11662
11663         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
11664           unused static function.
11665
11666         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
11667           stack of directories of RC files currently being
11668           parsed and implicitely add them to pixmap path.
11669           
11670           This fixes a bug where the directory would get
11671           appended then overwritten by pixmap_path declarations.
11672
11673           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
11674
11675         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
11676           theme's exit function. (Patch from Peter Wainwright,
11677           bug #1454)
11678
11679         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
11680           Add a destroy() handler to take care of removing
11681           group for menu item. (Fixes bug #1197)
11682
11683         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
11684           in warning message.
11685
11686 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
11687
11688         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
11689         roundtrip to figure window's width and height, since we know that
11690         anyways from widget->allocation.
11691
11692 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
11693
11694         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
11695           the hints after we request the new size.
11696
11697 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
11698
11699         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
11700           GTK_WIDGET_REALIZED() assertion - we can compute the
11701           hints before we are realized.
11702
11703         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
11704           hint changing so that we have a value of hints_changed
11705           when we decide whether to constrain the window size.
11706
11707         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
11708
11709         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
11710         change back to G_MAXINT.
11711
11712 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
11713
11714         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
11715         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
11716         contain uncluttered values.
11717         (gtk_window_compute_hints): simply assert that window is realized
11718         and that geometry_info is valid, since we rely on this anyways.
11719         (gtk_window_constrain_size): major cleanups to the code.
11720         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
11721         for the base size, instead of the minimums. use 32767 as max width
11722         and height (like in gtkwindow.c) instead of G_MAXINT.
11723
11724 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
11725
11726         * cleaned up the GtkContainer.need_resize flag handling mess, we
11727         only need to force resize requests when we were prematurely
11728         realized, or our widget tree was modified when we were temporarily
11729         hidden. handling these cases directly upon showing the window (i.e.
11730         while the GdkWindow is still unmapped) avoids the need to wait for
11731         a configure event response and therefore makes the GUI more snappier
11732         and avoids blank windows during the roundtrip.
11733
11734         * gtk/gtkwidget.c:
11735         (gtk_widget_hide): 
11736         (gtk_widget_show): don't queue resizes on toplevels, they know how
11737         to deal with matters.
11738
11739         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
11740         flag directly for not visible resize containers and spare us unecessary
11741         signal emissions.
11742
11743         * gtk/gtkwindow.c:
11744         (gtk_window_realize): if we need to enforce premature size allocation,
11745         queue a container resize so we are correctly resized later on.
11746         (gtk_window_init):
11747         (gtk_window_size_request):
11748         don't freak around with the ->need_resize flag,
11749         gtk_container_queue_resize() will care about that.
11750         (gtk_window_show):
11751         handle initial resizing issues here, we can handle matters better in
11752         this place, especially since we know that our GdkWindow is still
11753         unmapped.
11754         (gtk_window_move_resize):
11755         don't care about ->need_resize at all.
11756         handle size changes properly that occoured while we waited for a
11757         configure event.
11758
11759 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
11760
11761         * gtk/gtkwidget.c (gtk_widget_set_uposition):
11762         * gtk/gtkwindow.[hc] (gtk_window_reposition):
11763         Move the hint setting code from gtk_widget_set_uposition
11764         to here; set the hints so that we respect any previously
11765         set geometry hints.
11766
11767         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
11768         change the window hints here or move the window here,
11769         let that happen in gtk_window_move_resize().
11770
11771 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
11772
11773         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
11774         to already queued resizes (and therefore redraws) on a widget, check
11775         its anchestry as well.
11776
11777         * gtk/gtkcontainer.c:
11778         (gtk_container_queue_resize): clear resize widgets for resize
11779         containers before aborting prematurely. this is especially important
11780         for toplevels which may need imemdiate processing or their resize
11781         handler to be queued.
11782         (gtk_container_dequeue_resize_handler): added new internal function for
11783         gtkwindow.c.
11784
11785         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
11786         configure event, take possible changes in window position into account
11787         as well.
11788         if we request a new window size, queue up a resize handler that will
11789         last until the configure event response arrives.
11790         combined the ->need_resize case (initial show) with the general size
11791         (hints) changed case and added even more comments.
11792         if !auto_shrink, only revert to the old allocation if the new size
11793         is smaller than the current allocation.
11794
11795 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
11796
11797         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
11798                            gtk_window_set_geometry_hints
11799                            gtk_window_set_default_size):
11800         When hints are set, queue a resize so that the hints will
11801         be eventually reset on the toplevel.
11802
11803         * gtk/gtkwindow.c (gtk_window_show): Use
11804         gtk_window_compute_default_size(). Clear the need_resize flag
11805         on the initail map so that we don't unnecessarily trigger the
11806         resize code.
11807
11808         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
11809         into separate functions. Compare the hints we are setting
11810         with what we set last time so that we can accurately
11811         tell when we need to reset the hints.
11812
11813         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
11814         function to figure out the size from requisition
11815         and default_size.
11816
11817         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
11818         from fvwm to constrain a size to the geometry hints.
11819
11820         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
11821         to compare two sets of geometry hints.
11822
11823         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
11824         from gtk_window_set_hints(), just compute the hints,
11825         don't set them.
11826
11827         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
11828         code from gtk_window_move_resize() to separate function,
11829         rationalize a bit.
11830
11831 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
11832
11833         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
11834         structure into a new private structure.
11835
11836         * gtkrc.c: Split GtkRcStyle into public/private.
11837         In the private part, add a list of pointers to the
11838         RcStyle lists this RcStyle participates in.
11839
11840         * gtkrc.c: When a RcStyle is free, remove all
11841         lists referencing it from the 
11842         realized_style_ht hash, and free those lists.
11843         
11844         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
11845         gtk_rc_init(), since that adds the default styles
11846         to the list of parsed RC files again.
11847
11848         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
11849         
11850 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
11851
11852         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
11853         checks that ensure that a widget's allocation is at least 1 in width
11854         and height. (GNOME note: this doesn't affect old panel code anymore,
11855         because GtkSocket will request width and height of at least 1 since
11856         Fri Jul 23).
11857
11858         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
11859         allocated yet (happens if the user realizes the window prematurely),
11860         size request and allocate it.
11861         (gtk_window_size_allocate): guard against guint underflows.
11862
11863 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
11864
11865         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
11866         in gtk_built_sources, so gtk.defs gets built prior to all other
11867         sources.
11868
11869 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11870
11871         * gtk/Makefile.am:
11872         invoke indent on gtkmarshal.*. 
11873         rewrote source generation rules, use COPYING as oldest source tag for
11874         a piggyback rule to generate all sources from (don't touch it ;).
11875         major cleanups, strip spaces on build rules for GNU Make.
11876
11877         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
11878         source and target files from commandline arguments. don't invoke indent.
11879
11880 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11881
11882         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11883         notebook after switch to avoid drawing problems.
11884         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11885         
11886         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11887         show them instead. 
11888         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11889
11890 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11891
11892         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11893         notebook after switch to avoid drawing problems.
11894         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11895         
11896         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11897         show them instead. 
11898         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11899
11900 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
11901
11902         * gtk/gtkwindow.c:
11903         we use window->need_resize from configure_event now, to indicate that
11904         the gtkwindow should keep its allocation (e.g. because the user resized
11905         the window through window manager handles). resize_count is now reliably
11906         used to figure whether we got the allocation we requested from the
11907         window manager.
11908         configure events get queued as resizes now, the real stuff (size
11909         computation and allocation) now only goes on in gtk_window_move_resize().
11910         GtkWindow's requisition now contains its *real* requisition (like all
11911         other widgets), *not* taking usize into account.
11912         geometry_info->last_{width|height} is now updated from set_hints() only
11913         so it always contains the last hints we set for the window manager.
11914         made some event handlers return TRUE instead of FALSE.
11915         the overall code should be much more straight forward now, and the
11916         significant code portions are accompanied by comments now.
11917         (gtk_window_set_hints):
11918         removed requisition argument and made it
11919         fetch the requisition through gtk_widget_get_child_requisition.
11920         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
11921         does that now.
11922         (gtk_window_show):
11923         ensure that the widget is realized before calling 
11924         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
11925         ensure that we got properly size requested and allocated before
11926         realization.
11927         (gtk_window_configure_event):
11928         ignore plain window moves, or reallocate the widget tree through the
11929         resize queue otherwise.
11930         (gtk_window_move_resize):
11931         mostly rewrote this function to figure window manager hints more
11932         reliably, coalesce window moves and resizes to reduce configure events
11933         and do actuall size allocations.
11934
11935 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11936
11937         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
11938         that have a resize pending, because a redraw is already queued for them.
11939
11940         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
11941         hack to clear resize_widgets.
11942
11943         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
11944         for resize containers prior to size allocation. (this is also a bit
11945         ugly, but avoids side effects for stopped emissions and is thus more
11946         reliable).
11947         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
11948
11949         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
11950         function from gtk_tooltips_expose, as we connect to ::expose_event
11951         *and* ::draw now.
11952
11953 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11954
11955         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
11956         checks.
11957         (gtk_target_list_unref): Likewise.
11958
11959         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
11960
11961 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
11962
11963         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
11964         guard against division by zero. (Fixes bug #1339)
11965
11966 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
11967
11968         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
11969         Prevent the trivial leak of information of allowing
11970         word motion when the entry is not visible.
11971
11972 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
11973
11974         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
11975         modality to error dialog as well as confirmation dialogs.
11976         (Bug #1803, reported by Rosanna Wing Sze Yuen)
11977
11978 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11979
11980         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
11981         tree->view_lines.
11982         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
11983
11984         * gtk/Makefile.am (install-data-local): Solaris apparently
11985         has various troubles with ln -f; use rm first instead.
11986         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
11987
11988 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
11989
11990         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
11991         use `cp' followed by `rm' (the `rm' was already there).
11992
11993 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11994         
11995         * configure.in: Fix autoconf warnings about cross compilation by
11996         trying to provide sane defaults for AC_TRY_RUN.
11997         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
11998         put them into $(srcdir) when generated. Also add a dependency of
11999         gtksignal.h on gtkmarshal.h for -j builds. 
12000         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
12001
12002 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
12003
12004         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
12005         GDK_THREADS_{LEAVE,ENTER} pair.
12006         (From Paul Fisher <pnfisher@redhat.com>)
12007
12008 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
12009
12010         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
12011         width and height are always >0 (owen).
12012
12013 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
12014
12015         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
12016         change that assured that a widget's allocated with and height are
12017         always >1, since this breaks *buggy* panel code. unfortunately this
12018         back-breaks the gimp's color selector.
12019
12020         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
12021         allocation is always >0 in width and height, before sending the
12022         configure event; this is a *gross* hack to get the gimp back to work.
12023         
12024         * marked both cases with TODO-1.3
12025
12026 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
12027
12028         * gtk/gtktext.c: Don't display wrap indicators when
12029         text is not editable and word wrap is on.
12030
12031 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
12032
12033         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
12034         option menus here as they are not derived from menu shell, assure that
12035         the option menu has a menu we can add items to.
12036
12037 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
12038
12039         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
12040         width/height to (gint) before calculations and check against < 0 to
12041         avoid guint wraparounds.
12042
12043 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
12044
12045         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
12046         width and height is never zero. sanity check both dimensions against
12047         32767 and issue a warning if the allocation is greater than that.
12048
12049 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
12050
12051         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
12052         to g_main_pending() as well.
12053
12054 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
12055
12056         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
12057         call to g_main_iteration() - since that will regrab
12058         GTK+ lock to process events.
12059
12060 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
12061
12062         * gtk/gtkwindow.c
12063         - Regularize with the rest of GTK+ by making widget->requisition
12064           not reflect the set_usize()
12065         - Always recompute geometry hints, then check if they
12066           changed before sending them to the X server. The
12067           previous checks for changes would fail in a number
12068           of circumstances. 
12069
12070 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
12071
12072         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
12073
12074 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
12075
12076         * gtk/gtkdnd.c:
12077         - Code cleanups
12078         - Instantaneously update on modifier key presses
12079         - Allow cancellation of the drag with Escape.
12080
12081 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
12082
12083         * gtk/testgtk.c (create_handle_box): Set the policy
12084         to auto_shrink - otherwise the appearance is rather
12085         strange when flipping between horizontal and vertical.
12086
12087 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
12088
12089         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
12090         (gtk_window_set_default_size): don't change a value if it's < 0.
12091         queue a resize.
12092
12093 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
12094
12095         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
12096
12097 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
12098
12099         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
12100         add an extra "/" when concating "/" + filename.
12101         (From Matt Grossman <mattg@oz.net>)
12102
12103 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
12104
12105         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
12106         for fg_gc if we set it for drawing pixmap.
12107
12108 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
12109
12110         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
12111         
12112         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
12113         already set, call old engine's destroy function and
12114         unref the old engine.
12115
12116 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
12117
12118         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
12119
12120 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
12121
12122         * gtk/gtkaccelgroup.h: mark certain functions as internal.
12123
12124 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
12125
12126         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
12127         expand behaviour changed.
12128
12129         * gtk/gtklabel.c (gtk_label_set_pattern):
12130         (gtk_label_set_justify):
12131         (gtk_label_set_line_wrap):
12132         don't bother invoking queue_clear, the reallocation does
12133         that for us, always free_words so the upcoming resize will
12134         relayout the label's contents.
12135
12136 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
12137
12138         * applied argument implementation patches from Elena Devdariani
12139         <elena@cogent.ca>.
12140
12141         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
12142         ::space_style, ::relief
12143         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
12144         * gtk/gtkpreview.c: ::expand
12145         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
12146         * gtk/gtknotebook.c: ::homogeneous
12147         * gtk/gtklabel.c: ::wrap
12148         * gtk/gtklist.c: ::selection_mode
12149         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
12150         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
12151         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
12152         * gtk/gtkclist.c: ::sort_type
12153         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
12154         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
12155
12156 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
12157
12158         * gtk/gtkstyle.c: Removed ill-thought-out part of last
12159         comment.
12160
12161 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
12162
12163         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
12164         counting right when we have to attach a new style
12165         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
12166
12167         * gtk/gtkstyle.c: Documented the refcounting
12168         peculularities of gtk_style_attach.
12169
12170 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12171
12172         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
12173         window types.
12174
12175         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
12176         of GTK_TOPLEVEL for creating the window.
12177
12178 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12179
12180         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
12181         the last argument (reported by Per Winkvist).
12182         
12183 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
12184
12185         Fixes for invisible XOR lines (Frank Loemker
12186         <floemker@TechFak.Uni-Bielefeld.DE>)
12187         
12188         * gtk/gtkclist.c (gtk_clist_realize): Always use
12189         a non-zero pixel for GDK_XOR.
12190
12191         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
12192         Use GDK_INVERT instead of GDK_XOR.
12193
12194 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
12195
12196         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
12197         signals if h/voffsets differ from adjustment values.
12198         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
12199
12200 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
12201
12202         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
12203         ::selection-done emissions up to the topmost menu shell.
12204
12205 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
12206
12207         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
12208         the user data on the window before destroying it.
12209
12210         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
12211         unrealize handler to take care of destroying 
12212         notebook->panel properly. 
12213         (Bug #1198 - Morten Welinder <terra@diku.dk>)
12214
12215         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
12216         of g_new and g_realloc to stop memory leak. (Actually,
12217         we could just use g_realloc(), but I'm not 100% sure
12218         that is portable).
12219         (Bug #1196 - Morten Welinder <terra@diku.dk>)
12220
12221 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12222
12223         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
12224
12225         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12226         for fontsets.
12227
12228         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
12229         with bin/button confusion.
12230
12231 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
12232
12233         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
12234         and show how preselection of radio items is done.
12235
12236 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
12237
12238         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
12239         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
12240         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
12241         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
12242         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
12243         * gtk/gtktable.c (gtk_table_attach): 
12244         * gtk/gtklist.c (gtk_list_insert_items): 
12245         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
12246         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
12247         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
12248         * gtk/gtkbin.c (gtk_bin_add): 
12249         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
12250         * gtk/gtkfixed.c (gtk_fixed_put): 
12251         * gtk/gtklayout.c (gtk_layout_put):
12252         general fixups to container_add logic. always realize child if
12253         child->parent is realized, only map the child and queue a resize
12254         if child and child->parent are both visible.
12255
12256 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
12257
12258         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
12259         instead of gtk_container_foreach to walk and unrealize children, so
12260         composite children get also unrealized.
12261         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
12262         (gtk_widget_map): assert that the widget is visible (basic constrain).
12263         (gtk_widget_real_map): assert that the widget is realized (basic
12264         constrain).
12265
12266 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
12267
12268         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
12269
12270 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
12271
12272         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
12273         file for iso-8859-2 locales.
12274
12275         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
12276
12277 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
12278
12279         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
12280          (Pointed out by andy@rz.uni-karlsruhe.de and others).
12281          Remove some suspicious and useless lines. 
12282
12283 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
12284
12285         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
12286         width,height = 0, 0 to mean - here to edge of window,
12287         instead of -1, -1, since the former is all we support.
12288
12289 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
12290
12291         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
12292         when removing from quit_functions list.
12293
12294 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
12295
12296         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
12297
12298 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
12299
12300         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
12301          When redrawing characters on non-visible entry, use appropriate
12302          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
12303
12304 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
12305
12306         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
12307         from drag coordinates.
12308         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
12309         use drag_dest_cell.
12310
12311         * gtk/gtktree (drag_dest_cell)
12312         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
12313         (Bug #1129)
12314
12315 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
12316
12317         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
12318         translate_* fields.
12319         (gtk_item_factory_finalize): invoke translate_notify independant from
12320         translate_data.
12321         (gtk_item_factory_set_translate_func): likewise.
12322         (gtk_item_factory_destroy): only remove ifactory pointer from those
12323         widgets that belong to us (stupid me).
12324
12325 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
12326
12327         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
12328         rc_style list when lookup succeeeds.
12329
12330 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
12331
12332         * gtk/gtkctree.c (resync_selection): 
12333         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
12334         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
12335         bug.
12336
12337 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
12338
12339         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
12340         Add some missing GDK_THREADS_ENTER()/LEAVE around
12341         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
12342
12343 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
12344
12345         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
12346         rather than emit_by_name.
12347
12348         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
12349         on the widget across multiple signal emissions.
12350         (gtk_editable_delete_text): same here.
12351         (gtk_editable_class_init): set widget_class->activate_signal after
12352         editable_signals[ACTIVATE] has been created.
12353
12354 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
12355
12356         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
12357         position here prematurely -- we might not have the
12358         right ->min_position and ->max_position yet.
12359
12360 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12361
12362         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
12363         Add error traps so if the other end of the connection
12364         dies, we survive.
12365
12366         * gtk/gtkselection.c (gtk_selection_notify): Clean
12367         up properly when selection property retrieval fails.
12368         
12369         * gtk/gtkselection.c (gtk_selection_request): Correctly
12370         reject SelectionRequest notifies where the handler
12371         returns no data.
12372
12373 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12374
12375         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
12376         when we've previously highlighted.
12377
12378         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
12379         emit two "drag_leave" signals for Motif drops.
12380
12381         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
12382         back the correct status messages when dropping from
12383         Motif onto a proxy window that is rejecting the
12384         drop.
12385
12386 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
12387
12388         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
12389         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
12390         to compare two argument values. added gtk_arg_to_valueloc() to set a
12391         variable from an arg through its location (pointer).
12392
12393         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
12394         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
12395         as gfloat*, uchars are collected as guchar*, ints are collected as
12396         gint*, etc...
12397
12398 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
12399
12400         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
12401         Include <string.h> instead of <strings.h>.
12402
12403         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
12404         (actually, a lot more duplicate includes occur if
12405          you trace through the sequence of #include's)
12406         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
12407         
12408 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12409
12410         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12411         gtk-a-higuti-990322-[0-3]
12412
12413         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12414         that was causing -DX_LOCALE not to work.
12415
12416         * gtk/gtkrc.c (gtk_rc_init):
12417         X_LOCALE will never have LC_MESSAGES defined
12418
12419 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
12420
12421         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
12422         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
12423
12424         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
12425         left/right as well (gtk-michael-980726-0.patch.gz).
12426
12427         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
12428         for pointer values, use gchar instead of char. fixed uline allocation
12429         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
12430         chunks instead of G_ALLOC_ONLY.
12431         (gtk_label_size_request): always alter requisition as passed and leave
12432         widget->requisition alone.
12433         (gtk_label_set_text): allow NULL strings.
12434         (gtk_label_new): likewise.
12435
12436 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
12437
12438         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
12439
12440 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
12441
12442         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
12443         *and* mapped (i.e. drawable).
12444         (gtk_bin_expose): only send exposes to drawable children.
12445
12446         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
12447         (gtk_box_expose): only send exposes to drawable children.
12448
12449         * gtk/gtkhscale.c (gtk_hscale_draw): 
12450         * gtk/gtkvscale.c (gtk_vscale_draw):
12451         hm, this is an ugly one. we first compute the size of our trough area
12452         here (window relative) and then check intersection with the draw_area
12453         which is parent relative because we're a NO_WINDOW widget, so we need
12454         to offset the trough area by allocation.x and allocation.y before the
12455         check. (this must not be done for the background area though, since
12456         that's already computed parent relative).
12457
12458 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
12459
12460         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
12461         unrealize title buttons.
12462
12463 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
12464
12465         * gtk/gtkclist.c (gtk_clist_column_title_passive)
12466         (gtk_clist_column_title_active): 
12467         only connect/disconnect to GtkWidgetClass::event to block mouse events.
12468
12469         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
12470         zero initialize event, removed superfluous gdk_window_get_pointer call
12471
12472         * gtk/gtklist.c (gtk_list_vertical_timeout)
12473         (gtk_list_horizontal_timeout): removed superfluous
12474         gdk_window_get_pointer call
12475
12476 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12477
12478         * plugging problems reported by "Bruce Mitchener, Jr."
12479         <bruce@puremagic.com> due to a purify session.
12480
12481         * gtk/gtkstyle.c:
12482         (gtk_style_ref): 
12483         (gtk_style_unref): assert ref_count to be > 0.
12484
12485         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
12486         the requisition.
12487         (gtk_clist_set_shift): likewise.
12488
12489         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
12490         adjustments.
12491
12492         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
12493         event before sending it and set send_event to TRUE (which needs to
12494         be done for *all* synthesized events).
12495         (gtk_list_vertical_timeout): likewise.
12496
12497         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
12498         leaks.
12499
12500         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
12501         to TRUE when synthesizing events.
12502
12503 [ *** end of merges from 1.2 *** ]      
12504         
12505 1999-11-21  Tor Lillqvist  <tml@iki.fi>
12506
12507         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
12508         (or copied from gdkconfig.h.win32 on Win32, sigh).
12509
12510         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
12511
12512         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
12513
12514         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
12515
12516         * gdk/gdkconfig.h.win32: New file.
12517
12518         * gdk/win32/makefile.cygwin: Build just a static archive here.
12519
12520         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
12521         for the DLL from the static archive built above.
12522
12523         * gdk/gdk.def: Moved here from the win32 subdirectory.
12524
12525         * gdk/win32/*: Adapt for the changed private struct organisation.
12526
12527         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
12528
12529 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
12530
12531         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
12532         for wheel mice (buttons 4 and 5).
12533
12534 1999-11-18  Tor Lillqvist  <tml@iki.fi>
12535
12536         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
12537         drawables use just the pixel field in the foreground and
12538         background GdkColor of the GdkGC.
12539
12540         gdk_gc_set_{fore,back}ground() are called in the GIMP with
12541         GdkColors containing uninitialized (red,green,blue) fields, and
12542         just the pixel field filled in, and furthermore in the
12543         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
12544         It thus turns out that we really don't need to have the full
12545         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
12546         it later to have just the pixel values.
12547
12548 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
12549
12550         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
12551
12552 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
12553
12554         * docs/gtkfaq.sgml: threads example from Erik Mouw.
12555         New question on GtkLabel background colors.
12556
12557         * docs/gtk_tut.sgml:
12558           - Correct the example code callback
12559             function definitions.
12560           - Update the gtkdial example code, from Frans van Schaik.
12561           - Update setselection.c to current API.
12562
12563         * examples/Makefile examples/*/*.c: Update to code
12564         listed in tutorial.
12565
12566 1999-11-10  Tor Lillqvist  <tml@iki.fi>
12567
12568         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
12569         subrange table (from the "Developing International Software for
12570         WIndows 95 and Windows NT" book) was missing the Hangul syllable
12571         block... Get the loaded font's charset correctly.
12572
12573         (Note that this, and the other *-win32.c files, still really are
12574         the old ones, the win32 subdirectory is not ready for compilation
12575         yet after the reorg.)
12576
12577 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
12578
12579         * gtk/gtkclist.c: Fix off-by-one bug in parameter
12580         check.
12581
12582 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
12583
12584         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
12585         on results of XQueryDeviceState().
12586
12587 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
12588
12589         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
12590         we need to accesss only ->children. We need an accessor
12591         for the children.
12592
12593         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
12594         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
12595         to get rid of gdkx.h include.
12596         
12597         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
12598         and random references to 'None'.
12599
12600         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
12601         Get rid of unused #include <gdk/gdkx.h>
12602
12603         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
12604         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
12605         gdkconfig.h.
12606
12607 1999-11-08  Tor Lillqvist  <tml@iki.fi>
12608
12609         * gdk/win32/gdkdraw.c
12610         * gdk/win32/gdkfont.c
12611         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
12612         following yesterday's changes. (Unrelated to Owen's reorg.)
12613
12614 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
12615
12616         * gdk/x11/gdkinput-gxi.c: Add missing include,
12617           fix GdkWindowPrivate => GdkDrawablePrivate.
12618
12619         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
12620
12621         * gdk/x11/Makefile.am (xinput_sources): Add missing
12622         backslash to fix building with --with-xinput=none
12623
12624 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
12625
12626         Move all X specific code into the x11/ directory.
12627         Aside from shuffling things around, did the following:
12628
12629        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
12630          gdk_arg_context_* - a simple argument parsing system
12631          in the style of popt.
12632
12633        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
12634          gdk/x11/gdkprivate-x11.h:
12635          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
12636          add ->klass and ->klass_data fields. The klass_data
12637          field points to an auxilliary structure that is
12638          windowing system dependent.
12639
12640        * gdk/gdkfont.c: Make most of the measurement functions
12641          simply wrappers around gdk_text_extents().
12642
12643        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
12644          _gdk_font_strlen() function that hides the weird
12645          behavior in gtk+-1.[02] where a string is interpreted
12646          differently for 8-bit and 16-bit fonts.
12647
12648        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
12649          to store common code for synthesizing double/triple
12650          press events.
12651         
12652        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
12653          Make all the function that modify an existing GC
12654          simply wrappers around gdk_gc_set_values().
12655          
12656        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
12657          for throwing out later.
12658
12659        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
12660          GdkImagePrivate and GdkColormapPrivate to have a
12661          windowing system dependent part (GdkFontPrivateX etc.)
12662          that "derives" from the system-independent part.
12663
12664        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
12665          Got rid of the included-source-files for XInput in
12666          favor of automake conditionals. (Which didn't exist
12667          when XInput support was originally added.)
12668
12669        * gdk/gdkrgb.c: Remove the visual id from the debugging
12670          statements since that is X11 specific; print out
12671          type/depth info instead.
12672          
12673
12674 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
12675
12676         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
12677         loading duplicates of hashed fonts.
12678
12679         * gdk/gdk.c (gdk_keysym_convert_case): rename
12680         gdk_XConvertCase to gdk_keysym_convert_case, allow
12681         results to be NULL in the GTK+ style.
12682
12683         * gdk/gdkcompat.h: Started compatibility header
12684         for renames.
12685
12686 1999-11-07  Tor Lillqvist  <tml@iki.fi>
12687
12688         * gdk/win32/gdkprivate.h: New font private structures, related to
12689         fontsets.
12690
12691         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
12692         gdk_font_list_free(). On X11, will just be wrappers to
12693         XListFonts() and XFreeFontNames(). On Win32, the code previously
12694         in gtkfontsel.c is now here.
12695
12696         New function gdk_font_xlfd_create(). On X11 will get the FONT
12697         property of the font (for GDK_FONT_FONTs), or call
12698         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
12699         builds a XLFD style name from the font information in the LOGFONT
12700         struct(s).
12701
12702         New function gdk_font_xlfd_free(), which correspondingly frees the
12703         string returned by gdk_font_xlfd_create().
12704
12705         Implement fontsets on Win32. Add a function that iterates over a
12706         wide char string and calls a callback function for each substring
12707         of wide chars from the same Unicode subrange (and thus probably
12708         available in the same real font).
12709
12710         Improve the XLFD emulation a bit.
12711
12712         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
12713
12714         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
12715         Beta3, WM_IME_CHAR messages don't seem to contain the composed
12716         multi-byte char as with the Active IMM on Win9x. Oh well, handle
12717         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
12718         ImmGetCompositionStringW() to get the composed Unicode chars.
12719
12720         * gdk/win32/gdkgc.c
12721         * gdk/win32/gdkdraw.c: Changes needed because of the font private
12722         struct changes.
12723
12724         * gdk/win32/gdk.def: Add the new functions.
12725
12726 1999-11-04  Tor Lillqvist  <tml@iki.fi>
12727
12728         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
12729         get the Platform SDK to get <dimm.h>.
12730
12731         * gdk/win32/gdkevents.c: More event handling fixes and
12732         simplification. Never generate motion events with is_hint true. We
12733         used to do that on bogus grounds earlier. Windows sends
12734         WM_MOUSEMOVE messages on button events even if the mouse hasn't
12735         moved, ignore these.
12736
12737         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
12738
12739         * gdk/win32/gdkglobals.c
12740         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
12741         the TrackMouseEvent function, and use it.
12742
12743         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
12744         char before calling WideCharToMultiByte in order to get a string
12745         for the window title.
12746
12747         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
12748
12749         * gdk/win32/gdk.def: Remove obsolete functions.
12750
12751         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
12752         /nodefaultlib and /defaultlib switches.
12753
12754         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
12755
12756 1999-10-31  Tor Lillqvist  <tml@iki.fi>
12757
12758         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
12759         EuroSign).
12760
12761         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
12762         same type as GdkWChar, especially on Win32.
12763
12764         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
12765
12766         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
12767         before passing to Windows GDI for drawing etc. Convert to the
12768         system default codepage before passing to Windows as window
12769         titles.
12770
12771         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
12772         support changing input locale on the fly.
12773
12774         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
12775         on-the-fly changes. Convert incoming characters from the current
12776         codepage to Unicode (and then to a UTF-8 multi-byte string) based
12777         on the current input language. Use keysym<->Unicode mapping tables
12778         and functions borrowed from xterm sources.
12779
12780         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
12781         editions of Win9x, use the ActiveX-based Active IMM (Input Method
12782         Manager) if available. IMEs and the Active IMM are available under
12783         the disguise of Chinese, Korean and Japanese support for IE and
12784         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
12785         support is present in all editions (as long as you install it).
12786
12787         Call DispatchMessage from gdk_events_queue() (and thus
12788         gdk_WindowProc()), instead of duplicating the code in
12789         gdk_WindowProc().
12790
12791         Reworked the grab handling and propagation code, factored out
12792         duplicated code snippets into separate functions. Other cleanups,
12793         too.
12794
12795         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
12796         the <dimm.h> header describing the Active IMM.
12797
12798         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
12799         just do the same as for "single" fonts.
12800
12801         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
12802         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
12803         the new keysyms from gdkkeysyms.h.
12804
12805         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
12806         fontset, so that gtkentry uses wide characters.
12807
12808         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
12809         GTk+'s system directory "gtk+", not "gtk".
12810
12811 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
12812
12813         * docs/gtkfaq.sgml: FAQ update
12814
12815 1999-10-21  Tor Lillqvist  <tml@iki.fi>
12816
12817         * gdk/win32/gdkprivate.h: Add more font private data.
12818
12819         * gdk/win32/gdkfont.c
12820         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
12821         fonts and strings. Now works much better. You still have to
12822         have a correct font selected, though. No fontset emulation yet.
12823
12824 1999-10-19  Tor Lillqvist  <tml@iki.fi>
12825
12826         * gtk/maketypes.awk: Use G_OS_WIN32.
12827
12828         * gtk/gtk.def: Add some missing entry points. Also some non-public
12829         ones, but PyGTK porter claims to need them.
12830
12831         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
12832         built-in type generation.
12833
12834 1999-10-14  Tor Lillqvist  <tml@iki.fi>
12835
12836         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
12837         GDK_FONT_FONT fonts (which is all we have for now, we don't
12838         emulate fontsets). The X11 version uses plain XDrawString in that
12839         case, too. The string passed to gdk_draw_text_wc seems to be in
12840         fact (at least, when used by gtkentry and gtktext) either in a
12841         single-byte charset, or a DBCS. Not Unicode.
12842
12843         This fixes the problem in gtkfontsel, where even if you had
12844         selected a font with a non-Latin1 charset (windows-greek, for
12845         instance), the preview still used Latin-1 glyphs.
12846
12847         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
12848         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
12849         (gdk_font_load): Recognize the demibold etc weights, even if we
12850         don't have the corresponding constants in the headers.
12851         (gdk_font_hash_insert): Use same hash mechanism as in the X11
12852         version. Should save font resources a bit, when we don't have
12853         multiple HFONTs for the same font.
12854
12855         * gdk/win32/gdkprivate.h: Add the names field as in the X11
12856         version.
12857
12858 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
12859
12860         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
12861         X values
12862
12863 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
12864
12865         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
12866         layout support (as mentioned on
12867         http://www.jcinteractive.com/gnome-ui/software/widgets/)
12868
12869 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
12870
12871         * gtk/fnmatch.c
12872         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
12873
12874 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
12875
12876         * configure.in (ALL_LINGUAS): Added Galician (gl)
12877
12878 1999-10-05  Tor Lillqvist  <tml@iki.fi>
12879
12880         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
12881
12882         * gdk/win32/gdkcompat.c: New file, actually provide an
12883         implementation for the deprecated functions. (Just temporarily.)
12884
12885         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
12886
12887         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
12888
12889         * gdk/win32/gdk.def gtk/gtk.def: Updates.
12890
12891 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
12892
12893         * configure.in: Added "uk" to ALL_LINGUAS.
12894         
12895 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
12896
12897         * configure.in: correct checking for BeOS check
12898
12899         * gdk/gdktypes.h
12900         * gtk/fnmatch.c
12901         * gtk/gtkfilesel.c
12902         * gtk/gtkitemfactory.c
12903         * gtk/gtkmain.[ch]
12904         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
12905
12906 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12907
12908         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
12909         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
12910         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
12911         by Bulgarian). 
12912
12913 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
12914
12915         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
12916         Fix a reference to window_private->destroyed.   
12917
12918         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
12919         (ugly) setting of an internal GdkWindow member to use
12920         a _slightly_ cleaner macro.
12921
12922         * gdk/gdkprivate.h: Split GdkWindowPrivate into
12923         GdkDrawablePrivate and GdkWindowPrivate.
12924         Add extra macros for accessing GDK_DRAWABLE_ components.
12925
12926         * *.[ch]: Massive adjustments for the above, use the
12927         new macros in a lot of places.
12928
12929 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
12930
12931         * gdk/gdktypes.h: Make GdkDrawable the base type,
12932         not GdkWindow.
12933
12934 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
12935
12936         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
12937
12938 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
12939
12940         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
12941
12942 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
12943
12944         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
12945         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
12946
12947         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
12948
12949         * docs/gtk-config.1: Now autogenerated.
12950         * docs/Changes-1.4.txt: started
12951         
12952 1999-10-03  Tor Lillqvist  <tml@iki.fi>
12953
12954         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
12955         to #ifdef also here.
12956
12957         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
12958         Owen did to the X11 backend.
12959
12960         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
12961         ScrollWindowEx when blitting inside a window, it can't be correct
12962         in the general case.
12963
12964         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
12965         WM_GETMINMAXINFO is easier.
12966
12967         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
12968         depth equal to the bitspixel value, not the visual's depth.
12969
12970         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
12971         to 24 even if the bitspixel value is 32.
12972
12973         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
12974         need to check for depth==32 when bpp==32, depth will always be 24.
12975
12976 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
12977
12978         * docs/Changes-1.4.txt: Started
12979         
12980         * gtk/Makefile.am (gdk_headers): Include all the new headers.
12981
12982         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
12983         
12984         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
12985         into C file.
12986         
12987         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
12988         header to gdkinputprivate.h.
12989
12990         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
12991         unused since before 1.2.
12992
12993 1999-09-30  Tor Lillqvist  <tml@iki.fi>
12994
12995         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
12996         expand possible hex escapes in the font family (put there by
12997         logfont_to_xlfd if the font name isn't a legal XLFD font family,
12998         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
12999         On Win32, add hex escapes here, too.
13000
13001 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
13002
13003         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
13004         to #ifdef GDK_WINDOWING_X11.
13005
13006 [ Merges from gtk-1-2 ]
13007
13008 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
13009
13010         * configure.in: fixed "GNU Make" check to pass with new make version
13011         3.77.95.
13012
13013 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
13014
13015         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
13016         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
13017         AM_PATH_GTK() macros don't get confused by the -pre1.
13018
13019 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13020
13021         * configure.in (REBUILD): Change check for perl5
13022           to check explicitely for v >= 5.002. (5.001
13023           does not work with our scripts.)
13024
13025 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
13026
13027         * configure.in: evaluate $PERL for the perl version check. added
13028         --disable-rebuilds to give the user an option to completely disable
13029         any source autogeneration rules.
13030
13031 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
13032
13033         * configure.in: evaluate $ac_make when checking for GNU Make.
13034
13035 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13036
13037         * docs/Makefile.am: added generation.txt.
13038
13039         * Makefile.am: require automake 1.4, build README from README.in and
13040         INSTALL from INSTALL.in in dist-hook.
13041         
13042         * README.in:
13043         * INSTALL.in: new files to autogenerate README and INSTALL from.
13044
13045         * configure.in: figure whether we have GNU Make
13046
13047         * docs/generation.txt: minor additions/corrections.
13048
13049 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13050
13051         * docs/gtkfaq.sgml: FAQ Update
13052
13053 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13054         
13055         * configure.in: Fix autoconf warnings about cross compilation by
13056         trying to provide sane defaults for AC_TRY_RUN.
13057
13058 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
13059
13060         * ltconfig
13061         * ltmain.sh: upgrade to libtool 1.3.3
13062
13063 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
13064
13065         * INSTALL: Indicate that the --with-glib= configure
13066         time flag is unsupported.
13067
13068 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
13069
13070         * docs/generation.txt: Added a file that gives
13071         documenation about the autogeneration process for
13072         various autogenerated files.
13073         
13074 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13075
13076         * configure.in (LIBS): Look for libgmodule in the
13077         right location.
13078
13079 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
13080
13081         * docs/gtk_tut.sgml: Removed references to
13082         code examples in my directory on gtk.org as
13083         they should all be in the tutorial now.
13084
13085         * docs/gtk_tut.sgml: Added sources for dial-test
13086         and scribble-xinput programs that were previously
13087         missing.
13088
13089 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
13090
13091         * TODO: Added entry about menu keyboard navigation, removed
13092         some finished items.
13093
13094 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
13095
13096         * acinclude.m4: Standardize on func_dgettext
13097         not func_gettext, so that the checks for dgettext
13098         actually are paid attention to.
13099
13100 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
13101
13102         * configure.in (LIBS): Add $INTLLIBS into $LIBS
13103         directly, rather than repeating the checks for
13104         gettext.
13105
13106         * INSTALL: Added information about gettext and
13107         NLS support.
13108
13109         * acinclude.m4 (LIBM): Check for dgettext, not
13110         just gettext. This should hopefully fix things wrt
13111         systems with old versions of GNU gettext installed.
13112
13113 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13114
13115         * configure.in (LIBS): Look for libgmodule in the
13116         right location.
13117
13118 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13119
13120         * autogen.sh: add --enable-maintainer-mode
13121
13122         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
13123
13124 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
13125
13126         * docs/gtk-config.1.in:
13127           docs/Makefile.am:
13128           configure.in: gtk-config is now generated.
13129
13130         * docs/gtk-config.1: Removed, now generated.
13131
13132 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
13133
13134         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
13135         handle CreateNotify itself, still put out a debuging message for
13136         --gdk-debug=events. made the ReparentNotify debugging message more
13137         verbose.
13138         wrap xcoords translation for ConfigureEvents into an error trap,
13139         a destroy event may already be pending, and in that case, the
13140         actuall coordinate values are not at all critical.
13141
13142 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
13143
13144         * gdk/gdkcc.c: Stop leaking the color_hash all over
13145         the place. Simplify and improve the logic.
13146
13147 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13148
13149         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
13150         for prototypes and function implementations consistent (reported
13151         by Tomas Ogren).
13152
13153 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
13154
13155         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
13156         send_event set in debugging output.
13157         (gdk_compress_exposures): default initialize the event so we don't
13158         operate on bogus values (namely send_event).
13159
13160 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13161
13162         * gdk/gdkwindow.c: When we receive an unexpected
13163         destroy notify on one of our windows, don't just
13164         warn about it, also mark our windows as destroyed.
13165
13166 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
13167
13168         * gdk/gdkfont.c (gdk_font_hash_insert): Add
13169           name => font and name => fontset hashes. The 
13170           name => fontset hash is a _big_ win since we
13171           weren't previously caching fontsets at all and loading
13172           fontsets is expensive. The name => font hash
13173           is less of a win, but it does save us from doing
13174           repeated XQueryFont calls on the same font.
13175
13176         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
13177           list so we can remove font/fontset from hash.
13178
13179 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13180
13181         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
13182           and slightly confusing test. [ XInternAtom (,,TRUE)
13183           will never return None ].
13184
13185 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
13186
13187         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
13188           gdk/gdkwindow.c (gdk_window_set_hints):
13189
13190         Don't omit setting the properties if flags == 0 -
13191         there may be an existing set of properties there
13192         already. (Very old bug. Would it be better to
13193         delete the property instead?)
13194
13195         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
13196           spelling error in comment.
13197
13198 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
13199
13200         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
13201           to avoid stomping over gdk_error_warnings.
13202
13203         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
13204           as (bits_per_pixel + 7) / 8. This gives the same
13205           result as before for multiples of 8, but actually
13206           a "reasonable" value for 1bit or 4bit displays.
13207
13208 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13209
13210         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
13211         GNU Make.
13212
13213 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13214
13215         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
13216         discarding configure events.
13217
13218 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13219
13220         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
13221         refcount is greater than zero.
13222
13223         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
13224
13225         * gdk/gdkfont.c (gdk_font_unref): Likewise.
13226
13227         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
13228
13229         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
13230
13231 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13232
13233         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
13234         that format 32 => sizeof(item) == 4. It really is
13235         sizeof(long).
13236
13237 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
13238
13239         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
13240         core dump at all on X IO errors, only core dump
13241         if --enable-debug for X errors.
13242
13243 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
13244
13245         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
13246         unknown window:" message. disabled ConfigureNotify discarding code,
13247         because it led to events being processed out of order.
13248
13249 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
13250
13251         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
13252
13253         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
13254         we export this function, supress error warnings and don't reset the
13255         error code in the first half of this function.
13256
13257         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
13258         code (instead of just -1) so gdk_error_trap_pop() reveals something
13259         actually informative about the error that happened.
13260
13261         * gdk/*.c:
13262         don't rely on gdk_error_code being -1 if an error occoured, but just
13263         gdk_error_code != 0.
13264
13265 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
13266
13267         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
13268         pointer *before* invoking the filter function, so we at least don't
13269         crash if a filter is removed that is currently executed. window filters
13270         *really* need to be made truely reentrant at some point.
13271
13272 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
13273
13274         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
13275         PropertyNotify debug messages.
13276
13277 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
13278         
13279         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
13280         
13281         * gdk/gdkim.c: Fix cut-and-paste errors for 
13282         x/y and PreeditAttributes/StatusAttributes.
13283
13284 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13285
13286         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
13287         G_MAXINT to 2^16 to alleviate overflow problems in
13288         various window managers.
13289
13290 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13291
13292         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13293         for fontsets.
13294
13295 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
13296
13297         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
13298         Initialize size_hints.x and size_hints.y because kwm
13299         brokenly pays attention to them.
13300         (Bug #1181 -  Lars Heete <hel@admin.de>)
13301
13302 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
13303
13304         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
13305         return value of gdk_list_visuals(). 
13306         (Bug #1193 - Morten Welinder <terra@diku.dk>)
13307
13308 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
13309
13310         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
13311         XSetIMValues to (void *) when comparing to NULL, to workaround
13312         the problem of some compilers barfing since older X headers don't
13313         have the prototype for it.
13314
13315 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
13316
13317         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
13318         for pseudocolor where colormap->colors was double
13319         allocated.
13320
13321         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
13322         color value in the hash table with the pixel filled
13323         in so when we do later hash table lookups, the color
13324         value is correct.
13325         
13326 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
13327
13328         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
13329         making the call
13330
13331 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
13332
13333         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
13334         pointed out by Morten Welinder <terra@diku.dk>.
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 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13342
13343         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13344           default filter from the list
13345
13346 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
13347
13348         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
13349
13350         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
13351         g_strdup_printf instead of calcing the length separately
13352
13353 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
13354
13355         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
13356         that we don't do in many other places. (Fixing duplicate 
13357         #include of config.h)
13358
13359         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
13360         Otherwise, #ifndef XINPUT_NONE check in the latter
13361         doesn't work. (Bug #546)
13362
13363 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
13364
13365         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
13366         "None" case insensitive.
13367
13368 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13369
13370         * gdk/gdkselection.c: 
13371         Add error traps so if the other end of the connection
13372         dies, we survive.
13373
13374 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13375
13376         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
13377         dest_xid field into two fields - one for the window
13378         to send in messages, one to indicate the last looked
13379         up window for caching purposes. This is needed, so
13380         that Leave messages get the correct window.
13381
13382 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
13383
13384         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
13385         Fix warning created by people mucking around
13386         with the gsource API.
13387
13388         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
13389         Change mapping between GIOCondition and GdkInputCondition
13390         to match the way the Linux kernel does it. This should
13391         fix problems where closed pipes were no longer signalling
13392         GDK_INPUT_READ on systems with a native poll().
13393
13394 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
13395
13396         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
13397         explicitly for the string "None" - it is in the XPM
13398         spec and some servers treat unknown colors in odd ways
13399         (like asking the user!)
13400
13401 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13402
13403         * gdk/gdkevents.c: made "->" into a "." of previous change so
13404         it compiles
13405
13406 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
13407
13408         * gdk/gdkevents.c (gdk_compress_exposures): Set the
13409         window field of the event structure before calling
13410         user filters.
13411
13412 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13413
13414         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
13415         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
13416
13417 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
13418
13419         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
13420         intermediate text property - prevents major memory
13421         leak when gdk_use_mb.
13422         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
13423
13424 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13425
13426         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13427         gtk-a-higuti-990322-[0-3]
13428
13429         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
13430         sizeof(wchar_t) != sizeof (GdkWChar)
13431
13432         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13433         that was causing -DX_LOCALE not to work.
13434
13435         * gtk/gtkrc.c (gtk_rc_init):
13436         X_LOCALE will never have LC_MESSAGES defined
13437
13438         * gdk/gdk.c (gdk_init_check):
13439         Remove --xim-preedit and --xim-status from argv properly.
13440
13441         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
13442         that the client window is present on the X server
13443         before we pass it to the input method.
13444
13445 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13446
13447         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
13448         if --display is specified on the command line, than
13449         the drag window will not be created on that display.
13450         
13451 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
13452
13453         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
13454         lookups with only_if_exists == TRUE were inserting
13455         bogus values into the atom cache.
13456
13457 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13458
13459         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
13460         then reset it to NULL.
13461
13462         * gdk/gdkcolor.c:
13463         (gdk_colors_free): 
13464         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
13465         key for g_hash_table_remove() in both functions, this prevents us
13466         from accessing possibly uninitialized portions of a GdkColor structure
13467         where we are only interested in its pixel value.
13468
13469 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13470
13471         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13472         font hash table, if we have a GdkFontPrivate entry for this font
13473         already, simply increment its reference count, provided by Olaf Dietsche
13474         <olaf.dietsche+list.gtk@netcologne.de>.
13475
13476 1999-09-21  Tor Lillqvist  <tml@iki.fi>
13477
13478         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
13479         just to be sure.
13480
13481         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
13482         unused variables, leftovers from the X11 version.
13483
13484         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
13485
13486         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
13487         downcase fields on X11.
13488
13489 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13490         
13491         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
13492         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
13493
13494 1999-09-17  Tor Lillqvist  <tml@iki.fi>
13495
13496         * gdk/win32/gdk.def: Add gdk_threads_mutex.
13497
13498         * gtk/makefile.msc: Correct path to libintl.
13499
13500         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
13501         use of gint vs. int, and gint vs. gboolean in headers and
13502         definitions. Use GtkType for the *_get_type functions. Note that
13503         these changes preserve binary compatibility.
13504
13505         * gdk/gdk.c
13506         * gdk/win32/gdk.c
13507         * gdk/gdk.h: Fix inconsistencies: gint vs int.
13508
13509         * gtk/gtkmain.c
13510         * gtk/gtkclist.c
13511         * gtk/gtkmenufactory.c
13512         * gtk/gtknotebook.c
13513         * gtk/gtkwidget.c: Fix inconsistencies, also gint
13514         vs. gboolean.
13515
13516         * gtk/gtkcolorsel.[ch]
13517         * gtk/gtkcombo.[ch]
13518         * gtk/gtkdrawingarea.[ch]
13519         * gtk/gtkgamma.[ch]
13520         * gtk/gtkhandlebox.[ch]
13521         * gtk/gtkhpaned.[ch]
13522         * gtk/gtkhruler.[ch]
13523         * gtk/gtkplug.[ch]
13524         * gtk/gtkpreview.[ch]
13525         * gtk/gtkruler.[ch]
13526         * gtk/gtksocket.[ch]
13527         * gtk/gtkstatusbar.[ch]
13528         * gtk/gtktoolbar.[ch]
13529         * gtk/gtkvbbox.[ch]
13530         * gtk/gtkvpaned.[ch]
13531         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
13532         functions.
13533
13534         * gtk/gtkgamma.h: Fix bug, missing () in call of
13535         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
13536
13537 1999-09-14  Tor Lillqvist  <tml@iki.fi>
13538
13539         * gdk/gdkcolor.c (gdk_colormap_new)
13540         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
13541         colormap->colors was allocated twice.
13542
13543         * gdk/win32/gdk.c: Remove some unused stuff.
13544
13545         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
13546         colormap.
13547
13548         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
13549         * gtk/gtklabel.h (gtk_label_get_type)
13550         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
13551         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
13552         in a couple of places, not guint.
13553
13554 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13555
13556         * configure.in,po/et.po: added Estonian language file
13557
13558 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13559
13560         * configure.in,po/da.po: added Danish file
13561
13562 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
13563
13564         * docs/gtkfaq.sgml: Minor FAQ Update
13565
13566 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
13567
13568         * docs/gtkfaq.sgml: FAQ update
13569
13570 1999-08-27  Tor Lillqvist  <tml@iki.fi>
13571
13572         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
13573         way to get window contents continually refreshed while resizing. I
13574         didn't like the effects myself, so it's not on by default.
13575
13576         * gdk/win32/gdkprivate.h: New flag variable
13577         gdk_event_func_from_window_proc, FALSE by default.
13578
13579         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
13580         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
13581         are passed --gdk-event-func-from-window-proc.
13582
13583         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
13584         and we have am event_func, call it instead of enqueing the event.
13585
13586 1999-08-23  Tor Lillqvist  <tml@iki.fi>
13587
13588         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
13589         Kelley: Set expose_count in GdkEventExposes correctly.
13590
13591         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
13592         MULTIPLE_WINDOW_CLASSES).
13593
13594         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
13595         for bug in NT, apparently NT *does* draw the end pixel, too, in
13596         LineTo with a one-pixel pen, so we don't have to do it ourselves.
13597
13598 1999-08-21  Tor Lillqvist  <tml@iki.fi>
13599
13600         Improvements by Hans Breuer: 
13601
13602         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
13603
13604         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
13605         CS_?REDRAW flags as they cause lots of (late) redraws when "show
13606         window contents while dragging" is turned on. Allocate at least
13607         one unique class for every GdkWindowType. If support for single
13608         window-specific icons is ever needed (eg. Dialog specific), every
13609         such window should get its own class.
13610
13611 1999-08-19  Tor Lillqvist  <tml@iki.fi>
13612
13613         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
13614         error that caused crashes.
13615
13616 1999-08-17  Tor Lillqvist  <tml@iki.fi>
13617
13618         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
13619         window, use ScrollWindowEx, and call UpdateWindow. This prevents
13620         bugs when for instance part of the window was outside the
13621         display. Thanks to Philippe Colantoni for finding and fixing this.
13622
13623 1999-08-16  Tor Lillqvist  <tml@iki.fi>
13624
13625         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
13626         endpoint calculations which were totally wrong. (A little RTFMing
13627         helps a lot ;-)
13628
13629         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
13630         from a separate directory, not from gettext, because of licensing
13631         issues (we want to use the LGPL version).
13632
13633         * README.win32: Mention the intl from glibc vs from gettext issue.
13634
13635 1999-08-13  Tor Lillqvist  <tml@iki.fi>
13636
13637         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
13638         in the key event handling: Now AltGr chars work again. Also,
13639         now Alt-digits are passed up as well as Control-digits.
13640         Pass keypad plus and minus as normal plus and minus.
13641
13642 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13643
13644         * docs/gtkfaq.sgml: FAQ Update
13645
13646 1999-07-25  Tor Lillqvist  <tml@iki.fi>
13647
13648         * README.win32
13649         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
13650         the Wintab SDK.
13651
13652         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
13653         OK, but getting closer. Guard against bogus tilt data from Wacom
13654         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
13655         enable easier building without Wintab.
13656
13657         * gdk/win32/gdkinput.h
13658         * gdk/win32/gdkevents.c 
13659         * gdk/win32/gdkwindow.c: Minor changes related related to above.
13660         
13661         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
13662         code. As we have just one visual on Win32, no sense to have it in a
13663         table, and no need for the hash table.
13664
13665         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
13666         better on white background.
13667
13668 1999-07-21  Tor Lillqvist  <tml@iki.fi>
13669
13670         * README.win32: Update gcc build instructions. Mention gettext is
13671         GPL.
13672
13673         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
13674         supported cursor size with GetSystemMetrics.
13675
13676         * gdk/win32/gdkfont.c
13677         * gtk/gtkfontsel.c: Guard against some font weight and charset
13678         symbols being undefined (in mingw32 headers).
13679
13680         * gdk/win32/makefile.cygwin
13681         * gtk/makefile.cygwin
13682         * gtk/gtkthemes.c: No longer need to have differently named
13683         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
13684
13685 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
13686
13687         * docs/gtkfaq.sgml: Long awaited FAQ update.
13688
13689 1999-07-15  Tor Lillqvist  <tml@iki.fi>
13690
13691         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
13692         it. Obscure bit manipulation needed.
13693
13694         * gdk/win32/gdkevents.c: Logging.
13695         
13696         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
13697         style (file name include compiler name) for theme engines.
13698
13699 1999-07-13  Tor Lillqvist  <tml@iki.fi>
13700
13701         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
13702
13703         * gdk/win32/gdkevents.c: Fix long-standing bug in key
13704         events. The key.string wasn't zero-terminated, still we strdup'ed
13705         it in gdk_event_copy(). Synthesize crossing events for button
13706         events before possible propagation.
13707
13708         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
13709
13710         * gdk/win32/makefile.cygwin
13711         * gtk/makefile.cygwin: Use new DLL naming style for the
13712         GCC-compiled ones.
13713
13714         * gdk/win32/makefile.msc
13715         * gtk/makefile.msc: Cosmetics mostly.
13716
13717         * gtk/gtk.def: Add missing entry points.
13718
13719         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
13720
13721 1999-07-09  Tor Lillqvist  <tml@iki.fi>
13722
13723         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
13724         or height is zero. Don't print a warning if Pie or Arc fails, they
13725         always fail (?) for very narrow ellipses.
13726
13727         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
13728         the part or the destination window corresponding to source area
13729         outside of the source drawable's boundary.
13730
13731         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
13732         anything if less than two points.
13733
13734         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
13735         return NULL. Gtk cut-and-paste inside a single program works
13736         better this way. (It always gets the clipboard contents from
13737         Windows, not from its own copy, which is cleared anyway. I can't
13738         say I fully understand what happens... Emulating the X selection
13739         and property stuff is a bit of a mess.)
13740
13741         * gdk/win32/gdkevents.c
13742         * gdk/win32/gdkproperty.c: A bit more verbose logging.
13743
13744         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
13745         that never got deleted). Revamp gdk_region_shrink.
13746
13747         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
13748         after use.
13749
13750         * gtk/gtk.def: Add some missing entry points.
13751
13752         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
13753         component.
13754
13755 1999-07-04  Tor Lillqvist  <tml@iki.fi>
13756
13757         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
13758         Control-digits specially.
13759
13760 1999-07-03  Tor Lillqvist  <tml@iki.fi>
13761
13762         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
13763
13764 1999-06-28  Tor Lillqvist  <tml@iki.fi>
13765
13766         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
13767         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
13768         finding this.)
13769
13770 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
13771
13772         * gtk+.spec.in: Corrected some typos in files section.
13773         
13774 1999-06-15  Tor Lillqvist  <tml@iki.fi>
13775
13776         * README.win32: Mention using GNU gettext.
13777         * config.h.win32: Enable NLS stuff.
13778         * gtk/makefile.msc: Use GNU gettext.
13779         * gdk/win32/gdkdnd.c: Minor header reorg.
13780         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
13781         cosmetics.
13782         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
13783         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
13784
13785 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
13786
13787         * acinclude.m4
13788         * config.guess
13789         * config.status
13790         * ltconfig
13791         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
13792
13793 1999-05-30  Tor Lillqvist  <tml@iki.fi>
13794
13795         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
13796         SafeAdjustWindowRectEx. Don't override all calls to
13797         AdjustWindowRectEx by it, but use it only in two places: When
13798         creating a new top-level window and when moving a top-level
13799         window.
13800
13801         Use screen coordinate rectangle, not client rectangle, in
13802         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
13803         when we try to place a window so that the decoration (mainly,
13804         title bar) isn't visible.
13805
13806         These changes fix the bug that showed up for instance as the
13807         GIMP's saved top-level windows moving right and down (by an amount
13808         equal to the window decoration) for each session. This bug showed
13809         up also in testgtk's "Saved Position".
13810
13811         gdk_window_resize also redone a bit.
13812
13813 1999-05-25  Tor Lillqvist  <tml@iki.fi>
13814
13815         * gtk/testgtkrc: Add (commented out) Windows-style theme
13816         include line.
13817
13818         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
13819
13820 1999-05-18  Tor Lillqvist  <tml@iki.fi>
13821
13822         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
13823         gdkx.h to a gdk subdirectory, so that applications can include
13824         these with <gdk/*.h> without trouble.
13825
13826         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
13827         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
13828         have their bitmap destroyed.
13829
13830         * gdk/win32/gdk.def: Add gdk_root_parent.
13831
13832 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
13833
13834         * configure.in
13835           gtk-config.in
13836           ltconfig
13837           ltmain.sh     
13838           gtk/Makefile.am: changes to compile nicely (with xlib) 
13839           on BeOS
13840
13841 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
13842
13843         * acinclude.m4
13844         * config.guess
13845         * config.sub
13846         * ltconfig
13847         * ltmain.sh: upgrade to libtool 1.3
13848
13849 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
13850
13851         * gtk/gtkclist.c:
13852         * gtk/gtkctree.c: merges from gtk-1-2
13853
13854 1999-04-25  Tor Lillqvist  <tml@iki.fi>
13855
13856         Support added for building using a GNU toolchain on Win32,
13857         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
13858
13859         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
13860         * config.h.win32: Changes for gcc.
13861         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
13862         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
13863         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
13864         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
13865         Protect shl stuff unavaiilable with mingw32 headers.
13866         * gdk/win32/gdkevents.c: Fix typo.
13867         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
13868         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
13869         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
13870         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
13871         the mingw32 headers.
13872         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
13873         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
13874         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
13875         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
13876         Test for NATIVE_WIN32, not _MSC_VER.
13877         * gtk/gtkmain.c: No use warning about developer version on Win32,
13878         there aren't any non-developer versions anyhow.
13879         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
13880         * gtk/makefile.msc: Use pthread from another directory. Minor other
13881         changes. 
13882
13883 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13884
13885         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13886           default filter from the list
13887
13888 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
13889
13890         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
13891          when gtk_widget_grab_default() is called for a widget that
13892          is not within a GtkWindow.
13893
13894 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
13895
13896         * docs/gtk_tut.sgml, examples/clist.c: use a
13897           scrolled window in the clist example. Minor
13898           tutorial fixes.
13899
13900 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
13901
13902         * docs/gtk_tut.sgml: Style check from David King
13903           <dking@youvegotmail.net>
13904
13905 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
13906
13907         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
13908         compile with unknown value of GDK_WINDOWING
13909
13910 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
13911
13912         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
13913         after the rule is fired.
13914         (install-exec-local): Install gdkconfig.h only if the contents are
13915         different from the currently installed gdkconfig.h.
13916
13917 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
13918
13919         * gdk/Makefile.am (configexecincludedir): Rename from 
13920         configincludedir so that gdkconfig.h will be installed 
13921         as part of `make install-exec'. 
13922
13923 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
13924
13925         * acinclude.m4
13926         * config.guess
13927         * config.sub
13928         * ltconfig
13929         * ltmain.sh: upgrade to libtool 1.2f
13930
13931         * autogen.sh: libtool is not required to autogen gtk+
13932
13933         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
13934         needed)
13935
13936 1999-03-18  Tor Lillqvist  <tml@iki.fi>
13937
13938         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
13939         declaring gdk variables exported/imported from the DLL. New image
13940         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
13941         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
13942         GDK_DRAG_PROTO_OLE2.
13943
13944         * gdk/gdk.h: Merge in Win32 version: Two new functions,
13945         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
13946         declared only for the Win32 version, but could be in the X11
13947         version as well. (Needed for a Xlib-less gdk_imlib.)
13948         gdk_color_hash should have only one parameter. Declare
13949         gdk_threads_mutex with GDKVAR.
13950         
13951         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
13952         just one parameter.
13953
13954         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
13955         per pixel, not bits.
13956
13957         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
13958         Fetch bpp (which means bits-per-pixel here) from another place on
13959         Win32. Accept also depth==32 (which we might get on Win32) with
13960         bpp==32.
13961
13962         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
13963         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
13964         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
13965         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
13966         in the backend-dependent directory, not in the common gdk
13967         directory.
13968
13969         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
13970         headers.
13971
13972 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
13973
13974         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
13975         want to use the Gtk+ devel version (which is true, and yes - even i am
13976         currently working with the 1.2.x branch). so everyone reading this, you
13977         probably want to issue
13978         cvs checkout -r glib-1-2 glib
13979         and
13980         cvs checkout -r gtk-1-2 gtk+
13981         as your next two comands.
13982
13983 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
13984
13985         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
13986         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
13987
13988         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
13989         file. strongly deprecated the GTK_HAVE_* macros, we provide
13990         GTK_CHECK_VERSION() for people that need to check for certain
13991         Gtk+ versions.
13992
13993         * gtk/gtkcompat.h: removed this from CVS.
13994         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
13995         idea right from the start, it just didn't seem like that back then.
13996
13997 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
13998
13999         * merges from gtk-1-2:
14000
14001 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
14002
14003         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
14004         item factory class has been created.
14005         (gtk_item_factory_parse_rc): likewise.
14006
14007         * gtk/gtkmenu.c:
14008         keep proper references for old_active_menu_item.
14009         (gtk_menu_reparent): unset the usize of the new parent,
14010         so the menu can sanely be size requested and we don't get nasty screen
14011         artefacts upon next reparentation.
14012         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
14013         enter notify. only synthesize enter notifies if the pointer really is
14014         inside the event window.
14015         (gtk_menu_popdown): use gtk_menu_shell_deselect().
14016         (gtk_menu_popup): move the background setting stuff into
14017         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
14018
14019         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
14020         gtk_menu_shell_select_item() to select the new item.
14021         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
14022         do the right thing for deselection as well.
14023
14024 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
14025
14026         * gtk/gtkwidget.[hc]:
14027         (gtk_widget_accelerators_locked): return whether a widget's accelerators
14028         are locked.
14029
14030         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
14031         existing accelerators if the widget's accelerators are locked.
14032
14033 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
14034
14035         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
14036
14037         * gtk/gtkmenu.c: truely forward key press and key release events to
14038         the menu widget from the toplevel or tearoff window. we can't simply
14039         connect to that, we need to stop further processing of the events as
14040         well.
14041
14042 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
14043
14044         * gtk/gtkmenu.c:
14045         (gtk_menu_key_press): pass event->keyval, event->state to
14046         gtk_accelerator_valid, instead of event->keyval twice.
14047         refuse to install single letter accelerators for menus that use
14048         single letter shortcuts.
14049
14050         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
14051         gtk_menu_ensure_uline_accel_group().
14052
14053         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
14054         which will always return an uline accel group, made
14055         gtk_menu_get_uline_accel_group() return NULL if the group isn't
14056         yet created.
14057
14058 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
14059
14060         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
14061
14062         * gtk/gtkclist.c (gtk_clist_column_title_passive):
14063         Leave button sensitive, trap  button_press, button_release,
14064         motion_notify, enter_notify and leave_notify events instead.
14065         (gtk_clist_column_title_active): disconnect event handler.
14066         (gtk_clist_drag_data_get): fixed memory leak. Reported by
14067         Guillaume Laurent <glaurent@worldnet.fr>
14068
14069 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
14070
14071         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
14072         width/height mixups.
14073
14074         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
14075         if needed.
14076
14077 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
14078
14079         * gtk/testgtk.c (create_item_factory): unref the item factory after
14080         window's destruction.
14081
14082         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
14083         count on the menu shell around the menu item's activation, since the
14084         signal emission may cause menu shell destruction.
14085
14086         * gtk/gtkitemfactory.c:
14087         the previous code leaked one accel group per menu. we use
14088         gtk_menu_get_uline_accel_group() now to fix that, and with that
14089         also create the underline accelerator group of the menus only if
14090         required (i.e. an underline accelerator has been specified).
14091         (gtk_item_factory_construct):
14092         (gtk_item_factory_create_item): removed code that would create an
14093         extra accel group for the menu (and leak references).
14094         (gtk_item_factory_create_item): adapted the underline accelerator
14095         installation code to properly feature gtk_menu_get_uline_accel_group().
14096
14097         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
14098         menu->accel_group, this may return NULL if the accelerator group
14099         hasn't been set yet.
14100         added gtk_menu_get_uline_accel_group() to retrive the underline
14101         accelerator group of the menu, this will be created on demand
14102         and proper care is taken about its reference count.
14103
14104         * gtk/gtkitemfactory.h:
14105         * gtk/gtkitemfactory.c:
14106         dumped the approach of keeping a widgets by action list on the
14107         factory since the factory<->widget destroy negotiation didn't work
14108         and would be hard to get going at all. instead we keep a list of
14109         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
14110         persistant throughout a program's life time).
14111         also, i removed the static const gchar *key_* variables, and made
14112         them inline strings (they weren't actually used anyways).
14113         (gtk_item_factory_add_item): update ifactory->items.
14114         (gtk_item_factory_destroy): destroy ifactory->items (and remove
14115         the item factory pointer from the remaining ifactory widgets).
14116         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
14117         list to find the widget.
14118         (gtk_item_factory_get_item): new function that works around
14119         gtk_item_factory_get_widget() limitations, this function will only
14120         return menu items, even for <Branch> entries.
14121
14122 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14123
14124         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14125         font hash table, if we have a GdkFontPrivate entry for this font
14126         already, simply increment its reference count, provided by Olaf Dietsche
14127         <olaf.dietsche+list.gtk@netcologne.de>.
14128
14129         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14130         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14131
14132 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
14133
14134         * gtk/gtkcontainer.c:
14135         (gtk_container_add_with_args):
14136         (gtk_container_addv):
14137         (gtk_container_add): before adding a child to a conatiner, make sure
14138         it is (default) constructed, this is neccessary because under certain
14139         circumstances the child will get relized and mapped immediatedly, in
14140         which case it has to be constructed already.
14141
14142 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
14143
14144         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
14145         values > 1 as TRUE also.
14146
14147 1999-03-16  Tor Lillqvist  <tml@iki.fi>
14148
14149         * README.win32: New file.
14150                 
14151         * configure.in: Check for lstat.
14152
14153         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
14154         completeness.
14155
14156         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
14157
14158         * gtk/gtk.def: Removed CRs.
14159
14160         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
14161         ..\gdk\win32).
14162
14163         * gdk/win32/makefile.msc: Correct upwards relative paths.
14164         
14165 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
14166
14167         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
14168           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
14169           it was connecting a void function to expose_event and the int
14170           returning function to the draw signal
14171
14172 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
14173
14174         * configure.in:
14175         Use correct path to libgmodule.la when ref'ing uninstalled copy
14176         of glib.  (Already in stable branch, Bug #417)
14177
14178 1999-03-15  Tor Lillqvist  <tml@iki.fi>
14179
14180         Win32 merge and general portability stuff:
14181                 
14182         * acconfig.h,configure.in: Check for <sys/time.h>.
14183
14184         * gdk/win32: New directory (actually, been there for a while).
14185         
14186         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
14187         NATIVE_WIN32, and use these. Always case fold on Win32. No
14188         backslashed escapes on native Win32.
14189
14190         * gtk/{gtk.def,makefile.msc}: New files.
14191
14192         * gtk/Makefile.am: Add above new files.
14193         
14194         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
14195         instead of <strings.h>.
14196
14197         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
14198         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
14199         <unistd.h> appropriately.
14200
14201         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
14202         Use ABS() (from <glib.h>) instead of abs().
14203         
14204         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
14205         of gtk (and thus glib) headers, so that WIN32 will be
14206         defined. With MS C, include <direct.h> for mkdir prototype.
14207
14208         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
14209         some casts, needed by MS C.
14210
14211         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
14212         implemented).
14213
14214         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
14215         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
14216         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
14217
14218         * gtk/gtkmain.h: Mark variables for export/import on Win32.
14219                 
14220         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
14221         the event is not a hint, or its window is not the slider. Needed
14222         on Win32, at least.
14223
14224         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
14225         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
14226         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
14227         a subdirectory of the Windows directory as gtk system
14228         configuration directory.
14229
14230         * gtk/gtkselection.c: No chunks on Win32.
14231
14232         * gtk/gtksocket.c: Not implemented on Win32.
14233
14234         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
14235
14236         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
14237
14238         * gtk/maketypes.awk: Declare variables with a macro that expands to
14239         necessary export/import magic in the case of Win32.
14240                 
14241         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
14242
14243 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
14244
14245         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
14246         since those were meant only for gdki18n.h.  
14247         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
14248         for widechar tests.
14249         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
14250
14251 1999-03-13  Tor Lillqvist  <tml@iki.fi>
14252
14253         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
14254         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
14255
14256         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
14257         installed) to CFLAGS.
14258
14259         * gdk/Makefile.am: Add rules for gdkconfig.h.
14260
14261         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
14262         APIs.
14263
14264         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
14265         gdkx.h anyway when compiling for X11.
14266         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
14267         general): Merge in Win32 version.
14268         
14269         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
14270         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
14271         expansion (if we don't have HAVE_PWD_H), allow for drive
14272         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
14273         included code from Craig Setera's port to Win32 (the one that uses
14274         X11, and the cygwin dll), even if it probably will be abandoned.
14275
14276         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
14277         the user entered one herself.  This way one can complete *.h and
14278         don't get matches on any .help files, for instance.
14279         
14280 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14281
14282         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14283         font hash table, if we have a GdkFontPrivate entry for this font
14284         already, simply increment its reference count, provided by Olaf Dietsche
14285         <olaf.dietsche+list.gtk@netcologne.de>.
14286
14287         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14288         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14289
14290 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14291
14292         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
14293         the number of calls to gdk_draw_point() (and thus to X) by
14294         clipping the points by hand.
14295
14296         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
14297         the clip parameter.
14298         (gtk_handle_box_paint): Only paint the handle if the expose area
14299         intersects it.
14300
14301 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14302
14303         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
14304
14305 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
14306
14307         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
14308         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
14309
14310 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14311
14312         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
14313          textmode (O_TEXT) for OS/2 version.
14314
14315 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
14316
14317         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
14318         GtkSpinButton, "input" and "output", to make the output more flexible.
14319         The user has to provide a mapping between adjustment->value and the
14320         output string (and vice versa, if the spin button is editable). 
14321         See testgtk for examples.
14322
14323 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
14324
14325         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
14326         new one.
14327         
14328         * configure.in: set gtk+ version to 1.3.0.