]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-8
Fix up focus code a lot.
[~andy/gtk] / ChangeLog.pre-2-8
1 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
2
3         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
4         code a lot.
5
6         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
7         g_mem_chunk.
8         (_gtk_tree_data_list_alloc): use g_mem_chunk.
9         (_gtk_tree_data_list_node_to_value): Fix to switch on
10         G_TYPE_FUNDAMENTAL.
11         (_gtk_tree_data_list_value_to_node): Fix to switch on
12         G_TYPE_FUNDAMENTAL.
13         (_gtk_tree_data_list_node_copy): Fix to switch on
14         G_TYPE_FUNDAMENTAL.
15
16 2001-03-12  Havoc Pennington  <hp@redhat.com>
17
18         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
19         to convert to new property API. Also, change default_width and
20         default_height get_property to return 0 as the flag value for
21         "unset"; -1 is not a valid value for these fields.
22
23 2001-03-12  Havoc Pennington  <hp@redhat.com>
24
25         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
26         enum with registration for icon sizes, instead of strings.
27
28         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
29         gtkwidget.c: Fix to reflect GtkIconSize
30         
31 2001-03-12  Alexander Larsson  <alexl@redhat.com>
32
33         Make GtkFB compile and link.
34         
35         * gdk/linux-fb/gdkdrawable-fb2.c:
36         window->mapped to GDK_WINDOW_IS_MAPPED(). 
37         
38         * gdk/linux-fb/gdkwindow-fb.c:
39         window->mapped to GDK_WINDOW_IS_MAPPED(). 
40         Added gdk_window_shape_combine_region.
41         Added assorted placeholders for unimplemented new GdkWindow API calls.
42
43 2001-03-12  Alexander Larsson  <alexl@redhat.com>
44
45         * gtk/gtkfilesel.c:
46         Add more test when converting filenames from/to utf-8.
47         Don't allow entering text in the filename entry which isn't allowed in
48         a filename. Just beep instead.
49
50 2001-03-12  Alexander Larsson  <alexl@redhat.com>
51
52         * gtk/gtkclist.c:
53         Scroll using gdk_window_scroll(). Don't wait for exposes.
54         Move the column headers in an order that makes them flash less.
55
56 2001-03-10  Hans Breuer  <hans@breuer.org>
57
58         * gdk/gdk.def : updated
59
60         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
61         to offseting the clip_mask at the right place
62
63         * gdk/win32/gdkwindow-win32.c : don't create background brushes
64         for all the gdkClasses, especially not for the input_only case.
65         Otherwise flickering wont be avoidable, because we don't get
66         WM_ERASEBKGND message for these windows.
67
68         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
69         and fixed massive redraw problems apparently triggered by Alexanders 
70         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
71         but it seems to work quite well :-)
72
73         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
74         prototype
75
76 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
77
78         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
79         (gtk_list_store_set_cell): Fix a stupid typo.
80
81 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
82
83         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
84         select_all not work if you're in SINGLE mode (it doesn't make that
85         much sense, anyway.)
86
87         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
88         handle types more sanely.
89         (_gtk_tree_data_list_value_to_node): handle types more sanely.
90         (_gtk_tree_data_list_node_copy): handle types more sanely.
91
92         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
93         GValue better. Converts the type as well.
94
95         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
96         GValue better. Converts the type as well.
97
98 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
99
100         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
101         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
102         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
103         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
104
105         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
106         gdk_im/gdk_ic.
107
108 2001-03-09  Hans Breuer  <hans@breuer.org>
109
110         * gdk/gdk.def : updated
111
112         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
113         for their palette
114
115         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
116         removing
117
118         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
119         removing and implemented Havoc's GdkWindow state functions; 
120         stick/unstick only as no-op, cause I don't know how to emulate 
121         on win32 ...
122
123         * gtk/gtk.def : updated
124
125         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
126
127         * gtk/gtktypeutils.c : #include <string.h>
128
129         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
130
131 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
132
133         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
134         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
135         not a boxed.
136
137 2001-03-09  Alexander Larsson  <alexl@redhat.com>
138
139         * docs/Changes-2.0.txt:
140         Document expose event->region change and that gtk_widget_event
141         doesn't allow passing expose events.
142
143         * gdk/gdkevents.h:
144         Add region to expose event.
145         
146         * gdk/gdkevents.c:
147         Handle event->region in gdk_event_copy() and gdk_event_free().
148
149         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
150         Generate expose_event->region when creating expose events.
151
152         * gdk/x11/gdkevents-x11.c:
153         Generate expose events with regions when translating X events.
154
155         * gtk/gtkcontainer.[ch]:
156         Default expose handler that propagates expose events to NO_WINDOW
157         children. New function gtk_container_propagate_expose()
158
159         * gtk/gtkwidget.[ch]:
160         Moved gtk_widget_event implementation to gtk_widget_event_internal.
161         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
162         expose events. New function gtk_widget_send_expose() to send expose
163         events. New function gtk_widget_region_intersect() to calculate
164         window/region intersections.
165         
166         * gtk/gtkmain.c (gtk_main_do_event):
167         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
168         Use gtk_widget_send_expose() to send expose events.
169         
170         * gtk/gtkbin.c:
171         * gtk/gtkbox.c:
172         * gtk/gtkfixed.c:
173         * gtk/gtkimagemenuitem.c:
174         * gtk/gtklist.c:
175         * gtk/gtkpacker.c:
176         * gtk/gtktable.c:
177         * gtk/gtktree.c:
178         Remove expose handler, using the default container implementation
179         instead.
180         
181         * gtk/gtkbutton.c:
182         * gtk/gtkcheckbutton.c:
183         * gtk/gtkeventbox.c:
184         * gtk/gtkfixed.c:
185         * gtk/gtkhandlebox.c:
186         * gtk/gtklayout.c:
187         * gtk/gtklistitem.c:
188         * gtk/gtkmenu.c:
189         * gtk/gtkmenubar.c:
190         * gtk/gtkmenuitem.c:
191         * gtk/gtknotebook.c:
192         * gtk/gtkoptionmenu.c:
193         * gtk/gtkpaned.c:
194         * gtk/gtkscrolledwindow.c:
195         * gtk/gtktogglebutton.c:
196         * gtk/gtktoolbar.c:
197         * gtk/gtktreeitem.c:
198         * gtk/gtkviewport.c:
199         Chain expose handler to parent class handler. Use
200         gtk_container_propagate_expose() to propagate exposes.
201
202         * gtk/gtkclist.c (check_exposures):
203         * gtk/gtktext.c (process_exposes):
204         Use gtk_widget_send_expose instead of gtk_widget_event.
205
206 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
207
208         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
209
210 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
211
212         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
213         unref the nodes.   Fixes bug #50058.
214
215         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
216         "::ref_iter" to "::ref_node".
217         (gtk_tree_model_unref_node): change "::unref_iter" to
218         "::unref_node". Fixes bug #50064.
219
220 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
221
222         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
223         support for invisible cells.
224          (gtk_tree_view_bin_expose): ditto
225
226 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
227
228         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
229         on gobjects.
230
231         * tests/testtreefocus.c (main): New test file.
232
233         * tests/testtreeview.c: update to latest glib changes.
234
235         * tests/testtreecolumns.c: update to latest glib changes.
236
237 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
238
239         * gtk/testgtk.c: re-enabled event watcher emission hooks.
240
241 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
242
243         * *.c: added accumulator data argument to g_signal_newc()
244         functions.
245
246         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
247         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
248         * gtk/treestoretest.c (make_window):
249         s/g_signal_connect/g_signal_connectc/.
250
251         * gtk/gtktextbuffer.c: completed signal arg fixups,
252         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
253
254 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
255
256         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
257         G_CONST_RETURN.
258
259         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
260         ::hierarchy-changed signal when a widget changes
261         from anchored to unanchored or vice versa.
262         (anchored means 
263          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
264         Use a private flag to keep track of this efficiently.
265
266 2001-03-07  Havoc Pennington  <hp@redhat.com>
267
268         * gtk/testgtk.c (create_spins): uglify so that size request gets
269         tested.
270
271         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
272         request on values for upper/lower, completes #6152
273
274 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
275
276         * Makefile.am: Remove gtk-config-2.0 again.
277         (Grrrr, pkg-config. And stops make loops.)
278
279 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
280
281         * gtk/gtksignal.[hc]: removed old emission hook API.
282         
283         * docs/Changes-2.0.txt: fixed sections.
284         
285         * gtk/gtktextbuffer.c: signal arg fixups.
286
287 2001-03-07  Havoc Pennington  <hp@redhat.com>
288
289         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
290
291         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
292         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
293         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
294         validation and the redraw which is higher priority than the
295         validation.
296
297 2001-03-07  Havoc Pennington  <hp@redhat.com>
298
299         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
300         (gtk_entry_set_property): remove trailer
301
302         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
303         (gtk_entry_get_width_chars): new functions, to set size request to 
304         a given number of characters
305
306         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
307
308         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
309         (gtk_dialog_get_has_separator): new function
310         (run_delete_handler): fix to not emit "response" signal
311         because we already did in the delete event handler installed
312         at dialog creation time.
313         
314         * gtk/gtkdialog.h: add a has_separator property,
315         add GTK_DIALOG_NO_SEPARATOR flag
316
317 2001-03-07  Havoc Pennington  <hp@redhat.com>
318
319         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
320         off decorations for a window.
321
322         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
323         changes
324
325         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
326         to get location of PangoLayout inside the label, closes #51198
327
328         * gtk/testgtk.c (create_bbox): fix up button box usage
329
330         * gtk/testcalendar.c (create_calendar): fix up button box usage
331
332         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
333
334         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
335
336         * gtk/gtkhbbox.h: deprecations
337
338         * gtk/gtkvbbox.h: deprecations
339
340         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
341         emulate deprecated gtk_button_box_get_spacing
342
343         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
344         the "set global default" functions
345         (struct _GtkButtonBox): remove "spacing" field, use the one from 
346         GtkBox base class
347
348         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
349
350         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
351         render the icon, return the missing image icon.
352
353         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
354         image icon if the load fails.   
355
356         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
357         when no image is found; should be the Netscape "missing image"
358         icon eventually but for now is a random image
359
360         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
361         role for the session manager
362
363         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
364
365         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
366         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
367
368         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
369
370 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
371
372         * gtk/*.c: marshaller fixes.
373         
374         * gtk/gtkmarshal.list: extreme cleanup.
375
376         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
377         param spec for now.
378
379         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
380         where appliable.
381
382         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
383         special cased autogenerated boxed types from gtktypebuiltins_ids.c
384         which are not reference counted:
385         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
386         PangoFontDescription, GtkTreeIter and GtkTreePath.
387
388 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
389
390         * gtk/gtktreeselection.h: 
391         * gtk/gtktreemodel.c:
392         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
393         file should be included directly, and gobject/gmarshal.h
394         as well as gtk/gtkmarshal.h even can't be included directly.
395
396         * Makefile.am: grr, install gtk-config-2.0.
397
398         * gtk/testgtk.c:
399         * gtk/simple.c:
400         * gtk/gtkmenu.c:
401         * gtk/gtkitemfactory.c: use g_object_connect() instead of
402         passing "*signal*::*" args to gtk_widget_set().
403         
404         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
405         
406         * gtk/*.c: removed trailer arg from property setters and getters.
407         macro fixups.
408
409 2001-03-07  Alexander Larsson  <alexl@redhat.com>
410
411         * gtk/gtklabel.c (set_markup): Removed warning
412
413 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
414
415         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
416         field to allow you to hide cell renderers.
417
418         * gtk/gtkcellrenderer.c: Add support for invisible cells.
419
420         * gtk/gtktreeview.c: Add support for invisible cells.
421
422 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
423
424         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
425         Add "clicked" signal back to columns.
426
427         * ChangeLog: remove conflict markers.
428
429 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
430
431         * gtk/gtkbutton.c: Add animation of activation by, on 
432         activate, pressing the button, and adding a timeout that 
433         releases the button after 250ms or on key release and
434         emits ::clicked. (#51501)
435
436         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
437         action area, we connect to ::clicked instead of ::activate
438         so the dialog stays up through the animation.
439
440 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
441
442         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
443         check the ignore_enter flag for the menu shell that
444         the item is actually a child of, not for attached
445         submenus. (#51536)
446
447 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
448
449         * gtk/gtkmain.c (gtk_propagate_event): Only do special
450         special key-press grab handling for widgets within
451         GtkWindows. Otherwise, fall through to normal case.
452
453         This prevents key events being sent twice to GtkInvisible
454         widgets, which can cause all sorts of mischief.
455
456 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
457
458         * gtk/gtkmain.c (gtk_propagate_event): When a grab
459         widget is in effect, give the grab widget a first
460         crack at KEY_PRESS/RELEASE events. (#424)
461
462 2001-03-06  James Henstridge  <james@daa.com.au>
463
464         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
465         offset for the window_state_event to point at window_state_event
466         rather than no_expose_event.
467
468 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
469
470         * gtk/gtkimmodule.h: fix busted /* comment */
471
472 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
473
474         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
475         object properties.
476
477 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
478
479         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
480         add object properties.
481
482         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
483         to add object properties.
484
485         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
486         object properties.
487
488         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
489         add object properties.
490
491         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
492         object properties.
493
494 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
495
496         * gtk/gtktreemodel.c: renamed "child_toggled" to
497         "has_child_toggled".
498
499         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
500         handle new signal name.
501
502         * gtk/gtktreestore.c: Updated to handle new signal name.
503         * gtk/gtklisttore.c: Updated to handle new signal name.
504         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
505
506 2001-03-05  Alexander Larsson  <alexl@redhat.com>
507
508         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
509         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
510
511 2001-03-05  Michael Natterer  <mitch@gimp.org>
512
513         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
514         pixbuf-engine coincidentially also failed to make one of it's
515         parent_class pointers static, causing overwriting of GtkLabel's
516         parent_class pointer in pixbuf_style_class_init().
517         (Will commit the fix to the pixbuf-engine too).
518
519 2001-03-05  Alexander Larsson  <alexl@redhat.com>
520
521         * gdk/gdkwindow.h:
522         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
523         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
524         gdk_window_set_icon_list for net wmspec functionality.
525
526         * gdk/x11/gdkwindow-x11.c:
527         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
528         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
529         gdk_window_set_icon_list.
530         Added gdk_wmspec_change_state helper function and used it in the code.
531         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
532
533         * gtk/gtkdialog.c (gtk_dialog_init):
534         Set GDK_WINDOW_TYPE_HINT_DIALOG.
535
536         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
537         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
538
539         * gtk/gtkwindow.c:
540         new function gtk_window_set_type_hint.
541         On realize, set type hint and modal hint.
542
543         * gtk/gtkwindow.h:
544         Added type_hint field and gtk_window_set_type_hint.
545
546 2001-03-05  Alexander Larsson  <alexl@redhat.com>
547
548         * gtk/gtklabel.[ch]:
549         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
550         New function gtk_label_get_accel_keyval () to get the underline accelerator
551         of the label. Setting the label pattern overrides other attributes.
552
553 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
554
555         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
556         Added missing initializers to gtk_rc_style_init().
557
558 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
559
560         * gtk/gtktextview.c: fixed bug #51097 about setting 
561         gtk_text_view_set_border_window_size() if the widget is 
562         already realized.
563
564 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
565
566         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
567
568         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
569         comment. Won't do to have duplicated doc comments between
570         the platform subdirs.
571
572 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
573
574         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
575           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
576
577         Detectable auto-repeat - make a repeating key generate
578         press/press/press/release instead of press/release pairs.
579
580         If we have Xkb and XkbSetDectableAutoRepeat supports
581         that, we do it that way. Otherwise, when we get
582         a release event, we check ahead with XPending to see
583         if the next key is a KeyPress with the same keycode
584         and timestamp. (Not 100% reliable, but pretty close.)
585           
586 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
587         
588         * gtk/gtkmain.c (gtk_propagate_event): Only do special
589         special key-press grab handling for widgets within
590         GtkWindows. Otherwise, fall through to normal case.
591  
592         This prevents key events being sent twice to GtkInvisible
593         widgets, which can cause all sorts of mischief.
594  
595 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
596  
597         * gtk/gtkmain.c (gtk_propagate_event): When a grab
598         widget is in effect, give the grab widget a first
599         crack at KEY_PRESS/RELEASE events. (#424)
600  
601 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
602
603         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
604         to extend the selection. (Roughly based on patch
605         from Jay Cox, #50939)
606
607         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
608         to properly handle previous GDK_BUTTON_PRESS. 
609         (Patch from Jay Cox, #50938)
610
611         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
612         '\0' back along with the deleted text. (#51148)
613
614 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
615
616         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
617         the group when extracting it from the X keyboard event.
618
619         * modules/input/Makefile.am modules/input/imipa.c: 
620         Simple module for entering IPA. (Do we need a 
621         gtk-stupid-input-tricks CVS module?)
622
623 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
624
625         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
626         const.
627
628         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
629
630         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
631         is no focus widget for the dialog currently, grab the focus as well
632         as the default.
633
634         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
635         the action area's children to iterate through, not the
636         dialog's children.
637
638 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
639
640         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
641         Add plug-socket tests. (Won't work worth a darn until I commit
642         the rest of the plug-socket changes, but no reason these
643         can't go into CVS now.)
644
645 2001-03-02  Havoc Pennington  <hp@redhat.com>
646
647         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
648         _gdk_region_get_xrectangles()
649
650         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
651
652         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
653
654         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
655         function, contributed by Ron Steinke    
656
657         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
658         gdk_net_wm_supports
659
660         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
661         New function, contributed by Ron Steinke
662
663         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
664         used to line up the text in the entry when using the entry for
665         editable sheet cell hacks
666
667         * gtk/testgtk.c (create_entry): test the activate_default setting
668         on GtkEntry
669
670         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
671         cause the entry to activate the default button for a dialog when 
672         activated
673         (gtk_entry_get_activates_default): new function
674
675 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
676
677         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
678         Hwang to move call to sync_selection() up a few lines
679         to before the row list is modified, to fix crash when
680         removing rows in the undo_selection list.
681
682         (Test case provided by Daniel Elstner:
683
684         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
685
686 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
687
688         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
689         of tree->root_tree in parent_set rather than _map(), 
690         fixing #50892 in a bit better manner.
691
692 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
693
694         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
695
696 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
697
698         * gtk/gtkstyle.c : Remove duplicate fwd decl for
699         gtk_default_draw_shadow.
700
701 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
702
703         * gdk/gdkimage.c (gdk_image_new): Remove excess 
704         warning, make warnings more verbose, treat a error
705         in shmat as permanent, and don't try again.
706         (#51163, Ed Randall.)
707
708 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
709
710         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
711         delay for the first click before starting to scroll.
712         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
713
714         * gtk/gtktext.c: GtkText should have I-beam cursor. 
715         (based on gtk-enf-990513-1.patch, Eric Fisher.)
716
717 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
718
719         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
720         cleanup to remove some references to unused
721         ->xoffset, ->yoffset.
722
723 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
724
725         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
726         mask. (#51039, fix from Martin Maierhofer)
727
728 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
729
730         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
731         for unshifted + and shifted = for non-us keyboards.
732         Make <Control>+ and <Control>- work as well as 
733         <Control>KP_Plus, <Control>KP_Minus for recursive
734         open/close.  (#2682, René Seindal)
735
736 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
737
738         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
739         the active menu item before deactivating the menu,
740         so gtk_menu_popdown doesn't change the history. (#50964)
741         
742 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
743
744         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
745         draw lines with text_gc rather than black_gc.
746         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
747
748 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
749
750         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
751         Move handling of buttons fully in gtktreeviewcolumn.  This code is
752         less interrelated then it was, but it still requires the
753         GtkTreeView to map it.
754
755         * test/testtreecolumn.c: Now I can add a column to one view,
756         remove it, add it to the another view, remove it, then re-add it
757         to the first.  Nifty.
758
759 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
760
761         * docs/tutorial/gtk-tut.sgml: Minor corrections
762
763 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
764
765         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
766         GtkRowReference.
767
768 2001-02-28  Havoc Pennington  <hp@redhat.com>
769
770         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
771         draw_default
772         (gtk_widget_draw_focus): remove this function; we could instead
773         make it just gtk_widget_draw(), but in most cases I think the
774         result would be broken user code, so think it's better to have
775         that code not compile and get fixed
776         (gtk_widget_draw_default): ditto
777
778         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
779         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
780         
781         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
782         widgets lose/get the default, instead of calling draw_default
783         
784         * docs/Changes-2.0.txt: note about all this
785
786         Then fixed every widget in GTK, I won't list all the filenames.
787
788 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
789
790         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
791         _gtk_tree_row_reference_deleted.
792         (inserted_callback): Proxy out to
793         _gtk_tree_row_reference_inserted.
794         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
795         get around signal emission ordering problem.
796
797         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
798         fix to work with SINGLE 
799         (_gtk_tree_selection_internal_select_node): Major sanitization on
800         selections.  SINGLE now seems to work.
801
802         * tests/Makefile.am: add testtreecolumn.c:
803
804         * tests/testtreecolumn.c: New test.  Mostly points out selection
805         bugs currently, but will test columns later.
806
807         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
808         selection bug.  I hate touching this code -- it's scary.
809
810 2001-02-26  Havoc Pennington  <hp@redhat.com>
811
812         * gtk/testgtk.c: test the window state stuff
813
814         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
815         window come to the user's attention as if it were just created
816         (gtk_window_iconify): new function
817         (gtk_window_deiconify): new function
818         (gtk_window_stick): new function
819         (gtk_window_unstick): new function
820         (gtk_window_maximize): new function
821         (gtk_window_unmaximize): new function
822
823         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
824
825         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
826
827         * gdk/x11/gdkevents-x11.c: create window state events when
828         appropriate
829         (gdk_wmspec_supported): new function
830
831         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
832         iconification before showing the window
833         (gdk_window_deiconify): new function
834         (gdk_window_stick): new function
835         (gdk_window_unstick): new function
836         (gdk_window_maximize): new function
837         (gdk_window_unmaximize): new function
838
839         * gdk/gdkwindow.c: store the window state in the window; 
840         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
841         window->mapped.
842         (gdk_window_get_state): return the current window state
843
844         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
845         (gdk_event_get_state): handle GDK_WINDOW_STATE
846         (gdk_synthesize_window_state): function to create the window state
847         events
848
849         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
850         event, for changes to "window state" such as maximized, sticky, 
851         etc.
852         
853         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
854         focuses a window
855
856         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
857         finds out if we support a given WM spec hint
858
859 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
860
861         * docs/faq/gtk-faq.sgml: New question re memory leaks.
862
863 2001-02-25  Hans Breuer  <hans@breuer.org>
864
865         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
866         cause we want to loose those prototypes only in the latter case
867
868         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
869         GdkPixmapImplWin32 because it itsn't derived from it. Use the
870         impl member variable instead
871
872         * gtk/gtk.def : updated
873
874         * gtk/gtklist.c : 
875         * gtk/gtkmenus.c : include <string.h> for memset ()
876
877         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
878         for everthing built here, but for gtk-x.x.dll only. This solves
879         problem of indifferent gtk type definitions
880
881 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
882
883         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
884
885 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
886
887         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
888         column that is exposed.
889
890         (_gtk_tree_view_update_size): Changed name from set_size, and
891         changed function to do more work, and not force people calling it
892         to figure out the size.  Simplifies a lot of code elsewhere.
893
894 2001-02-23  Alexander Larsson  <alexl@redhat.com>
895
896         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
897         return solid masks for xpms that have no transparent color.
898         This makes the ..._create_from_xpm... API backwards
899         compatible.
900
901 2001-02-23  Tor Lillqvist  <tml@iki.fi>
902
903         * README.win32: Update. Mention the gtk-1-3-win32-production
904         branch.
905
906         * gdk/win32/bdfcursor.c: New file. A program that generates
907         xcursors.h. Thanks to Stefan Ondrejicka.
908
909         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
910         compact format.
911
912         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
913
914         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
915         function, uses xcursors.h.
916         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
917         cursor from inline data instead of using LoadCursor() to generate
918         it from a resource.
919
920         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
921         event, must check the Windows message for mouse button state, as
922         the GDK event state might not have been built if it is
923         undelivered. Remove one goto.
924
925         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
926         SetCursor() if the current cursor as returned by GetCursor() is
927         the window's previous cursor. The ChildWindowFromPoint() test
928         apparently didn't work correctly.
929
930         * gdk/win32/rc/*.cur: Remove.
931
932         * gdk/win32/rc/gdk.rc.in: Remove cursors.
933
934         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
935
936         * gtk/makefile.{mingw,msc}.in: Updates.
937
938 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
939
940         * gtk/gtktreemodel.h: add functions for signal emission.
941
942         * gtk/gtktreestore.c: move to use above functions instead of
943         g_signal_emit.
944
945         * gtk/gtkliststore.c: ditto
946
947 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
948
949         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
950         GObject instead of GtkObject.
951
952         * gtk/gtkliststore.c: ditto.
953
954         * gtk/gtktreemodelsort.c: ditto.
955
956         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
957         GtkTreeModelIface, instead of in each model.
958
959 2001-02-21  Havoc Pennington  <hp@redhat.com>
960
961         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
962         unbreak this function
963
964         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
965         properties
966
967         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
968         properties
969
970         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
971         properties
972
973         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
974         mean unset the max length
975
976 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
977
978         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
979         Changed name to be set_cell_data_func to make it clear what
980         the functino does.  Close bug #51069.
981
982 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
983
984         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
985         have memory actually freed.  Keeps box running longer.
986
987 2001-02-21  Alexander Larsson  <alexl@redhat.com>
988         
989         * gtk/gtkseparatormenuitem.[ch]:
990         Added new menu separator item. The drawing and size handling
991         is still done in GtkMenuItem, but the API is a bit more sane.
992         
993         * gtk/Makefile.am:
994         Add gtkseparatormenuitem.[ch].
995
996         * gtk/gtk.h:
997         Add gtkseparatormenuitem.h.
998         
999         * gtk/gtkentry.c:
1000         * gtk/gtkmenufactory.c:
1001         * gtk/gtktextview.c:
1002         Use the new API for menu separators.
1003         
1004         * demos/gtk-demo/menus.c (create_menu):
1005         Add some GtkSeparatorMenuItem demo code.
1006
1007 2001-02-20  Havoc Pennington  <hp@redhat.com>
1008
1009         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
1010         Lee Mallabone
1011
1012         * gtk/gtkarrow.c: Convert to new property API, patch from 
1013         Lee Mallabone
1014
1015 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
1016
1017         * tests/testtreeview.c (toggled_callback): fix to reflect change
1018         in GtkTreeModelStore.
1019
1020 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
1021
1022         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
1023         function to create an icon set from a pixbuf.
1024
1025 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1026
1027         * gtk/gtkcellrenderertext.[ch]:
1028         Add a "markup" property.
1029
1030         * gtk/treestoretest.c:
1031         Use the markup property, remove some leftover stuff from
1032         GtkTreeModelMapping.
1033
1034 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1035
1036         * gtk/gtklabel.c (gtk_label_set_selectable):
1037         Queue a redraw if the selectable setting was changed.
1038
1039 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1040
1041         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
1042         Actually copy the whole gc, not just the public parts.
1043         
1044         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1045         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
1046         labels.
1047
1048 2001-02-19  Havoc Pennington  <hp@pobox.com>
1049
1050         * gdk/gdkwindow.c: docs
1051
1052         * gdk/gdkrgb.c: docs
1053
1054         * gdk/gdkregion-generic.c: docs
1055
1056         * gdk/gdkgc.c (gdk_gc_set_values): docs
1057
1058         * gdk/gdkdraw.c: docs
1059
1060         * gdk/gdkdrawable.h: deprecate drawable get/set data
1061
1062 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
1063
1064         * demos/gtk-demo/dialog.c: Add simple new demo.
1065
1066 2001-02-19  Havoc Pennington  <hp@redhat.com>
1067
1068         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
1069         insert_child_anchor signal, bug #50245
1070
1071         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
1072         from create_child_anchor, so the anchor is passed in
1073
1074         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
1075         (_gtk_widget_segment_new): have the child anchor object passed in, 
1076         instead of creating it.
1077
1078         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
1079         to gtk_text_buffer_get_modified
1080
1081 2001-02-19  Havoc Pennington  <hp@redhat.com>
1082
1083         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
1084         changed GLib without fixing GTK
1085
1086         * gtk/gtkrange.h: Rename all the stupid implementation detail 
1087         functions to have an underscore in front. Most of them should 
1088         probably just go away, but for starters don't export them.
1089         Bug #50482
1090
1091 2001-02-19  Havoc Pennington  <hp@redhat.com>
1092
1093         * gdk/gdkcolor.h: test was backward, so deprecated functions were
1094         excluded by default
1095
1096         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
1097         clean up the old code a bit
1098
1099         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
1100         inconsistent state
1101
1102         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
1103         draw inconsistent state
1104
1105         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
1106         (create_menu): add inconsistent test
1107
1108         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
1109         new function
1110         (gtk_check_menu_item_get_inconsistent): new function
1111         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
1112         state (using etched in for now)
1113
1114         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
1115         draw inconsistent state
1116
1117         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
1118         function, used when the user has selected a range of stuff in
1119         different states
1120         (gtk_toggle_button_get_inconsistent): accessor for that
1121         (gtk_toggle_button_paint): draw inconsistent state (etched in?
1122         don't know what else to do)
1123
1124 2001-02-19  Hans Breuer <hans@breuer.org>
1125
1126         * gtk/gtk.def : updated exported symbols
1127
1128         * gtk/makefile.msc.in : updated
1129
1130         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
1131         a colormap, when invoked from testgtk::entry. I'm not sure where
1132         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
1133         avoids immediate crashing ...
1134
1135         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
1136         any objections ?
1137
1138         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
1139         0 parameter. At least msvc doesn't like macros with var args. 
1140         I simply removed the extra 0, was it a feature or a typo ?
1141
1142         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
1143         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
1144         because the value assignment to the internal struct wasn't working.
1145         I'm not absolutely sure. The problem could have been resolved by
1146         changing the "func" declartion in the struct, but was the pointer
1147         to the function pointer intended ?
1148
1149         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
1150
1151         * gdk/gdk.def : updated exported symbols
1152
1153         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
1154         only use SetDIBitsToDevice if there is a palette at the drawable
1155         and the image is GDK_VISUAL_PSEUDO_COLOR
1156
1157         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
1158
1159         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
1160
1161         * gdk/*/makefile.msc : updated
1162
1163 2001-02-19  Havoc Pennington  <hp@redhat.com>
1164
1165         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
1166         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
1167
1168         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
1169         (gdk_key_repeat_restore): nuke
1170
1171         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
1172         (gdk_init_check): no atexit func
1173
1174         * gdk/gdkrgb.h: mark some stuff deprecated
1175
1176         * gdk/gdkcolor.h: mark some stuff deprecated
1177         
1178         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
1179
1180         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
1181
1182 2001-02-16  Havoc Pennington  <hp@redhat.com>
1183
1184         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
1185         scroll steps.
1186
1187         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
1188         steps, and add Ctrl-arrow shortcuts for paging visually as with
1189         HScale, since Page Up and Page Down move logically.
1190
1191         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
1192         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
1193         
1194         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
1195         steps
1196         (gtk_range_scroll): handle the visual steps
1197
1198         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
1199         scroll steps
1200
1201         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
1202         steps, not the logical ones.
1203
1204         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
1205         (scroll_vertical): handle up/down steps
1206
1207 2001-02-19 Alexander Larsson  <alexl@redhat.com>
1208
1209         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
1210         Copy data and free data with free().
1211
1212         * gdk-pixbuf/gdk-pixbuf.c:
1213         * gdk-pixbuf/io-jpeg.c:
1214         * gdk-pixbuf/io-png.c:
1215         Use g_try_malloc/g_free instead malloc/free.
1216         
1217         * gdk-pixbuf/test-gdk-pixbuf.c:
1218         Must... initialize... gobject...
1219         
1220         * gdk-pixbuf/pixops/timescale.c:
1221         * gtk/gtkcalendar.c:
1222         Use g_malloc instead of malloc.
1223         
1224 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
1225
1226         * gtk/testgtkrc:
1227         Comment out property assignments, these don't work yet.
1228
1229 2001-02-17  Havoc Pennington  <hp@pobox.com>
1230
1231         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
1232         bit.
1233
1234 2001-02-17  Havoc Pennington  <hp@pobox.com>
1235
1236         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
1237         shadowed variables that had broken size request in some cases,
1238         leading to bogus tooltips (#50996)
1239
1240 2001-02-06  Jon K Hellan  <hellan@acm.org>
1241
1242         Implement fast browsing of tooltips, bug #50619
1243         
1244         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
1245         and last_popdown
1246         
1247         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
1248         use_sticky_delay and last_popdown.
1249         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
1250         time of popdown.
1251         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
1252         is NULL.
1253         (gtk_tooltips_recently_shown): New static function.  Return true
1254         if < sticky_delay has elapsed since last popdown.
1255         (gtk_tooltips_event_handler): Display window after sticky_delay
1256         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
1257         since last popdown.
1258         
1259 2001-02-17  Havoc Pennington  <hp@pobox.com>
1260
1261         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
1262         instead of (). #6394
1263
1264         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
1265         G_CONST_RETURN, make it return by reference, #50473
1266         
1267 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
1268
1269         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
1270         generated ENTER_NOTIFY event with 0, otherwise not explicitely
1271         setup fields contain garbage (e.g. subwindow, breaking
1272         gdk_drawable_ref() upon event copy).
1273         (gtk_menu_stop_navigating_submenu_cb): same here.
1274
1275         * gtk/gtklist.c (gtk_list_vertical_timeout): 
1276         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
1277         * gtk/gtkclist.c (vertical_timeout): 
1278         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
1279         default-zero-intialization for unions to memset(,0,), as unions are
1280         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
1281         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
1282
1283         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
1284         g_closure_sink() warning.
1285
1286         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
1287         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
1288         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
1289         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
1290         
1291 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
1292
1293         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
1294         gtk_*_store_get, and moved to GtkTreeModel.
1295
1296         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
1297
1298         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
1299
1300         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
1301
1302         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
1303         set the func.
1304
1305         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1306         freeze/thaw notify between setting all the properties for a cell.
1307
1308         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
1309
1310 2001-02-15  Havoc Pennington  <hp@redhat.com>
1311
1312         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
1313         the X coordinates so they're with respect to the line, rather than 
1314         with respect to the layout.
1315
1316         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
1317         Mallabone
1318
1319         * gtk/testgtk.c (create_range_controls): add vscale tests, 
1320         and inverted test
1321
1322         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
1323         #50806
1324
1325         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
1326
1327         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
1328         gtk_text_iter_is_end
1329
1330         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
1331         rename gtk_text_buffer_get_end_iter
1332
1333         * gtk/testgtk.c (create_labels): Add test for selectable
1334
1335         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
1336         the selection stuff. This code is kind of broken since it doesn't 
1337         use the theme engine.
1338
1339         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
1340         fix infinite loop and y offset problem
1341         (gdk_draw_layout_line_with_colors): fix foreground color handling
1342
1343         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
1344         that makes the label selectable.
1345         
1346         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
1347         layout when the style is set, since fonts etc. could have changed.      
1348
1349 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
1350
1351         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
1352
1353         * gtk/gtktreemodelsimple.[ch]: removed.
1354
1355 2001-02-16  Alexander Larsson  <alexl@redhat.com>
1356
1357         * gtk/gtktreemodelmapping.[ch]:
1358         New files. Implement GtkTreeModelMapping.
1359         
1360         * gtk/Makefile.am:
1361         Add gtktreemodelmapping.[ch].
1362         
1363         * gtk/gtk.h:
1364         Add gtktreemodelmapping.h
1365
1366         * gtk/treestoretest.c:
1367         Test the GtkTreeModelMapping
1368
1369 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
1370
1371         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
1372         have a demo, we might as well pass in real values.  Thanks to
1373         clahey for pointing this out.
1374
1375 2001-02-14  Havoc Pennington  <hp@pobox.com>
1376
1377         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
1378         "static" to a private function
1379         (gtk_image_menu_item_class_init): remove destroy handler,
1380         add "image" object property
1381
1382 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
1383
1384         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
1385         Add a shortcut if the window and the current clip_region doesn't
1386         overlap. This is needed when there are a lot of windows in a
1387         window. The layout test in testgtk is a good test.
1388
1389         * gdk/linux-fb/gdkwindow-fb.c:
1390         Whitespace fix.
1391
1392 2001-02-13  Sven Neumann  <sven@convergence.de>
1393
1394         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
1395
1396 2001-02-13  Alexander Larsson  <alexl@redhat.com>
1397
1398         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
1399         Don't reference last_cursor if it is null. Fixes crash when rotating
1400         the screen before having moved the mouse.
1401
1402         * gdk/linux-fb/gdkcc-fb.c: Zapp!
1403
1404         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
1405
1406         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
1407         when using 90 or 270 degrees rotation.
1408
1409 2001-02-12  Havoc Pennington  <hp@pobox.com>
1410
1411         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
1412         it always set the foreground, even if we were only using
1413         a stipple.
1414         (gdk_draw_layout_line_with_colors): new function, allow
1415         override colors
1416         (gdk_draw_layout_with_colors): new function, allow override
1417         colors
1418         (gdk_pango_layout_line_get_clip_region): function to get the clip
1419         region for a logical text range
1420         (gdk_pango_layout_get_clip_region): get the clip region for a
1421         logical text range
1422
1423         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
1424         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
1425         the right number of arguments.
1426
1427         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
1428         enhance the function to check that node data corresponds to a 
1429         view still belonging to the tree.
1430
1431         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
1432         GtkTreePath
1433         (gtk_tree_view_inserted): ditto
1434         (gtk_tree_view_child_toggled): ditto
1435
1436         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
1437         simplify this code.
1438
1439         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
1440         a PangoAttrList
1441
1442         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
1443
1444         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
1445
1446         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
1447         size in the size request 
1448         (gtk_menu_bar_size_allocate): consider toggle size here
1449
1450         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
1451         that displays a widget in the toggle slot
1452
1453         * gtk/testgtk.c: test GtkImageMenuItem
1454
1455         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
1456         
1457         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
1458         request and allocation
1459
1460         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
1461
1462         * gtk/gtkcheckmenuitem.c
1463         (gtk_check_menu_item_toggle_size_request): ditto
1464         
1465 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
1466
1467         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
1468         reference.
1469
1470         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
1471         and refuse to initialize GTK+ if they fail.
1472
1473 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
1474
1475         * configure.in: Add check for gtk-doc version.
1476
1477 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
1478
1479         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
1480         where the xpad/ypad was only being used on one side!
1481
1482 2001-02-11  Tor Lillqvist  <tml@iki.fi>
1483
1484         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
1485         function, copied from X11 version.
1486
1487         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
1488         DestroyCursor failures. The reason for the problem (despite the
1489         inconsistent messages from GetLastError()) was that
1490         DestroyCursor() cannot be called while a cursor is set in a
1491         window. Set the new cursor first and then destroy the old one.
1492         Thanks to jpe@archaeopteryx.com.
1493
1494         * gdk/win32/gdkcc-win32.c: Remove.
1495
1496         * gdk/win32/Makefile.am: Remove from here, too.
1497         
1498         * gdk/gdk.def
1499         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
1500
1501         * gtk/gtk.def
1502         * gtk/makefile.mingw.in: Updates.
1503
1504 2001-02-08  Havoc Pennington  <hp@redhat.com>
1505
1506         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
1507         add a widget to a bin that already has a child.
1508
1509         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
1510
1511         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
1512         
1513         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
1514
1515         * gdk/gdk.h: remove gdkcc.h
1516
1517         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
1518
1519         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
1520         GdkPixbuf, since the previous implementation was GdkColorContext
1521         dependent.
1522
1523         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
1524         
1525 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
1526
1527         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
1528         a sane value!
1529
1530 2001-02-08  Havoc Pennington  <hp@redhat.com>
1531
1532         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
1533         lighten them.
1534
1535 2001-02-08  Havoc Pennington  <hp@redhat.com>
1536
1537         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
1538         validation idle
1539
1540         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
1541         cell renderer
1542
1543         * demos/pixbuf-demo.c (timeout): remove deprecated
1544         gtk_widget_draw
1545
1546         * demos/testpixbuf-save.c (main): remove deprecated
1547         gtk_drawing_area_size
1548
1549         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
1550         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
1551         at the start of the allocation.
1552         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
1553         unsetup or NULL model.
1554
1555         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
1556         even/odd/sorted cells in the tree view.
1557
1558         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1559         bugfixes
1560
1561         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
1562         backgrounds with draw_flat_box using different detail for even/odd
1563         rows.
1564
1565         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
1566         row, so we can draw the alternating colors thing
1567
1568         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
1569         property from a synonym property, notify for the synonym.
1570         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
1571         (gtk_text_tag_get_property): Always return the font, even if
1572         all its fields aren't set
1573
1574         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
1575         store the attr list; it leaves us with no way to change attributes
1576         in _render according to the render flags, and no way to implement
1577         get_property. Instead store all the specific text attributes. 
1578         Separate whether an attribute is enabled from its value. Sync all
1579         properties with GtkTextTag, make them all consistent, etc.
1580
1581         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
1582         renderers can highlight the sort row/column     
1583
1584         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
1585         accessor functions to get values; this has the side effect of
1586         showing up which accessor functions were missing. Added those.
1587
1588         * gtk/gtktreeviewcolumn.h: Replace set_justification with
1589         set_alignment, to be consistent with GtkLabel, GtkMisc
1590
1591         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
1592         arrow.
1593
1594         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
1595
1596         * gtk/gtktreesortable.h: updates in here
1597
1598 2001-02-07  Sven Neumann  <sven@convergence.de>
1599
1600         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
1601         pango dimensions after painting the background. We used to draw
1602         gigantic flat boxes here.
1603
1604 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
1605
1606         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
1607         error introduced with earlier commit) (pointed out by
1608         Ollie Lho)
1609
1610 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
1611
1612         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
1613         which are no longer necessary.
1614
1615 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
1616
1617         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
1618
1619 2001-02-04  Tor Lillqvist  <tml@iki.fi>
1620
1621         * gdk/gdk.def
1622         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
1623         Provide dummy implementations.
1624
1625 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
1626
1627         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
1628
1629         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
1630         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
1631         deprecated this function.
1632
1633         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
1634         argument.
1635
1636 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
1637
1638         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
1639
1640 2001-02-03  Havoc Pennington  <hp@pobox.com>
1641
1642         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
1643         Mikael Hermansson with patch from Mikael (if there was a toggle
1644         start one after the first character in the range, this function
1645         was broken). Bug #50380
1646
1647 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
1648
1649         * configure.in: Remove confusing comment about X11.
1650
1651 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
1652
1653         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
1654         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
1655         
1656 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
1657
1658         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
1659         it breaks things on BSD. If you want to compile GTK+ with
1660         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
1661         when configuring, since GTK+ simply can't be "pure ANSI" 
1662         in the header files it uses. (#8170, Greg Hudson)
1663
1664 2001-02-02  Havoc Pennington  <hp@redhat.com>
1665
1666         * gtk/gtkwindow.c: docs
1667
1668         * gtk/gtkwidget.c: docs
1669         (gtk_widget_set_colormap): add a reference to the colormap
1670         (gtk_widget_get_default_colormap): add a reference to the colormap
1671
1672         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
1673
1674         * gtk/gtktextiter.c: docs
1675
1676         * gtk/gtkmain.c (gtk_propagate_event): docs
1677
1678         * gtk/gtkpaned.c (gtk_paned_get_position): docs
1679         (gtk_paned_set_position): docs
1680
1681         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
1682         sort interface, no implementation yet.
1683
1684         * demos/testpixbuf.c (new_testrgb_window): replace
1685         gtk_drawing_area_size() with gtk_widget_set_usize()
1686
1687         * demos/testpixbuf-drawable.c (main): ditto
1688         
1689         * gtk/testgtk.c: remove use of GtkStatusbarMsg
1690
1691         * gtk/gtktextbuffer.c: docs
1692
1693         * gtk/gtkstock.c: docs
1694
1695         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
1696
1697         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
1698
1699         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
1700         
1701         * gtk/gtkimage.c: add some docs in here
1702         (gtk_image_size_request): change name of
1703         gtk_widget_render_stock_icon
1704         (gtk_image_get_icon_set): don't dup returned string
1705         (gtk_image_get_icon_set): don't dup returned string
1706
1707         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
1708         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
1709         and gtkiconfactory.h functions
1710
1711         * gtk/gtkiconfactory.c: add some docs in here
1712
1713         * gtk/gtkmain.c (gtk_get_default_language): document
1714         (gtk_get_current_event): document
1715         (gtk_get_current_event_state): document
1716         (gtk_get_event_widget): document
1717
1718         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
1719
1720         * gtk/gtkcontainer.c: Add some documentation
1721         (gtk_container_add): give a more explanatory warning on adding an
1722         already-parented widget, this is kind of a FAQ and also a common
1723         typo that's easier to debug with a nice warning 
1724
1725         * gtk/gtkcellrenderertoggle.c
1726         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
1727         adding this, it's useless
1728         (gtk_cell_renderer_toggle_set_active): remove
1729         (gtk_cell_renderer_toggle_get_radio): add
1730
1731         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
1732         the NULL cell renderer, that doesn't make any sense to me. 
1733
1734         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
1735         demo code should never use deprecated features.
1736
1737         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
1738         code should never use deprecated features.
1739
1740         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
1741         gtk_widget_queue_clear_area deprecated
1742
1743         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
1744         deprecated
1745
1746         * gtk/gtklabel.h: mark gtk_label_get() deprecated
1747
1748         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
1749         a GdkImage deprecated, replaced by new consistently-named
1750         functions       
1751
1752         * gtk/gtkmain.h: Mark gtk_exit() deprecated
1753
1754         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
1755
1756         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
1757         deprecated
1758
1759         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
1760         so it won't appear in docs and confuse people.
1761
1762         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
1763
1764         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
1765         macros deprecated. (can't mark the type itself deprecated, since
1766         GtkProgressBar is not deprecated and we need the type decl to use
1767         GtkProgressBar)
1768
1769         * gtk/gtkpixmap.h: Mark deprecated
1770
1771         * gtk/gtkoldeditable.h: Mark deprecated
1772
1773         * gtk/gtklist.h: Mark deprecated
1774
1775         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
1776         for anything anymore.
1777
1778         * gtk/gtkctree.h: Mark deprecated
1779
1780         * gtk/gtkclist.h: Mark deprecated
1781
1782         * gtk/gtkpreview.h: Mark deprecated
1783
1784         * gtk/gtkpacker.h: Mark deprecated
1785
1786         * gtk/gtktipsquery.h: Mark deprecated
1787
1788         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
1789
1790         * gtk/gtkvruler.h: Add comment that it will move out of GTK
1791
1792         * gtk/gtkhruler.h: Add comment that it will move out of GTK
1793
1794         * gtk/gtkruler.h: Add comment that it will move out of GTK
1795
1796         * gtk/gtkgamma.h: Add comment that it will move out of GTK
1797
1798         * gtk/gtkcurve.h: Add comment that it will move out of GTK
1799
1800 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
1801
1802         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
1803         gdk_colormap_sync private since it was never exported
1804         in a header file.
1805
1806         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
1807         colormap->colors[] for StaticGray, StaticColor colormaps.
1808
1809         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
1810         was being used as if it was image->bits_per_pixel.
1811
1812         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
1813         for the image in the GdkImage structure since it isn't
1814         reconstructable, and we need it to handle packed types
1815
1816         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
1817         the assumption that on Win32 image->bits_per_pixel == image->depth,
1818         always.
1819
1820         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
1821
1822         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
1823         warning message if no converter can be found. 
1824
1825 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
1826
1827         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
1828         chars to isupper() / tolower(). (#567)
1829
1830         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
1831         to clear up 64-bit warnings. (#567)
1832
1833 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
1834
1835         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
1836         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
1837
1838         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
1839         since some people set $(libdir) separately. (#1290, David Kaelbling)
1840
1841 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
1842
1843         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
1844         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
1845         MAXPATHLEN, but the code here depends on a fixed value.)
1846         (#4524)
1847
1848 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
1849
1850         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
1851         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
1852
1853 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
1854
1855         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
1856         viewable there is no way that moving the node will cause the 
1857         focus row to become not viewable, so omit check on the visibility
1858         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
1859
1860 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
1861
1862         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
1863         selection before inserting new text.
1864
1865 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
1866
1867         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
1868         Make the sensitivity of the reparented child track that of
1869         the original parent menu item. (#34218, David Hodson)
1870
1871         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
1872         the case where the current item is destroyed properly.
1873
1874         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
1875         some edge cases with child-less menuitems.
1876         
1877 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
1878
1879         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
1880         key pop down window. (#12074, Jon K Hellan)
1881
1882 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
1883
1884         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
1885         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
1886         The solution here isn't perfect - you get an extraneous
1887         emission of "toggle", which could conceivably confuse an app,
1888         but better than the current situation. LXR search seems to
1889         indicate that no apps in GNOME CVS connect to "toggle".
1890
1891 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
1892
1893         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
1894         gtk_public_h_sources to directly here to avoid warning when
1895         building srcdir != builddir. (#9656)
1896
1897 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
1898
1899         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
1900         handlers in gtkrange.c return the proper values (TRUE == handled)
1901         (#10316).
1902
1903         This is just the tip of the iceberg, but gtkrange.c is the
1904         most common place where the propagation is problematical,
1905         and also a place where it is almost certainly safe to change
1906         this in the stable branch.
1907
1908         (You don't want right click popups on a range control or anything...)
1909
1910 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
1911
1912         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
1913         area on focus out, even if a background pixmap isn't set.
1914         (#13941)
1915         
1916 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
1917
1918         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
1919         to deal with setting the shape properly when scrolling arrows are
1920         turned on, but not visible because there is sufficient space.
1921         (#13432)
1922
1923 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
1924
1925         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
1926         items with submenus, destroy the item along with the submenu.
1927         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
1928         properly.
1929
1930         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
1931         later.
1932
1933 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
1934
1935         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
1936         the focus widget sometimes wasn't drawn with the default if there
1937         was no default widget.
1938
1939         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
1940         unreference pixmaps. 
1941
1942         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
1943         for some extra safety.
1944
1945 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
1946
1947         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
1948         the text of a cell to the old pointer value better, by
1949         copying the new text before freeing the old text. Some code
1950         cleanup. (#8079, Karl Nelson)
1951
1952 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
1953
1954         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
1955         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
1956
1957 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
1958
1959         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
1960         item from a menu, check to see if it matches 
1961         menu->old_active_menu_item, and if so, unref and clear
1962         old_active_menu_item (Patch from Pavel Cisler)
1963
1964         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
1965         menu_shell->active_menu_item, if it is the child being
1966         removed. (Patch based on that of Gene Ragan, #50337)
1967
1968 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
1969
1970         * gdk/linux-fb/gdkselection-fb.c: 
1971         * gdk/linux-fb/gdkcolor-fb.c: 
1972         * gdk/linux-fb/gdkdrawable-fb2.c: 
1973         * gdk/linux-fb/gdkfont-fb.c: 
1974         * gdk/linux-fb/gdkim-fb.c: 
1975         * gdk/linux-fb/gdkinput.c: 
1976         * gdk/linux-fb/gdkkeyboard-fb.c: 
1977         * gdk/linux-fb/gdkmain-fb.c: 
1978         * gdk/linux-fb/gdkrender-fb.c: 
1979         A bunch of whitespace cleanup.
1980         
1981 2001-01-30  Havoc Pennington  <hp@pobox.com>
1982
1983         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
1984         #ifdef GTK_ENABLE_BROKEN.
1985
1986         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
1987         GTK_ENABLE_BROKEN just before including the broken headers.
1988         
1989         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
1990         deprecated types registered.
1991
1992         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
1993         we have to test the broken stuff.
1994
1995         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
1996         
1997 2001-01-30  Havoc Pennington  <hp@redhat.com>
1998
1999         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
2000         here where prev pointer was set to the wrong thing
2001
2002         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
2003         (gtk_tree_path_is_descendant): new function
2004
2005         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
2006         cached length
2007         (gtk_list_store_get_iter): don't modify iter if we can't get the
2008         path.
2009
2010         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
2011         
2012         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
2013         GtkTreeDragDest
2014
2015         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
2016         was causing segfault
2017
2018         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
2019         pointer to NULL
2020
2021         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
2022
2023         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
2024         on returning FALSE
2025         (gtk_list_store_iter_children): ditto
2026         (gtk_list_store_iter_nth_child): ditto
2027         (gtk_list_store_iter_nth_child): ditto
2028         (gtk_list_store_iter_parent): ditto
2029
2030         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
2031         on iter->user_data != NULL instead of silently accepting it.
2032         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
2033         we are returning TRUE.
2034         (gtk_tree_store_iter_children): ditto
2035         (gtk_tree_store_iter_nth_child): ditto
2036         (gtk_tree_store_iter_parent): ditto
2037         (gtk_tree_store_insert): remove handling of parent->user_data ==
2038         NULL, replace with parent == NULL       
2039
2040         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
2041         and a comment explaining things
2042
2043         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
2044         interface support to GtkTreeStore.
2045
2046         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
2047         FALSE if no prev, fix
2048
2049         * gtk/gtktreeview.c (set_source_row): use a row reference
2050         (set_dest_row): use a row reference
2051
2052 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
2053
2054         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
2055         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
2056         (gtk_tree_selection_select_iter): The same as above.
2057
2058 2001-01-26  Havoc Pennington  <hp@redhat.com>
2059
2060         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
2061         which holds a handle to a specific row (particular set of values
2062         in the model, i.e. pointer-identity row).
2063
2064         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
2065         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
2066         Still need to use it for the src/dest row saved on the drag context.
2067
2068 2001-01-26  Havoc Pennington  <hp@redhat.com>
2069
2070         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
2071
2072         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
2073         not offset by TREE_VIEW_HEADER_HEIGHT
2074         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
2075         TREE_VIEW_HEADER_HEIGHT
2076
2077         * configure.in (included_loaders): for me, --with-included-loaders
2078         generates the error "the specified loader yes does not exist",
2079         i.e. the arg defaults to "yes", so change test for value ""
2080         to test for value "yes", and include all loaders in that case.
2081
2082         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
2083
2084         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
2085         handle TREE_VIEW_VERTICAL_SEPARATOR
2086         (gtk_tree_view_bin_expose): fix to consider the row offset as
2087         pointing halfway into vertical separator.       
2088         (gtk_tree_view_draw_node_focus_rect): ditto
2089
2090         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
2091         --gtk-debug=updates, which causes gdk_window_set_debug_updates
2092         (TRUE) to be called.
2093
2094         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
2095         debug mode where the invalid region is colored in on invalidate,
2096         so you can see the flicker and know whether your redraw code is 
2097         doing a good job.
2098
2099         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
2100         tree window coordinates (clip rect is in tree window coords)
2101
2102         * gtk/Makefile.am: add gtktreednd.[hc]
2103
2104         * gtk/gtkliststore.c: implement gtktreednd interfaces.
2105
2106         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
2107         drag-and-drop data operations on a model (so we can set up tree
2108         drag-and-drop automatically)
2109
2110         * gtk/testgtk.c: Add a window to change sensitivity in the
2111         GtkLabel test; add a way to change the entry frame in GtkEntry
2112         test
2113
2114         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
2115         (gtk_entry_get_has_frame): new functions to remove the frame
2116         around an entry
2117         (gtk_entry_size_request): shrink requisition if no frame
2118         (gtk_entry_draw_focus): don't draw frame if no frame
2119
2120         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
2121         checks inside a cell renderer
2122         (gtk_default_draw_option): ditto for options
2123
2124         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
2125         children from the alignment, not the button
2126         (gtk_tree_view_column_init): ref/sink the column, to emulate
2127         GObject refcounting.
2128
2129         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
2130         
2131         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2132         Use theme functions to draw the toggles 
2133
2134         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
2135
2136         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
2137         GdkPangoAttrEmbossed to use in rendering insensitive text
2138
2139         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
2140
2141         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
2142         using new GDK features
2143         
2144 2001-01-24  Alexander Larsson  <alexl@redhat.com>
2145
2146         * gtk/gtkimage.c:
2147         Splitted gtk_image_clear into gtk_image_clear() and
2148         gtk_image_reset(). Call gtk_image_clear() in ::destroy
2149         to avoid leaks.
2150
2151         * gtk/gtklabel.c (set_markup):
2152         Don't leak text.
2153
2154         * gtk/gtktextlayout.c:
2155         Always free display->shaped_objects.
2156
2157         * gtk/testgtk.c (create_clist):
2158         Don't leak custom style.
2159
2160 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2161
2162         * gtk/gtkcolorsel.c (grab_color_at_mouse):
2163         Don't leak image. Simplify using gdk_colormap_query_color().
2164         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
2165
2166         * linux-fb/gdkcolor-fb.c:
2167         Implemented gdk_colormap_query_color.
2168
2169 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2170
2171         * linux-fb/gdkcursor-fb.c:
2172         Don't leak built-in cursors.
2173
2174         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
2175         Don't leak tmp_points.
2176
2177         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
2178         Don't modify desc. Don't leak font if the PangoFont
2179         isn't found.
2180         
2181         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
2182         Free dash_list.
2183
2184         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
2185         Don't leak string.
2186         
2187 2001-01-20  Havoc Pennington  <hp@pobox.com>
2188
2189         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
2190         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
2191         me, matches Pango
2192
2193 2001-01-22  Havoc Pennington  <hp@redhat.com>
2194
2195         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
2196
2197         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
2198
2199         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
2200         Remove, move back to gdk-pixbuf
2201
2202         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
2203         to all the word functions
2204
2205         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
2206         before doing anything on NULL layout or if we don't have the focus
2207
2208         * gtk/testtext.c (fill_example_buffer): "justification"
2209
2210         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
2211         to be called "justification" not "justify"
2212
2213         * demos/gtk-demo/textview.c (create_tags): "justification"
2214         
2215         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
2216
2217 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2218
2219         * gdk/gdkwindow.c (gdk_window_invalidate_region):
2220         Don't leak visible_region. Use visible_region instead of region.
2221         
2222         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2223         Don't do extra gdk_drawable_ref(). This is not X.
2224         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
2225         gdk_fb_focused_window is ref:ed.
2226         (gdk_fb_window_send_crossing_events): Watch out for destroyed
2227         windows.
2228
2229 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2230
2231         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
2232         Don't leak the PangoFontDescriptor.
2233
2234 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
2235
2236         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
2237         when not realized.
2238         (gtk_tree_view_scroll_to_cell): Make work when not realized.
2239         (gtk_tree_view_realize): add scroll_to support
2240         (gtk_tree_view_finalize): add a finalize method.  Populate.
2241         (gtk_tree_view_insert_column): ref and sink the column.
2242         (gtk_tree_view_append_column): ref and sink the column.
2243         (gtk_tree_view_queue_draw_node): New function to handle redrawing
2244         individual nodes.  Should make the code much more efficient, if
2245         actually used.
2246
2247 2001-01-19  Havoc Pennington  <hp@redhat.com>
2248
2249         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
2250         byte_offset variable was being used to mean both "offset into
2251         layout" and "offset into buffer line" which was no longer true
2252         with addition of preedit string; fix
2253
2254 2001-01-19  Havoc Pennington  <hp@redhat.com>
2255
2256         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
2257
2258         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
2259         function
2260
2261         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
2262         implement
2263
2264         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
2265         scroll_to_cell, matches TextView scroll functions better
2266         (gtk_tree_view_tree_to_widget_coords): new function
2267         (gtk_tree_view_widget_to_tree_coords): new function
2268         (gtk_tree_view_get_visible_rect): new function
2269         (gtk_tree_view_get_path_at_pos): accept negative coordinates
2270         (gtk_tree_view_draw_node_focus_rect): new function moved from
2271         draw_focus, also, use width of bin_window as width of the focus
2272         rect
2273         (gtk_tree_view_expand_row): fix bug where it didn't recognize
2274         already-expanded rows
2275         (gtk_tree_view_get_cell_rect): new function
2276         (gtk_tree_view_get_path_at_pos): return the click position
2277         relative to the passed-in cell
2278         (gtk_tree_view_set_expander_column): new function
2279
2280         * configure.in: remove gtk-config-2.0 chmod
2281
2282         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
2283         and properly handle drags with targets we don't understand
2284         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
2285         scrolling anyway
2286         (gtk_text_view_drag_drop): stop scrolling here though, and set the
2287         mark invisible
2288
2289         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
2290         function
2291         (gtk_drag_dest_get_target_list): new function
2292         (gtk_drag_dest_set_target_list): new function
2293         
2294         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
2295
2296         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
2297         related to drag-and-drop
2298
2299 2001-01-19  Alexander Larsson  <alexl@redhat.com>
2300
2301         * gdk/linux-fb/gdkprivate-fb.h:
2302         Define EMULATE_GDKFONT.
2303         Add extra pango_font stuff to GfkFontPrivate.
2304         
2305         * gdk/linux-fb/gdkdrawable-fb2.c:
2306         * gdk/linux-fb/gdkfont-fb.c:
2307         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
2308         emulation using PangoFont.
2309
2310 2001-01-17  Havoc Pennington  <hp@pobox.com>
2311
2312         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
2313         all the non-deprecated set_foo functions. Added missing object
2314         properties, and added g_object_notify() to setters. 
2315         Wrote docs.
2316         
2317 2001-01-18  Tor Lillqvist  <tml@iki.fi>
2318
2319         * gtk/gtkmain.c
2320         * gtk/gtkrc.c: (Win32) Use the new
2321         g_win32_get_package_installation_(sub)directory() functions.
2322
2323         * config.h.win32.in: New file.
2324         
2325         * config.h.win32: Removed.
2326
2327         * configure.in: Output config.h.win32.
2328
2329         * Makefile.am: Add it to EXTRA_DIST.
2330
2331         * gtk/gtk.def: Update.
2332
2333 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
2334
2335         * gtk/gtklabel.c (gtk_label_size_request): Set the
2336         attributes onto the PangoLayout even if they are newly
2337         created from label->pattern.
2338
2339 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
2340
2341         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
2342
2343         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
2344         structures in functions. Fixes bug where gtk_dataset_*
2345         was accidentally still being used in one place, causing
2346         every dest side event to be treated independently.
2347
2348         * gtk/gtkdnd.c: Remove last vestages of handling
2349         ::draw (fixes warning)
2350         
2351         * gtk/gtkentry.[ch]: Add drag and drop support.
2352
2353         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
2354         new function gtk_check_drag_threshhold() for checking
2355         to check if (dx,dy) has exceeded the threshhold for starting
2356         a drag and use it everywhere.
2357
2358 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
2359
2360         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
2361         add -I{includedir}/gtk-2.0.
2362
2363         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
2364         gdk/gdk-pixbuf.h: Doc fixups.
2365         
2366         * gtk/gtkobject.h: Remove trailing , from enum
2367
2368 2001-01-17 Alexander Larsson <alexl@redhat.com> 
2369
2370         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
2371         Doh! Mixed up x and y.
2372
2373         * gdk/linux-fb/gdkglobals-fb.c:
2374         Removed gdk_fb_pointer_grab_window_events,
2375         added _gdk_fb_pointer_grab_owner_events and
2376         _gdk_fb_keyboard_grab_owner_events.
2377
2378         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
2379         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
2380         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
2381         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
2382         Send crossing events after ungrab finished.
2383         (gdk_keyboard_grab): Set ..._owner_events
2384         (type_masks): Move out of function.
2385         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
2386         gdk_fb_keyboard_event_window): New functions, return the
2387         window an event should be targeted at. Handles grabs and
2388         event propagation. Can return NULL.
2389         (gdk_event_make): Remove event_mask checking. Now always
2390         returns an event.
2391                 
2392         * gdk/linux-fb/gdkkeyboard-fb.c:
2393         * gdk/linux-fb/gdkproperty-fb.c:
2394         * gdk/linux-fb/gdkselection-fb.c:
2395         Use new event_window/gdk_event_make() behaviour.
2396         
2397         * gdk/linux-fb/gdkmouse-fb.c:
2398         Use new event_window/gdk_event_make() behaviour.
2399         Only send motion events if in the same window.
2400         If grabbed, use cursor from window if sibling of grabbed
2401         window, and cursor from grabbed window otherwise.
2402
2403         * gdk/linux-fb/gdkprivate-fb.h:
2404         Update gdk_fb_window_send_crossing_events, gdk_event_make
2405         and grab varaible declarations. Add gdk_fb_*_event_window().
2406
2407         * gdk/linux-fb/gdkwindow-fb.c:
2408         Use new event_window/gdk_event_make() behaviour.
2409         Keep correct track of focus window.
2410         (gdk_window_set_events): Set all specific button motion masks
2411         if GDK_BUTTON_MOTION_MASK set.
2412
2413         * gtk/gtkdnd.c (gtk_drag_update):
2414         Free info->last_event if gdk_drag_motion returned FALSE.
2415
2416 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2417
2418         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
2419         Eliminate redraws when input-only windows are shown or
2420         hidden. Thanks to jpe@archaeopteryx.com.
2421
2422 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
2423
2424         * docs/faq/gtk-faq.sgml: FAQ update:
2425           - Update to bugzilla
2426           - Add GTK+ and security/SUID/SGID
2427           - Add DnD question
2428
2429 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
2430
2431         * gdk/linux-fb/gdkdnd-fb.c:
2432         Some cleanups.
2433         
2434 2001-01-15  Havoc Pennington  <hp@pobox.com>
2435
2436         * tests/testtreeview.c: add test stuff for CellRendererToggle
2437
2438         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
2439         accessor
2440
2441         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
2442         only toggle on button press (would do release like GtkButton, but
2443         we'd need implicit grab code for treeview cells)
2444
2445 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2446
2447         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
2448
2449         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
2450         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
2451
2452         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
2453         to g_{locale,filename}_{to,from}_utf8 to match current API.
2454
2455         * gtk/makefile.msc.in (gtk_OBJECTS)
2456         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
2457
2458         * gtk/gtk.def: Update.
2459
2460 2001-01-15  Tor Lillqvist  <tml@iki.fi>
2461
2462         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
2463         implementaion that more closely mimics the events that an X server
2464         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
2465         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
2466         with nested preview widgets, for instance, more responsive when
2467         you move the mouse quickly into them.
2468         (find_window_for_pointer_event): Make it actually compile.
2469         (gdk_event_translate): Set send_event to the value of
2470         InSendMessage (). This doesn't really mean the same as X11's
2471         send_event flag, but is close enough, says jpe@archaeopteryx.com
2472
2473 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2474
2475         * gdk/linux-fb/gdkdnd-fb.c:
2476         Implemented drag and drop.
2477         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
2478         when it tries to free and then copy the same event (info->last_event).
2479         I am not sure about why this happens, but will continue looking.
2480
2481 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2482
2483         * gdk/linux-fb/gdkwindow-fb.c:
2484         Use gdk_window_invalidate_rect instead of
2485         gdk_window_invalidate_rect_clear to minimise flashing.
2486         When hiding windows you need to clear the root window though.
2487
2488 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2489
2490         * gdk/linux-fb/gdkdrawable-fb2.c:
2491         For optization, add an full_shapes argument to gdk_fb_clip_region.
2492         If this is false, only the cliprects of the shapes are used.
2493
2494         * gdk/linux-fb/gdkprivate-fb.h:
2495         Export gdk_fb_window_peek_shape.
2496         Add full_shapes to gdk_fb_clip_region.
2497
2498         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2499         When moving a window, don't clear everything under the it, just the
2500         root window. Makes stuff faster and flash less.
2501         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
2502         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
2503         offset of the shape.
2504         
2505
2506 2001-01-12  Havoc Pennington  <hp@redhat.com>
2507
2508         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
2509         current invalid region, fixes redraw bug while scrolling the 
2510         text widget
2511
2512         * gtk/gtktextview.c, gtk/gtktextview.h:
2513         Rearrange the scrolling/validation/etc. code in a major way, 
2514         so it seems to make sense to me. Probably isn't genuinely that
2515         much better, but...
2516
2517         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
2518         notifies
2519
2520         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
2521
2522 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
2523
2524         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
2525         Hide mouse pointer while rotation. Show it afterwards.
2526
2527 2001-01-12  Alexander Larsson  <alexl@redhat.com>
2528
2529         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
2530         windows in consideration when generating clip region.
2531
2532         * gdk/linux-fb/gdkfb.h:
2533         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
2534
2535         * gdk/linux-fb/gdkprivate-fb.h:
2536         Add shape to GdkWindowFBDatat.
2537         exported gdk_fb_window_get_abs_shape().
2538         removed gdk_fb_draw_lines declaration.
2539
2540         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
2541         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
2542         send focus changes when there is a grabbed window.
2543         (gdk_window_get_pointer): Handle shaped windows.
2544         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
2545         (gdk_fb_window_peek_shape): Returns the shape for a window,
2546         handles GDK_FB_USE_CHILD_SHAPE.
2547         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
2548         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
2549         (gdk_window_shape_combine_mask): Implement.
2550
2551         * gtk/gtkwindow-decorate.c:
2552         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
2553         setting the shape of a window makes the window transparent.
2554
2555 2001-01-11  Havoc Pennington  <hp@redhat.com>
2556
2557         * gtk/gtktreemodelsimple.h: Oops, broke some macros
2558
2559 2001-01-10  Havoc Pennington  <hp@redhat.com>
2560
2561         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
2562         add this function, bug 40251
2563
2564         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
2565         of type macro   
2566
2567 2001-01-11  Alexander Larsson  <alexl@redhat.com>
2568
2569         * acconfig.h:
2570         Added ENABLE_SHADOW_FB
2571
2572         * configure.in:
2573         Added --disable-shadowfb
2574
2575         * gdk/linux-fb/gdkcursor-fb.c:
2576         Update shadowfb when updating cursor
2577
2578         * gdk/linux-fb/gdkdrawable-fb2.c:
2579         Added wrappers for shadowfb that calls  the normal drawable
2580         methods, but calls gdk_shadow_fb_update(bounding box) when
2581         GdkWindows are drawed to.
2582         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
2583         which also returns the bounding box.
2584
2585         * gdk/linux-fb/gdkfb.h:
2586         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
2587
2588         * gdk/linux-fb/gdkgeometry-fb.c:
2589         Update shadowfb when scrolling window.
2590
2591         * gdk/linux-fb/gdkglobals-fb.c:
2592         Add _gdk_fb_screen_angle.
2593         
2594         * gdk/linux-fb/gdkkeyboard-fb.c:
2595         Test code for screen rotation. Shift-F2 in the xlate driver
2596         rotates the screen.
2597
2598         * gdk/linux-fb/gdkmain-fb.c:
2599         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
2600
2601         * gdk/linux-fb/gdkmouse-fb.c:
2602         Use fb_width/height instead of modeinfo.xres/yres.
2603
2604         * gdk/linux-fb/gdkprivate-fb.h:
2605         Added fb_men, fb_width, fb_height & fb_stride. When using
2606         shadow fb these can differ from the framebuffer stuff.
2607         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
2608         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
2609         _gdk_fb_screen_angle. Removed CM, RP.
2610
2611         * gdk/linux-fb/gdkrender-fb.c:
2612         Added code for shadowfb handling and screen rotation using
2613         shadowfb.
2614
2615         * gdk/linux-fb/gdkwindow-fb.c:
2616         Use fb_mem, fb_stride, fb_width, fb_height.
2617         Added recompute_rowstride to reset the rowstride of all windows.
2618         Added gdk_fb_recompute_all() which recomputes rootwindow size,
2619         window abs positions and window rowstrides. Usefull when the
2620         rotation has changed.
2621
2622 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
2623
2624         * docs/faq/gtk-faq.sgml: update to make web site updating easier
2625
2626 2001-01-10  Havoc Pennington  <hp@redhat.com>
2627
2628         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
2629         where sibling == iter
2630         (gtk_tree_store_insert_after): handle sibling == iter
2631         (gtk_tree_store_prepend): remove stamp checks
2632         (gtk_tree_store_insert_before): ditto
2633         (gtk_tree_store_append): ditto
2634         (gtk_tree_store_get_path): ditto
2635         (gtk_tree_store_get_value): ditto
2636         (gtk_tree_store_iter_has_child): ditto
2637         (gtk_tree_store_iter_n_children): ditto
2638         (gtk_tree_store_iter_nth_child): ditto
2639         (gtk_tree_store_insert_after): ditto
2640         (gtk_tree_store_is_ancestor): ditto
2641         (gtk_tree_store_iter_depth): ditto
2642         (gtk_tree_store_insert_before): assert that sibling's parent is
2643         the same as the passed-in parent
2644         (gtk_tree_store_insert_after): assert that sibling's parent is
2645         the same as the passed-in parent
2646
2647         
2648         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
2649         function to get the first iterator in a model
2650         
2651         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
2652         conventionally the "root" in this sense is just NULL afaict.
2653
2654         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
2655         where sibling == iter
2656         (gtk_list_store_insert_after): handle case where sibling == iter
2657
2658         * tests/testtreeview.c (run_automated_tests): fairly lame basic
2659         automated tests for ListStore, TreeStore
2660
2661         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
2662         (gtk_list_store_insert): update tail pointer, and fix it to work
2663         (gtk_list_store_insert_before): update tail pointer, and fix it to work
2664         (gtk_list_store_append): use tail to be faster
2665         (gtk_list_store_prepend): fix it, update tail pointer
2666         (gtk_list_store_insert_after): fix it, update tail pointer
2667
2668         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
2669         the list
2670
2671 2001-01-09  Havoc Pennington  <hp@redhat.com>
2672
2673         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
2674         is NULL due to a pending resize
2675
2676         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
2677         column width to values less than 1
2678
2679         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
2680         width to be between min/max width, and still set the width 
2681         even if autosize is turned on, so the tree view can use this 
2682         function in order to autosize.
2683         (gtk_tree_view_column_init): set initial width to 1 not 0
2684
2685         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
2686         setter function to modify column width, so we get notification
2687         (gtk_tree_view_insert_iter_height): ditto
2688         (gtk_tree_view_calc_size): ditto
2689         (gtk_tree_view_check_dirty): ditto
2690
2691         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
2692         properties to change all the interesting attributes of the tree
2693         view column.
2694         (gtk_tree_view_column_set_header_clickable): rename set_clickable
2695         (gtk_tree_view_column_get_clickable): add
2696         (gtk_tree_view_column_set_cell_renderer): don't unset the current
2697         attributes; assume a cell renderer with equivalent object
2698         properties has been swapped in. Do g_object_notify().
2699         (gtk_tree_view_column_set_visible): g_object_notify
2700         (gtk_tree_view_column_get_sizing): rename from get_col_type
2701         (gtk_tree_view_column_set_sizing): g_object_notify
2702         (gtk_tree_view_column_set_width): add g_object_notify
2703         (gtk_tree_view_column_set_min_width): ditto
2704         (gtk_tree_view_column_set_max_width): ditto
2705         (gtk_tree_view_column_set_title): ditto
2706         (gtk_tree_view_column_set_clickable): ditto
2707         (gtk_tree_view_column_set_widget): ditto
2708         (gtk_tree_view_column_set_justification): ditto
2709
2710 2001-01-09  Havoc Pennington  <hp@redhat.com>
2711
2712         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
2713         there are no rows in the model
2714
2715         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
2716         NULL, then return the start of the list
2717
2718         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
2719         if we can't get any rows from an empty model 
2720
2721         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
2722         extraneous * after function pointer typedef usage
2723
2724         * Makefile.am: don't specify full path to cp and rm
2725
2726         * gtk/gtkcellrenderertextpixbuf.c
2727         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
2728         NULL before dereferencing, fixes a segfault that happened from
2729         time to time
2730
2731         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
2732         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
2733         and reindent the function
2734         (gtk_cell_renderer_pixbuf_get_size): indentation
2735
2736         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
2737         we quit it
2738         (gtk_dialog_add_buttons_valist): add g_return_if_fail
2739         (gtk_dialog_set_default_response): New function, to set default
2740         button
2741         (gtk_dialog_set_response_sensitive): New function, to set 
2742         sensitivity of buttons
2743
2744         * gtk/gtkcellrendererpixbuf.c
2745         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
2746         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
2747
2748         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
2749         handle any G_TYPE_OBJECT subclass, not just the base class, and 
2750         also boxed types.
2751         (_gtk_tree_data_list_value_to_node): ditto
2752
2753         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
2754         --gtk-debug=tree
2755
2756         * gtk/gtkmain.c: add GTK_DEBUG_TREE
2757
2758         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
2759
2760 2001-01-09  Tor Lillqvist  <tml@iki.fi>
2761
2762         * gdk/win32/gdkevents-win32.c: Implement better mouse
2763         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
2764         (find_window_for_pointer_event): New function.
2765         (gdk_event_translate): Use it when handling mouse events.
2766
2767 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
2768
2769         * configure.in:
2770         Added --with-included-loaders option
2771
2772         * gdk-pixbuf/Makefile.am:
2773         * gdk-pixbuf/gdk-pixbuf-io.c:
2774         Add support for including selected gdk-pixbuf loaders only.
2775
2776         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
2777         gtk_window_set_has_frame):
2778         Added inline documentation.
2779
2780         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
2781         * docs/reference/gdk/tmpl/windows.sgml:
2782         Added inline documentation.
2783
2784 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
2785
2786         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
2787         realizing buttons that have already been realized.
2788
2789 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
2790
2791         * tests/testtreeview.c (main): Show menu items before adding to
2792         option menu.
2793
2794         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
2795         around if we kill them.
2796
2797         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2798         Return if we pass in a NULL model.
2799
2800 2001-01-08  Havoc Pennington  <hp@redhat.com>
2801
2802         * tests/testtreeview.c: hack on this some
2803
2804         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
2805         gtk_tree_store_set_valist, v is for arrays, valist for varargs
2806         list
2807         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
2808
2809         * gtk/gtkliststore.h: Add varargs set() and get() convenience
2810         functions
2811
2812 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2813
2814         * gtk/gtkwindow-decorate.[hc]:
2815         * gtk/Makefile.am:
2816         New files. Contains an implementation of a minimal WM for
2817         linux-fb.
2818
2819         * gtk/gtkwindow.h:
2820         Add the possibility for GtkWindows to specify a frame. This
2821         is used for the window decoration code, but could concievably
2822         be used for X programs too (xmms style windows).
2823         GtkWindow->frame is the toplevel window if the window is framed.
2824         The signal frame_event gets all events that are targeted to
2825         GtkWindow->frame.
2826         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
2827         
2828         * gtk/gtkwindow.c:
2829         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
2830         Call out to gtkwindow-decorate.c for WM support in linx-fb.
2831
2832 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2833
2834         * docs/README.linux-fb:
2835         Correct filename ~/.pangoft2_aliases
2836
2837         * gdk/gdkwindow.h:
2838         Added new function gdk_window_get_decorations.
2839
2840         * gdk/linux-fb/gdkfb.h:
2841         Removed _gdk_window_get_decorations declaration.
2842         Renamed _gdk_window_set_child_handler to
2843         gdk_fb_window_set_child_handler.
2844
2845         * gdk/linux-fb/gdkwindow-fb.c:
2846         Renamed _gdk_window_set_child_handler to
2847         gdk_fb_window_set_child_handler.
2848
2849         * gdk/x11/gdkwindow-x11.c:
2850         New function gdk_window_get_mwm_hints().
2851         Implemented gdk_window_get_decorations.
2852
2853         * docs/reference/gdk/tmpl/windows.sgml:
2854         * docs/reference/gdk/gdk-sections.txt:
2855         Added gdk_window_get_decorations docs.
2856         
2857 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
2858
2859         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
2860         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
2861         gdk_fb_window_send_crossing_events):
2862         Possibly send focus events when the mouse moves from one
2863         window to another.
2864
2865 2001-01-07  Tor Lillqvist  <tml@iki.fi>
2866
2867         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
2868         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
2869         to match current API.
2870
2871         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
2872         environment variable is set, don't call g_error when on a
2873         palettized (PseudoColor) display. Some people want to use GTK+ 
2874         in 256-colour mode even though works only partially.
2875
2876         * gdk/gdk.def
2877         * gtk/gtk.def
2878         * gtk/makefile.mingw.in: Update.
2879
2880 2001-01-05  Havoc Pennington  <hp@redhat.com>
2881
2882         * tests/testtreeview.c: hack on this a bit
2883
2884         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
2885         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
2886
2887         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
2888         was spelled incorrectly
2889         (GTK_IS_TREE_MODEL_SIMPLE): ditto
2890
2891         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
2892         from gtk_tree_view_set_headers_active   
2893
2894         * gtk/gtktexttag.c:
2895         (gtk_text_tag_get_property): handle PROP_DIRECTION
2896         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
2897         properties, bug 40235
2898
2899         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
2900         forward_to_line_end
2901
2902 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
2903
2904         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
2905         modules/input/gtkimcontextxim.c: Adapt to new prototypes
2906         for unicode,locale,filename conversion functions.
2907
2908 2001-01-05  Havoc Pennington  <hp@redhat.com>
2909
2910         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
2911         broken if called on the first position in the buffer.
2912
2913         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
2914         forward_to_delimiters to be called only if we aren't already at
2915         the delimiters.
2916
2917 2001-01-05  Havoc Pennington  <hp@redhat.com>
2918
2919         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
2920
2921 2001-01-05  Alexander Larsson  <alexl@redhat.com>
2922
2923         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
2924         colormap in here. Sync from X port.
2925         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
2926         Sync from X port.
2927         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
2928         This happens now and then, and i don't think it is a bug.
2929         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
2930         != endpoint.
2931         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
2932         GDK_LINE_SOLID.
2933
2934         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
2935         some of the fields filled in at least.
2936
2937         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
2938         miLineArcD is no more, remove it from the function definition.
2939
2940 2001-01-04  Havoc Pennington  <hp@redhat.com>
2941
2942         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
2943         this
2944
2945         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
2946         user_data instead of tree_node
2947
2948         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
2949         TREE_VIEW_COLUMN_SIZE
2950
2951         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
2952         "size" field to "width" finishes bug 40061
2953
2954         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
2955         for bitfields, bug 40268
2956
2957 2001-01-04  Havoc Pennington  <hp@redhat.com>
2958
2959         Rename some stuff:
2960         
2961         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
2962
2963         s/GtkModelSimple/GtkTreeModelSimple/g;
2964         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
2965         s/gtk_model_simple/gtk_tree_model_simple/g;
2966         s/gtkmodelsimple/gtktreemodelsimple/g;
2967
2968         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
2969
2970         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
2971         s/column_set_col_type/column_set_sizing/g;
2972
2973         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
2974         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
2975
2976         s/GtkCellRendererType/GtkCellRendererState/g;
2977         
2978         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
2979         (gtk_cell_renderer_toggle_class_init): change "state" property to
2980         "active", to match GtkToggleButton
2981         (gtk_cell_renderer_toggle_get_active): new function, bug
2982         40269
2983         (gtk_cell_renderer_toggle_set_active): new function
2984         (gtk_cell_renderer_toggle_set_property): route changes to toggle
2985         state through gtk_cell_renderer_set_active
2986
2987 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
2988
2989         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
2990         temporarily until they work again.  Brought up to date with
2991         changes in the model.
2992         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
2993         model.
2994
2995 2001-01-04  Havoc Pennington  <hp@redhat.com>
2996
2997         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
2998         equal to the line length, then position iterator before paragraph 
2999         separators. Fixes crash reported by Mikael Hermansson when
3000         pressing left arrow from the start of a line.   
3001
3002         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
3003         about byte indexes off the end
3004         (iter_set_from_char_offset): add g_error about char offsets
3005         off the end
3006
3007 2001-01-03  Havoc Pennington  <hp@redhat.com>
3008
3009         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
3010
3011         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
3012         of private functions; remove inclusion of private headers.
3013
3014         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
3015         function, so we don't need private functions in gtktextdisplay.c
3016
3017         * gtk/gtktextiterprivate.h: underscore-ification
3018
3019         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
3020         to instead say "only useful to implement widgets"
3021
3022         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
3023         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
3024         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
3025
3026         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
3027         This function was completely broken
3028
3029         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
3030
3031         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
3032
3033         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
3034
3035         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
3036
3037         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
3038
3039         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
3040
3041         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
3042         gtk_paint_layout
3043
3044         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
3045         gtk_paint_layout
3046
3047         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
3048         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
3049         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
3050         which were not implemented.     
3051
3052         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
3053         insert_pixbuf signal. Rename delete_text to delete_range since it
3054         also deletes pixbufs and child anchors. This almost closes bug
3055         40245 (still need to deal with child anchors)
3056
3057         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
3058         insert_pixbuf, change signal names as appropriate, change types of
3059         signals taking marks/tags to have the specific type, not just
3060         G_TYPE_OBJECT
3061         
3062         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
3063         closes bug 40051
3064
3065         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
3066         unnecessary remove_contents() call
3067         (gtk_option_menu_class_init): add a "changed" signal, closes
3068         bug 40039
3069         (gtk_option_menu_update_contents): emit "changed" if the 
3070         active menu item changes
3071
3072         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
3073         cast to GtkObject, reported by Jonas Borgstrom
3074         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
3075         we can't do stuff with side effects in finalize. Instead, spew a
3076         warning if the loader isn't closed.
3077
3078         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
3079         colormap in here, non-X ports probably need to sync to this change
3080
3081         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
3082         assertion that colormap != NULL, you can set the colormap to NULL
3083         if you like.
3084         
3085         * Makefile.am: remove gtk-config-2.0
3086
3087         * configure.in: Use pkg-config to locate GLib. Remove
3088         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
3089         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
3090         Use pkg-config to locate Pango. Output correct Pango libs to
3091         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
3092
3093         * Makefile.am (pkgconfig_DATA): install only target-specific pc
3094         files
3095         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
3096         X11 pc files
3097
3098         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
3099         unref from here
3100
3101 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
3102
3103         * configure.in:
3104         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
3105
3106 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
3107
3108         * gtk/gtktextlayout.c
3109         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
3110         variable when moving back onto a single line.
3111
3112 2001-01-01  Havoc Pennington  <hp@redhat.com>
3113
3114         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3115
3116         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3117
3118         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
3119         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
3120
3121 2001-01-01  Havoc Pennington  <hp@redhat.com>
3122
3123         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
3124
3125         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
3126         GtkTextAttributes
3127
3128         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
3129         #40246
3130         (gtk_text_attributes_copy_values): rename from 
3131         gtk_text_attributes_copy
3132         (gtk_text_attributes_copy): a more standard GTK copy function, 
3133         which returns a new object
3134
3135 2001-01-01  Havoc Pennington  <hp@redhat.com>
3136
3137         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
3138         
3139         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
3140         don't fill in tree_view->priv->selection, kind of an unexpected
3141         side effect
3142
3143         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
3144         gtkintl.h
3145         
3146         * gtk/gtkcellrenderer.c: Remove definition of _ and include
3147         gtkintl.h
3148         (gtk_cell_renderer_get_property): remove calls to g_value_init
3149
3150         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
3151         gtkintl.h
3152
3153         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
3154         and include gtkintl.h
3155         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
3156         property names
3157
3158         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
3159         GtkTreeSelection
3160         (_gtk_tree_selection_new_from_with_view): rename, return
3161         GtkTreeSelection
3162         (_gtk_tree_selection_set_tree_view): rename with uscore
3163         (gtk_tree_selection_get_selected): fill in the "model" out param
3164         first, so it gets filled in even if we return at the top of the 
3165         function
3166         (gtk_tree_selection_real_select_all): add a comment and an else{}
3167         to clarify this a bit
3168         (gtk_tree_selection_real_unselect_all): add the same else{}
3169
3170         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
3171         set_tree_view to have underscore prefixes, move them to the
3172         private header, fix return type of new_with_tree_view
3173         (struct _GtkTreeSelection): mark struct
3174         fields private  
3175
3176         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
3177         GtkTreeModelFlags, not a guint
3178         (gtk_tree_path_prev): return gboolean not gint
3179         (gtk_tree_path_up): return gboolean not gint
3180
3181         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
3182         return GtkTreeModelFlags, not a guint
3183
3184         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
3185         that child model is non-null before unrefing it
3186         (g_value_int_compare_func): make this a qsort compare func, not 
3187         a boolean predicate
3188
3189         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
3190         (add -umn to the end), and mark it unimplemented
3191         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
3192         I don't see what it's for - doesn't the model always sort itself?
3193         (gtk_tree_model_sort_set_compare): this had the wrong signature
3194
3195         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
3196         Fix the docs to say that it destructively replaces existing
3197         attributes (previously said that it added attributes).
3198         (gtk_tree_view_column_set_visible): canonicalize bool before
3199         equality testing. Also, check for realization before
3200         hiding/showing the tree_column->window; if this window could exist
3201         before realization, then it's busted and needs fixing, we can't 
3202         create GDK resources pre-realization. Also, remove
3203         superfluous queue_resize(), since set_size() does that for us.
3204         (gtk_tree_view_column_set_col_type): check realization before 
3205         using tree_column->window
3206
3207         * gtk/gtktreedatalist.c: fix filename in copyright notice
3208
3209 2000-12-31  Havoc Pennington  <hp@pobox.com>
3210
3211         * gtk/gtktextview.c: Rearrange all the
3212         scroll-while-dragging-or-selecting code to be different, not
3213         necessarily better. ;-)
3214         (gtk_text_view_scroll_to_mark): Change this
3215         function to take within_margin as a fraction instead of a pixel
3216         value, and to take alignment arguments (indicating where to align 
3217         the mark inside the visible area)
3218         
3219         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
3220         to GtkObject
3221
3222         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
3223         behavior so that offsets past the end of the line are not 
3224         allowed, and an offset equal to the line length moves the iterator
3225         to the next line
3226         (gtk_text_iter_set_line_index): make parallel change
3227         (gtk_text_iter_get_bytes_in_line): add this function
3228         
3229         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
3230         of byte indexes off the end of the line; byte index at the end of
3231         the line now returns FALSE and doesn't fill in the requested
3232         values, byte index past the end of the line is an error.  Also,
3233         don't allow -1 offset anymore, since its meaning is unclear.
3234
3235         This change exposes some bug in visual cursor motion, where we
3236         end up with a huge invalid byte index; needs fixing. Symptom of 
3237         bug is a crash when you hit up arrow.
3238         
3239         (_gtk_text_line_char_locate): match the change to byte_locate
3240
3241         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
3242         from start of line properly. fixes bug reported by Mikael
3243         Hermansson where backspace would delete all text before the
3244         cursor.
3245
3246 2000-12-30  Tor Lillqvist  <tml@iki.fi>
3247
3248         * gdk/win32/gdkwindow-win32.c
3249         (gdk_window_impl_win32_get_visible_region): New function, as in
3250         the X11 backend.
3251         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
3252         instead of duplicating the same code here.
3253
3254         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
3255         GDK_COLORMAP macro.
3256
3257         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
3258         destroy function.
3259         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
3260         access that.
3261
3262         * gtk/gtk.def: Update.
3263
3264         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
3265
3266 2000-12-30  Havoc Pennington  <hp@pobox.com>
3267
3268         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
3269         colormap on input only windows, to avoid special cases all over
3270         the code for these windows.
3271
3272 2000-12-26  Tor Lillqvist  <tml@iki.fi>
3273
3274         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
3275         we are on a palettized display ("PseudoColor" in X11), as the code
3276         for that doesn't work anyway, and never has.
3277
3278 2000-12-22  Alexander Larsson  <alexl@redhat.com>
3279
3280         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
3281         Don't use isprint() for chars > 255.
3282
3283 2000-12-21  Havoc Pennington  <hp@redhat.com>
3284
3285         * tests/testtreeview.c: more work
3286
3287 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3288
3289         * docs/README.linux-fb:
3290         Update the docs to the new pangoft2 way.
3291
3292 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3293
3294         * configure.in:
3295         For linux-fb get the pangoft2 cflags and libs. This needs a recent
3296         pango version.
3297         Remove modules/linux-fb/Makefile.
3298
3299         * gdk/linux-fb/gdkdrawable-fb2.c:
3300         Render glyphs using freetype.
3301
3302         * gdk/linux-fb/gdkfb.h:
3303         Add new fb-specific functions needed for managing windows.
3304
3305         * gdk/linux-fb/gdkmain-fb.c:
3306         Remove gdk_font_init/fini() calls.
3307
3308         * gdk/linux-fb/gdkpango-fb.c:
3309         Remove old implementation. Use pangoft2 instead.
3310
3311         * gdk/linux-fb/gdkprivate-fb.h:
3312         Remove PangoFBFont and related stuff.
3313
3314         * gdk/linux-fb/gdkwindow-fb.c:
3315         Implement drawable->get_visible_region.
3316         Implement support for _gdk_window_set_child_handler () and
3317         _gdk_window_get_decorations().
3318
3319         * modules/Makefile.am:
3320         Remove linux-fb subdir.
3321
3322         * modules/linux-fb/*:
3323         Removed all.
3324         
3325 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
3326
3327         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
3328         calls, as they are no longer needed.
3329
3330         * gtk/gtktreemodelsort.c: Fix up the comparison code.
3331         
3332         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
3333         figure out how to emit a signal on an interface.
3334
3335 2000-12-20  Havoc Pennington  <hp@redhat.com>
3336
3337         * tests: new directory to contain tests, gtk/test* should move
3338         here sometime (with appropriate on-cvs-server hackery)
3339
3340         * tests/testtreeview.c, tests/Makefile.am: a test
3341         
3342         * configure.in (AC_OUTPUT): add tests/Makefile
3343
3344         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
3345         and "invisible_set" which were missing
3346
3347         * gtk/gtkrbtree.h: some cheesy indentation fix
3348         
3349 2000-12-20  Alexander Larsson  <alexl@redhat.com>
3350
3351         * gtk/gtkinvisible.c (gtk_invisible_realize):
3352         Attach the style to the window so that the style it is not
3353         leaked when unrealizing the window.
3354
3355 2000-12-18  Havoc Pennington  <hp@redhat.com>
3356
3357         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
3358         begin/end user action where appropriate
3359         (gtk_text_view_commit_handler): add begin/end user action
3360
3361         * gtk/gtktextbuffer.c: add begin/end user action signals, and
3362         bracket interactive operations with begin/end user action pair.
3363         
3364         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
3365         "interactive" arg from insert_text and delete_text signals.
3366         Add begin_user_action, end_user_action signals
3367         (gtk_text_buffer_begin_user_action): 
3368         (gtk_text_buffer_end_user_action): New functions to delimit 
3369         a user-visible action
3370
3371         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
3372         signals.
3373         
3374 2000-12-18  Havoc Pennington  <hp@redhat.com>
3375
3376         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
3377         was pretty non-working.
3378
3379         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
3380         by passing the length to g_utf8_validate().
3381
3382 2000-12-16  Havoc Pennington  <hp@pobox.com>
3383
3384         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
3385         Port to GObject, can go back in gdk-pixbuf after setting up 
3386         a gdk-pixbuf-marshal.h header over there.
3387
3388         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
3389         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
3390         args
3391         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
3392         set
3393         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
3394         here, do it when we create the buttons later
3395         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
3396         (gtk_tree_view_map): paranoia checks that column->button is shown 
3397         and unmapped
3398         (gtk_tree_view_size_request): only request visible children.
3399         Move header size calculation in here, for cleanliness, and 
3400         to maintain invariants for child widgets if we eventually 
3401         let users set different children inside the buttons
3402         (gtk_tree_view_map_buttons): factor out code to map buttons,
3403         since it was being called several times
3404         (gtk_tree_view_size_allocate_buttons): move_resize the drag
3405         windows instead of just moving them; their height may change 
3406         if we allow random widgets in there, or the theme changes.
3407         (gtk_tree_view_size_allocate): move button size allocation 
3408         above emitting the scroll signals, to ensure a sane state when we
3409         hit user code
3410         (gtk_tree_view_button_release): remove queue_resize after
3411         tree_view_set_size(), set_size() will handle any resize queuing
3412         that's needed
3413         (gtk_tree_view_focus_in): just queue a draw, don't fool with
3414         draw_focus goo
3415         (gtk_tree_view_focus): use gtk_get_current_event() and
3416         gdk_event_get_state()
3417         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
3418         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
3419         semicolon
3420         (gtk_tree_view_create_button): show the button here
3421         (gtk_tree_view_button_clicked): actually emit the clicked signal
3422         on the column
3423         (_gtk_tree_view_set_size): return right away if the size is
3424         unchanged, as a cheesy optimization
3425         (gtk_tree_view_setup_model): rename set_model_realized to 
3426         setup_model to match the flag that indicates whether we've 
3427         called it
3428         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
3429         exist, because set_scroll_adjustment does that and it shouldn't
3430         matter what order you call these in
3431         (gtk_tree_view_get_vadjustment): ditto
3432         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
3433         for paranoia
3434         (gtk_tree_view_set_headers_visible): call
3435         gtk_tree_view_map_buttons() instead of using cut-and-paste code
3436         (gtk_tree_view_append_column): clarify whether the return value
3437         is the count of columns before or after, and do the increment 
3438         separately from the return statement so you can tell from the code.
3439         (gtk_tree_view_remove_column): ditto
3440         (gtk_tree_view_insert_column): ditto
3441         (gtk_tree_view_get_column): remove g_return_if_fail for columns
3442         outside the existing range, the docs say that outside-range
3443         columns are allowed, so we handle them as documented. (Presumably
3444         this allows a nice loop with column != NULL as test.)
3445         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
3446         mean (left/right/center etc.).
3447         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
3448         (gtk_tree_view_expand_row): add docs
3449         (gtk_tree_view_collapse_row): add docs
3450
3451         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
3452         function to emit the clicked signal on a column
3453         
3454         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
3455         state of an event
3456         (gdk_event_get_time): don't treat GDK_SCROLL 
3457         as a button event, remove default case from switch so gcc 
3458         will whine if we don't explicitly handle all event types
3459
3460         * gtk/gtktreeselection.h: added some FIXME 
3461         
3462         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
3463         "columns" to "n_columns" and "column" to "columns" for clarity
3464
3465 2000-12-16  Havoc Pennington  <hp@pobox.com>
3466         
3467         * gtk/gtktextiter.c: General cleanup of the log attr iteration
3468         stuff. This should make e.g. the delete key work again in the
3469         text widget...
3470         (gtk_text_iter_forward_cursor_positions): handle negative count
3471         (gtk_text_iter_backward_cursor_positions): handle negative count
3472         (gtk_text_iter_forward_word_ends): handle negative count
3473         (gtk_text_iter_backward_word_starts): handle negative count
3474
3475         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
3476         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
3477         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
3478         GObject. No doubt will cause breakage.
3479
3480         * demos/gtk-demo/textview.c: remove hacks around
3481         non-GObject-ification of the text objects
3482
3483         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
3484         the text tag
3485         
3486 2000-12-14  Havoc Pennington  <hp@pobox.com>
3487
3488         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
3489         that we have Xrender
3490
3491 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
3492
3493         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
3494         Add two virtualized functions gdk_drawable_get_clip_region - to
3495         get the clip region when drawing.
3496         
3497         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
3498         use invalidate_region.
3499
3500         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
3501         region.
3502
3503         * acconfig.h configure.in: Check for Xft. For now, assume
3504         that if Xft is found, Pango was compiled with Xft support
3505         as well.
3506
3507         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
3508         gdk_colormap_query_color().
3509         
3510         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
3511         with Xft if appropriate.
3512
3513         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
3514         a pangoxft context if we have XFT and the environment
3515         variable GD_USE_XFT is set.
3516         
3517         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
3518         and also possibly an XftDraw structure.
3519
3520         * gtk/gtkfontsel.c: Handle the case where the font from the
3521         style doesn't match any of the fonts a bit better.
3522         
3523         * gtk/testgtk.c: Add tabs between directional segments for
3524         hebrew/arabic test. (Not really necessary, just a little
3525         prettier.)
3526
3527 2000-12-14  Havoc Pennington  <hp@redhat.com>
3528
3529         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
3530         reading a file
3531
3532 2000-12-14  Havoc Pennington  <hp@redhat.com>
3533
3534         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
3535         unused call to get_last_line()
3536
3537         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
3538         here until boxed is working (and maybe after that - we should
3539         really not gratuitously break old code)
3540
3541         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
3542         specific types for font_desc and tabs args, move them to
3543         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
3544         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
3545
3546         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
3547         use GTK_TYPE_POINTER for signal signatures as a hack-around
3548
3549         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
3550         PangoTabArray
3551
3552         * gtk/gtktextlayout.c (line_display_iter_to_index): 
3553         make static
3554         (line_display_index_to_iter): make static
3555
3556         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
3557         to marshal a string not a boxed
3558
3559         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
3560
3561         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
3562         since the UTF-8 isn't validated yet
3563
3564         * gtk/gtktextsegment.c (char_segment_check_func): don't require
3565         lines to end in '\n'
3566         
3567         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
3568         forward_to_delimiters, and grapheme boundaries
3569         (gtk_text_view_delete_from_cursor): properly handle non-newline
3570         delimiters, and grapheme boundaries
3571
3572         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
3573         to gtk_text_iter_forward_to_delimiters, and make it work properly
3574         if empty lines end with a character other than '\n'
3575
3576         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
3577         position
3578
3579 2000-12-15  Tor Lillqvist  <tml@iki.fi>
3580
3581         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
3582
3583         * gtk/gtk.def
3584         * gdk/gdk.def: Update.
3585
3586         * gdk/win32/gdkmain-win32.c
3587         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
3588         gdkmain-win32.c here.
3589
3590         * gdk/win32/makefile.mingw.in (all): No need to make
3591         gdk-win32res.o here, the makefile one step up will call us to make
3592         it.
3593
3594         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
3595         gdkkeys-win32.
3596
3597         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
3598
3599         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
3600         call to g_source_add().
3601
3602         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
3603         leak. Thanks to Andreas Kemnade.
3604
3605 2000-12-13  Havoc Pennington  <hp@pobox.com>
3606
3607         * gtk/gtktextbtree.h: Remove double _ in front of some functions
3608
3609         * gtk/gtktext*.[hc]: update accordingly
3610         
3611 2000-12-13  Havoc Pennington  <hp@pobox.com>
3612
3613         * gtk/gtktextbtree.h: Put _ in front of every function in this 
3614         header file
3615
3616         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
3617
3618 2000-12-13  Alex Larsson  <alexl@redhat.com>
3619
3620         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
3621         Add support for ps2 intellimouse.
3622
3623         * gdkkeyboard-fb.c:
3624         Move shift-F1 repaint handling to xlate handler only.
3625         
3626         * docs/README.linux-fb:
3627         Add imps2 to docs.
3628         Document the new refresh keys.
3629         
3630 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
3631
3632         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
3633
3634         * gtk/gtkbox.c: change property types from (u)long to (u)int for
3635         ::position and ::padding.
3636
3637         * gtk/gtkcontainer.c: make ::border_width an INT property.
3638
3639         * gtk/gtkpacker.c: make ::position an INT property.
3640
3641         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
3642         guard against NULL h/v scrollbars, since this is used at construction
3643         time.
3644
3645         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
3646         internal gtk_clist_constructor().
3647
3648         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
3649         gtk_ctree_constructor().
3650
3651         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
3652         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
3653
3654         * docs/reference/Makefile.am: fun stuff, disabled docs generation
3655         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
3656
3657         * gtk/gtkwidget.[hc]:
3658         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
3659         and gtk_widget_get().
3660         (gtk_widget_new): use g_object_new_valist().
3661         (gtk_widget_set): use g_object_set_valist().
3662
3663         * gtk/gtkobject.[hc]:
3664         removed gtk_object_arg_get_info(), gtk_object_getv(),
3665         gtk_object_query_args(), gtk_object_newv(),
3666         gtk_object_class_add_signals(),
3667         gtk_object_class_user_signal_new(),
3668         gtk_object_class_user_signal_newv(),
3669         gtk_object_arg_set(), gtk_object_arg_get(),
3670         gtk_object_args_collect(),
3671         gtk_object_default_construct(),
3672         gtk_object_constructed(),
3673         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
3674         removed nsignals, signals and n_args members from GtkObjectClass.
3675         (gtk_object_new): use g_object_new_valist().
3676         (gtk_object_set): use g_object_set_valist().
3677         (gtk_object_get): use g_object_get_valist().
3678         
3679         * gtk/gtkcompat.h: define gtk_object_default_construct().
3680         
3681         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
3682         g_object_new().
3683
3684         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
3685         fucntions, cleaned up method assignments (make sure your structures
3686         are setup properly before calling out). removed all GTK_CONSTRUCTED
3687         hacks ;)
3688
3689 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
3690
3691         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
3692         off-by-one error in checks. (Dave Lambert)
3693
3694 2000-12-12  Alexander Larsson  <alexl@redhat.com>
3695
3696         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
3697         Don't free gdk_fb_keyboard twice.
3698
3699 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
3700
3701         * gtk/testgtk.c:
3702         (create_tooltips): 
3703         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
3704         use GObject swapped_signal:: properties instead.
3705
3706         * gtk/gtkcellrenderertoggle.c: 
3707         * gtk/gtkcellrenderertextpixbuf.c: 
3708         * gtk/gtkcellrenderertext.c: 
3709         * gtk/gtkcellrendererpixbuf.c: 
3710         * gtk/gtkcellrenderer.c:
3711         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
3712         missing warnings for invalid property ids, install properties
3713         with g_object_class_install_property() now.
3714         
3715         * gtk/gtksignal.c:
3716         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
3717         
3718 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
3719         
3720         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
3721         to determine if a window is the focus widget within
3722         its toplevel.
3723
3724         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
3725         to be boolean.
3726
3727         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
3728         of the case where the container CAN_FOCUS to here instead
3729         of having it in each individual move-the-focus place.
3730
3731         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
3732         focusing to be geometric in a much more obvious sense. Arrowing
3733         around is still non-intuitive because it isn't perfect and
3734         because entries, etc, grab the arrow keys, but it at least
3735         usually will do what you expect now.
3736         
3737         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
3738         file.
3739
3740         * gtk/gtknotebook.c: Change tabs to be a single item in
3741         the focus chain. Make movement of focus on tabs with arrow
3742         keys wrap around.
3743         
3744         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
3745         CHECK_FIND_CHILD macro to give informative error messages
3746         instead of silent returns.
3747
3748         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
3749         flag since we handle GdkReturn on the tabs.
3750
3751         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
3752         windows rather than sending expose events directly.
3753
3754         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
3755         definition for GtkNotebookPage into .c file, since it is private.
3756
3757         * gtk/testgtk.c (create_notebook): Add option for 
3758         testing borderless notebook.
3759
3760         * gtk/testgtk.c (page_switch): Removed egregious poking
3761         around in GTK+ internals.
3762
3763         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
3764
3765         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
3766         properly through gtk_clist_focus. Make the title headers a
3767         single item in the tab-focus chain, and make left-right wrap
3768         around.
3769
3770         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
3771         focus method so that wrapping around works properly.
3772
3773         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
3774         that is handled for the widget now. 
3775
3776 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
3777
3778         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
3779         widgets as TOPLEVEL.
3780
3781         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
3782         TOPLEVEL widgets are containers.
3783
3784         * gtk/gtkinvisible.h: Remove useless include.
3785
3786 2000-12-11  Havoc Pennington  <hp@redhat.com>
3787
3788         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
3789         Handle chopping off \r\n and 0x2029 in addition to \n before
3790         passing to PangoLayout
3791
3792         * gtk/gtkimcontextsimple.c
3793         (gtk_im_context_simple_get_preedit_string): 
3794         return an empty string if no match is pending
3795
3796         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
3797         assertion that the returned preedit string was sane
3798
3799         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
3800         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
3801         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
3802
3803 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
3804
3805         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
3806         Fix up finalizer to chain to its parent.
3807
3808 2000-12-11  Alexander Larsson  <alexl@redhat.com>
3809
3810         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
3811         Clearified the difference between the keyboard types. Wrote a note
3812         about the magic sysrq key to get out of raw mode.
3813
3814 2000-12-09  James Henstridge  <james@daa.com.au>
3815
3816         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
3817         member to hold masks for detecting the start of a protocol packet.
3818         (mouse_devs): add packet start masks for ps2 and ms device types.
3819         Left the mask for fidmour blank, as I have no idea what it should
3820         be.
3821         (handle_mouse_io): skip bytes until we get to the start of a
3822         packet.  My Logitech mouse seems to be passing an extra NULL pad
3823         byte, and GPM does a similar thing here.
3824         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
3825         this is the ms mouse driver.
3826         (gdk_fb_mouse_ms_packet): fix up button handling, which was
3827         completely broken except for button1.  It was checking the wrong
3828         bit in the packet for the status of the right mouse button, and
3829         wrongly assuming right == button2 rather than 3.  I fixed that and
3830         also added support for middle button (button2).
3831
3832 2000-12-08  Havoc Pennington  <hp@redhat.com>
3833
3834         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
3835         that cause a segfault on text insertion
3836
3837         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
3838         warning
3839
3840         * gtk/gtktextiter.c (test_log_attrs): use
3841         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
3842
3843         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
3844         Get log attrs for a line, using a cache stored on the buffer
3845         
3846         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
3847         reported by Jeff Franks
3848
3849 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3850
3851         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
3852         /dev/ttyS0 -> /dev/mouse
3853
3854 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3855
3856         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
3857         Added dummy gdk_fontset_load.
3858
3859 2000-12-08  Alexander Larsson  <alexl@redhat.com>
3860
3861         * docs/README.linux-fb:
3862         * docs/Makefile.am:
3863         Initial GtkFB docs.
3864         
3865         * gdk/linux-fb/Makefile.am:
3866         Define GDK_DATA_PREFIX.
3867
3868         * gdk/linux-fb/gdkmain-fb.c:
3869         Fix typo.
3870         Change default display to /dev/fb0.
3871
3872         * gdk/linux-fb/gdkpango-fb.c:
3873         Add $(prefix)/share/fonts/ to font path.
3874         
3875 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3876
3877         * gdk/linux-fb/gdkkeyboard-fb.c:
3878         New file containing the abstracted keyboard driver. Most code
3879         taken from gdkinput-ps2.c
3880
3881         * gdk/linux-fb/gdkinput-ps2.c:
3882         Removed file.
3883         
3884         * gdk/linux-fb/Makefile.am:
3885         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
3886
3887         * gdk/linux-fb/gdkcolor-fb.c:
3888         display->fb was renamed to display->fb_fd.
3889
3890         * gdk/linux-fb/gdkcursor-fb.c:
3891         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3892
3893         * gdk/linux-fb/gdkinput.c:
3894         Moved gdk_input_init here from gdkinput-ps2.c
3895
3896         * gdk/linux-fb/gdkmain-fb.c:
3897         display->fb was renamed to display->fb_fd.
3898         Now the tty and the console is opened here instead
3899         of in the keyboard driver. Also check GDK_VT to see what
3900         tty to open.
3901         Move gdk_beep () here from gdkinput-ps2.c
3902         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3903
3904         * gdk/linux-fb/gdkmouse-fb.c:
3905         Add header.
3906         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3907         Return correct keyboard modifiers.
3908         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
3909
3910         * gdk/linux-fb/gdkprivate-fb.h:
3911         Add tty and vt info to display.
3912         Add orignal modeinfo storage to display
3913         Update global functions
3914
3915         * gdk/linux-fb/gdkwindow-fb.c:
3916         Added gdk_fb_window_find_focus().
3917         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3918
3919 2000-12-07  Havoc Pennington  <hp@pobox.com>
3920
3921         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
3922         function, noticed by Alex
3923
3924 2000-12-06  Elliot Lee  <sopwith@redhat.com>
3925
3926         * configure.in: Detect freetype properly
3927
3928         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
3929         above.
3930
3931 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3932
3933         * gdk/linux-fb/Makefile.am:
3934         Add gdkmouse-fb.c
3935         
3936         * gdk/linux-fb/gdkmouse-fb.c:
3937         New file. Abstracted the mouse drivers a bit.
3938
3939         * gdk/linux-fb/gdkcursor-fb.c:
3940         The cursor hide/show functions was moved here from gdkinput-ps2.c.
3941
3942         * gdk/linux-fb/gdkinput-ps2.c:
3943         Removed old mouse handling code. Moved cursor handling code
3944         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
3945         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
3946         gdk_mouse_get_info.
3947
3948         * gdk/linux-fb/gdkmain-fb.c:
3949         Pass NULL pointers for x,y in gdk_mouse_get_info call.
3950
3951         * gdk/linux-fb/gdkprivate-fb.h:
3952         Removed public gdk_fb_find_common_ancestor, added and renamed
3953         functions for the new mouse handling code.
3954
3955         * gdk/linux-fb/gdkwindow-fb.c:
3956         Moved gdk_fb_window_send_crossing_events here. added global
3957         variable gdk_fb_window_containing_pointer. made
3958         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
3959         renamed to gdk_mouse_get_info.
3960
3961 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3962
3963         * gdk/linux-fb/gdkevents-fb.c:
3964         Update to match latest gmain/gsource changes.
3965
3966         * gdk/linux-fb/gdkinput-ps2.c:
3967         Bogus gdk_keymap_get_entries_for_keycode implementation so that
3968         it links. Will be implemented later.
3969
3970 2000-12-03  Havoc Pennington  <hp@pobox.com>
3971
3972         * gdk/Makefile.am: add gdkkeys.[hc]
3973
3974         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
3975         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
3976
3977         * acconfig.h, configure.in: add checks and command line options
3978         for XKB
3979
3980         * gdk/x11/gdkkeys-x11.c: Implement the above functions
3981         
3982         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
3983         and group in the key event
3984
3985         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
3986         field with the low-level hardware key code, and a group
3987         field with the keyboard group
3988
3989         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
3990         and declare a couple globals used for keymap handling
3991         
3992         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
3993         hold down Shift-Control and type a hex number to get a Unicode 
3994         character corresponding to the hex number
3995         (gtk_im_context_simple_get_preedit_string): Fix cursor position
3996         (return bytes not chars)
3997
3998 2000-12-05  Elliot Lee  <sopwith@redhat.com>
3999
4000         * gdk/gdkcolor.h: Make GdkColor specify element sizes
4001         to avoid waste on 64-bit platforms.
4002
4003 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
4004
4005         * INSTALL: Fix link to PNG home, remove reference
4006         to fribidi.
4007
4008         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
4009         
4010         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
4011         tested.)
4012
4013         * gtk/gtkcheckmenuitem.c: Permanently turn on
4014         always_show_toggle.
4015
4016         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
4017         be NULL. (Vladimir Klebanov, #26545)
4018
4019         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
4020         some signed/unsigned comparison problems. (#6510,
4021         David Kaelbling)
4022
4023         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
4024         return type to boolean (Oskar Liljeblad, #18648)
4025
4026 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4027
4028         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
4029         Remove bogus colormap setting.
4030
4031 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4032
4033         * gdk/linux-fb/gdkcolor-fb.c:
4034         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
4035
4036         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
4037         Must set colormap.
4038         
4039 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
4040
4041         * docs/tutorial/gtk-tut.sgml: DND updates
4042
4043 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
4044
4045         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4046         Remove old debug g_warning().
4047         (gdk_fb_draw_drawable): The src argument can be either a wrapper
4048         or an implementation, just pass the implementation to draw_drawable_2.
4049         
4050         * gdk/linux-fb/gdkprivate-fb.h:
4051         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
4052
4053         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4054         clear and invalidate area when window is destroyed.
4055         (send_map_events): Remove old commented out code.
4056
4057 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4058
4059         * gdk/linux-fb/gdkpango-fb.c:
4060         Use italic instead of oblique in font aliases.
4061         
4062         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
4063         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
4064         other unsupported functions.
4065
4066 2000-12-04  Havoc Pennington  <hp@redhat.com>
4067
4068         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
4069
4070         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
4071
4072         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
4073
4074         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
4075         hack to avoid infinite loops (synthetic expose event) - 
4076         Owen has more appropriate fixes in a branch he'll check in later.
4077
4078         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
4079         separator, CR, and CRLF as line ends
4080
4081         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
4082         into lines using pango_find_paragraph_boundary(); other bits of
4083         the widget are still going to be broken if the boundary isn't '\n'
4084         though
4085
4086 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4087
4088         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
4089         multiply.
4090
4091         * gdk/linux-fb/gdkpango-fb.c:
4092         Copied some 26.6 scaling macros from pango to clean up the rounding.
4093         (pango_fb_font_get_glyph_info): Correct sign on x value.
4094
4095         * gdk/linux-fb/gdkprivate-fb.h:
4096         Removed unreferenced external functions.
4097
4098         * modules/linux-fb/Makefile.am: Use ` instead of '.
4099
4100         * modules/linux-fb/basic.c:
4101         Remove dead code. In particular the dummy lang engine which broke all
4102         pango layouts in GtkFB. Don't include tables-big.i anymore.
4103
4104         * modules/linux-fb/tables-big.i:
4105         Upgrade to latest version from pango. Left for reference, basic_ranges
4106         moved to basic.c.
4107         
4108 2000-12-04  Havoc Pennington  <hp@redhat.com>
4109
4110         Fix bugs Alex found:
4111         
4112         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
4113         to "draw"
4114
4115         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
4116
4117         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
4118
4119         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
4120         implementation in here, apparently the expose() implementation was
4121         dead code.
4122
4123 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4124
4125         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4126         Return positive descent.
4127
4128 2000-12-02  Havoc Pennington  <hp@pobox.com>
4129
4130         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
4131         method and signal
4132         
4133         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
4134         calls gdk_window_process_updates() to push the exposes through
4135         (gtk_widget_class_init): No more draw signal, no
4136         gtk_widget_real_draw()  
4137         
4138         * gtk/gtkbin.c (gtk_bin_draw): remove
4139
4140         * gtk/gtkbox.c (gtk_box_draw): remove
4141
4142         * gtk/gtkbutton.c (gtk_button_draw): remove
4143
4144         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
4145
4146         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
4147
4148         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
4149
4150         * gtk/gtkclist.c (gtk_clist_draw): remove
4151
4152         * gtk/gtkentry.c (gtk_entry_draw): remove
4153
4154         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
4155
4156         * gtk/gtkfixed.c (gtk_fixed_draw): remove
4157
4158         * gtk/gtkframe.c (gtk_frame_draw): remove
4159
4160         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
4161
4162         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
4163
4164         * gtk/gtklayout.c (gtk_layout_draw): remove
4165
4166         * gtk/gtklist.c (gtk_list_draw): remove
4167
4168         * gtk/gtklistitem.c (gtk_list_item_draw): remove
4169
4170         * gtk/gtkmenu.c (gtk_menu_draw): remove
4171
4172         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
4173
4174         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
4175
4176         * gtk/gtknotebook.c (gtk_notebook_draw): remove
4177
4178         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
4179
4180         * gtk/gtkpacker.c (gtk_packer_draw): remove
4181
4182         * gtk/gtkrange.c (gtk_range_draw): remove
4183
4184         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
4185
4186         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
4187
4188         * gtk/gtktable.c (gtk_table_draw): remove
4189
4190         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
4191
4192         * gtk/gtktext.c (gtk_text_draw): remove
4193
4194         * gtk/gtktextview.c (gtk_text_view_draw): remove
4195
4196         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
4197
4198         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
4199
4200         * gtk/gtktree.c (gtk_tree_draw): remove
4201
4202         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
4203
4204         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
4205
4206         * gtk/gtkviewport.c (gtk_viewport_draw): remove
4207
4208         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
4209
4210         * gtk/gtkvscale.c (gtk_vscale_draw): remove
4211
4212         * gtk/gtkwindow.c (gtk_window_draw): remove
4213
4214 2000-20-01  Anders Carlsson  <andersca@gnu.org>
4215
4216         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
4217         a GtkToggleButton is both insensitive and active, it was being
4218         drawn by the GtkButton draw handler which doesn't check the
4219         state. Now it's calling gtk_toggle_button_paint instead.
4220         
4221 2000-12-01  Havoc Pennington  <hp@redhat.com>
4222
4223         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
4224         dangling pointers to the appearance attributes from the 
4225         line display
4226
4227         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
4228         width/height to mean "full width/height of drawable"
4229
4230         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
4231         click to select word/line
4232         
4233         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
4234         when getting log attrs. Get a slice, so that pixmaps and stuff
4235         are properly handled.
4236
4237         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
4238         paste into the selection (replaces selection now, previously
4239         crashed or added to selection). Reveals longstanding btree bug -
4240         select multiple lines, middle-click on the selection, boom. This
4241         isn't related to my changes though.
4242
4243         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
4244         PangoLogAttrs changes
4245         (gtk_entry_move_backward_word): ditto
4246
4247         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
4248         functions return bool whether the iter moved onto a
4249         dereferenceable position.
4250  
4251         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
4252         functions for motion in terms of display lines.
4253
4254         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
4255         get the buffer a mark is inside
4256         
4257 2000-12-01  Alexander Larsson  <alexl@redhat.com>
4258
4259         * gdk/linux-fb/Makefile.am:
4260         * modules/linux-fb/Makefile.am:
4261         Freetype 2 final uses freetype-config
4262
4263         * gdk/linux-fb/gdkpango-fb.c:
4264         Upgrade to use Freetype 2 final.
4265         More flexible support for font aliases, this also fixes a bug with
4266         GtkFontSelector, as the aliases must be visible in the font/family list,
4267         or GtkFontSelector reads uninitialized memory.
4268
4269 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
4270
4271         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
4272         XGetIMValues to properly terminate variable argument list, and do
4273         NULL return check for ic_values and xim_styles.
4274
4275         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
4276         Restore preedit state after XmbResetIC().
4277         
4278         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
4279         XvaCreateNestedList() should take XvaNestedList, but not
4280         XvaNestedList*.
4281
4282         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
4283         preedit_draw_callback, preedit_caret_callback): Match
4284         "preedit-changed" signal name to "preedit_changed" to be
4285         consistent to the spec.
4286
4287         * gtk/gtkimcontextsimple.c (check_table):
4288         Match "preedit-changed" to "preedit_changed" to be consistent
4289         to the spec.
4290
4291 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
4292
4293         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
4294         gc->clip_region == NULL>
4295
4296 2000-11-30  Tor Lillqvist  <tml@iki.fi>
4297
4298         Changes by Hans Breuer:
4299         
4300         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
4301         Dont't use negative width and height as max_hints. This fixes
4302         Owen's recent testgtk changes for win32.
4303
4304         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
4305         gdk_win32_hdc_release): These are exported and may be called with
4306         other drawable types than our GdkDrawableImplWin32 (?).
4307
4308         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
4309         so always #define USE_BACKING_STORE.
4310
4311         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
4312         of printf for debugging output.
4313
4314         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
4315         
4316         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
4317
4318         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
4319         declaration.
4320
4321         * gtk/gtktexttypes.h: Ditto.
4322
4323         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
4324         (GDK_VoidSymbol) also if in case of arg check failure.
4325
4326         * gtk/gtkimcontextsimple.c
4327         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
4328         position to the pointer, but to the variable it points to.
4329
4330         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
4331
4332         * gtk/gtk.def: Updates.
4333
4334 2000-11-29  Elliot Lee  <sopwith@redhat.com>
4335
4336         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
4337         GTK_TYPE_TREE_MODEL.
4338
4339 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4340
4341         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
4342         Set the size of the font from the description.
4343         (gdk_text_width): Gross hack that calculates the width
4344         of text by text_length * size/2. This is necessary because
4345         GtkLabel does some ugly gtk_string_width call to calculate
4346         an good size.
4347         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
4348
4349 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
4350
4351         * docs/tutorial/gtk-tut.sgml: DND updates
4352
4353 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4354
4355         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
4356         If you pass width or height == 0 to gdk_window_clear_area they
4357         should be calculated from the window size.
4358
4359 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4360
4361         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
4362         a grab, but no grab-cursor, use the cursor from the grabbed
4363         window. (gdk_fb_window_send_crossing_events): Send normal
4364         enter/leave notifications if grab and owner_events == TRUE.
4365
4366 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4367
4368         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4369         Do implicit button grabs, even if the window doesn't
4370         want the event.
4371         (gdk_fb_window_send_crossing_events): If there is a
4372         grab, only the grabbed window gets normal enter/leave
4373         notifications. On ungrab go from grabbed window to current.
4374         Don't send any notification to b when propagating from c -> b.
4375         If setting a grab on window, don't set prev_window.
4376         (handle_mouse_input): Send enter/leave events to the window the
4377         mouse is over, not the grabbed one.
4378         
4379 2000-11-28  Elliot Lee  <sopwith@redhat.com>
4380
4381         * gdk/gdkregion-generic.c: Zap warning.
4382         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
4383         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
4384
4385 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
4386
4387         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
4388         The cursor should be hidden if it is part of either the
4389         source or destination region. Not only if it is in both.
4390         (gdk_window_set_transient_for): Silence warnings.
4391
4392 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4393
4394         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
4395         The default mode in X is Pie Arcs, therefore that is
4396         what Gtk+ uses.
4397
4398 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4399
4400         * gdk/linux-fb/gdkinput-ps2.c:
4401         Implement correct EnterNotify/LeaveNotify:
4402         (gdk_fb_window_send_crossing_events): New function that sends
4403         all GdkCrossingEvents from the last mouse-window to the specified
4404         destination.
4405         (gdk_fb_window_visibility_crossing): Removed function.
4406         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
4407         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
4408         instead of gdk_window_get_pointer() for better readability.
4409
4410         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
4411         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
4412
4413         * gdk/linux-fb/gdkprivate-fb.h:
4414         removed gdk_fb_window_visibility_crossing, added
4415         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
4416
4417         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
4418         New function that finds the least common ancestor of two windows.
4419         (gdk_window_show, gdk_window_hide):
4420         Use gdk_fb_window_send_crossing_events.
4421         (gdk_fb_window_move_resize): Send configure events to toplevel
4422         windows. Use gdk_fb_window_send_crossing_events.
4423
4424 2000-11-27  Havoc Pennington  <hp@redhat.com>
4425
4426         * gtk/gtkprivate.h (enum): Remove a trailing comma
4427
4428 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
4429
4430         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
4431         the "changed" callback of the adjustment.  We need to redraw the
4432         spin button's arrows when the adjustment's range changes.
4433         (adjustment_changed_cb): Draw the arrows.
4434         (gtk_spin_button_value_changed): Draw the arrows.
4435
4436 2000-11-23  Alexander Larsson  <alexl@redhat.com>
4437
4438         * gdk/linux-fb/gdkselection-fb.c:
4439         Initial selection implementation.
4440
4441         * gtk/gtkselection.c:
4442         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
4443         requestor in gtk_selection_request.
4444         
4445         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
4446         Added gdk_selection_property atom.
4447
4448         * gdk/linux-fb/gdkprivate-fb.h:
4449         Export _gdk_selection_window_destroyed.
4450         Removed mask_off_x/y from GdkCursorPrivateFB.
4451         Removed hbearing, added top, left to PangoFBGlyphInfo.
4452
4453         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4454         Call _gdk_selection_window_destroyed
4455         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
4456         the root window has been created.
4457         (static_dx_hack, static_dy_hack, compare_draw_rects,
4458         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
4459         in region. They are already sorted. Instead just traverse them in
4460         reverse if draw_direction < 0.
4461         
4462         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4463         Double-clicks must be sent after the normal button_press.
4464         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
4465         
4466         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
4467         Pass _gdk_fb_screen_gc instead of NULL.
4468
4469         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
4470         Initialize gdk_selection_property.
4471         (gdk_event_make): Remove unused code.
4472
4473         * gdk/linux-fb/gdkcursor-fb.c:
4474         Make the pixmap for the cursor the same size as the mask. Also remove
4475         the mask_off_x/y fields in GdkCursorPrivateFB and combine
4476         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
4477         Now the whole cursor is visible.
4478
4479         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4480         Fix bug where xdest+height instead of ydest+height was used
4481         to calculate if the source and dest overlapped. This fixes the
4482         redraw bug when the main window in testgtk was scrolled when
4483         partially covered by a tall window.
4484         Copy rectangles in region in order depending on draw_direction.
4485         Also moved the draw_direction flipping of start_y and end_y into
4486         the gc functions, as this might not be what all of them want.
4487         (gdk_fb_draw_lines): Support dashed lines.
4488         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
4489         so that the text is positioned correctly (was 1 pixel high).
4490
4491         gdk/linux-fb/gdkgc-fb.c:
4492         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
4493         all lines were drawn a pixel to short. Also checked the default of
4494         the rest of the values, and they're the same as X now.
4495
4496         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
4497         Clean up pixel positioning of the glyphs. Just use bgy->top and
4498         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
4499         to all divisions to get correct rounding behaviour.
4500
4501         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
4502         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
4503         Moved start_y/end_y flip into draw_drawable implementations.
4504         Flip also x rendering when draw_direction < 0.
4505         Remove unneccesary multiply with draw_direction.
4506
4507 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
4508
4509         * docs/tutorial/gtk-tut.sgml:
4510           - get rid of gtk_toggle_button_toggled FUD
4511           - start DND section - needs work - based on:
4512                 http://wolfpack.twu.net/docs/gtkdnd/
4513
4514 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4515
4516         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4517         Correct calculation of font metrics. Now GtkEntrys have sane
4518         size.
4519
4520 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4521
4522         * gdk/gdktypes.h:
4523         Add new type GdkSpan
4524         
4525         * docs/reference/gdk/gdk-sections.txt,
4526         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
4527         gdk/gdkregion.h:
4528         Implement and document gdk_region_spans_intersect_foreach.
4529
4530         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
4531         Add new file gdkrender-fb.c which contains all core
4532         rendering code.
4533         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
4534         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
4535         (optimized rectangle fillers).
4536
4537         * gdk/linux-fb/gdkdrawable-fb2.c:
4538         Move all rendering code to gdkrender-fb.c.
4539         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
4540         Use the new span intersection functions in gdk_fb_fill_spans.
4541         gdk_fb_draw_rectangle() clips filled rectangles and calls
4542         gc->fill_rectangle with the result.
4543         gdk_fb_fill_spans() gets extra argument "sorted".
4544
4545         * gdk/linux-fb/gdkevents-fb.c:
4546         Remove unused includes and defines.
4547         New function gdk_fb_get_time() to get correct time for events.
4548
4549         * gdk/linux-fb/gdkinput-ps2.c:
4550         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
4551         Make sure to set the time of all events.
4552
4553         * gdk/linux-fb/gdkmain-fb.c:
4554         Use gdk_fb_get_time ().
4555
4556         * gdk/linux-fb/gdkprivate-fb.h:
4557         New virtual GC calls: fill_span & fill_rectangle.
4558         Export gdk_fb_get_time().
4559         gdk_fb_fill_spans() gets extra argument "sorted".
4560
4561         * gdk/linux-fb/mi*.c:
4562         Use GdkSpan instead of GdkRectangle.
4563         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
4564         from XFree 4 source)
4565         
4566 2000-11-22    <jrb@redhat.com>
4567
4568         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
4569         reversing the order in an if statement will do.  Doing so managed
4570         to make the treemodelsort half work.  Other half will follow after
4571         I get the insert function fully fixed.
4572
4573 2000-11-21  Elliot Lee  <sopwith@redhat.com>
4574         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
4575         more than 2 bits. Besides, I need to implement an evil hack. :)
4576
4577 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
4578
4579         * docs/tutorial/gtk-tut.sgml: minor corrections
4580
4581 2000-11-20  Jonathan Blandford <jrb@redhat.com>
4582         * gtk/gtktreemodelsort.h: Add convertion functions to let you
4583           convert to and from relative path's and iters.
4584
4585         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
4586           testing sorting functions a bit better.  Currently broken -- will
4587           fix in morning.
4588
4589 2000-11-20  Havoc Pennington  <hp@redhat.com>
4590
4591         * gtk/gtkwidget.c: Documented a bunch of functions in here
4592         (gtk_widget_realize): Warn if you try to realize
4593         a widget with no parent that isn't a toplevel
4594         (gtk_widget_intersect): return a gboolean
4595
4596 2000-11-20  Havoc Pennington  <hp@redhat.com>
4597
4598         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
4599         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
4600         scrolling to be implemented in GDK to finish. Also, right now
4601         we just size_allocate all children on every layout change,
4602         which is pretty lame. Test commented out of testtext.c, 
4603         until it works better.
4604
4605 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
4606
4607         * gdk/linux-fb/gdkdrawable-fb2.c:
4608         Removed unused arguments from gdk_fb_drawable_get_pixel().
4609
4610         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
4611         Renamed fidur specific mouse packet data in MouseDevice to
4612         generic. Used it in ps2 mouse handling code to avoid blocking
4613         reads.
4614
4615 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
4616
4617         * demos/gtk-demo/main.c: Changed to have the list become
4618         non-italic when the demo window is destroyed through an external
4619         event (like a close button).  Doing so found three bugs in the
4620         widget.
4621
4622         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
4623
4624         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
4625         we actually set the cell.
4626
4627         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
4628
4629         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
4630         free a leaked path.  Thanks memprof.
4631
4632 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
4633
4634         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
4635         off-by-one error when destroying allocated segments
4636         on failure. (Elliot)
4637
4638 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
4639
4640         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
4641         memleaks found by Evan Martin.
4642
4643 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
4644
4645         * Released 1.3.2
4646         
4647         * NEWS: Updates for 1.3.2
4648
4649 2000-11-17  Tor Lillqvist  <tml@iki.fi>
4650
4651         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
4652         but in general for window system specific events.
4653
4654         * gtk/gtk.def
4655         * gtk/makefile.mingw.in
4656         * gtk/makefile.msc.in: Update.
4657         
4658         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
4659
4660 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
4661
4662         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
4663         distribute gtk.immodules.
4664
4665         * gtk/Makefile.am (install-data-local): Don't install the
4666         gtk.immodules file created for the uninstalled modules;
4667         instead run gtk-query-immodules after install
4668
4669 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
4670
4671         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
4672         -rpath to the right install location.
4673
4674         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
4675         -export-dynamic.
4676
4677         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
4678         properly.
4679
4680 2000-11-15  Havoc Pennington  <hp@pobox.com>
4681
4682         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
4683         patch from Mikael Hermansson to temporarily stop blinking while
4684         the user is using the keyboard to type or navigate. 
4685
4686         Also, when blinking, stay on for longer than we stay off. Also,
4687         return from start_cursor_blink if !cursor_visible, to save
4688         checking that flag all over the place before we call
4689         start_cursor_blink.
4690
4691 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
4692
4693         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
4694         only contain a "fontset" line, which is now ignored.
4695
4696         * gtk/gtkentry.c (gtk_entry_button_release): Make 
4697         double-click-to-select-word work.
4698         
4699 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
4700
4701         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
4702         Don't move back one char when we are actually at the end of the 
4703         paragraph.
4704
4705 2000-11-15  Robert Brady  <robert@suse.co.uk>
4706
4707         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
4708         'o' < 'p'.
4709         
4710         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
4711         bind_textdomain_codeset.
4712
4713         (gtk_init_check): Make the warning about translating default:LTR
4714         sterner.
4715         
4716 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
4717
4718         * **/Makefile.am : remove unecessary rules for win32-specific
4719         config-substituted targets. If you want these rules, use
4720         --enable-maintainer-mode (called automatically by autogen.sh).
4721         Stops a lot of unneccessary make-time warnings.
4722
4723         * gtk/gtktext{layout,display}.c: Factor in total width as
4724         well as screen when figuring alignment for word-wrap as well as
4725         no wrap; this is necessary to handle lines that cannot be wrapped
4726         at all.
4727
4728 2000-11-15  Havoc Pennington  <hp@redhat.com>
4729
4730         * gtk/testtext.c: Implement essential color cycling feature
4731
4732 2000-11-15  Havoc Pennington  <hp@redhat.com>
4733
4734         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
4735         when we invalidate the main window.
4736
4737         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
4738         GtkTextView will now invalidate the side windows for us when text
4739         changes.
4740
4741 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
4742
4743         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
4744         unconditionally, since we may need to update the horizontal
4745         scrollbars even if the height didn't change.
4746
4747         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
4748         the extra attrs, since some of them affect size.
4749
4750         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
4751         x_offset correctly.
4752
4753 2000-11-15  Havoc Pennington  <hp@redhat.com>
4754
4755         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
4756         don't move the first line out into the margin, instead move the
4757         whole paragraph in order to make space for the first line within 
4758         the margin
4759
4760 2000-11-15  Havoc Pennington  <hp@redhat.com>
4761
4762         * gtk/gtktextview.c (changed_handler): offset redraw rect by
4763         xoffset in addition to yoffset, so horizontal scrolling doesn't
4764         break redraws
4765
4766 2000-11-15  Havoc Pennington  <hp@redhat.com>
4767
4768         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
4769         from the cursor
4770         (render_layout_line): fix reversed test that caused weird
4771         underlines to get drawn
4772
4773 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4774
4775         * gdk/linux-fb/gdkprivate-fb.h:
4776         Fix debug macros.
4777         
4778 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4779
4780         * gdk/linux-fb/gdkprivate-fb.h:
4781         Added virtual functions set_pixel, get_color,
4782         fill_span and draw_drawable to the GC.
4783         Added global _gdk_fb_screen_gc to use instead of
4784         NULL when drawing to the screen.
4785         Added _gdk_fb_gc_calc_state() prototype.
4786
4787         * gdk/linux-fb/gdkgc-fb.c:
4788         Call _gdk_fb_gc_calc_state() on any gc state change.
4789
4790         * gdk/linux-fb/gdkglobals-fb.c:
4791         Add _gdk_fb_screen_gc
4792                 
4793         * gdk/linux-fb/gdkdrawable-fb2.c:
4794         _gdk_fb_gc_calc_state() calculates best functions
4795         for the GC state and depth.
4796         Moved bpp specialized code to separate functions.
4797         Added optimized 24 bpp AA draw_drawable.
4798
4799         * gdk/linux-fb/gdkevents-fb.c:
4800         Silence gcc warning.
4801
4802         * gdk/linux-fb/gdkimage-fb.c:
4803         Use _gdk_fb_screen_gc
4804
4805         * gdk/linux-fb/gdkwindow-fb.c:
4806         Init and use _gdk_fb_screen_gc
4807
4808         * gdk/linux-fb/mitypes.h:
4809         Remove unused types.
4810
4811 2000-11-14  Havoc Pennington  <hp@pobox.com>
4812
4813         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
4814         to pixels
4815
4816 2000-11-14  Havoc Pennington  <hp@pobox.com>
4817
4818         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
4819
4820         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
4821         unknown char, no real reason we were using a variable. 
4822         Remove gtk_text_unknown_char variable. Fix all the text widget
4823         files accordingly.
4824
4825         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
4826         since the Unicode spec seems to prefer that character for our
4827         purposes.
4828
4829 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
4830
4831         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
4832         value of g_getenv() isn't freeable, so g_strdup it.
4833
4834         * modules/input/inuktitut.c: Inuktitut input method.
4835
4836         * modules/input/Makefile.am: Build this.
4837         
4838 2000-11-14  Elliot Lee  <sopwith@redhat.com>
4839
4840         * gtk/Makefile.am: Install gtk.immodules, needed for operation
4841         of gtk programs.
4842
4843 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
4844
4845         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
4846         reversed > that was causing Home to go to end of previous line.
4847
4848         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
4849         modified-keypresses (leave for bindings.)
4850
4851         * modules/input/Makefile.am: Remove useless -export-dynamic
4852         from module LDFLAGS.
4853
4854 2000-11-14  Havoc Pennington  <hp@redhat.com>
4855
4856         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
4857         higher.
4858
4859         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
4860         account. Also, render rise, underline, background, etc. for
4861         pixbufs as well as text. Also, draw underlines one pixel higher.
4862
4863         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
4864         PangoAttribute for the rise, so it gets drawn properly. Also,
4865         add the GtkTextAppearance attribute for pixbuf/widget segments
4866         as well; we should go ahead and have rise, underline, background,
4867         stipple work for those
4868
4869         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
4870         Pango
4871
4872 2000-11-15  Tor Lillqvist  <tml@iki.fi>
4873
4874         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
4875
4876         * gtk/gtk.def: Update.
4877
4878         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
4879         included.
4880         (gtk_rc_get_im_module_file): Use run-time installation directory
4881         on Win32.
4882
4883         * gdk/win32/rc/gdk.rc: Remove.
4884         * gdk/win32/rc/gdk.rc.in: New file.
4885         * gdk/win32/rc/Makefile.am: New file
4886         * gdk/win32/Makefile.am: Corresponding changes.
4887
4888         * gtk/gtk.rc: Remove.
4889         * gtk/gtk-win32.rc.in: New file.
4890         * gtk/Makefile.am: Corresponding changes.
4891
4892         * configure.in: Corresponding changes.
4893
4894         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
4895         has a built gtkcompat.h. Developers using CVS code on Win32 can
4896         hand-edit it from gtkcompat.h.in.
4897
4898         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
4899         gtkcompat.h from gtkcompat.h.win32.
4900
4901 2000-11-14  Havoc Pennington  <hp@redhat.com>
4902
4903         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
4904         to default to GDK_ACTION_MOVE if the drag is within a single
4905         widget. Defaults to GDK_ACTION_COPY between widgets.
4906
4907 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
4908
4909         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
4910
4911         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
4912
4913         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
4914         srcdir != builddir
4915
4916         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
4917
4918         * configure.in (GTK_VERSION): Up to 1.3.2
4919
4920         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
4921         gtkimcontextxim.h
4922
4923         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
4924         missing doc comment.
4925
4926 2000-11-14  Alexander Larsson  <alexl@redhat.com>
4927
4928         * modules/linux-fb/basic.c:
4929         Use the glib iconv wrappers.
4930
4931 2000-11-13  Havoc Pennington  <hp@pobox.com>
4932
4933         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
4934         still more bugs.
4935
4936         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
4937         scroll the GdkWindows before realization.
4938
4939 2000-11-13  Havoc Pennington  <hp@redhat.com>
4940
4941         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
4942         where GC didn't always get updated properly
4943
4944         * demos/gtk-demo/textview.c (create_tags): Use subattributes
4945         of fonts instead of setting the entire font
4946
4947         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
4948         setting entire font
4949
4950         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
4951
4952         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
4953         a bunch of individually-settable font attributes. You can still 
4954         use the "font" and "font_desc" args, they just set all the font
4955         attributes at once.
4956
4957 2000-11-13 Elliot Lee <sopwith@redhat.com>
4958
4959         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
4960
4961 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
4962
4963         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
4964         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
4965
4966         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
4967         work better.
4968
4969 2000-11-13  Havoc Pennington  <hp@redhat.com>
4970
4971         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
4972         the module file.
4973
4974         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
4975         dest->language
4976
4977         * gtk/testtext.c: Test pixels above/below/inside paragraphs
4978         settings
4979
4980         * gtk/gtktextview.c: Implement object args and setters/getters for
4981         all the aspects of the GtkTextAttributes that are not set from
4982         GtkWidget attributes. This is spacing, justification, margins,
4983         etc.
4984
4985         (gtk_text_view_set_arg)
4986         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
4987         args
4988         (gtk_text_view_class_init): Add args for justify, left_margin,
4989         right_margin, indent, and tabs
4990         
4991
4992         * gtk/gtktextlayout.c (set_para_values): fix to display indent
4993         attribute properly
4994
4995         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
4996         replace with indent attribute
4997
4998         * gtk/gtktextlayout.c (set_para_values): multiply indent by
4999         PANGO_SCALE
5000
5001         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
5002         rearranging code to do that
5003         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
5004         i.e. don't subtract the top_margin first, just to keep
5005         all margin-futzing in one place.
5006
5007         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
5008
5009         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
5010         special case of last line, Pango now handles this itself.
5011         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
5012         Y coordinate
5013         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
5014         (find_display_line_above): wasn't moving the byte index as it
5015         iterated over lines, so always returned byte 0. Also, port to use
5016         PangoLayoutIter.
5017         (find_display_line_below): same problem as
5018         find_display_line_above. Also, port to use PangoLayoutIter.
5019
5020 2000-11-13  Alexander Larsson  <alexl@redhat.com>
5021
5022         * gdk/linux-fb/*.[ch]:
5023         Massive reindent to gtk+ standard. My hands hurt.
5024
5025         * gdk/linux-fb/gdkcolor-fb.c:
5026         Move GdkColorPrivateFB from inherited to windowing_data
5027
5028         * gdk/linux-fb/gdkcursor-fb.c:
5029         _gdk_cursor_new_from_pixmap made static
5030
5031         * gdk/linux-fb/gdkdnd-fb.c:
5032         GdkDragContextPrivate moved to windowing_data
5033
5034         * gdk/linux-fb/gdkdrawable-fb2.c:
5035         Removed endian.h, use glib endianness macros instead
5036         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
5037         and GDK_DRAWABLE_IMPL_FBDATA
5038
5039         * gdk/linux-fb/gdkfont-fb.c:
5040         Add empty gdk_font_load(). Needed for linking of Gtk+.
5041
5042         * gdk/linux-fb/gdkimage-fb.c:
5043         Removed endian.h, use glib endianness macros instead
5044         Moved GdkImagePrivateFB to windowing_data
5045         gdk_image_new_bitmap didn't always allocate enough
5046         memory.
5047
5048         * gdk/linux-fb/gdkinput-ps2.c:
5049         Added semi-working support for MS serial mice.
5050
5051         * gdk/linux-fb/gdkprivate-fb.h:
5052         s/GdkWindowPrivate/GdkWindowObject/
5053         Removed GdkWindowPrivate typedef
5054         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
5055         Removed GDK_DRAWABLE_P
5056         Move GdkColorPrivateFB from inherited to windowing_data
5057         Moved GdkImagePrivateFB to windowing_data
5058
5059         * gdk/linux-fb/gdkvisual-fb.c:
5060         Removed some unused debug code.
5061
5062         * gdk/linux-fb/gdkwindow-fb.c:
5063         Use stock cursors instead of including X headers.
5064         s/GdkWindowPrivate/GdkWindowObject/
5065
5066         * gdk/linux-fb/mitypes.h:
5067         Removed unused types.
5068
5069         * modules/linux-fb/basic.c:
5070         Use the pango fribidi wrappers.
5071
5072 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5073
5074         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
5075         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
5076         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
5077         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
5078         GEqualFunc where applicable.
5079         
5080         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
5081         pango_font_description_equal as changed in pango.
5082         
5083         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
5084
5085         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
5086
5087         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
5088
5089         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
5090
5091         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
5092
5093         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
5094
5095         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
5096         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
5097
5098         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
5099         gtk_rc_styles_compare -> gtk_rc_styles_equal.
5100
5101 2000-11-12  Havoc Pennington  <hp@pobox.com>
5102
5103         * demos/gtk-demo/Makefile.am (democodedir): change demo install
5104         dir to datadir/gtk+-2.0/demo
5105
5106         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
5107         sorts of text widget and Pango font bugs. Urgh.
5108
5109         * demos/gtk-demo/Makefile.am (demos): Add textview.c
5110
5111         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
5112         tree that you should double click to see the demo. Fix 
5113         types of variables to reflect changed return values from 
5114         GtkTreeStore and GtkTreeViewColumn constructors.
5115
5116         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
5117         newly-created buffer to prepare for GObject semantics
5118
5119         * gtk/testtext.c: don't leak the buffer with GObject semantics
5120
5121         * gtk/testtextbuffer.c: ditto
5122         
5123 2000-11-12  Havoc Pennington  <hp@pobox.com>
5124
5125         Rename this testgtk to gtk-demo to avoid confusion, and 
5126         install it so people can use it as a supplement to 
5127         the documentation.
5128         
5129         * demos/gtk-demo: Moved from demos/testgtk
5130
5131         * demos/testgtk: Removed
5132
5133         * configure.in: make Makefile in gtk-demo
5134         
5135         * demos/gtk-demo/Makefile.am: Install sample source to 
5136         datadir/gtk-demo (maybe there's a better place?), and 
5137         rename the binary to gtk-demo
5138         
5139         * demos/gtk-demo/main.c (load_file): Load installed sample
5140         source if source isn't found in pwd.
5141
5142 2000-11-09  Havoc Pennington  <hp@pobox.com>
5143
5144         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
5145         argument to set the char displayed when visibility == FALSE
5146         (gtk_entry_create_layout): If !entry->visible, replace 
5147         all chars with the "invisible char"
5148
5149         * gtk/testgtk.c: Test the invisible_char deal
5150         
5151 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
5152
5153         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
5154         can't get a native font in the right encoding.
5155
5156 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
5157
5158         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
5159         respectively.
5160
5161 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
5162
5163         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
5164         Fix warning when moving between paragraphs.
5165
5166         * gtk/gtkentry.[ch]: Change move => move_cursor, 
5167         delete => delete_from_cursor, insert => insert_at_cursor
5168
5169 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
5170
5171         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
5172
5173         * modules/input/imthai-broken.c: A Thai input method for use if
5174         Thai keys are really generating Latin1 keysyms.
5175
5176         * modules/input/Makefile.am: Build these.
5177
5178 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
5179
5180         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
5181         g_filename_{to,from}_utf8 now takes an extra parameter.
5182
5183         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
5184         strftime into UTF-8.
5185
5186         (column_from_x, gtk_calendar_paint_day_names): Support RTL
5187         calendars.
5188
5189         (gtk_calendar_paint_day_names): Draw day names in the right 
5190         place.
5191         
5192 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
5193
5194         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
5195         problem with using result of g_get_charset() backwards -
5196         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
5197
5198         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
5199         negative min_width/height and max_width/height to
5200         mean "requisition"; this allows setting a window
5201         to be user-resizable in only one direction easily.
5202
5203         * gtk/testgtk.c (create_main_window): Remove hard-coded
5204         usize - set a default size in the vertical direction.
5205
5206 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
5207
5208         * gtk/gtkrange.c: Add some missing casts. Support 
5209         2 and 3 button clicks on the arrows to mean 
5210         "move by pages" and "jump to end". (Like gtkspinbutton)
5211
5212 2000-11-12 Hans Breuer <Hans@Breuer.Org>
5213
5214         * gdk/win32/makefile.msc : reflect build module changes
5215
5216         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
5217         from GdkPixmap*, cast implementation member instead.
5218
5219         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
5220         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
5221         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
5222         more Gdi functions return value checking. 
5223         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
5224         GdkImagePrivateWin32 *.
5225
5226         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
5227         menus useable again. Add #pragma message to keep reminded on this issue.
5228         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
5229         windows. This allows to enable backing store on Win32!
5230
5231         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
5232         in drawable is of impl type. Correct specific type checks appropriate.
5233  
5234         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
5235         GDK_WINDOW_DESTROYED before allocating new resources.
5236
5237         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
5238
5239         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
5240         (gdk_window_foreign_new) initialize parent handle.
5241         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
5242
5243         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
5244         Let the GDI invalidate the window on MoveWindow call to fix scrolling
5245         problems (e.g. main buttons in testgtk). 
5246
5247 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
5248
5249         * gtk/gtkentry.c (gtk_entry_key_press): Call 
5250         gtk_widget_activate for GDK_Return.
5251
5252         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
5253         of preedit cursor position.
5254
5255 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
5256
5257         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
5258         static.
5259
5260 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
5261
5262         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
5263         out support for multiple locales; that simple doesn't
5264         work reliably with current Xlib
5265
5266         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
5267         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
5268         Add support for positioning the cursor within the preedit string.
5269
5270 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
5271
5272         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
5273         at XIM input method module.
5274
5275         * gtk/gtktextview.c: Check for bindings after passing
5276         events to im context filter.
5277
5278 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
5279
5280         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
5281         empty attribute lists properly.
5282
5283 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
5284
5285         * gtk/queryimmodules.c (main): Return non-zero exit
5286         status if errors were encountered querying any
5287         modules.
5288
5289         * modules/input/Makefile.am (moduledir): remove
5290         leftover bin program target.
5291
5292         * docs/make-todo: Fix typo in error message.
5293
5294 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
5295
5296         * configure.in: Add modules/input/Makefile
5297
5298 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
5299
5300         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
5301         don't include gtkthemes.h.
5302
5303         * gtk/testgtk.c gtk/testtext.c: Set environment variables
5304         to point
5305
5306         * gtk/Makefile.am: Add new .c and .h files, build 
5307         gtk-query-immodules and use it to create a gtk.immodules
5308         file for use of test programs.
5309
5310         * gtk/gtkpreview.c: remove extra blank line.
5311
5312 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
5313
5314         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
5315         Add the ability to add extra tables beyond the default
5316         one, and also the ability to have compose sequences 
5317         that are prefixes of other compose sequences. 
5318
5319         * gtk/gtkimcontextsimple.c: Export a preedit string which
5320         consists of possible candidates for keystrokes that have
5321         been entered but not yet committed.
5322
5323         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
5324         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
5325
5326         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
5327         Add a function to add input-method switching menu items
5328         to a menu.
5329
5330         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
5331         when switching input methods.
5332
5333         * gtk/gtkimcontextsimple.[ch]: Change the format of
5334         the compose table to allow compose tables of different
5335         lengths / sequence.
5336
5337 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
5338
5339         * gtk/gtkimmodule.[ch]: Support routines for loading
5340         GtkIMContext implementations dynamically at runtime.
5341
5342         * modules/input/imcyrillic-translit.c: A sample input
5343         method (based on GtkIMContextSimple with an extra table),
5344         which demonstrates preedit strings and the module
5345         system for input modules
5346
5347         * gtk/queryimmodules.c: Program to query the available
5348         input modules and write the results into a file.
5349          
5350         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
5351         extra config options "im_module_file" (cache file for
5352         input method modules), and "im_module_path" - path
5353         to look for modules when generating cache file.
5354
5355         This doesn't scale.
5356
5357 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
5358
5359         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
5360         generic code from gtkthemes into a new abstraction
5361         GtkModule which has the logic for implementing
5362         a loadable module which implements a number of 
5363         GObject types.
5364
5365 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
5366
5367         * gtk/gtkeditable.[ch]: Convert GtkEditable from
5368         a class into an interface  
5369         
5370         * gtk/gtkoldeditable.[ch]: Move the old editable
5371         implementation into here, so legacy widgets can
5372         still rely on the implemenation. GtkOldEditable
5373         exports GtkEditable. Make selection handling
5374         code use new text conversion functions (and
5375         handle UTF-8 as a side-effect). Use GtkClipboard
5376         for CLIPBOARD.
5377
5378         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
5379         Adopt to match above changes.
5380
5381         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
5382         avoid GtkOldEditable implementation. Restructure
5383         to reduce number of places that modify state directly.
5384         Move to GtkBindingSet. Display the preedit string.
5385         Queue recomputation of PangoLayout and scroll position
5386         to improve effiency of doing complex changes naively.
5387         Add a menu with cut/copy/paste and input method selection.
5388
5389 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
5390
5391         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
5392         to set preedit string and attributes; display preedit string by
5393         inserting string and attributes at cursor when creating the
5394         GtkTextLineDisplay.
5395
5396         * gtk/gtktextlayout.c: Move all conversions between byte
5397         positions in PangoLayout and GtkTextIter into new functions
5398         line_display_iter_to_index/index_to_iter that properly
5399         handle the preedit string.
5400
5401         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
5402         it to return const char * (eventually will end up
5403         as GCONST char *, most likely.)
5404
5405         * gtk/gtktextview.[ch]: Handle the preedit string, call
5406         gtk_im_context_reset() as necessary, add a menu to switch
5407         input methods.
5408         
5409         * gtk/gtktextlayout.[ch]: Remove useless
5410         gtk_text_layout_get_log_attrs() function.
5411
5412 2000-11-11  Tor Lillqvist  <tml@iki.fi>
5413
5414         * gdk/gdk.def
5415         * gtk/gtk.def: Update.
5416
5417         * gdk/win32/*.c: Add last argument to g_type_register_static()
5418         calls.
5419
5420         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
5421
5422         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
5423         generated by older wheel mouse drivers. Get the correct y
5424         coordinate from WM_MOUSEWHEEL messages.
5425
5426         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
5427         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
5428         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
5429         Debugging functions.
5430
5431         * gdk/win32/gdkprivate-win32.h: Declare them.
5432
5433         * gdk/win32/gdkinput-win32.h: Add declaration for
5434         gdk_input_window_destroy().
5435
5436         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
5437
5438 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
5439
5440         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
5441         function to help handle keeping things in sync.
5442
5443 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
5444
5445         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
5446         BOXED marshallers.
5447
5448         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
5449         (gtk_list_store_class_init): use the new BOXED marshallers.
5450
5451         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
5452         new_with_values to new_with_types.
5453         (gtk_tree_store_get_column_type): add this.
5454         (gtk_tree_store_class_init): use the new BOXED marshallers.
5455
5456         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
5457         mirror some POINTER marshallers.
5458
5459 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
5460
5461         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
5462         allow more interesting iterators.  Also, made the lifecycle of
5463         iterators more explicit.
5464
5465         * gtk/gtktreemodelsort.[ch]: New model for sorting.
5466
5467         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
5468         types.
5469
5470 2000-11-09  Alexander Larsson  <alexl@redhat.com>
5471
5472         * demos/testgtk/menus.c:
5473         Changes to make the new testgtk compile after
5474         gtk_menu_append was removed.
5475
5476         * gdk/linux-fb/gdkdrawable-fb2.c
5477         (gdk_fb_get_depth, gdk_fb_get_visual,
5478         gdk_drawable_impl_fb_class_init): Implement
5479         these drawable functions. Now GtkImages work again.
5480
5481         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
5482
5483         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
5484         
5485         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
5486         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
5487         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
5488         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
5489
5490 2000-11-08  Havoc Pennington  <hp@pobox.com>
5491
5492         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
5493         visible_set args, don't know where these had gone, I thought they
5494         used to be there
5495
5496         * gtk/testtext.c: Add a menu item to apply invisibility tag;
5497         now we can test the feature and see that it's totally broken.
5498
5499 2000-11-08  Havoc Pennington  <hp@pobox.com>
5500
5501         Make DND copy pixbufs and tags when source and target share a 
5502         tag table.
5503         
5504         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
5505         in-process GTK_TEXT_BUFFER_CONTENTS target
5506         (gtk_text_view_drag_data_received): Paste from
5507         GTK_TEXT_BUFFER_CONTENTS if we receive it.
5508
5509 2000-11-08  Alexander Larsson  <alexl@redhat.com>
5510
5511         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
5512         API changes.
5513
5514         * gtk/gtkmenu.c: Add support for scrolling menus.
5515         Remove gtk_menu_append/prepend/insert, these have been moved to
5516         gtkcompat.h as #defines.
5517
5518         * gtk/gtkcompat.h.in:
5519         Add compatibility #defines for gtk_menu_append/prepend/insert
5520
5521         * gtk/gtkmenu.h: Add data needed for scrolling menus.
5522         GtkMenuPositionFunc gets an extra argument push_in.
5523         gtk_menu_append/prepend/insert removed.
5524         
5525         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
5526         positioning behaviour to fit to scrolling menus.
5527
5528         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
5529         into menuitem->submeny. That is wrong, and broke torn
5530         off submenus of torn off menus, since they were unrealized
5531         when the first menu was unrealized.
5532
5533         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
5534         gtk_menu_shell_select_item() since these need to be overridden in
5535         GtkMenu.
5536
5537         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
5538         positioning behaviour to fit to scrolling menus.
5539         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
5540         the current item so that it is prelighted when the menu pops up.
5541         This is a workaround to the fact that the menu doesn't get the
5542         initial enter event (due to grabs).
5543
5544         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
5545         s/gtk_menu_append/gtk_menu_shell_append/
5546
5547         * gtk/gtknotebook.c:
5548         s/gtk_menu_insert/gtk_menu_shell_insert/
5549
5550         * gtk/testgtk.c (create_menu, create_menus):
5551         Create the first menu with 50 items so that menu scrolling
5552         can be tested.
5553         
5554         
5555         Patch from Jonathan Blandford  <jrb@redhat.com>
5556
5557         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
5558         system to handle size requests.  First, we ask what the size of
5559         the toggle is.  Then, when allocating the size, we allocate the
5560         toggle_size first.  This way we can have multiple menu-item
5561         classes w/o needing a seperate class for each.
5562
5563         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
5564         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
5565
5566         * gtk/gtkcheckmenuitem.c
5567         (gtk_check_menu_item_toggle_size_request): New function to handle
5568         the toggle size-request.
5569
5570 2000-11-07  Havoc Pennington  <hp@redhat.com>
5571
5572         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
5573         Half-ass somewhat fix this function, so that scrolling to the
5574         insertion point works. Pango hacking is in the future to really
5575         fix it.
5576
5577         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
5578         length of data, no longer used.
5579
5580         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
5581         method contents in here, get rid of destroy method
5582         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
5583         that were backward. Remove debug spew.
5584         (cut_or_copy): Make the clipboard work with insert_range to
5585         preserve tags and pixbufs, not just the primary selection.
5586
5587 2000-11-07  Havoc Pennington  <hp@redhat.com>
5588
5589         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
5590         to gtk_text_mark_get_visible
5591
5592         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
5593         bug that was generating an invalid iterator
5594
5595         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
5596         ensure_char_offsets() in front of code placing the iter in an
5597         invalid state.
5598
5599         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
5600         make override_location arg const
5601         (paste): Replace the selection if we paste into the 
5602         current selection
5603
5604         * gtk/gtkselection.h: Remove "GtkSelectioData"
5605         (struct _GtkSelectionData): move the definition here.
5606
5607         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
5608         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
5609
5610         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
5611
5612         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
5613         (gtk_text_buffer_insert_range_interactive): implement
5614         (gtk_text_buffer_get_tags): Remove, replaced by
5615         gtk_text_iter_get_tags()
5616
5617         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
5618         limit parameter, to avoid infinite linear scan.
5619         (gtk_text_iter_backward_search): Add search limit
5620         (gtk_text_iter_forward_find_char): Add search limit
5621         (gtk_text_iter_backward_find_char): Add search limit
5622
5623 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
5624
5625         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5626         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
5627         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
5628         gdk/linux-fb/gdkwindow-fb.c:
5629         use g_object_new() instead of g_type_create_instance() which
5630         is a private function for fundamental type implementations.
5631
5632         * gdk/linux-fb/gdkinput-ps2.c:
5633         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
5634         instead just store the current modifier state. Add a (somewhat broken)
5635         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
5636         Rename exported function gdk_input_ps2_get_mouseinfo to
5637         gdk_input_get_mouseinfo.
5638
5639         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
5640         gdk/linux-fb/gdkwindow-fb.c:
5641         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
5642         
5643
5644 2000-11-02  Havoc Pennington  <hp@redhat.com>
5645
5646         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
5647         use stock buttons. Should be 100% source compatible, appropriate
5648         filesel fields now point to dialog->vbox and dialog->action_area.
5649         On the bizarre side, dialog->action_area and filesel->action_area
5650         are not the same widget.
5651         (gtk_file_selection_init): Put some padding around the selection
5652         entry, so it isn't touching the GtkDialog separator.    
5653
5654         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
5655         use stock buttons, etc. Should also be source compatible.
5656         Set the dialog default title in _init not _new().
5657         
5658         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
5659         Use stock buttons; don't put a button box inside the existing
5660         dialog button box. Don't bother with push/pop colormap anymore.
5661
5662         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
5663         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
5664         for message dialog, and necessary for the font selection and color
5665         selection with help and apply buttons.
5666         
5667         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
5668         to the created button widget. Set GTK_CAN_DEFAULT on the button.
5669         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
5670         between buttons, put less padding around the action area.
5671         (gtk_dialog_run): Exit on unmap rather than on destroy. 
5672         This will also exit the loop if the widget is hidden.
5673         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
5674         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
5675         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
5676         special-case delete event.
5677
5678         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
5679         formatting
5680         
5681 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
5682
5683         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
5684         button to temporarily disable position recording in the
5685         "saved position" test.
5686
5687 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
5688
5689         * gtk/gtkthemes.c: added compat code that temporarily implements
5690         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
5691         going to be revamped by owen's upcoming GtkModule patches, but
5692         untill then people want gtk to build, right? ;)
5693
5694 2000-11-04  Havoc Pennington  <hp@pobox.com>
5695
5696         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
5697         list
5698
5699         * docs/Changes-2.0.txt: Add note about
5700         gtk_container_get_toplevels()
5701
5702         * gtk/gtktextview.h: formatting
5703         
5704         * gtk/gtktextview.c: don't start descriptions with "Returns",
5705         confuses gtk-doc
5706
5707 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
5708
5709         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
5710         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
5711
5712 2000-11-03  Havoc Pennington  <hp@redhat.com>
5713
5714         * gtk/gtktexttagtable.c: Docs
5715         (gtk_text_tag_table_size): return a signed int
5716
5717         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
5718         (gtk_text_tag_event): make the event_object a GObject
5719
5720         * gtk/gtktextview.c: Write API docs for all functions.
5721
5722         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
5723         for gtk_text_view_get_window_type() called on one of the private
5724         windows.
5725
5726         * gtk/gtktextview.c: Instead of accessing text_view->buffer
5727         directly, call get_buffer() which demand-creates a default
5728         buffer. So gtk_text_view_new() can be used to create a view with a
5729         default buffer in it, if you just want an empty text box users can
5730         put data in. Useful for GUI builders also.
5731
5732 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
5733
5734         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
5735         the charset encodign portion MUST be in lowercase.
5736         * gtk/gtkrc.az: added file for Azeri language
5737
5738 2000-11-03  Havoc Pennington  <hp@redhat.com>
5739
5740         Get widgets working on the btree/buffer side. Display of them 
5741         still doesn't work.
5742         
5743         * gtk/gtktextview.c: start implementing child widget stuff
5744
5745         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
5746
5747         * gtk/gtktextlayout.c: handle embedded widgets
5748
5749         * gtk/gtktextdisplay.c: handle embedded widgets
5750
5751         * gtk/gtktextchild.c: Implement all the child anchor goo
5752
5753         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
5754         function
5755
5756         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
5757         (insert_pixbuf_or_widget_segment): abstract out common portions of 
5758         creating a child anchor or a pixbuf segment.
5759         (gtk_text_btree_create_child_anchor): new function
5760         (gtk_text_btree_unregister_child_anchor): new function
5761
5762         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
5763         allocate_child signal on GtkTextLayout
5764
5765         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
5766         values
5767         (gtk_text_iter_get_child_anchor): new function
5768
5769         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
5770         default handler for the changed signal, which calls
5771         gtk_text_buffer_set_modified(), instead of just always emitting
5772         changed then calling set_modified() manually. I guess this is
5773         maybe more flexible. It seems logical.
5774
5775 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
5776
5777         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
5778         now.
5779
5780         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
5781
5782 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
5783
5784         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
5785         been marked static.
5786
5787 2000-11-02  Havoc Pennington  <hp@redhat.com>
5788
5789         * gtk/testgtk.c (create_labels): had a test backward
5790
5791         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
5792         fields, so the dest GC ends up with the correct clip origin, 
5793         etc. Fixes a bug where colored labels didn't redraw 
5794         properly.
5795
5796 2000-11-02  Alexander Larsson  <alexl@redhat.com>
5797
5798         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5799         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
5800         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
5801         Add last argument to t_type_register_static call.
5802         
5803         * gdk/linux-fb/gdkdrawable-fb2.c:
5804         Add last argument to t_type_register_static call.
5805         export the get_image drawable virtual function.
5806
5807         * gdk/linux-fb/gdkimage-fb.c:
5808         Add last argument to t_type_register_static call.
5809         rename gtk_image_get to _gdk_fb_get_image and
5810         export it for use by gdkdrawable-fb2.
5811
5812         * gdk/linux-fb/gdkprivate-fb.h:
5813         export _gdk_fb_get_image.
5814
5815         * gdk/linux-fb/gdkselection-fb.c:
5816         Add new api call stubs.
5817
5818         * gtk/Makefile.am:
5819         Missing ( in linux-fb part.
5820
5821         * modules/linux-fb/Makefile.am:
5822         Must link with gdk_pixbuf or get unresolved symbol.
5823
5824 2000-11-01  Havoc Pennington  <hp@pobox.com>
5825
5826         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
5827         GTK_TYPE_TEXT_ITER and BOXED marshallers
5828
5829         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
5830
5831         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
5832         
5833         * gtk/gtk-boxed.defs: add GtkTextIter
5834
5835         * gtk/gtkmarshal.list: Add marshallers for text widget that 
5836         properly use OBJECT and BOXED
5837
5838 2000-11-01  Havoc Pennington  <hp@redhat.com>
5839
5840         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
5841
5842         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
5843         before returning it. 
5844         
5845 2000-11-01  Havoc Pennington  <hp@redhat.com>
5846
5847         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5848         Clip the rectangle to be rendered to the drawable, since
5849         get_from_drawable() requires a region within the drawable
5850
5851 2000-11-01  Havoc Pennington  <hp@redhat.com>
5852
5853         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
5854         from coordinates.
5855
5856 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
5857
5858         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
5859         it isn't NULL.
5860
5861 2000-11-01  Havoc Pennington  <hp@pobox.com>
5862
5863         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
5864         on a label
5865         (gtk_label_finalize): unref the attr list if any.
5866
5867         * gtk/testgtk.c (create_get_image): close test on second click
5868         (make_message_dialog): close dialog if it exists
5869
5870         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
5871
5872         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
5873         gdk-pixbuf
5874
5875         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
5876         from Pango markup format
5877         (gtk_label_set_markup_with_accel): ditto but with accelerator
5878         parsing
5879
5880         * gtk/gtkimage.c (gtk_image_expose): reformatting.
5881
5882         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
5883         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
5884         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
5885         call gdk_window_get_origin().
5886
5887         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5888         implement GDK_PIXBUF_ALPHA_FULL
5889         
5890 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
5891
5892         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
5893         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
5894         g_signal_handlers_disconnect_matched to block/unblock and disconnect
5895         multiple handlers respectively, instead of only treating the
5896         first handler found (bug reported by owen).
5897
5898 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
5899
5900         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
5901
5902         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
5903
5904         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
5905         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
5906         gtk/gtktreeviewcolumn.h: Fixed inline docs.
5907
5908         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
5909         widget.  Needs writing someday.
5910
5911         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
5912         the docs.
5913
5914 2000-10-30  Havoc Pennington  <hp@redhat.com>
5915
5916         * gtk/gtktextview.h, gtk/gtktextview.c:
5917         Rename delete_at_cursor delete_from_cursor, and 
5918         move to move_cursor.
5919
5920 2000-10-30  Havoc Pennington  <hp@redhat.com>
5921
5922         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
5923         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
5924         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
5925         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
5926         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
5927         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
5928         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
5929         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
5930         gtktexttypes.h, gtktextview.c, gtktextview.h:
5931
5932         Massive reindentation and reformatting. Arg alignment and comments
5933         still need fixing in various places.
5934
5935 2000-10-30  Havoc Pennington  <hp@redhat.com>
5936
5937         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
5938         to be named insert_at_cursor and delete_at_cursor so C++ can
5939         handle them.
5940
5941 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5942
5943         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
5944         to get a double directory separator in case the home directory
5945         ends with one. This would cause trouble especially on Windows,
5946         where the path will be confused with the syntax for an an UNC
5947         (network share) path \\server\share\path.
5948         (gtk_rc_add_initial_default_files): Ditto.
5949
5950 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
5951
5952         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
5953
5954         * gtk/gtktextview.c: Use correct marshallers.
5955
5956 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
5957
5958         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
5959         use new iter stuff, and added all the appropriate signals et al.
5960
5961         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
5962         code is internal to gtk only.
5963
5964 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5965
5966         * gtk/gtk.def
5967         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
5968         glib-genmarshal etc.
5969
5970 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
5971
5972         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
5973         parallel builds.
5974
5975 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
5976
5977         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
5978
5979 2000-10-27  Robert Brady  <robert@suse.co.uk>
5980
5981         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
5982         en_GB (British), ia (Interlingua).
5983
5984 2000-10-26  Havoc Pennington  <hp@redhat.com>
5985
5986         * gtk/gtktextiter.c (my_strrstr): fix constness warning
5987
5988         Fixed output of:
5989         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
5990         
5991         * gtk/gtktextsegment.c (char_segment_new): rename
5992         (_char_segment_new_from_two_strings): rename
5993         (_toggle_segment_new): rename
5994         
5995         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
5996         (make_clipboard_widget): make it static
5997         (text_get_func): static
5998         (text_clear_func): static
5999
6000         * gtk/gtkcolorsel.c (adjustment_changed): make this function
6001         static
6002         (hex_changed): make it static
6003         (hsv_changed): make it static
6004         (opacity_entry_changed): make it static
6005
6006         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
6007         (toggle_segment_check_func): rename with _gtk
6008
6009         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
6010         (_widget_segment_new): rename
6011         (_widget_segment_add): rename
6012         (_widget_segment_remove): rename
6013         (_widget_segment_ref): rename
6014         (_widget_segment_unref): rename
6015
6016         * gtk/gtktextmark.c (_mark_segment_new): Rename
6017         _gtk_mark_segment_new   
6018
6019 2000-10-26  Havoc Pennington  <hp@redhat.com>
6020
6021         * gtk/gtkmarshal.list: add new marshallers used by the text widget
6022         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6023         types
6024
6025         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
6026         marshaller types
6027
6028         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
6029         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
6030         license on these files.
6031
6032         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
6033         work.
6034
6035         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
6036         runtime random number different for each tree, instead of 
6037         a constant I made up.
6038
6039 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
6040
6041         * gtk/Makefile.am: buncha cleanups, kludged build sources
6042         dependencies with a Makefile: oldest-source-stamp dependancy
6043         for the moment. automake is really fighting us here, with
6044         intentionally not allowing user-defined rules or dependancies
6045         prior to it's -include $(DEP_FILES) statement. sucks rocks!
6046
6047         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
6048         to public headers. tehy have a comment stating that they are
6049         "semi-public" aren't included by gtk.h and if enums popup there,
6050         they can be /*< skip >*/-ed.
6051
6052         * gtk/gtktextlayout.h: 
6053         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
6054         added LGPL... <SIGH>
6055
6056 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
6057
6058         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
6059         GtkTreeIter.  Added iterators everywhere.
6060
6061         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
6062
6063         * gtk/gtktreeviewselection.c: Changed to use the iterators.
6064
6065         * gtk/gtktreestore.c: Changed to use the iterators.
6066
6067         * gtk/gtkliststore.c: Commented out the code.  Will convert to
6068         iterators tomorrow.
6069
6070         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
6071         iterators tomorrow.
6072
6073         * gtk/treestoretest.c: Changed to use iterators.
6074
6075         * demos/testgtk/main.c: Moved to use the new iterator system.
6076
6077 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
6078
6079         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
6080         localization misbehaviour.
6081
6082         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
6083         a useless type without copy/free.
6084
6085         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
6086         of GTK_TYPE_CTREE_NODE.
6087
6088 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
6089
6090         * gtk/gtksignal.c:
6091         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
6092         applicable.
6093
6094         * gtk/gtk-boxed.defs (GtkSelectionData): specify
6095         gtk_selection_data_copy and gtk_selection_data_free
6096         do GtkSelectionData work as params in signals.
6097
6098 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
6099
6100         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
6101         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
6102         couldn't they at least give it a non-standard name?
6103         
6104         * gtk/gtktextlayout.c: arg! yet another implementation of
6105         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
6106
6107         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
6108         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
6109         home. now i know this _is_ a conspiracy.
6110
6111         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
6112         ::state-changed.
6113
6114         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
6115         (gtk_accel_group_create_add): marshaller signature fixups.
6116
6117         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
6118         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
6119
6120         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
6121         anymore.
6122
6123 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
6124
6125         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
6126         due to the signal system changes, it wouldn't build currently. to
6127         be fixed soon.
6128
6129         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
6130
6131         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
6132         so it needs gtk_marshal_VOID__ENUM() instead of
6133         gtk_marshal_NONE__UINT().
6134
6135         * gdk/gdk*.c: adapted type registration functions.
6136
6137         * gtk/gtkbindings.c:
6138         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
6139         gone.
6140
6141         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
6142
6143         * gtk/gtkobject.c:
6144         (gtk_object_destroy):
6145         (gtk_object_shutdown): fixed recursion guards. basically we have to
6146         catch the case where any of GObject.shutdown() or gtk_object_destroy()
6147         is called during ::destroy, and avoid recursion there.
6148
6149         * gtk/gtktypeutils.c:
6150         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
6151         boxed_copy/boxed_free. this needs a more general solution based on a
6152         publically installed code-generator utility.
6153
6154         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
6155         glib's gobject has support for that now.
6156         define GtkSignalMarshaller in terms of GSignalCMarshaller.
6157
6158 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
6159
6160         * gtk/gtksignal.[hc]:
6161         * gtk/gtkmarshal.[hc]:
6162         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
6163         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
6164         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
6165         care of that.
6166
6167         * *.c: marshaller name fixups.
6168
6169         * gtk/gtkmarshal.list: added a comment briefing the format.
6170
6171 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
6172
6173         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
6174         compatibility macros here now. more specifically, most of
6175         the API is preserved (yes, _most_, nonwithstanding the
6176         following exceptions listed, the API is stil lHUGE ;)
6177         things that got removed completely:
6178         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
6179         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
6180         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
6181         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
6182         gtk_signal_remove_emission_hook().
6183         non-functional functions variants:
6184         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
6185         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
6186         not supported anymore.
6187         (gtk_signal_compat_matched): new internal function to aid
6188         implementation of the compatibility macros, it  provides
6189         functionality to block/unblock/disconnect handlers based
6190         on func/data.
6191
6192         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
6193
6194         * *.c: adaptions to new type registration API signatures.
6195
6196 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
6197
6198         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
6199
6200 2000-10-25  Robert Brady  <robert@suse.co.uk>
6201
6202         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
6203         gdk_property_delete): If window == NULL, assume the root window.
6204         (restoring the behaviour that was in 1.2).
6205         
6206         * gtk/testtext.c (save_buffer): Allow creation of new files when
6207         saving.
6208
6209         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
6210         calls to read().
6211
6212 2000-10-25  Tor Lillqvist  <tml@iki.fi>
6213
6214         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
6215
6216         * gdk/win32/gdkdrawable-win32.c
6217         * gdk/win32/gdkimage-win32.c
6218         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
6219         X11 backend.
6220
6221         * gdk/win32/gdkcc-win32.c
6222         * gdk/win32/gdkcolor-win32.c
6223         * gdk/win32/gdkfont-win32.c
6224         * gdk/win32/gdkinput-win32.c
6225         * gdk/win32/gdkmain-win32.c
6226         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
6227
6228 2000-10-24  Havoc Pennington  <hp@redhat.com>
6229
6230         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
6231         it a static function
6232
6233         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
6234         redraw text when a tag is applied to it.
6235
6236         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
6237         (gtk_text_tag_affects_nonsize_appearance): private functions to
6238         see if a tag requires various kinds of redraw/layout to be queued
6239         up.
6240
6241         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
6242
6243         * gtk/testtext.c (fill_example_buffer): Put the cursor 
6244         at the start of the buffer, so search works by default
6245
6246         * gtk/gtktextiter.c (lines_match): init match_start always
6247
6248         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
6249         function, get iter at a line + a byte index
6250
6251         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
6252         to set byte position within a line
6253         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
6254
6255 2000-10-23  Havoc Pennington  <hp@redhat.com>
6256
6257         * gtk/testtext.c: Re-enable the "find" dialog
6258
6259         * gtk/testgtk.c: Add test for gdk_drawable_get_image
6260         
6261         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
6262         the arguments to gdk_draw_drawable were in the wrong order
6263         (gdk_window_paint_init_bg): This function was ignoring the
6264         init_region, instead of clipping to it, so the entire backing
6265         pixmap was cleared on every begin_paint()
6266         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
6267         was in here again, the loop kept using the same GtkWindowPaint
6268         over and over.
6269         (gdk_window_begin_paint_region): Fix a bug where we had two
6270         x_offset instead of x_offset and y_offset
6271
6272         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
6273         before we get the image.
6274         (gdk_draw_drawable): get the composite before we draw the drawable.
6275         (gdk_drawable_real_get_composite_drawable): default
6276         get_composite_drawable implementation that returns the drawable 
6277         itself
6278
6279         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
6280         get_composite_drawable virtual function
6281
6282         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
6283         list-walking bug
6284
6285         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
6286         make this work if the source drawable is a GdkDrawableImplX11
6287         instead of a public drawable type. This is really broken; the
6288         problem is that GdkDrawable needs a virtual method get_xid(), but
6289         of course that doesn't work in practice. Enter RTTI.
6290
6291         Also, improve mismatched depth message.
6292
6293         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
6294         GdkPixmap
6295
6296         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
6297         install _gdk_x11_get_image as our implementation of get_image
6298         
6299         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
6300         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
6301
6302         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
6303         gdk_drawable_get_image
6304
6305         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
6306
6307         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
6308         get_image
6309
6310         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
6311         trailing semicolon after for loop
6312
6313 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
6314
6315         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
6316         where font_desc for widget's context lagged widget's font_desc by
6317         one step.
6318
6319 2000-10-22  Tor Lillqvist  <tml@iki.fi>
6320
6321         * gdk/win32/gdkgc-win32.c
6322         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
6323
6324         * gtk/makefile.mingw.in
6325         * gtk/gtk.def: Updates.
6326
6327         * gtk/testgtk.c: sleep() is called _sleep in MS's C
6328         library.
6329
6330         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
6331
6332         * gtk/makefile.msc: Remove
6333
6334         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
6335
6336         * gtk/Makefile.am: Add it.
6337
6338         * configure.in: Generate it.
6339
6340         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
6341         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
6342         something even if not implemented, to satisfy picky MSVC.
6343
6344         Patches by Hans Breuer:
6345         
6346         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
6347         SetBkMode() and SetTextAlign() before calling
6348         pango_win32_render().
6349
6350         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
6351         Set hcliprgn to NULL after destroying it.
6352         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
6353
6354         * gdk/win32/gdkgeometry-win32.c
6355         (_gdk_windowing_window_queue_antiexpose): More effective
6356         implementation.
6357
6358         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
6359         depth as default, not the visual's.
6360
6361         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
6362         against empty title.
6363
6364         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
6365         IMAGE_PRIVATE_DATA.
6366
6367         * gdk/win32/gdkimage-win32.c: Use it.
6368
6369 2000-10-22  Robert Brady  <robert@suse.co.uk>
6370
6371         * configure.in: Check for bind_textdomain_codeset
6372
6373         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
6374         present, make use of it.
6375
6376         Add a translatable string "default:LTR" which, if translated
6377         to "default:RTL", will cause the default direction to be
6378         Right-to-Left.
6379
6380         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
6381         direction if marked as flippable.
6382
6383         * gtk/gtkhscale.c: Mark widget as flippable.
6384         
6385 2000-10-04  Havoc Pennington  <hp@redhat.com>
6386
6387         * gtk/testgtk.c (create_buttons): create some stock buttons
6388         with the default accel group
6389         (create_image): test some new GtkImage features
6390         (make_message_dialog): test GtkMessageDialog
6391         (create_modal_window): fix someone's bizzarro indentation
6392
6393         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
6394         GTK_WIN_POS_CENTER_ON_PARENT. 
6395         Add "destroy with parent" setting, which means the window goes
6396         away with its transient parent.
6397         (gtk_window_get_default_accel_group): get the default accel group
6398         for the window.
6399         (gtk_window_set_destroy_with_parent): set/unset destroy with
6400         parent flag
6401         (gtk_window_read_rcfiles): invalidate icon set caches
6402         after reloading rcfiles 
6403
6404         * gtk/gtkenums.h (GtkWindowPosition): add
6405         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
6406         on its parent window when the dialog is mapped for the first time.
6407
6408         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
6409         a simple message dialog class
6410         
6411         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
6412         handler to emit response signal, and maybe later it would
6413         honor a hide_on_delete flag - though that isn't there yet.
6414         Set border width on the vbox to 2, so we get some padding.      
6415         Use a button box for the action area.
6416         (gtk_dialog_key_press): synthesize a delete event if Esc
6417         is pressed and the GtkWidget key press handler didn't 
6418         handle the escape key.
6419         (gtk_dialog_new_with_buttons): new function creates a dialog
6420         with some default buttons in it.
6421         (gtk_dialog_add_action_widget): add an activatable widget
6422         as a button in the dialog - you can also add a non-activatable
6423         widget by accessing the action area directly.
6424         (gtk_dialog_add_button): add a simple button - stock ID or 
6425         label - to the action area
6426         (gtk_dialog_response): emit response signal
6427         (gtk_dialog_run): block waiting for the dialog, return 
6428         the response. Override normal delete_event behavior, so that 
6429         delete_event does nothing inside gtk_dialog_run().
6430
6431         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
6432         emitted when an action widget is clicked or the dialog gets
6433         delete_event
6434
6435         * gtk/gtk.h: add gtkmessagedialog.h
6436
6437         * gtk/Makefile.am: add gtkmessagedialog.[hc]
6438
6439 2000-10-18  Havoc Pennington  <hp@redhat.com>
6440
6441         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
6442         where any number of empty lines would get skipped
6443
6444         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
6445         edge.
6446
6447         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
6448         warning about invalid iterators (explain more thoroughly)
6449         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
6450
6451         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
6452         big
6453
6454         * demos/*.c: Add error handling
6455
6456         * gtk/gtktextbuffer.c: don't modify const iterators
6457
6458         * gtk/gdk-pixbuf-loader.c: Add full error handling here
6459
6460         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
6461         on file load
6462
6463         * gtk/gtkiconfactory.c: Update to reflect addition of error
6464         handling to gdk-pixbuf loaders
6465
6466 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
6467
6468         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
6469         move to new modularized testgtk.
6470
6471 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
6472
6473         * gtk/gtktreeview.c: Draw the arrows correctly.
6474
6475         * gtk/gtktreemodel.c: Added user docs.
6476
6477         * gtk/gtk.h: remove gtktreedatalist.h.
6478
6479         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
6480         parent when generating my type.
6481
6482         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
6483         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
6484
6485 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6486
6487         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
6488         GtkTreeModel from object to interface.
6489
6490 2000-10-16  Havoc Pennington  <hp@redhat.com>
6491
6492         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
6493         compilation
6494
6495 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6496
6497         * gtk/gtktreeselection.c: Add API documentation to all public
6498         functions.
6499
6500         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
6501         functions.
6502
6503 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
6504
6505         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
6506         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
6507         docs to all public functions.
6508
6509         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
6510         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
6511         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
6512         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
6513         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
6514         issue.
6515
6516 2000-10-14  Robert Brady  <robert@suse.co.uk>
6517
6518         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
6519
6520 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
6521
6522         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
6523         values other then G_TYPE_STRING.
6524         * gtk/gtktreeselection.c: Minor commenting updates.
6525         * gtk/gtktreeview.c: Format updates.
6526
6527 2000-10-09  Tor Lillqvist  <tml@iki.fi>
6528
6529         * README.win32: Update.
6530
6531         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
6532         lines that had been deleted by mistake (?).
6533
6534         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
6535         also the case fg==white and bg==black (but still not randomly
6536         coloured cursors). Thanks to Wolfgang Sourdeau.
6537
6538         * gdk/win32/*.c: Silence gcc -Wall.
6539
6540         * gtk/gtk.def: Add missing entry points.
6541
6542         Fixes by Hans Breuer:
6543
6544         * gdk/makefile.msc
6545         * gdk/win32/makefile.msc: Update.
6546
6547         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
6548         some MSVC thing, presumably), cause breakpoint on failures. Add
6549         GDK_NOR case. Call g_log_set_always_fatal.
6550
6551         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
6552         should be pased by reference.
6553         
6554         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
6555         
6556         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
6557
6558         * gdk/win32/gdkevents-win32.c
6559         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
6560
6561         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
6562         implementation object.
6563
6564         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
6565         not just windows.
6566         
6567         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
6568         Use the wrapper object.
6569         
6570 2000-10-06  Havoc Pennington  <hp@redhat.com>
6571
6572         * Makefile.am (SRC_SUBDIRS): contrib subdir
6573
6574         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
6575         so it can be used in Xlib version
6576
6577         * demos/testpixbuf.c (update_timeout): error checking from 1.0
6578         tree
6579
6580         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
6581         change from 1.0 tree that returns first frame of animation
6582         if the loaded file is an animation.
6583
6584         * contrib: add new directory to hold stuff that comes with GTK+
6585         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
6586         
6587         * configure.in: add contrib/*
6588
6589 2000-10-05  Havoc Pennington  <hp@redhat.com>
6590
6591         * demos/testpixbuf-save.c: add pixbuf save test
6592
6593         * demos/Makefile.am: add testpixbuf-save.c
6594
6595 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
6596
6597         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
6598         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
6599         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
6600         * gtk/gtktreeselection.[ch]: Replaced
6601         "node_selected"/"node_unselected" signal with "selection_changed"
6602         signal.
6603
6604 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6605
6606         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
6607         tree widget.
6608
6609 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6610
6611         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
6612         drawing.
6613
6614 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
6615
6616         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
6617         Move list pointer forwards before removing item from
6618         list. (Crash reported by Salmaso Raffaele)
6619
6620         * gdk/gdkwindow.h: Remove spurious trailing ,
6621
6622         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
6623         dependencies on uninstalled libraries, sorry folks.
6624
6625 2000-10-04  Havoc Pennington  <hp@redhat.com>
6626
6627         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
6628         gtk/gtkiconfactory.c: Fix copyrights    
6629
6630         * demos/testpixbuf.c: add inline pixbuf test
6631         
6632 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
6633
6634         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
6635         Add gdk_window_iconify.
6636
6637         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
6638         (gdk_window_set_geometry_hints): Add win_gravity
6639         to geometry structure.
6640
6641         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
6642         Implement _NET_WM_PING.
6643
6644         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
6645         Set _NET_WM_PID on the client leader.
6646
6647         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
6648         Handle UTF-8 better.
6649
6650         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
6651         UTF-8 better, set _NET_WM_NAME as well. Only set
6652         icon name if it hasn't previously been explicitely 
6653         set.
6654
6655 2000-10-03  Havoc Pennington  <hp@redhat.com>
6656
6657         * gtk/testtextbuffer.c: clean up trailing whitespace,
6658         add extensive tests for tag toggle iteration.
6659         
6660         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
6661         distance
6662
6663         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
6664         optimize case where the tag root is on level 1
6665         (gtk_text_line_previous_could_contain_tag): attempt to implement
6666         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
6667         functionality
6668
6669         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
6670         Implement this, though not very efficiently.
6671
6672         * gtk/gtktextiterprivate.h: reformat
6673
6674         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
6675         iterator
6676
6677         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
6678         this to properly revalidate the iterators.
6679
6680         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
6681         properly at the end of the line (and therefore on empty lines)
6682
6683         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
6684         maybe we should return a value...
6685
6686 2000-10-03  Tor Lillqvist  <tml@iki.fi>
6687
6688         * config.h.win32: Guard definition of alloca(). glib.h now handles
6689         that.
6690
6691         * gdk/gdk.def
6692         * gtk/gtk.def: Add new entry points.
6693
6694         Changes just to make GTK+ build without errors on Win32. No hope
6695         of it working in its current state, though...:
6696         
6697         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
6698         some functions from the X11 backend, just to make GTK+ build.
6699
6700         * gdk/makefile.mingw.in
6701         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
6702         number. Add new object files.
6703
6704         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
6705         GetMessageTime to get timestamp (where on X11 uses
6706         gdk_x11_get_server_time()).
6707
6708 2000-10-02  Havoc Pennington  <hp@pobox.com>
6709
6710         * gtk/gtktextview.c: text_window_* weren't static and should have
6711         been.
6712         Start work on child widgets; not yet complete, syncing to 
6713         office computer.
6714
6715         * gtk/gtktextchild.h: change this to contain a public interface,
6716         starting work on child interfaces.
6717         * gtk/gtktextchildprivate.h: move private interfaces here
6718
6719         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
6720
6721         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
6722         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
6723         gtk/gtktextmark.c: copyright notices
6724
6725         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
6726         internal functions      
6727
6728         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
6729         internal function
6730
6731         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
6732         Reformatting    
6733
6734 2000-09-30  Havoc Pennington  <hp@pobox.com>
6735
6736         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
6737         NULL start/end pointers
6738
6739         * gtk/gtktextbuffer.c: Write some docs
6740         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
6741         NULL, so you can just check whether there's a selection.        
6742
6743         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
6744         cleanup_line or segments_changed ourselves, it gets done 
6745         in unlink_segment
6746
6747         * gtk/gtktextmark.h:
6748         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
6749         
6750         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
6751
6752         * gtk/gtktextmark.c: delete some more old Tk cruft
6753
6754         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
6755         mark before removing it, so we can emit MARK_DELETED with a valid
6756         pointer.
6757         (gtk_text_buffer_mark_set): hold ref across signal emission
6758
6759         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
6760         whining about attempts to delete special marks
6761
6762         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
6763         underscore, since it's internal.
6764
6765         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
6766         now implemented in terms of iterators in gtktextiter.h
6767
6768         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
6769         New function, destructively sets contents of buffer. Also 
6770         a convenient way to clear the buffer by setting text to ""
6771
6772         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
6773         multiline string literal
6774
6775         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
6776         text changes.
6777
6778         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
6779         is not dereferenceable
6780         (gtk_text_iter_forward_lines): fix return value
6781
6782 2000-09-29  Havoc Pennington  <hp@redhat.com>
6783
6784         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
6785
6786         * gtk/gtktextview.c: Implement drag thresholding; change functions 
6787         that set border window size to have nicer name
6788         (gtk_text_view_mark_set_handler):  Fix this to have the 
6789         right signature.
6790
6791         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
6792
6793         * gtk/testtext.c: Update with API changes, put line numbers on 
6794         both sides.
6795         
6796         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
6797         with this
6798
6799         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
6800         pixbuf; delete a big block of #if 0 Tk code
6801
6802         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
6803         insert_pixmap with insert_pixbuf
6804
6805 2000-09-29  Martin Baulig  <baulig@suse.de>
6806
6807         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
6808         confusion with the GdkPixbuf of the GNOME 1.x platform.
6809
6810 2000-09-29  Havoc Pennington  <hp@pobox.com>
6811
6812         * gtk/gtktextview.c: Implement the side windows.
6813
6814         * gtk/testtext.c: Implement simple line numbering in the 
6815         left side window; seems to make scrolling sloooow. Oops.
6816         Also, cursor blink is for some reason causing redraws
6817         of the line numbers. Should investigate...
6818
6819 2000-09-28  Havoc Pennington  <hp@redhat.com>
6820
6821         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
6822         scrolling child windows, and draw focus rectangle properly.
6823         
6824         (gtk_text_view_buffer_to_window_coords):
6825         Coordinate transformation to deal with all these freaking windows
6826         and offsets
6827         (gtk_text_view_window_to_buffer_coords): transform the other way
6828
6829         * gtk/testtext.c (create_buffer): Update to match Pango API change
6830
6831         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
6832         anonymous tags
6833         (foreach_unref): don't emit remove signal from finalize, just
6834         set tag's parent to NULL
6835
6836 2000-09-26  Havoc Pennington  <hp@redhat.com>
6837
6838         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
6839         Fix some warnings       
6840
6841 2000-09-26  Havoc Pennington  <hp@redhat.com>
6842
6843         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
6844         headers into the private header list
6845
6846         * Makefile.am (pkgconfig_DATA): install pkg-config files
6847
6848         * configure.in: add pkg-config files
6849
6850         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
6851
6852         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
6853         outstanding icon caches on theme change.
6854
6855         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
6856         important types:
6857
6858         (GtkIconSource): Specification for creating a pixbuf 
6859         appropriate for a direction/state/size triplet from 
6860         a source pixbuf or filename
6861
6862         (GtkIconSet): List of GtkIconSource objects that are used to
6863         create the "same" icon (e.g. an OK button icon), and cache for
6864         rendered icons
6865
6866         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
6867         up the icon set for a given stock ID.  GTK maintains a stack of
6868         GtkIconFactory to search, and applications or libraries can add
6869         additional icon factories on top of the stack
6870         
6871         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
6872         the set of GtkIconSource specified for a given stock ID into 
6873         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
6874         RcStyle, under the specified stock ID.
6875
6876         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
6877         render_icon used to derive a GdkPixbuf from a GtkIconSource.
6878         This allows people to theme how prelight, insensitive, etc. are
6879         done.
6880
6881         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
6882         icon factories for a style, and return the resulting 
6883         icon set if any.
6884
6885         (gtk_style_render_icon): Render an icon using the render_icon 
6886         method in the GtkStyleClass.
6887
6888         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
6889         Use the style for a given widget to look up a stock ID, get the
6890         icon set, and render an icon using the render_icon method 
6891         of the style
6892
6893         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
6894         (contains information about a stock item), the built-in stock item
6895         IDs, and functions to add/lookup stock items.
6896
6897         * gtk/stock-icons/*: Stock icons that come with GTK
6898
6899         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
6900         a button based on a GtkStockItem
6901         (gtk_button_new_accel): Takes a uline string and accel group, and
6902         installs the accelerator.
6903
6904         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
6905         image-display widget.
6906
6907 2000-09-25  Havoc Pennington  <hp@redhat.com>
6908
6909         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
6910
6911         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
6912         Fix a bug when removing node data, we didn't properly 
6913         re-splice the linked list after removing the data.
6914
6915         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
6916         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
6917
6918         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
6919
6920         * gtk/gtktextlayout.c (set_para_values): Set tab array 
6921         for the layout from the GtkTextTag.
6922
6923         * gtk/gtktexttypes.h: delete tab and search cruft, 
6924         remove g_convert() in favor of GLib version
6925
6926         * gtk/gtktexttypes.c: remove tab implementation from here,
6927         move to Pango
6928
6929         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
6930         tab stuff using new PangoTabArray from Pango
6931
6932         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
6933         unused border_width stuff
6934
6935 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
6936
6937         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
6938         glib) and now useless utf_to_latin1() latin1_to_utf()
6939
6940         * gtk/gtktextview.[ch]: Change ::move_insert and
6941         ::delete_text action signals to ::move and ::delete;
6942         create the signals with the right enumeration type,
6943         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
6944         C-v bindings, change Home, End to move to beginning/end
6945         of line, Add C-Home C-End to move to beginning/end
6946         of buffer. Change ::cut_text to ::cut_clipboard, etc;
6947         combine ::scroll_text into ::move; use new GtkSelectionData
6948         functions to simplify DND text handling.
6949         
6950         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
6951         deletion enumerations here, rename enumeration values to 
6952         be consistently plural.
6953
6954         * gtk/gtktextbuffer.c: Use new clipboard interfaces
6955         for cut/copy/paste and primary selection.
6956
6957         * gtk/gtktextbuffer.[ch]: Remove excess time and
6958         'interactive' arguments from cut/copy/paste;
6959         rename cut to cut_clipboard, etc; remove
6960         gtk_text_buffer_get_clipboard_contents().
6961
6962         * gtk/gtktextlayout.[ch]: Add 
6963         gtk_text_layout_move_iter_to_line_end() to move the iter to 
6964         line ends.
6965
6966         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
6967         Functions to set or get a UTF-8 string on the selection
6968         data.
6969
6970         * gtk/gtkclipboard.[ch]: New, simplified selection handling
6971         interfaces.
6972
6973         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
6974         created widgets - one of these is useless if we don't.
6975
6976         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
6977         a public function clear all targets registered for the
6978         widget.
6979
6980         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
6981         Never call gtk_widget_realize() - that was just asking
6982         for bizarre side-effects.
6983
6984         * gtk/gtkselection.c (gtk_selection_owner_set): Call
6985         gdk_selection_owner_set even if the widget is the
6986         same so that we reliably update the timestamp on
6987         the server.
6988
6989         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
6990         gdk_x11_get_server_time() function.
6991         
6992         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
6993         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
6994         Add some tricky filtering on serial numbers for
6995         selection clear events to fix up long-standard
6996         race condition FIXME's in gtkselection.c.
6997
6998         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
6999         routines to convert from utf8 to compound text or
7000         STRING and from a text property to UTF-8.
7001
7002         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
7003         a convenience function gdk_get_current_event_time().
7004
7005         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
7006         and free selection_data->data properly
7007
7008 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
7009
7010         * gtk/gtkthemes.c: Remove some unecessary includes.
7011
7012 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
7013
7014         * gtk/gtktextdisplay.c
7015         * gtk/gtktextlayout.c
7016         * gtk/gtktexttag.c
7017         * gtk/gtktexttag.h
7018         * gtk/testtext.c: Change the overstrike property to strikethrough,
7019         to closer match pango.
7020
7021 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
7022
7023         * gtk/gtktextview.c: Fix up visibility so that focus,
7024         cursor_visible and blink interact properly.  Reenable cursor blink
7025         which had been roughly disabled. Make blink and focus
7026         properly per-view.
7027
7028         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
7029         Add a flag for whether to display insertion cursor and
7030         a function to set the flag.
7031
7032         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
7033         get_line_y() to get_line_yrange(), to be a bit more generally
7034         useful.
7035
7036 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
7037
7038         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
7039           do stop_navigating_submenu, to clear last timeout properly.
7040           Also in gtk_menu_motion_notify move ignore_enter above
7041           the conditional to make it always happen as suggested by Owen
7042
7043 2000-09-07  Tor Lillqvist  <tml@iki.fi>
7044
7045         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
7046
7047         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
7048         w32api headers.
7049
7050         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
7051         declarations.
7052
7053         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
7054         (gdk_win32_get_colormap): A line had been deleted by mistake.
7055
7056         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
7057         (gdk_event_translate): Handle more virtual keycodes to be able to
7058         generate GDK events for Control-comma, Control-period, etc.
7059
7060         * gtk/gtk.def: Add some missing entry points.
7061
7062 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
7063
7064         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
7065         Doc comment fixing. (Mostly non-matching parameter names.)
7066
7067         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
7068         comments a little to avoid looking like a doc comment.
7069
7070         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
7071         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
7072         conversions be changed to GError?)
7073
7074         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
7075         Move private #defines into .c file.
7076
7077         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
7078         order of argument addition, remove duplicates.
7079
7080         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
7081         parent class is FrameClass, not BinClass.
7082
7083         * gtk/gtk.h: Add gtkinvisible, which was missing.
7084         (It's occasionalyl useful for client apps, if seldom.)
7085
7086         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
7087         #define.
7088
7089 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
7090
7091         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
7092         coordinates when creating window, instead of GDK-space
7093         coordinates. (Avoid BadValue on too large windows.)
7094
7095 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7096
7097         * configure.in (use_mmx_asm): Remove conftest* after use along the
7098         lines of AC_TRY_COMPILE.        
7099         
7100         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
7101         of g_dirname, which is deprecated.
7102         (gtk_rc_parse_any): Removed calls to
7103         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
7104
7105         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
7106         Removed calls to g_hash_table_{freeze,thaw}, as they are
7107         deprecated now.
7108
7109         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
7110         instead of g_basename.
7111         
7112 2000-09-04 Elliot Lee <sopwith@redhat.com>
7113         
7114         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
7115         ANSI warning.
7116
7117 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
7118
7119         * gtk/gtkwidget.h:  Add some documenting comments about 
7120           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
7121           just as owen said on irc.
7122
7123         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
7124           set HAS_DEFAULT.  Only set it if there isn't another window
7125           holding it (a focus window which RECEIVES_DEFAULT) and only unset
7126           it if the widget is not the focused window with RECEIVES_DEFAULT.
7127           This fixes weird double default bugs in dialogs which has things
7128           call gtk_window_set_default at times.
7129
7130 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
7131
7132         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
7133         Nils Barth and David Santiago to improve submenu
7134         navigation. The patch does this by creating a triangular
7135         region from the point where the pointer leaves the
7136         menu to the submenu.  While the pointer is in
7137         that region and a timeout has not expired, events 
7138         that would cause the active submenu to change are
7139         ignored.
7140
7141 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
7142
7143         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
7144         moving a toplevel window immediately after sizing it would
7145         result in it being sized back to the old size since 
7146         impl->width, impl->height aren't updated until we hear
7147         back from the server. There is still a (longstanding) bug
7148         here that gdk_window_get_size() will give the wrong size
7149         until we do hear back.
7150
7151 2000-08-31  Havoc Pennington  <hp@redhat.com>
7152
7153         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
7154         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
7155         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
7156         Rename GtkTextStyleValues to GtkTextAttributes
7157
7158 2000-08-31  Havoc Pennington  <hp@pobox.com>
7159
7160         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
7161         for rapid testing whether an iterator is the end iterator
7162         (gtk_text_btree_new): init end line cache
7163         (gtk_text_line_is_last): use fast cached line to 
7164         see if we're the last line.
7165         (get_last_line): use cached line here too, should 
7166         speed up some random unrelated code.
7167         
7168 2000-08-30  Havoc Pennington  <hp@pobox.com>
7169
7170         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
7171         signals.
7172
7173         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
7174         delete_text signals. This allows the signals to be used for
7175         implementing undo.
7176
7177         * gtk/gtktextbuffer.c: Change signal handler signatures; 
7178         provide "interactive" argument when emitting insert_text or
7179         delete_text signal.
7180         
7181 2000-08-30  Havoc Pennington  <hp@pobox.com>
7182
7183         * gtk/gtktextbuffer.c: Docs
7184
7185 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
7186
7187         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
7188         from switch statements, since Tor removed the enumeration
7189         value.
7190         
7191         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7192         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
7193
7194 2000-08-29 Elliot Lee <sopwith@redhat.com>
7195         * */*.h: Use G_GNUC_CONST.
7196
7197 2000-08-27  Havoc Pennington  <hp@pobox.com>
7198
7199         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
7200         minor indentation fixes, inserted some FIXME about stuff I
7201         realized was broken while documenting it.
7202         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
7203         GTK convention  
7204
7205 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
7206
7207         * gtk/testgtk.c (create_styles): Fix double free of
7208         font desc.
7209
7210 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7211
7212         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
7213         
7214         * gtk/testgtk.c (create_styles): Add a test for modifying
7215         the style through gtk_widget_modify_*.
7216
7217         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
7218         a function to get the current modifier style.
7219
7220         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
7221         of the passed in GtkRcStyle instead of ref'ing it.
7222
7223         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
7224
7225 2000-08-20  Tor Lillqvist  <tml@iki.fi>
7226
7227         * gdk/gdkimage.h
7228         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
7229         shared memory image+pixmap GdkImage type, or
7230         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
7231         I am dropping that.
7232
7233         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
7234         actually call gtk_init_abi_check(), passing also
7235         sizeof(GtkWindow). Ditto for gtk_init_check(). 
7236
7237         * gtk/gtk.def
7238         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
7239         New functions, used to check that the GTK+-using code has been
7240         compiled using the correct compiler and switches. In particular,
7241         with gcc one has to use the -fnative-struct switch as GTK+ is
7242         compiled with that.
7243
7244 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
7245
7246         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
7247         ->prev fields when merging lists. (Found simultaneously
7248         by Pawel Salek and Jakub Jelinek)
7249
7250 2000-08-12  Tor Lillqvist  <tml@iki.fi>
7251
7252         * gdk/gdk.def
7253         * gtk/gtk.def: Add missing entries.
7254
7255         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
7256         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
7257
7258         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
7259         function. Dummy implementation at this point.
7260
7261         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
7262         rules. Undefine GTK_COMPILATION when compiling the test programs.
7263         
7264         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
7265
7266 2000-08-11  Tor Lillqvist  <tml@iki.fi>
7267
7268         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
7269         to convert back and forth from UTF-8 and the "system" (or "current
7270         locale") charset when necessary. Indentation/spacing cleanup.
7271
7272 2000-08-10  Havoc Pennington  <hp@redhat.com>
7273
7274         * Makefile.am (snapshot): Change the format of the snapshot
7275         version to match glib
7276
7277         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
7278         from EXTRA_DIST since it doesn't seem to exist
7279
7280 2000-08-10  Tor Lillqvist  <tml@iki.fi>
7281
7282         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
7283         version of the directory name (not the UTF-8 one) when building
7284         the path name to stat().
7285
7286 2000-08-03  Elliot Lee  <sopwith@redhat.com>
7287
7288         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
7289         PANGO_ATTR_SHAPE set.
7290
7291 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
7292
7293         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
7294         Peter Osterlund to simplify the code while keeping the
7295         functionality the same.
7296
7297 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
7298
7299         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
7300         is_viewable() test further inside the function, since removing the 
7301         window from the redraw list without clearing ->update_area
7302         was also very broken.
7303
7304 2000-08-02  Tor Lillqvist  <tml@iki.fi>
7305
7306         * configure.in: Check for <unistd.h>.
7307
7308 2000-08-01  Martin Baulig  <baulig@suse.de>
7309
7310         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
7311         to display the message that this is a development version of GTK+.
7312
7313 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
7314
7315         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
7316         was depending on widget->allocation instead of the width of text_area,
7317         which was incorrect for subclasses like GtkSpinButton.
7318
7319         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
7320         with width == 1 tests that should be width == -1.
7321
7322 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
7323
7324         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
7325         (broken, Elliot, every single window blank on X) custom code with call
7326         to gdk_window_is_viewable() which a) prevents code duplicate and
7327         b) works. 
7328
7329 2000-07-31  Elliot Lee  <sopwith@redhat.com>
7330
7331         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
7332         to get the GDK_PARENT_ROOT() macro to work.
7333         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
7334         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
7335         of, windows that aren't shown.
7336         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
7337         pointer grab stuff.
7338
7339 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
7340
7341         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
7342           s/gtk_main_iteration/g_main_iteration/
7343
7344           Did this already in change:
7345                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
7346           don't know how it got reverted.
7347
7348 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
7349
7350         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
7351         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
7352
7353         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
7354         not gdk_pixbuf.
7355
7356 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
7357
7358         * configure.in,po/{sp,sr}.po: Added Serbian files
7359
7360 2000-07-30  Tor Lillqvist  <tml@iki.fi>
7361
7362         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
7363
7364         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
7365         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
7366         GIOChannel implementation.
7367
7368         * gdk/win32/gdkinput.c
7369         * gdk/win32/gdkpango-win32.c: Update license name here, too.
7370
7371         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
7372         definition to match prototype.
7373
7374         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
7375
7376 2000-07-27  Elliot Lee  <sopwith@redhat.com>
7377
7378         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
7379         function, to allow handling image formats that cannot be detected
7380         by looking at content alone.
7381
7382 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
7383
7384         * docs/tutorial/*.gif *.jpg *.eps
7385           Update these to the same look-n-feel.
7386           Why does including images in DocBook suck so badly?
7387
7388 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
7389
7390         * gtk/gtktable.c: applied patch from Phil Thompson
7391         <phil@river-bank.demon.co.uk> that enables space settings for
7392         the last row/columns as well.
7393
7394 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
7395
7396         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
7397         updates the license headers to the GNU Lesser General Public License,
7398         as well as updating the copyright year to 2000.
7399
7400 2000-07-26  Robert Brady  <rwb197@zepler.org>
7401
7402         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
7403           and po/Makefile, was installing and looking for them under gtk20
7404           and gtk2 respectively.
7405
7406 2000-07-25  Havoc Pennington  <hp@redhat.com>
7407
7408         * gtk/testtext.c: Comment out some stuff that depends on the rest
7409         of my patches.
7410
7411 2000-07-25  Havoc Pennington  <hp@redhat.com>
7412
7413         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
7414         buffer
7415
7416 2000-07-25  Havoc Pennington  <hp@redhat.com>
7417
7418         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
7419         widget changes.
7420
7421         * gtk/gtktextview.h: To be consistent with usage of "line"
7422         throughout the API to mean "newline-terminated thingy", change
7423         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
7424         to MOVEMENT_LINE.
7425
7426         (GtkTextView): Add flags for default editability, and whether to
7427         show the cursor. Add functions to get/set that. Add 
7428
7429         (gtk_text_view_get_iter_location): new function
7430
7431         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
7432         gtktextlayout.h
7433         (g_convert): Add g_convert temporarily, will go in glib in a bit
7434         
7435         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
7436         GtkTextTagTableForeach instead of brokenly using GHFunc.
7437         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
7438
7439         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
7440         moved to public header.
7441
7442         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
7443         "invisible", since "elide" was a bad name.
7444         (gtk_text_tag_get_priority): Added
7445
7446         (GtkTextStyleValues): put this in public header, along with
7447         functions to use it.
7448
7449         * gtk/gtktextmarkprivate.h: Include more headers, since we no
7450         longer include gtktextbtree.h.
7451
7452         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
7453         gtk_text_mark_deleted
7454
7455         * gtk/gtktextlayout.h: Don't include the "really private" headers,
7456         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
7457         to make this possible. Now we only need to install
7458         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
7459         (However the Makefile.am isn't changed yet because of the
7460         logistics of merging gtk-hp-patches piecemeal)
7461
7462         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
7463         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
7464         gtk_text_iter_get_line is now used in the public API for a
7465         different purpose.
7466
7467         * gtk/gtktextiter.h: Clean up function names to be more
7468         consistent. Always call char offset "offset" and byte index
7469         "index". A "line" is always a line number. 
7470
7471         (gtk_text_iter_is_last): new function, more efficient than 
7472         the existing way to check
7473         (gtk_text_iter_is_first): new function, also more efficient
7474
7475         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
7476
7477         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
7478         gtk_text_iter_forward_char, etc.
7479
7480         (gtk_text_iter_forward_to_tag_toggle): Renamed from
7481         forward_find_tag_toggle, since this isn't a linear search
7482
7483         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
7484
7485         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
7486         New functions, search for a buffer substring.
7487
7488         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
7489         interactive and default editable (since we need to store that info
7490         until we receive the selection data).
7491
7492         Remove all the _at_char and at_line etc. versions of functions;
7493         only have iterator versions.
7494
7495         Add _interactive() versions of functions, that consider the
7496         editability of text. (FIXME add interactive flag to the 
7497         insert/delete signals per Darin's suggestion)
7498
7499         (gtk_text_buffer_get_tag_table): new function, demand-creates the
7500         tag table if necessary
7501
7502         Remove declaration of gtk_text_buffer_get_iter_from_string
7503
7504         (_gtk_text_buffer_get_btree): private/internal function, added.
7505         
7506
7507         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
7508         (gtk_text_line_is_last): new function
7509
7510 2000-07-25  Havoc Pennington  <hp@redhat.com>
7511
7512         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
7513         using GtkProgressBar. See Changes-2.0.txt for details.
7514
7515         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
7516         "pulse_step" which are the equivalent of
7517         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
7518         Implement new API.
7519         
7520         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
7521         (use_text_format) to mark whether text set on the progress bar is
7522         a format string. Deprecate entire GtkProgress interface.
7523
7524         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
7525         (gtk_progress_build_string): make this a no-op if use_text_format
7526         is FALSE
7527
7528         * docs/Changes-2.0.txt: Describe progress bar changes.
7529
7530 2000-07-25  Tor Lillqvist  <tml@iki.fi>
7531
7532         * Makefile.am: Include the build directory.
7533
7534         * configure.in: Generate build/Makefile, build/win32/Makefile,
7535         gdk/, gdk/win32/, and gtk/makefile.mingw.
7536
7537         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
7538         Add GETTEXT_PACKAGE.
7539         
7540         * gdk/gdk.def
7541         * gtk/gtk.def: Updates.
7542
7543         * gdk/gdkfont.h
7544         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
7545         need them any longer.
7546
7547         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
7548
7549         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
7550         PANGOWIN32_LIBS and gdk_pixbuf.
7551
7552         * gdk/win32: Compiles, but no doubt doesn't work at all.
7553
7554         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
7555
7556         * gdk/win32/gdkinput.c: New file, temporarily.
7557         
7558         * gdk/win32/gdkinput-win32.h: New file
7559
7560         * gdk/win32/gdkinputprivate.h: Remove.
7561
7562         * gdk/win32/gdkpango-win32.c: New file.
7563
7564         * gtk/makefile.mingw.in: New file
7565
7566         * gtk/makefile.cygwin: Removed
7567         
7568         * gtk/Makefile.am: Update accordingly.
7569
7570         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
7571         made externally visible.
7572
7573         * gtk/gtkmain.c: Use it.
7574         
7575         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
7576         is enough.
7577
7578         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
7579
7580 2000-07-24 Elliot Lee <sopwith@redhat.com>
7581         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
7582         individual backends already.
7583         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
7584         again. Yes, there really is a good reason for this, if you are using the gdkregion
7585         internals, and if you're not, why do you care?
7586         * gdk/gdkwindow.c: Fix inverted condition
7587         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
7588         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
7589         * gtk/gtkrange.c: Redraw trough when moving.
7590         * gtk/gtktypeutils.c: Fix warning by adding const cast.
7591         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
7592
7593 2000-07-23  Tor Lillqvist  <tml@iki.fi>
7594
7595         * configure.in: Check for mkstemp and sigsetjmp. Output
7596         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
7597
7598         More work on GDK for Win32. Still in an intermediate state.
7599
7600         * gdk/makefile.cygwin
7601         * gdk/win32/makefile.cygwin: Removed.
7602         
7603         * gdk/makefile.mingw.in
7604         * gdk/win32/makefile.mingw.in: New files.
7605
7606         * gdk/Makefile.am
7607         * gdk/win32/Makefile.am: Generate and distribute them.
7608
7609         * gdk/win32/gdkwindow-win32.h
7610         * gdk/win32/gdkdrawable-win32.h
7611         * gdk/win32/gdkpixmap-win32.h: New files.
7612
7613         * gdk/win32/gdkcolor-win32.c
7614         * gdk/win32/gdkcursor-win32.c
7615         * gdk/win32/gdkdrawable-win32.c
7616         * gdk/win32/gdkgc-win32.c
7617         * gdk/win32/gdkimage-win32.c
7618         * gdk/win32/gdkprivate-win32.h
7619         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
7620         Rename fields and variables called xcursor, xid, etc (these names
7621         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
7622
7623 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
7624
7625         * gtk/gtkentry.[ch]: Fix some problems with vertical
7626         alignment.
7627
7628         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
7629         char/byte confusion.
7630
7631 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
7632
7633         * gtk/gtktextview.c (changed_handler): Fix bug where
7634         redraw wasn't being done properly when height of
7635         dirty region changed.
7636
7637         * demos/Makefile.am: Remove various references to
7638         -lgmodule
7639
7640 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
7641
7642         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
7643         PangoAttrShape to reserve space for pixmaps, add 
7644         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
7645         in the display functions.
7646         
7647         * gtk/testgtk.c (create_layout): Set some more exotic
7648         scrolled window options
7649
7650         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
7651         Add function to set the shadow type of a window, to allow
7652         putting a shadow around widgets such as GtkLayout or GnomeCanvas
7653         which don't draw their own frame.
7654
7655 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
7656
7657         * docs/tutorial/package-db-tutorial.sh: New file for
7658           packaging DocBook format tutorial
7659
7660 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
7661
7662         * docs/tutorial/gtk-tut.sgml: Minor updates
7663
7664         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
7665
7666 2000-07-19  Tor Lillqvist  <tml@iki.fi>
7667
7668         * gtk/gtksignal.c: Fix C++ comment.
7669
7670         * gtk/gtkimmulticontext.c
7671         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
7672         don't return value from void functions.
7673
7674         * gtk/gtk.def: Add gtk_rc_style_unref.
7675
7676 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7677
7678         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
7679         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
7680         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
7681         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
7682         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
7683         gtk/gtktypeutils.h: Include files outside of the extern "C"
7684         block. Makes some C++ compiler happy. Reported by Denis Vakatov
7685         <vakatov@peony.nlm.nih.gov>.
7686
7687 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
7688
7689         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
7690           Completes first pass. Hurrah!
7691
7692 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
7693
7694         * docs/tutorial/gtk-tut.sgml: More clean ups.
7695
7696 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
7697
7698         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
7699         paint the background of the text area which was accidentally
7700         removed at some point.
7701
7702         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
7703           
7704          - Move most of the functionality from the theme vtable
7705            into GtkRcStyleClass and GtkStyleClass. The moved
7706            vtable functions were changed a bit in the move to
7707            work better in their new home.
7708
7709          - Get rid of the engine and engine_data fields from
7710            GtkRcStyle and GtkStyle; instead the theme
7711            engine derives theme-specific subclasses of GtkRcStyle
7712            and GtkStyle
7713
7714          - Add extra dlsym() found entry point to themes,
7715            theme_create_rc_style().
7716
7717         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
7718         in gtk_style_real_copy.
7719
7720         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
7721         to register a type associated with an engine. (The engine
7722         won't be unloaded as there is an instance of the type.)
7723
7724
7725 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
7726
7727         * docs/tutorial/gtk-tut.sgml: Clean ups.
7728
7729 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
7730
7731         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
7732           of cleaning up to do.
7733
7734 2000-07-15  Tor Lillqvist  <tml@iki.fi>
7735
7736         * gdk/testgdk.c: New file, quick hack to test backends for
7737         pixel-by-pixel correctness of the most simple graphic operations.
7738
7739 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
7740
7741         * Really release 1.3.1
7742         
7743         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
7744         include structure.
7745
7746 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
7747
7748         * Released 1.3.1
7749
7750 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
7751
7752         * gtk/gtktextlayout.c: use FALSE for size_only most
7753         of the time when calling gtk_text_layout_get_line_display()
7754         to avoid causing double reshapes when a redraw follows
7755         immediately after.
7756
7757 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
7758
7759         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
7760         appropriate region and gdk_window_process_updates() so trough
7761         updating doesn't lag behind the window being scrolled.
7762
7763         * gdk/gdkgc.c: Make parent_class pointer static.
7764          
7765 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
7766
7767         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
7768         include <string.h>.
7769          
7770         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
7771         cut-and-paste error in computing memory offset for 4 channels.
7772
7773 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
7774
7775         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
7776         gtk_rc_append_default_pixmap_path(), since it wasn't
7777         adding an interesting path and we don't have a meaningful
7778         default for this value.
7779
7780 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
7781
7782         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
7783         gtk-config to gtk-config-2.0 move gtk_.m4 to
7784         gtk-2.0.m4
7785
7786         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7787         gdk/Makefile.am demos/Makefile.am: Change 
7788         library names to libgtk-1.3.la, etc, so that we
7789         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
7790
7791         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7792         gdk/Makefile.am gdk/x11/Makfile.am
7793         Move include files into /usr/include/gtk-2.0, 
7794         /usr/lib/gtk-2.0/include/
7795          
7796         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
7797         gtk/gtkintl.h: Change package for gettext from 
7798         gtk+ to gtk20. Put hack in autogen.sh to modify
7799         po/Makefile.in.in after gettextize to make this
7800         possible.
7801
7802         * gtk+.spec: Some updates, not tested.
7803
7804         * gdk-pixbuf/Makefile.am: Move loaders into
7805         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
7806
7807         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
7808         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
7809         to THEMENAME/gtk-2.0/. Move engine directory  to
7810         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
7811         
7812 2000-07-12  Tor Lillqvist  <tml@iki.fi>
7813
7814         Win32 changes, still doesn't build though.
7815
7816         * gdk/makefile.cygwin
7817         * gdk/win32/makefile.cygwin
7818         * gtk/makefile.cygwin: Updates.
7819
7820         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
7821         default values for fg and bg pixel as X11 does (0 and 1), not
7822         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
7823         Use 0 for pen width by default (treated as 1 anyway later, but for
7824         apps that might check the value in the GdkGC).
7825         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
7826         interface to gdk_gc_predraw and _postdraw.
7827
7828         * gdk/win32/gdkwin32.h
7829         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
7830
7831         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
7832         extraneous semicolon.
7833
7834         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
7835
7836         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
7837         not the Win32 bitspixel value.
7838
7839         * gdk/win32/gdkcc-win32.c:
7840         * gdk/win32/gdkcolor-win32.c 
7841         * gdk/win32/gdkprivate-win32.h
7842         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
7843         GDK object structure.
7844
7845 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
7846
7847         * docs/tutorial/gtk_tut_12.es.sgml (name): 
7848         * docs/tutorial/gtk_tut_it.sgml (name): 
7849         * docs/tutorial/gtk_tut_fr.sgml (name): 
7850         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
7851         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
7852
7853 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
7854
7855         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
7856           small changes.
7857
7858 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
7859
7860         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
7861         a bug here, never been here and never fixed anything ;(
7862         (don't segfault if tree->root_tree is NULL, which happens prior
7863         to widget realization, but puke instead).
7864
7865 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
7866
7867         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
7868         add the necessary tokens.
7869
7870         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
7871         (gtk_rc_style_to_style): copy thicknesses.
7872         (gtk_rc_init_style): apply thicknesses.
7873         (gtk_rc_parse_style): parse xthickness and ythickness.
7874
7875         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
7876
7877         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
7878         (gdk_window_new): 
7879         (_gdk_windowing_window_init): 
7880         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
7881         (gdk_pixmap_create_from_data): 
7882         (gdk_bitmap_create_from_data): 
7883         (gdk_pixmap_new): 
7884         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7885         (gdk_image_new): 
7886         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
7887         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
7888         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
7889         (gdk_colormap_get_system): 
7890         (gdk_colormap_new): 
7891         * gdk/gdkwindow.c (gdk_window_init): 
7892         * gtk/gtkstyle.c (gtk_style_new):
7893         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
7894         * gdk/gdkpixmap.c (gdk_pixmap_init): 
7895         * gtk/gtkrc.c (gtk_rc_style_new):
7896         use g_object_new() instead of g_type_create_instance() which
7897         is a private function for fundamental type implementations.
7898
7899 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
7900
7901         * configure.in: Add check for db2html
7902
7903 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
7904
7905         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
7906         hack to set glib_debug_objects based on gtk_debug_flags.
7907
7908 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
7909
7910         * INSTALL.in: Update the Prerequisites section.
7911
7912         * Makefile.am demos/Makefile.am docs/Makefile.am
7913         docs/tutorial/Makefile.am gdk/x11/Makefile.am
7914         gdk/linux-fb/Makefile.am: Dist fixes
7915
7916 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
7917
7918         * NEWS: 10,000 foot view of 1.3.1 changes.
7919
7920 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
7921
7922         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
7923         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
7924         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
7925         gdk/x11/gdkmain-x11.c: 
7926
7927         Patch from George Lebl to add a GdkGrabStatus enumeration to use
7928         as a return value of gdk_*_grab(). Previously, we just
7929         returned the X11 values directly.
7930
7931 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
7932
7933         * gdk/x11/Makefile.am: Patch from George Lebl to 
7934         install all the headers in the right place.
7935
7936 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
7937
7938         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
7939           initial conversion to DocBook.
7940
7941 2000-07-04  Tor Lillqvist  <tml@iki.fi>
7942
7943         * README.win32: Improve a bit.
7944
7945         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
7946         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
7947         Alt+0nnn on the numpad (used to enter characters by numeric code
7948         from current DOS or ANSI codepage) working correctly, as in other
7949         Windows apps.
7950
7951         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
7952         same argument validity tests as in X11 version.
7953         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
7954
7955         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
7956         definitions in case missing from headers.
7957
7958         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
7959         destroy the window-specific cursor.
7960         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
7961         calling GetModuleHandle(NULL).
7962         (gdk_window_set_cursor): Reworked to always copy the passed cursor
7963         with CopyCursor before setting it as the window-specific
7964         cursor. It is OK for the caller to destroy the GdkCursor (and thus
7965         also its Windows cursor) after calling this function. Destroy any
7966         previous window-specific cursor.
7967
7968 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
7969
7970         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
7971         font charset is iso8859-1, not iso-8859-1.
7972
7973 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
7974
7975         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
7976         Use g_get_charset() instead of g_get_codeset().
7977
7978         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
7979         Comment out some strdup'ing functions to keep timj
7980         happy until we finish fighting this out.
7981
7982 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
7983
7984         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
7985         <= width or height.
7986
7987         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
7988         from 1.2 for parent/child states.
7989
7990         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
7991         of typos.
7992
7993         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
7994         event structures, replace with a generic axes field. Replace 
7995         deviceid/sourec with GdkDevice *device.
7996
7997         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
7998         to extract particular axis use value from event. (Also
7999         can be used for normal X/Y.)
8000
8001         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
8002         allow for arbitrary number of axes, namespace everything
8003         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
8004         everywhere.
8005
8006         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
8007         Get rid of the gdk_input_vtable setup if favor of simply
8008         defining the functions in gdkinput-none/gxi/xfree.c in
8009         a similar fashion to the way that the port structure is 
8010         done.
8011
8012         * gtk/gtkdnd.c: Fix fields of synthesized button press event
8013         for new event structures. 
8014
8015         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
8016         new device interfaces.
8017
8018 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
8019
8020         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
8021         set the initial text.
8022
8023         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
8024         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
8025         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
8026         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
8027
8028         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8029         pango_layout_set_font_description to simplify.
8030
8031 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
8032
8033         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8034         pango_layout_set_font_description to simplify.
8035
8036 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
8037
8038         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
8039         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
8040         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
8041
8042         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
8043         PANGO_PIXELS() macro.
8044
8045 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
8046
8047         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
8048         that returns a PangoContext owned by the widget and updated to
8049         match future changes in the widget. Also, make 
8050         gtk_widget_create_pango_layout() use this context. If we ever
8051         add a ::changed signal to PangoContext, this will make things
8052         much more convenient. 
8053
8054         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
8055         in the appropriate places instead of destroying the layouts and
8056         creating new ones.
8057
8058         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
8059         in a few strategic places.
8060
8061 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
8062
8063         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
8064         gtk_widget_size_request() on reparented child, if one. Otherwise,
8065         queue_resize() on the child never results in it getting size-requested
8066         at all.
8067
8068         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
8069         in option menus, so that (with luck) people won't copy it into
8070         their apps in the future.
8071
8072         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
8073         to gtk_option_menu_calc_size. This isn't perfect, but should fix
8074         a lot of problems with changing the size of the menu's menu
8075         items after adding it to the option menu.
8076
8077         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
8078
8079         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
8080         the text direction for a widget changes.
8081
8082         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
8083         ::direction_changed to get rid of various hacks.
8084
8085 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
8086
8087         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
8088         name.
8089
8090 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
8091
8092         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
8093         flag to the structure. Do not call XFreePixmap on pixmaps created
8094         by gdk_pixmap_foreign_new().
8095
8096 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
8097
8098         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
8099         value using GdkRGB functionality given GdkColormap and GdkColor.
8100         (name not final, waiting for inspiration.)
8101         
8102         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
8103         set the foreground/background of a GC using the GC's colormap
8104         and GdkRGB. (name not final, waiting for inspiration.)
8105
8106         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
8107         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
8108
8109         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
8110         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
8111         purely a function of the corresponding colormap. Make
8112         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
8113
8114         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
8115         gdk_pixbuf_*create_from_xpm_* in terms of
8116         gdk_pixbuf_new_from_xpm_data(), move into platform independent
8117         code.
8118
8119         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
8120         advantage of the new draw_rgb_32_image_dithalign.
8121
8122         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
8123
8124         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
8125         on each created GC.
8126
8127         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
8128
8129         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
8130         which we initialize from the drawable when the GC is created,
8131         if the drawable has a colormap.
8132
8133         * gdk/x11/gdkgc-x11.c: include string.h for memset.
8134
8135         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
8136
8137         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
8138
8139 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
8140
8141         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
8142         actually returning expose events, make sure to set
8143         the count field properly.
8144
8145         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
8146         accidentally reintroced bug which always cleared
8147         the graphics_exposures value. 
8148
8149 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
8150
8151         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
8152
8153 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
8154
8155         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
8156
8157 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
8158
8159         * docs/faq/gtk-faq.sgml: Start of Section 6.
8160
8161 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
8162
8163         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
8164         
8165         (Fixes problem with drawing childless frames. Pointed out
8166         by and a first patch from Anders)
8167         
8168         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
8169         compute a child_allocation, even if we don't have a child.
8170
8171         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
8172         Always chain to the parent's impl, even if we don't have a child.
8173
8174 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8175
8176         * gdk/gdkrgb.c: If possible, create only a single shm segment and
8177         use multiple parts of it instead of creating a bunch of separate
8178         segments, since the maximum number of segments per system is not
8179         large. (This might be worth backporting to GTK+-1.2.x if we make a
8180         new release )
8181
8182         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
8183         structure in preparation for per-colormap GdkRGB.
8184
8185         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
8186         to False when we get EINVAL from shmget so that the caller of
8187         gdk_image_new can retry with a smaller segment size.
8188
8189 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
8190
8191         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
8192
8193 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
8194
8195         * configure.in: make the current version number 1.3.1 (binary age 0,
8196         interface age 0).
8197         
8198         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
8199         gtkcompat.h is all we want.
8200
8201         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
8202         GLib primitive types. fixed g_type_register_fundamental() argument
8203         ordering.
8204
8205         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
8206         compiles.
8207
8208         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
8209         object code cleanup, comment trigraph fixes, etc...
8210
8211 2000-06-23  Havoc Pennington  <hp@redhat.com>
8212
8213         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
8214         instead of making up a bogus name for first_para_mark
8215
8216         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
8217         0 as a context ID
8218
8219 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
8220
8221         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
8222
8223 2000-06-21  Havoc Pennington  <hp@pobox.com>
8224
8225         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
8226         we didn't check window->bg_pixmap != GDK_NO_BG.
8227
8228         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
8229         gdk-pixbuf
8230
8231 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
8232
8233         * docs/faq/gtk-faq.sgm: Move file to here.
8234           TODO: Update Makfile.am 
8235
8236 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
8237
8238         * docs/gtk-faq.sgm: Add Section 2
8239
8240 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
8241
8242         * docs/gtk-faq.sgm: New file. Start of DocBook
8243           version of the FAQ.
8244
8245 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
8246
8247         * configure.in (GDK_PIXBUF_MAJOR): Define version
8248         numbers for GDK_PIXBUF_*, as they get substituted
8249         into a header file. Need to consider versioning
8250         for gdk-pixbuf more carefully later.
8251
8252 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
8253
8254         Work with srcdir != builddir.   
8255         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
8256         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
8257         * demos/testpixbuf.c: Likewise.
8258         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
8259         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
8260         <gdk/x11/gdkx.h>.
8261         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
8262         "gdk-pixbuf.h".
8263         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
8264
8265 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
8266
8267         * TODO.xml: Change 1.4 version numbers to 2.0.
8268
8269 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
8270
8271         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
8272         fixups to GTK+ standard.
8273
8274 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
8275
8276         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
8277         gdk-pixbuf.
8278
8279         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
8280         fixups for GObject.
8281
8282         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
8283         gdk-pixbuf with GDK dependencies moved into GDK.
8284         
8285         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
8286         move gdk-pixbuf-loader here until GObject has signals.
8287
8288         * demos/: New directory of demos. Move demos from
8289         gdk-pixbuf here.
8290
8291         * demos/pixbuf-init.c: Small bit of code to check for
8292         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
8293         set GDK_PIXBUF_MODULEDIR appropriately.
8294
8295         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
8296         define which no longer makes sense.
8297
8298 2000-06-21  Havoc Pennington  <hp@redhat.com>
8299
8300         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
8301         gtk_get_default_language
8302
8303         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
8304         new function to get the default language
8305
8306         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
8307         s/gtk_text_view_style_values/gtk_text_style_values/
8308
8309         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
8310         Add a "language" field to tags.
8311
8312         (gtk_text_tag_set_arg): Fix bug in setting
8313         "bg_full_height_set" tag.
8314
8315 2000-06-21  Havoc Pennington  <hp@redhat.com>
8316
8317         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
8318         in the interfaces
8319
8320         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
8321         stuff instead when possible.
8322
8323         * gtk/gtktexttypes.h: Delete some unused constants
8324
8325         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
8326         testtextbuffer.c: use glib instead of custom unicode routines
8327
8328 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
8329
8330         * docs/es/: Removed mistakenly added generated sgml
8331
8332         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
8333         Remove outdated info files.
8334
8335         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
8336         Moved tutorial files into subdir
8337
8338         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
8339         subdir.
8340
8341         * docs/man/gtk_button.pod: Remove. (contents will be
8342         integrated into gtk-reference button page.)
8343
8344         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
8345         docs/faq/Makefile.am: Adjust for new organization
8346
8347 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
8348
8349         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
8350         not $(MKINSTALLDIRS)
8351
8352 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
8353
8354         * gtk/testgtk.c (create_text): Finish the job Elliot started
8355         of removing font setting test for text widget. (Since text widget
8356         and GdkFont are not deprecated, and cause portability problems.)
8357
8358 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
8359
8360         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
8361         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
8362         Remove use of libunicode in favor of new GLib functions.
8363
8364         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
8365         nano-x, framebuffer. The X11 include is just a hack until we get
8366         the necessary functions in gdkcolor.h, so there is no reason to
8367         add other includes of platforms.
8368
8369         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
8370         window bigger than the screen change.
8371
8372         * gtk/testgtk.c: Revert some random changes from Elliot
8373         that had no particular point and were causing testgtkrc
8374         not to function correctly.
8375         
8376         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
8377         because GdkSegment and GdkRegionBox have the same fields,
8378         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
8379         results in clearer code.
8380
8381         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
8382         gdk_input_translate_coordinates): Fix missed GdkObjectification
8383
8384 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8385
8386         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
8387         * gtk/gtk{plug,socket}.h: Missed commits from previous.
8388
8389 2000-06-20  Havoc Pennington  <hp@redhat.com>
8390
8391         * modules/linux-fb/Makefile.am: Make this compile
8392         without framebuffer enabled
8393
8394         * gdk/linux-fb/Makefile.am: Add conditional to not build
8395         framebuffer unless specified in configure
8396
8397         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
8398         the size of the target instead of source if -1 was passed for
8399         width/height
8400
8401         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
8402         width/height confusion.
8403
8404 2000-06-19  Havoc Pennington  <hp@redhat.com>
8405
8406         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
8407         GDK_DRAWABLE_XID. In the future, we probably want to make it
8408         faster with G_DISABLE_CHECKS turned on.
8409
8410 2000-06-14  Havoc Pennington  <hp@redhat.com>
8411
8412         * gdk/Makefile.am: add gdkpixmap.c
8413
8414         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
8415         s/gdk_image_init/_gdk_windowing_image_init
8416
8417         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
8418         ref/unref
8419
8420         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
8421
8422         * gdk/gdkcompat.h: remove GdkWindowType compat, since
8423         GdkWindowType is now non-deprecated; 
8424         change gdk_window_get_type() compat to be
8425         gdk_window_get_window_type().
8426
8427         * gdk/gdkdnd.h: make GdkDragContext a GObject.
8428
8429         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
8430         virtual GObject. Make all functions call into the vtable.
8431         Move gdk_image_put() guts in here. Remove GdkDrawableType
8432         and gdk_drawable_get_type(), these are now GdkWindow-specific.
8433         draw_image, get_depth, get_size, set_colormap, get_colormap,
8434         get_visual added to the vtable.
8435         
8436         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
8437         GObject. Virtualize everything. 
8438         (gdk_gc_new_with_values): remove check for destroyed window,
8439         because now GdkWindow::create_gc will check this.
8440         (gdk_gc_set_values): New function to set GC values, this 
8441         was already implemented but wasn't in the header
8442
8443         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
8444
8445         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
8446         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
8447         remove _gdk_window_class; add _gdk_window_impl_get_type() and
8448         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
8449         _gdk_windowing_window_init, rename gdk_image_init to
8450         _gdk_windowing_image_init.
8451         
8452         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
8453         (gdk_draw_layout): Remove check for destroyed window, 
8454         because all the drawable methods already check it.
8455         
8456         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
8457         Add gdkpixmap.c which contains implementation of GdkDrawable
8458         virtual table (by chaining to a platform-specific implementation
8459         object).
8460         
8461         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
8462         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
8463         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
8464         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
8465         GdkColormapPrivate. 
8466
8467         * gdk/gdktypes.h: #include <glib-object.h>
8468
8469         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
8470         Move most functionality to platform-specific implementation
8471         object. GdkWindow itself now handles the backing store, then
8472         chains to the platform-specific implementation.
8473         (gdk_window_get_window_type): return GdkWindowType of the window.
8474         (gdk_window_peek_children): New routine, returns the children of 
8475         a GdkWindow
8476         (gdk_window_get_children): Was in X11-specific code and did 
8477         XQueryTree. Changed to simply return a copy of window->children; 
8478         so it can go in cross-platform code.
8479         
8480         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
8481
8482         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
8483         GdkColormap; just changed to use the new private data instead
8484         of casting to GdkColormapPrivate.
8485
8486         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
8487         gdk_cursor_new().
8488
8489         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
8490         (private data member in the GObject). 
8491         (xdnd_manager_source_filter): Function had broken 
8492         error handling, fix it (use gdk_error_trap_push).
8493
8494         * gdk/x11/gdkdrawable-x11.c: This file now implements
8495         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
8496         base class is purely for the convenience of the X port,
8497         and not part of the interface to cross-platform GDK.
8498
8499         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
8500         
8501         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
8502         specific to X, and returned by the create_gc virtual method
8503         of GdkDrawableImplX11. 
8504         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
8505         rather than gchar, this was also changed in the GdkGC vtable.
8506         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
8507         mask is 0, return immediately, instead of checking every flag.
8508         This is faster, and keeps us from segfaulting if values is NULL
8509         and the mask contains some nonzero flags.
8510
8511         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
8512         GdkWindow.
8513
8514         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
8515         GdkWindowPrivate is gone.
8516
8517         * gdk/x11/gdkim-x11.c: rename things that got renamed.
8518
8519         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
8520         remove the image_put stuff that got transferred to GdkDrawable.
8521         
8522         * gdk/x11/gdkinput.c: renamings
8523
8524         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
8525
8526         * gdk/x11/gdkpixmap-x11.c: GObject conversion
8527
8528         * gdk/x11/gdkprivate-x11.h: indentation fixes
8529
8530         * gdk/x11/gdkproperty-x11.c: renamings
8531
8532         * gdk/x11/gdkselection-x11.c: renamings
8533
8534         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
8535         implements the platform-specific "impl" object.
8536         Moved gdk_window_get_children to gdk/gdkwindow.c
8537
8538         * gdk/x11/gdkx.h: Remove all the private structs and private datas
8539         that no longer exist. Add declaration of GdkGCX11 object here.
8540         Fix all the macros to still work. 
8541
8542         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
8543         GdkDragContext from the boxed types since they are now GObjects.
8544
8545         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
8546         moved xthickness/ythickness into the instance. GtkStyleClass
8547         functions are now in the standard vtable for GtkStyle, so you have
8548         to create a GObject subclass to write a theme engine.
8549         (gtk_style_copy): fixed a leaked PangoFontDescription
8550         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
8551         can be the standard GObject function.
8552         
8553         * Throughout GTK:
8554         s/style->klass->[xy]thickness/style->[xy]thickness
8555         s/pango_layout_unref/g_object_unref/
8556
8557         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
8558         
8559         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
8560         accessing GDK internals.
8561
8562         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
8563         accessing GDK internals.
8564
8565 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8566
8567         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
8568
8569         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
8570         problem by calculating event position relative to the trough
8571         rather than the slider.
8572         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
8573
8574         * gdk/gdkgc.h: Add GDK_NOR.
8575
8576         * configure.in, Makefile.am: Add modules top level dir
8577         * configure.in: Only use pangox library if building x11 target.
8578         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
8579
8580 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8581
8582         * gtk/gtkcolorsel.c: Change private class member to be named
8583         private_data throughout the file.
8584
8585         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
8586         private_data to avoid clashing with keyword.
8587
8588 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8589
8590         * gdk/gdkdnd.h: Add comment to remove warning.
8591
8592 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
8593
8594         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
8595         Byelorussian language; changed the Makefile and file names 
8596         to reflect that.
8597
8598 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
8599
8600         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
8601         rather than gdk_window_hide; this makes things work
8602         correctly if the window is programmatically hidden while
8603         iconified.
8604
8605 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
8606
8607         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
8608         cut and paste typo where wrong pixmap was being
8609         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
8610
8611 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
8612
8613         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
8614         Add helper function to compute format / bytes 
8615         relationship. Use in a couple places to fix up
8616         errors which assume 8 * format.
8617
8618         * gtk/gtkselection.c (gtk_selection_request): Use 32
8619         rather than 8 * sizeof (GdkAtom), to work correctly
8620         on Alpha.
8621
8622 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
8623
8624         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
8625         libgtk.la
8626         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
8627         versions
8628
8629         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
8630         checking macros return NULL since the function has a return value.
8631
8632 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
8633
8634         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
8635         GTK+ from building at all.
8636
8637         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
8638
8639 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
8640
8641         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
8642         gtk/Makefile.am: make it possible to configure gtk for different
8643         targets on the same platform. The library name is now 
8644         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
8645         flag. Only the x11 target compiles right now.
8646         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
8647         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
8648         * gdk/nanox/gdk*generic*: delete generic region code.
8649         * gdk/linux-fb/gdk*generic*: delete generic region code.
8650         * README.nanox: update information.
8651         
8652 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
8653
8654         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
8655         prepend not append. (Pointed out by Brett Hall.)
8656
8657 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
8658
8659         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
8660
8661 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
8662
8663         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
8664         need this later, and this makes sure that the atexit for
8665         glib gets called after that for GDK, so atexits are
8666         properly ordered for object leak checking.
8667
8668         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
8669
8670         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
8671         pango_x_shutdown_display()
8672
8673         * gtk/simple.c (main): Close window on destroy.
8674
8675 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
8676
8677         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
8678         to treat initial creation different from setting with 
8679         regards to the graphics-exposures parameter, so add a parameter
8680         indicating whether this is initial or not.
8681
8682 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
8683
8684         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
8685         to sort of work by adding an extra return_exposes arg
8686         to gdk_event_translate() - it might be better to simply
8687         deprecate the function altogether and force people to rewrite
8688         without it. gdk_window_scroll() handles most of it, and where
8689         gdk_window_scroll() doesn't work, simply redrawing more does.
8690
8691         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
8692         assertion.
8693
8694         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
8695
8696         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
8697         bunch of pretty much useless /* Print debugging info */ comments 
8698         which had drifted away from the code they were commenting.
8699
8700 2000-06-02  Havoc Pennington  <hp@pobox.com>
8701
8702         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
8703         is in working order.
8704         
8705         * gtk/testtext.c: Change to reflect anonymous mark API
8706
8707         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
8708
8709         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
8710         field, which was unused.
8711
8712         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
8713         saves some typing.
8714
8715         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
8716
8717         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
8718         flag on the insertion point and selection bound
8719
8720         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
8721         make mark-manipulation functions take a GtkTextMark* instead of a
8722         mark name.
8723         
8724         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
8725         GtkTextMarkBody; will be used to detect attempts to delete
8726         the permanent marks (insert and selection bound)
8727
8728         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
8729
8730 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
8731
8732         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
8733         flag to on.
8734
8735         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
8736         Honor DOUBLE_BUFFRED_FLAG
8737
8738         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
8739         function to set the DOUBLE_BUFFERED flag.
8740
8741         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
8742         or not exposes done on the widget should be double-buffered.
8743
8744         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
8745         to be what would be expected. (Fixes problem with a
8746         g_return_if_fail() validating a TextDirection enumeration)
8747
8748 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
8749
8750         * gtk/gtkwidget.c: Remove all references to 
8751         offscreen flag which was no longer used.
8752
8753         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
8754
8755         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
8756         for non-null label_widget->parent.
8757
8758         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
8759         which no longer was used.
8760
8761         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
8762
8763         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
8764         for null arguments.
8765
8766         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
8767         check for destroyed windows.
8768
8769 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
8770
8771         * gtk/gtkimmulticontext.c: Add a finalize method and unref
8772         the slave context there.
8773
8774         * gtk/gtkinvisible.[ch]: Make reference counting behavior
8775         identical to GtkWindow.
8776
8777 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
8778
8779         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
8780         pangox to here, so we can write them independent of rendering
8781         system, using GDK primitives.
8782
8783         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
8784         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
8785         since we have a rendering-system independent implementation in
8786         terms of draw_glyphs().
8787         
8788         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
8789         function to render a single line.
8790
8791         * gdk/x11/gdkpango.c: Move the guts of this file mostly
8792         into ../gdkpango.c, which simplifies things, since we
8793         don't have to deal with raw X gc's.
8794
8795 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
8796
8797         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
8798         get the logical attributes for a given GtkTextLine.
8799
8800 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
8801
8802         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
8803         g_locale_get_codeset() to g_get_codeset() change.
8804
8805 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
8806
8807         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
8808         descriptions.
8809
8810         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
8811         the entry.
8812
8813         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
8814         redoing (vastly simplifying) for Pango. Still needs quite
8815         a bit of work. (Size selection is currently poor. List of 
8816         predefined sizes is not a good idea, since all of these
8817         sizes won't necessarily be distinct.)
8818
8819 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
8820
8821         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
8822         CODESET results for LANG=C.
8823
8824 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
8825
8826         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
8827         which takes a stringized pango font description;
8828         ignore the older 'font' and 'fontset' declarations.
8829
8830         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
8831         field with a GdkFont derived via gdk_font_from_description(),
8832         for compatibility. (Should we just remove it entirely?
8833         Probably too much compatibility breakage, but people
8834         should be migrating to the new Pango stuff as quickly
8835         as possible.)
8836
8837 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
8838
8839         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
8840
8841 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
8842
8843         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
8844         redoing; there are some bugs in size allocation right
8845         now, the semi-existant distinction between header / day
8846         fonts was removed, but, with Pango, could actually
8847         be made functional in a nice way.
8848         
8849         * gtk/testcalender: Move calender from examples into this
8850         directory as a test program. (We really need to restrcture
8851         testgtk into a whole directory full of tests for every
8852         widget or functionality group, separated into multiple .c
8853         files.)
8854
8855 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
8856
8857         * gtk/testgtk.c (file_exists): Fix stupid typo that
8858         was keeping RC file from being loaded.
8859
8860         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
8861         RC file font code.
8862
8863 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
8864
8865         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
8866         Add function to load a GdkFont from a PangoFontDescription.
8867
8868 2000-05-29  Tor Lillqvist  <tml@iki.fi>
8869
8870         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
8871         variable should be of type GdkEventPrivate.
8872
8873 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
8874
8875         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
8876         to have any widget for the label, use a GtkLabel widget
8877         to display the text. (Based partially on a patch from
8878         Anders Carlson.)
8879
8880         (Quite a bit of code reorganization - strip 90% of the
8881         guts out of gtkaspectframe and add a single virtual
8882         func to GtkFrameClass - compute_child_allocation.)
8883
8884 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
8885
8886         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
8887         (Removed clist->row_center_offset field because caching
8888         it wasn't saving time or code, added private function
8889         _gtk_clist_create_cell_layout()).
8890
8891 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
8892
8893         * gtk/gtkaccellabel.c: Pangoized.
8894
8895         * gtk/[hv]ruler.c: Pangoized
8896
8897 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
8898
8899         * gtk/gtkfilesel.c (gtk_file_selection_init):
8900         Use gtk_clist_set_column_auto_resize() to remove need
8901         need for manual column width computations.
8902
8903 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
8904
8905         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
8906         ensuring Pango correctness, and considerably simplifying the
8907         code.
8908         
8909         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
8910
8911         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
8912         getting of numbers of lines.
8913
8914         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
8915         to the actual requested width of the lable, not to the wrap
8916         width we set.
8917
8918         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
8919
8920         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
8921           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
8922
8923         * gtk/gtktextview.c: Fix structure inheritance.
8924
8925         * gtk/gtkprogressbar.c: Pangoize.
8926
8927 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
8928
8929         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
8930         in a function.
8931
8932         * gtk/gtktextlayout.c (find_display_line_above): Fixed
8933         bug with computing line tops.
8934
8935         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
8936
8937 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8938
8939         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
8940         and y_offset coordinates to do what we need now. (The offset between
8941         buffer and layout coordinates has been reintroduced, but is a 
8942         bit different than before.)
8943
8944         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
8945         handle the adjustments ourselves, and scroll as necessary using
8946         the new gdk_window_scroll().
8947         
8948         The advantage of this is that when we are incrementally revalidating,
8949         we are essentially rearranging things around the visible portion
8950         of the screen. With the old setup, the visible portion of the
8951         screen was moved around in the layout, so scrolling and redrawing
8952         to track that caused jumping of the display. Since we now
8953         control the scrolling ourselves, we can suppress this and
8954         only redraw when things actually change.
8955
8956 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
8957
8958         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
8959         the region not just redisplay it after-all, since we store the
8960         cursors in the LineDisplay. (Ugly interactions here between
8961         GtkLayout and GtkTextBTree here.)
8962         
8963         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
8964
8965 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
8966
8967         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
8968         Added function to scroll contents of a window while keeping the
8969         window constant. Works by XCopyArea or guffaw-scrolling depending
8970         on the details of how the window is set up. (guffaw-scrolling
8971         still needs to be filled in.)
8972
8973 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
8974
8975         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
8976         move the debugging that was tied to a global variable
8977         to that.
8978
8979         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
8980
8981         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
8982         validated flag, in line data instead of setting height/width to
8983         -1. This allows us to perform operations with partially invalid
8984         buffer (using the old size for invalid lines) and thus to do
8985         incremental vaidation. Keep height/width aggregates up to date
8986         when deleting text and rebalancing the tree.
8987
8988         * gtk/gtktextbtree.[ch]: Add functions validate a line
8989         (gtk_text_btree_validate_line), and to validate up
8990         to a number of pixels (gtk_text_btree_validate).
8991
8992         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
8993         that indicates that something is changed and a revalidation
8994         pass is needed. Change ::need_repaint to ::changed, and
8995         make it take old and new yranges instead of a rectangle.
8996
8997         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
8998         the line_data_destroy() function from 
8999         gtk_text_btree_add_view() to a virtual function in 
9000         GtkTextLayout
9001
9002         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
9003         since we are handling partial repaints in a different fashion
9004         now.
9005
9006         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
9007         of the selection instead of queueing a repaint on the
9008         entire widget.
9009
9010         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
9011         get_selection_bounds() down to btree, make the function
9012         in buffer a wrapper around the btree function.
9013
9014         * gtk/gtktextlayout.[ch]: Add functions to check if the
9015         layout is valid and to recompute either a range of pixels
9016         aroudn a line or a certain total number of pixels.
9017
9018         * gtk/gtktextlayout.[ch]: Cache a single line display;
9019         now that we only redraw the needed portions, the hit rate
9020         for this cache is quite high.
9021         
9022         * gtk/gtktextview.[ch]: Keep track of the first paragraph
9023         on the screen so that when re-laying-out the buffer, we can
9024         keep the same place. This requires connecting to ::value_changed
9025         on the adjustments
9026
9027         * gtk/gtktextview.[ch]: Add idle functions to revalidate
9028         the buffer after we receive an ::invalidated signal.
9029         
9030 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
9031
9032         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
9033         to max of allocation and layout size, not just to the
9034         layout size.
9035
9036         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
9037         Invalidate window so it gets redrawn properly.
9038
9039         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
9040         to mean the entire window.
9041
9042         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
9043         into public header.
9044
9045 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
9046
9047         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
9048         to get the name of a mark.
9049
9050         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
9051         to find the paragraph from a y position.
9052
9053 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
9054
9055         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
9056         nodes have width/height >= 0, not > 0.
9057
9058 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
9059
9060         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
9061         Add a size_only flag, so when we only need the size, we don't create
9062         useless appearance attributes.
9063
9064         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
9065         duplicate setting of font description.
9066
9067         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
9068
9069 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9070
9071         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9072         EXTRA_DIST. It does not work well when the file that
9073         everything depends on is not in the tarball.
9074
9075 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9076
9077         * gtk/testgtk.c: Some hacks and fixes so that it basically
9078         works when not sitting in the GTK+ build tree.
9079
9080 2000-05-03  Havoc Pennington  <hp@redhat.com>
9081
9082         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9083         Properly determine the ordering of the tag root and the current
9084         line within the tree. Previous algorithm only worked if the tag
9085         root's immediate parent was the common root of both the current
9086         line and the tag root.
9087
9088 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
9089
9090         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
9091         alignment.
9092
9093         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
9094         the widget text directional dynamically.
9095
9096         * gtk/gtktextview.[ch]: Added functions to get and set default
9097         wrap mode.
9098
9099 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
9100
9101         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
9102         in cursor location computation.
9103
9104 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
9105
9106         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
9107         vadjusment values properly when layout gets smaller.
9108
9109         * gtk/gtktextview.c (need_repaint_handler): Areas being
9110         passed in are far completely inaccurate, and sometimes
9111         too small, so, for now, just queue a redraw on the
9112         whole visible region.
9113
9114 2000-04-25  Havoc Pennington  <hp@redhat.com>
9115
9116         * gtk/gtktextbtree.c (summary_destroy): new function to 
9117         destroy tag summary nodes
9118         (gtk_text_line_next_could_contain_tag): this function was 
9119         totally broken if the line passed in wasn't below the tag
9120         root. Fix it.
9121         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
9122         "wildcard" case, we have to do a linear scan. Blah.
9123         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
9124         we have to do the linear scan
9125         (tag_removed_cb): When a tag is removed from the tag table, 
9126         remove the GtkTextTagInfo node from the btree.
9127         (gtk_text_btree_spew): Implement the spew function, for 
9128         our debugging pleasure.
9129
9130 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
9131
9132         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
9133         a problem with referring to the wrong buffer.
9134
9135         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
9136
9137         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
9138         font description to gtk_style_new() - otherwise things
9139         don't work without a .gtkrc file.
9140
9141         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
9142         tags table if we create it ourself, too.
9143
9144         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
9145         it was conflicting with XKB modifiers.
9146
9147         * gtk/gtktextview.[ch]: Add simple support for 
9148         GtkIMContext.
9149
9150 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
9151
9152         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
9153         with deletion from last commit.
9154
9155 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
9156
9157         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
9158         in the context from the current locale.
9159         
9160         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
9161         context, not hardcoded value.
9162
9163         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
9164         not logical.
9165
9166 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9167
9168         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
9169         attributes - that doesn't handle partial-glyph selection
9170         properly. Instead use new pango_layout_line_get_x_ranges()
9171         functionality to draw the selection.
9172
9173         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
9174         now properly handles out-of-range coordinates.
9175
9176         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
9177
9178         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
9179         public.
9180
9181         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
9182         for paragraphs opposite to the base direction of the widget.
9183
9184         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
9185
9186         * gtk/gtktextlayout.c: Don't split segments on marks, since that
9187         causes Arabic words to reshape as you cursor through.
9188
9189         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
9190         cursor position when moving vertically with the arrow keys and
9191         scrolling with page-up/page-down. (Arrow keys save only the X,
9192         scrolling saves both X and Y.)
9193
9194         This means you can line-up / line-down or page-up / page-down
9195         without losing your place, and also that moving vertically
9196         with the cursor keys keeps the same X position, not the same
9197         character count:
9198
9199         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
9200         arrow keys move by display lines, not paragraphs.
9201
9202 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9203
9204         * gtk/gtklayout.c: Make sure that the bin window is at least
9205         as big as the allocation. (Should we also make sure that the
9206         bin window is big enough to completely cover widget->window?)
9207
9208         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
9209         function to get the onscreen rectangle.
9210
9211         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
9212         for offsets in window coordinates.
9213
9214 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
9215
9216         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
9217         confusion.
9218
9219         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
9220         from the widget direction.
9221
9222         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
9223         Add a "direction" attribute.
9224
9225         * gtk/gtktextview.c: global s/tkxt/text_view/.
9226
9227         * gtk/testtext.c: Added long block of text in Arabic, to test out
9228         the direction attributes. (Some problems with the shaping system
9229         for arabic become obvious - like the fact the cursor splits words
9230         into unjoined pieces.)
9231
9232 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
9233
9234         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
9235
9236         * gtk/gtktextlayout.c: Fix up alignment.
9237
9238         * gtk/testtext.c: Add some tests for centering, wrapping.
9239
9240 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
9241
9242         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9243         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
9244         If we wrote GTK+-specific layout-render function this could just replace
9245         the draw_layout() operation in the vtable.
9246
9247         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
9248         pango_layout_get_cursor_pos() and use that function.
9249
9250         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
9251         is a non-static symbol.
9252
9253         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
9254         with gtk_text_btree_find_line_by_y()
9255
9256         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
9257         renderer that handles GtkTextAppearance attributes.
9258
9259         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
9260
9261           - Move the values in the style that don't affect geometry into a
9262             GtkTextAppearance structure.
9263           - Change underline to take a PangoUnderline and "font" a string
9264             representation of a font description
9265           - Add a "font_desc" attribute which takes a FontDescription structure.
9266
9267         * gtk/gtktextlayout.[ch]:
9268
9269           - Get rid of the display-line list per each line. Instead, we
9270             generate, on demand, a GtkTextLineDisplay structure which]
9271             contains a PangoLayout * and other necesary information
9272             (offsets, cursor locations) for displaying a paragraph.
9273           - Get rid of the code to wrap lines, create display chunks,
9274             etc. Instead, we just go through a paragraph and convert
9275             it into the necessary inputs to a PangoLayout.
9276           - Implement a new attribute type, GtkTextAttrAppearance. This
9277             holds a GtkTextAppearance, and is used to pass colors, 
9278             stipple, etc, through from the layout to the display without
9279             having to use lots and lots of individual attributes.
9280           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
9281             in terms of PangoLayout functions.
9282         
9283         * gtk/gtktextview.c: 
9284          
9285           - Handle passing the necessary PangoContext to the layout
9286           - Some fixups in painting to deal with the automatic backing store
9287             and offsetting of GTK+-1.4
9288           - Add a style_set handler so that the default style reacts
9289             properly to theme changes.
9290         
9291         * gtk/gtktext?*.[ch]: Random code-style fixes.
9292
9293         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
9294
9295 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
9296
9297         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
9298         in original form preparatory to Pango-ization and gdkimcontext-ization.
9299
9300 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
9301
9302         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
9303         so that we can derive from gtkimcontext in language bindings properly.
9304
9305 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
9306
9307         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
9308         Add a compose table including (almost) all the compose combinations
9309         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
9310         data in the XIM implementation.
9311
9312         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
9313         Moved functions to convert keyvalues from and to unicode here from
9314         the win32 port and made them public.
9315
9316 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9317
9318         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
9319
9320 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
9321
9322         * gtk/gtkimcontext.[ch]: Base class for new input context system
9323
9324         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
9325         the real input context implementation to be loaded from modules
9326         and switched on the fly.
9327
9328         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
9329         context that just does direct keysymbol => unicode translation.
9330
9331         * gtk/gtkentry.[ch]: Start switching editing over to using
9332         GtkInputContext. (No handling of preedit yet.)
9333
9334 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
9335
9336         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
9337         many substitutions. (klass should not be subsituted.)
9338
9339 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
9340
9341         * configure.in: Add checks for Pango
9342
9343         * configure.in docs/Makefile.am: Add test for sgml2html
9344         and allow 'make dist' without building html, but print out
9345         warnings in that case. (For making snapshots)
9346
9347         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
9348         Add Pango libraries and C flags
9349
9350         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9351         Add function (gdk_draw_layout) to draw a pango layout.
9352
9353         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
9354         for getting Pango contexts for GDK.
9355
9356         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
9357
9358         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
9359         editing.
9360
9361         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
9362         keysym => unicode translations. More languages can be added
9363         here, but real input-method support is needed.
9364
9365         * docs/Changes-1.4.txt: Added note about entry behavior.
9366         
9367         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
9368         to set the reading direction for a widget and the global direction.
9369         Add test which allows toggling the global direction. Two private
9370         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
9371
9372         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
9373           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
9374
9375         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
9376
9377         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
9378         underlining now handled by Pango.
9379
9380         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
9381         to RCStyle and Style. (Having both this and the old font name and GdkFont 
9382         is temporary.)
9383
9384         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
9385         convenience functions for creating contexts and layouts for widgets.
9386
9387         * gtk/testgtk.c: Enhance label tests with multilingual labels.
9388
9389 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
9390
9391         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
9392         titles to be active, even if they aren't visible.
9393         (gtk_clist_column_titles_passive):  Ditto.
9394
9395 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
9396
9397         * gtkmenu.c:
9398         * gtkmenu.h:
9399         * gtktypeutils.h: Spelling/grammar fixes in comments.
9400
9401 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
9402
9403         * gdk/nanox/*.h: add missing header files.
9404
9405 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
9406
9407         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
9408         send_event to TRUE.
9409         (gtk_drawing_area_size): queue a resize.
9410
9411 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
9412
9413         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
9414         the handlers, also invalidate them. bug nailed down by Karl Nelson
9415         <kenelson@ece.ucdavis.edu>.
9416
9417 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
9418
9419         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
9420         "(nil)" foundries, patch from Grigorios Magklis.
9421
9422         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
9423         on non-available fonts, based on a patch by Grigorios Magklis
9424         <maglis@cs.rochester.edu>.
9425
9426 2000-05-18  Elliot Lee  <sopwith@redhat.com>
9427
9428         * gdk/x11/gdkregion-generic.c: If a region does not have any
9429         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
9430         instead of GDK_OVERLAP_RECTANGLE_IN.
9431
9432 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
9433
9434         * gtk/gtklayout.c (gtk_layout_map): Remove references to
9435         OFFSCREEN, as it is no longer necessary.
9436
9437 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
9438
9439         * gtk/gtkcolorsel.c: Patch from David Santiago
9440         <mrcooger@cyberverse.com> to change things so that the 
9441         indicator of the active palette entry is done independently,
9442         not via the focus, since it should always be visible.
9443
9444 2000-05-17  Tor Lillqvist  <tml@iki.fi>
9445
9446         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
9447         refcount leaks as in the X11 backend.
9448
9449         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
9450         cosmetics.
9451
9452         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
9453         backend. Add _gdk_windowing_window_destroy().
9454
9455         * gtk/gtkcolorsel.c: Include correct backend-specific header.
9456         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
9457         either, but these probably do exist on nanox?)
9458         
9459         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
9460         which isn't necessarily defined by <math.h>.
9461
9462         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
9463         ancestry past GtkObject.
9464
9465         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
9466         from DLL on Win32.
9467
9468         * gtk/gtk.def: Update corresponding to recent changes.
9469
9470         * gtk/makefile.{cygwin,msc}: Updates.
9471
9472 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
9473
9474         * docs/Changes-1.4.txt: A bit of editing.
9475
9476         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
9477         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
9478         to clear the update area for the window, and clear it
9479         when hiding a window.
9480
9481         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
9482         if window destroyed.
9483
9484         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
9485
9486         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
9487         gdk_window_destroy() to the generic code, since there was a lot of 
9488         window-system-independent logic it in. Add a function:
9489         
9490          _gdk_window_destroy() 
9491
9492         to the internal API to destroy a window without unreferencing it.
9493         Add a function:
9494
9495          _gdk_windowing_window_destroy()
9496
9497         That does the windowing-system-dependent part of destroying 
9498         the window.
9499
9500 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
9501
9502         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
9503
9504 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
9505
9506         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
9507         Make gtk_widget_shape_combine_mask() keep a reference count on
9508         the pixmap since it keeps it around.
9509
9510 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
9511
9512         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
9513         leak.
9514
9515         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
9516         leak with event filters.
9517
9518 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
9519
9520         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
9521         signal handlers with the right data arguments. (Fixes
9522         some warnings when a widget was repeatedly set as a drag
9523         destination.)
9524
9525         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
9526         window so we can avoid avoid setting the DND properties on the
9527         toplevel window repeatedly.
9528
9529 2000-05-13  Tor Lillqvist  <tml@iki.fi>
9530
9531         * gdk/win32/gdkwin32.h: Define more message types missing from
9532         mingw headers.
9533
9534         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
9535         call gdk_window_destroy_notify(). It was never called. This
9536         probably meant that the GdkWindow was never freed. Thanks Owen for
9537         noticing (!).
9538
9539         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
9540         window as destroyed before calling DestroyWindow(). DestroyWindow()
9541         causes a call to the window procedure (gdk_WindowProc), which
9542         calls gdk_event_translate(), which calls
9543         gdk_window_destroy_notify(), which gets confused unless the window
9544         is set as destroyed.
9545
9546         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
9547         this function to indicate it's win32 only. Put inside #ifdef
9548         G_ENABLE_DEBUG.
9549
9550         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
9551         debugging function. (gdk_event_translate:) Add a default branch
9552         that uses the above function to print debug messages with all
9553         Windows messages symbolically.
9554
9555         * gdk/win32/gdkprivate-win32.h: Declare it, and
9556         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
9557
9558 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
9559
9560         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
9561         public header file.
9562
9563 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
9564
9565         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
9566
9567         * gtk/gtktext.c: made the adjustments no-construct args, simply
9568         provide default adjustments.
9569         (gtk_text_destroy): release adjustments.
9570
9571         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
9572         adjustment argument non-construct.
9573
9574         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
9575         instead of in finalize.
9576         (gtk_progress_get_text_from_value): 
9577         (gtk_progress_get_current_text): 
9578         (gtk_progress_set_value): 
9579         (gtk_progress_get_percentage_from_value): 
9580         (gtk_progress_get_current_percentage): 
9581         (gtk_progress_set_percentage): 
9582         (gtk_progress_configure): ensure an adjustment is present.
9583
9584 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
9585
9586         * gtk/gtkcolorsel.[hc]:
9587         * gtk/gtkcolorseldialog.[hc]:
9588         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
9589         their parent implementation, use bit fields for boolean values, don't
9590         create unused widgets, usage of glib types, braces go on their own
9591         lines, function argument alignment, #include directives etc. etc. etc..
9592
9593         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
9594
9595 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
9596
9597         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
9598
9599         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
9600         of NULL.
9601
9602         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
9603         to freed data.
9604         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
9605
9606         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
9607         to NULL when the toplevel is getting destroyed.
9608         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
9609         (gtk_menu_destroy): 
9610         (gtk_menu_init): store the information of whether we have to
9611         readd the initial child ref_count during destruction in a new
9612         GtkMenu field needs_destruction_ref_count.
9613
9614         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
9615         here, those reading: learn from my mistake! ;)
9616         in order for set_?adjustment to support a default adjustemnt if
9617         invoked with an adjustment pointer of NULL, the code read (pseudo):
9618         if (v->adjustment) unref (v->adjustment);
9619         if (!adjustment) adjustment = adjustment_new ();
9620         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
9621         now imagine the first unref to actually free the old adjustment and
9622         adjustment_new() creating a new adjustment from the very same memory
9623         portion. here, the latter comparision will unintendedly fail, and
9624         all hell breaks loose.
9625         (gtk_viewport_set_hadjustment):
9626         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
9627         after unreferencing it.
9628
9629         * gtk/gtkcontainer.[hc]: removed toplevel registration
9630         functions: gtk_container_register_toplevel(),
9631         gtk_container_unregister_toplevel() and
9632         gtk_container_get_toplevels() which had wrong semantics
9633         anyways: it didn't reference and copy the list.
9634
9635         * gtk/gtkwindow.c: we take over the container toplevel registration
9636         bussiness now. windows are registered across multiple destructions,
9637         untill they are finalized. the initial implicit reference count
9638         users are holding on windows is removed with the first destruction
9639         though.
9640         (gtk_window_init): ref & sink and set has_user_ref_count, got
9641         rid of gtk_container_register_toplevel() call. add window to
9642         toplevel_list.
9643         (gtk_window_destroy): unref the window if has_user_ref_count
9644         is still set, got rid of call to
9645         gtk_container_unregister_toplevel().
9646         (gtk_window_finalize): remove window from toplevel list.
9647         (gtk_window_list_toplevels): new function to return a newly
9648         created list with referenced toplevels.
9649         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
9650
9651         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
9652         adjustment a non-construct arg.
9653         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
9654         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
9655         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
9656
9657         * gtk/gtkrange.c: added some realized checks.
9658         (gtk_range_destroy): get rid of the h/v adjustments in the
9659         destroy handler instead of finalize. remove timer.
9660         (gtk_range_get_adjustment): demand create adjustment.
9661
9662         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
9663         we simply create them on demand now and get rid of them in
9664         the destroy handler.
9665         (gtk_viewport_destroy): get rid of the h/v adjustments in the
9666         destroy handler instead of finalize.
9667         (gtk_viewport_get_hadjustment): 
9668         (gtk_viewport_get_vadjustment): 
9669         (gtk_viewport_size_allocate): demand create h/v adjustment
9670         if required.
9671
9672         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
9673         gtk_widget_real_destroy () functionality.
9674         (gtk_widget_real_destroy): reinitialize with a new style, instead
9675         of setting widget->style to NULL.
9676
9677 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
9678
9679         * gtk/gtkcalendar.c:
9680         * gtk/gtkbutton.c: ported _get_type() implementation over to
9681         GType, either to preserve memchunks allocation facilities,
9682         or because Gtk+ 1.0 GtkTypeInfo was still being used.
9683
9684         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
9685         over. prepare for ::destroy to be emitted multiple times.
9686         removed reference tracer magic. chain into GObjectClass.shutdown()
9687         to emit ::destroy signal.
9688
9689         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
9690         fundamental.
9691
9692         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
9693         cludge.
9694
9695         * gtk/gtksocket.c:
9696         * gtk/gtkplug.c:
9697         * gtk/gtklayout.c:
9698         * gtk/gtklabel.c:
9699         * gtk/gtkargcollector.c:
9700         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
9701         not being a fundamental anymore, and to work with the new
9702         type system (nuked fundamental type varargs clutter).
9703
9704         * gtk/*.c: install finalize handlers in the GObjectClass
9705         part of the class structure.
9706         changed direct GTK_OBJECT()->klass accesses to
9707         GTK_*_GET_CLASS().
9708         changed direct object_class->type accesses to GTK_CLASS_TYPE().
9709
9710         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
9711         GType. made most of the GTK_*() type macros and Gtk* typedefs
9712         simple wrappers around macros and types provided by GType.
9713         most notably, a significant portion of the old API vanished:
9714         GTK_TYPE_MAKE(),
9715         GTK_TYPE_SEQNO(),
9716         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
9717         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
9718         GTK_TYPE_ARGS,
9719         GTK_TYPE_CALLBACK,
9720         GTK_TYPE_C_CALLBACK,
9721         GTK_TYPE_FOREIGN,
9722         GtkTypeQuery,
9723         gtk_type_query(),
9724         gtk_type_set_varargs_type(),
9725         gtk_type_get_varargs_type(),
9726         gtk_type_check_object_cast(),
9727         gtk_type_check_class_cast(),
9728         gtk_type_describe_tree(),
9729         gtk_type_describe_heritage(),
9730         gtk_type_free(),
9731         gtk_type_children_types(),
9732         gtk_type_set_chunk_alloc(),
9733         gtk_type_register_enum(),
9734         gtk_type_register_flags(),
9735         gtk_type_parent_class().
9736         replacements, where available are described in ../docs/Changes-1.4.txt.
9737         implemented compatibility functions for the remaining API.
9738
9739         * configure.in: depend on glib 1.3.1, use gobject module.
9740
9741 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
9742
9743         * TODO.xml: Various updates to current status.
9744
9745 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
9746
9747         * gtk.m4: Print out version when test succeeds.
9748
9749 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
9750
9751         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
9752         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
9753         
9754         (Original triangle color selector from Simon Budig
9755         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
9756         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
9757         Santiago <mrcooger@cyberverse.com>)
9758
9759         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
9760         out into a separate widget.
9761
9762         * gtk/testgtk.c: Add some checkbuttons for toggling palette
9763         and opacity controls.
9764
9765 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
9766
9767         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
9768         snuck in prematurely.
9769
9770 2000-05-07  Tor Lillqvist  <tml@iki.fi>
9771
9772         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
9773         had deleted a ! operator by mistake, which caused
9774         GDK_SELECTION_CLEAR events never to be generated, which caused
9775         only the first copy to the clipboard from an gtkeditable to
9776         actually cause a copy to the Windows clipboard.
9777
9778 2000-05-06  Tor Lillqvist  <tml@iki.fi>
9779
9780         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
9781         compilation, too. Current mingw gcc distributions include the
9782         necessary headers. Also the necessary IIDs are now in mingw
9783         headers/libraries, and own definitions unnecessary.
9784
9785         More hacking on OLE2 DND, still doesn't work though, and thus
9786         ifdeffed out.
9787
9788         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
9789         here, too.
9790
9791 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
9792
9793         * gdk/nanox/*: nano-X port work in progress.
9794         * gdk/simple.c: simple test for Gdk.
9795         * README.nanox: notes about the port: read this first!
9796         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
9797         with nano-X.
9798
9799 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
9800
9801         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
9802         gdk_window_clear() into common code, implement in terms of
9803         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
9804         not redirected to the backing rectangle.
9805
9806 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9807
9808         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9809         EXTRA_DIST. It does not work well when the file that
9810         everything depends on is not in the tarball.
9811
9812 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
9813
9814         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
9815         with recursion where process_updates() is called from
9816         an expose handler. (GtkTextView is highly broken in
9817         doing this, but it should work, so it is a nice test
9818         case.)
9819
9820 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9821
9822         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
9823         handle the case where updates are queued during processing of
9824         updates.
9825
9826 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9827
9828         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
9829         window is on gdk_display - use that instead of segfaulting.
9830
9831 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
9832
9833         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
9834         broken and require an empty arg, give it to them.
9835
9836 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
9837
9838         * gtk/gtklabel.h: indentation fixes.
9839
9840 2000-05-02  Tor Lillqvist  <tml@iki.fi>
9841
9842         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
9843         draw too narrow or too low arcs, they seem to fail, at least with
9844         some display drivers.
9845
9846         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
9847
9848         Large changes to the Win32 backend, partially made necessary by
9849         the changes to the backend-independent internal
9850         structures. Attempts to implement similar backing store stuff as
9851         on X11. The current (CVS) version of the Win32 backend is *not* as
9852         stable as it was before the no-flicker branch was merged. A
9853         zipfile with that version is available from
9854         http://www.gimp.org/win32/. That should be use by "production"
9855         code until this CVS version is usable. (But note, the Win32
9856         backend has never been claimed to be "production quality".)
9857
9858         * README.win32: Add the above comment about versions.
9859
9860         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
9861
9862         * gdk/gdk.def: Update.
9863
9864         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
9865         presumably be replaced by some more better mechanism as 1.4 gets
9866         closer to release shape.
9867
9868         * gdk/makefile.{cygwin,msc}: Update.
9869
9870         * gdk/win32/*.c: Correct inclusions of the backend-specific and
9871         internal headers. Change code according to changes in these. Use
9872         gdk_drawable_*, not gdk_window_* where necessary.
9873
9874         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
9875         our old DND.
9876
9877         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
9878         to interpret single characters as UTF-8. Thanks to Hans Breuer.
9879         Use correct function name in warning messages.
9880
9881         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
9882         GSourceFuncs gdk_event_prepare and gdk_event_check.
9883         (gdk_event_get_graphics_expose): Do implement, use
9884         PeekMessage. Thanks to Hans Breuer.
9885         (event_mask_string): Debugging function to print an GdkEventMask.
9886         (gdk_pointer_grab): Use it.
9887
9888         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
9889         (old) book I used claimed was Hangul actually is CJK Unified
9890         Ideographs Extension A. Also, Hangul Syllables were missing.
9891         Improve logging.
9892
9893         * gdk/win32/gdkgc-win32.c: Largish changes.
9894
9895         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
9896         g_win32_getlocale() from GLib, and not setlocale() to get current
9897         locale name.
9898
9899         * gdk/win32/gdkprivate-win32.h
9900         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
9901         gdkwin32.h, similarily as in the X11 backend.
9902
9903         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
9904         assignment was used instead of equals in if test. Thanks to Hans
9905         Breuer.
9906
9907         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
9908         the X11 version.
9909
9910         * gdk/win32/makefile.{cygwin,msc}
9911         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
9912         path to the Win32 headers that works also with the mingw compiler.
9913
9914         * gtk/gtkstyle.c: Include <string.h>.
9915
9916 2000-04-26  Havoc Pennington  <hp@redhat.com>
9917
9918         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
9919         replacing the broken gtk_label_get ()
9920
9921 2000-04-15  Havoc Pennington  <hp@pobox.com>
9922
9923         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
9924         this keeps scanner scripts from getting confused.
9925
9926         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
9927         data, rather than void
9928
9929 2000-04-15  Tor Lillqvist  <tml@iki.fi>
9930
9931         * gtk/gtkclist.c (gtk_clist_motion)
9932         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
9933         with is_hint FALSE, get x and y from the event. They used to be
9934         used uninitialised. The Win32 backend never sends motion events
9935         marked as hints. This for instance fixes the annoying file and
9936         font selector behaviour in the Win32 version.
9937
9938 2000-04-14  Tor Lillqvist  <tml@iki.fi>
9939
9940         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
9941         gtk_private_n_signals variables, they are used by some software,
9942         sigh.
9943
9944         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
9945         installation directory from the Registry, where the installer
9946         should have put it.
9947
9948 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
9949
9950         * gdk/x11/Makefile.am: Fix problem with installation directory for
9951         gdkx.h
9952
9953         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
9954         <mrcooger@cyberverse.com> so that when selecting menus with the
9955         mouse, the first item will not be selected, but when selecting
9956         with an accelerator, or navigating left-right on a menubar with
9957         the menus popped up, the first item will be selected.
9958
9959 2000-04-05  Dan Damian  <dand@dnttm.ro>
9960
9961         * configure.in: Added "ro" to ALL_LINGUAS.
9962
9963 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
9964
9965         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
9966         indentation.
9967
9968         * Makefile.am (EXTRA_DIST): Fix typo.
9969
9970         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
9971         to catch gdkconfig.h
9972
9973         * gtk/gtkitemfactory.c: Added FIXME.
9974
9975 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
9976
9977         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
9978         s/return_if_fail/return_val_if_fail/g and add a return value.
9979
9980 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9981
9982         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
9983         merge slipup.
9984
9985         * gdk/gdkinput.h: Fix missing line from merge.
9986
9987 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
9988
9989         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
9990         instead of gdkprivate.h.
9991
9992 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
9993
9994         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
9995         parent class to correctly be GtkDialogClass.
9996
9997 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
9998
9999         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
10000         toplevel windows and their immediate children by their parents,
10001         since the size of toplevel windows is out of our immediate
10002         control and we don't get any real benefit from trying to track
10003         this size for clipping.
10004
10005         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
10006         for input_only windows.
10007
10008         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
10009         to fix some hacks and make sure that we don't try to set the
10010         background of input only windows.
10011
10012 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
10013
10014         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
10015         the _really_ internal stuff, and leave gdkprivate.h for the fake private
10016         stuff that we've traditionally exposed.
10017
10018         * gdk/**.c: Use gdkinternals.h where appropriate.
10019
10020         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
10021         not include gdkprivate-x11.h, move all stuff of conceivable public
10022         interest into gdkx.h; keep all really private stuff in
10023         uninstalled header gdkprivate-x11.h.
10024
10025         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
10026         image->image_put on windows through a new function _gdk_window_draw_image()
10027         to allow us to do backing store for images. (Sort of ugly)
10028
10029         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
10030         contexts locally so that we can offset them properly when drawing 
10031         onto backing pixmaps.
10032
10033         * gdk/gdkinput.h: Reindented
10034
10035         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
10036         pixmap or color for the window, so we can properly initialize
10037         our double-buffer pixmaps, and also so that we temporarily set
10038         a background of None while scrolling.
10039
10040         * gdk/gdkregion.h: Revise region boolean operators to have an
10041         interface that is actually convenient - switch from creating new
10042         regions on every op, to "methods" that modify existing regions
10043         (A = A OP B). 3 argument forms which allow dest == src, would also
10044         be possible, but the current interfaces seem to map nicely
10045         onto what needs to be done. (There is quite a lot of region
10046         code in GDK now.)
10047
10048         * gdk/gdkregion.h: Add constructor from rectangle and a copy
10049         operator.
10050
10051         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
10052         gdkpoly-generic.h: Copy region code from Xlib, switch it over
10053         to 32 bit coordinates, modify it to be mostly GTK+ style
10054         and to have interfaces that match gdkregion.h.
10055
10056         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
10057         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
10058         create a backing pixmap and redirect all drawing to
10059         that backing pixmap until a matching gdk_window_end_paint().
10060
10061         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
10062         Create a special drawable class for GtkWindow's that 
10063         redirects the drawing to the backing pixmap as necessary
10064         and then calls the real operations in _gdk_windowing_window_class.
10065
10066         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
10067         Store invalid region for each window. Generate expose events for invalid
10068         region in an idle. This replaces both the expose compression
10069         and the redrawing queuing in GTK+. It is both more efficient and
10070         simpler than either one individually and far more so then the
10071         combination.
10072
10073         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
10074         Emulate 32 bit coordinates for windows with 16 bit coordinates
10075         by offsetting drawing, guffaw scrolling techniques and
10076         mapping/unmapping child windows as necessary.
10077
10078         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
10079         where, when invalid regions are processed, the region is stored,
10080         and if expose events come in that are detectably duplicate
10081         the processed exposes (by comparison of event serial numbers),
10082         the stored region is subtracted out of those exposes.
10083
10084         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
10085         regions newly exposed when scrolling or resizing windows.
10086         This, combined with forcing processesing of queued invalidated
10087         regions, gives nice flicker-free scrolling.
10088
10089         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
10090         invalidated regions after every scroll.
10091
10092         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
10093         emulation in GDK. Its, for all practical purposes just a
10094         GtkViewport/GtkFixed hybrid now.
10095
10096         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
10097         (16-bit) structures as necessary instead of just casting.
10098
10099         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
10100         in terms of the structures from gdkregion-generic.c, using appropriate
10101         offsets from GDK to X11 coordinates. Cache clip mask and
10102         origin and ts origin locally and only flush to the server
10103         when drawing, to avoid constantly setting and resetting these
10104         values when offsetting GC's for scrolling and backing pixmaps.
10105
10106         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
10107
10108         * gtk/gtkcontainer.c: Call process_all_updates at end
10109         of resizing to reduce flicker. (Avoids having redraw
10110         lag arbitrarily behind resize under some circumstances)
10111
10112         * gtk/gtkentry.c: Remove old backing store code, and simply take
10113         advantage of the new backing store capabilities of GDK.
10114
10115         * gtk/gtkmain.c: Simple implementation of widget backing
10116         store - simply push a paint while handling each expose.
10117         (Should really be configurable widget for widget.)
10118         
10119         * gtk/gtkwidget.c: Remove all the old complicated redraw
10120         code, and simply invalidate the GDK windows from
10121         gdk_window_queue_clear(), etc. (Sigh, so much carefully
10122         debugged complexity ... gone to the winds.)
10123
10124         Remove all the code for suppressing expose events while
10125         resizes are pending; this isn't needed since the invalid
10126         areas won't be processed until after the resizes are
10127         processed, since they are in a lower priority idle.
10128
10129 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
10130
10131         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
10132         and height of dest rectangle for non-intersecting rectangles.
10133
10134 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
10135
10136         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
10137         for GdkRectangle.
10138
10139 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
10140
10141         * gdk/gdk{events,image,private,types,window}.h
10142          gdk/x11/gdkinputprivate.h: Change all coordinates
10143          from int16 to int. Also, Change width and height from
10144          unsigned to signed to avoid all the stupid C 
10145          signedness bugs.
10146
10147 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
10148
10149         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
10150         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
10151         Add some more detailed checking.
10152
10153         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
10154         New function to retrieve the depth of a drawable.
10155
10156         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
10157         field, reorder fields to save memory. 
10158
10159 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
10160
10161         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
10162         of the background image instead of scaling the background down to
10163         a line.
10164
10165         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
10166         which temporarily set slider to wrong size.
10167
10168         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
10169         queue_clear().
10170
10171 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
10172
10173 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
10174
10175         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
10176
10177 2000-03-17  Tor Lillqvist  <tml@iki.fi>
10178
10179         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
10180         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
10181
10182         * gdk/win32/gdkfont-win32.c
10183         * gdk/win32/gdkproperty-win32.c
10184         * gdk/win32/gdkselection-win32.c
10185         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
10186         now declared such.
10187
10188 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
10189
10190         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
10191
10192 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
10193
10194         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
10195         is called without trapping X errors.
10196
10197 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
10198
10199         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
10200         way into the fontset lists.
10201
10202 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
10203
10204         * gtk/gtkthemes.h: add extern "C" scope.
10205
10206 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
10207
10208         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
10209         to make appends to the list constant. (gtk-guy-990901-0.patch)
10210
10211 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
10212
10213         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
10214         for the typename hash table.
10215
10216 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
10217
10218         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
10219         to make sure we never divide by zero. 
10220         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
10221
10222 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
10223
10224         * gtk/gtkfontsel.c: Apply patch from
10225         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
10226         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
10227
10228         Also, some cleanups in atom handling.
10229
10230 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
10231
10232         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10233         not GtkWidget.
10234
10235 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
10236
10237         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
10238         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
10239         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
10240         more guint wrap-around bugs before going to bed.
10241
10242 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
10243
10244         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
10245         guint wrap arounds in allocation.width.
10246
10247         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
10248         process untill we fit the allocation given.
10249
10250 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
10251
10252         * gtk/gtkwidget.c:
10253         (gtk_widget_unrealize): guard widget access with ref/unref
10254         around signal emission.
10255         (gtk_widget_hide): same here, but also check its destroyed
10256         state before queueing a resize.
10257
10258 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
10259
10260         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
10261         of gtk_default_insensitive_bg as insensitive base color.
10262
10263         * gtk/gtktext.c (gtk_text_style_set): set the background color according
10264         to the widget's state.
10265         (gtk_text_realize): same here.
10266         (gtk_text_state_changed): same here.
10267         (draw_bg_rect): compare background color against base[] from
10268         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
10269
10270 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
10271
10272         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
10273         grabs are active, unless a delete event is send to the toplevel
10274         of the currently grab holding widget.
10275
10276 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
10277
10278         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
10279         debugging g_print's.
10280
10281 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
10282
10283         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
10284         ever make the scrolled-window requisition ever depend on the 
10285         visibility state of the scrollbars for the AUTOMATIC policy. 
10286         This breaks the GTK+ requisition model, and causes loops.
10287
10288 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
10289
10290         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
10291         the default font to avoid problems with XFree86-4.0 where the
10292         default charset is iso10646-1, not iso8859-1.
10293
10294 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
10295
10296         * acinclude.m4
10297         * config.guess
10298         * config.sub
10299         * ltconfig
10300         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
10301
10302         * gtk/Makefile.am: minor cosmetic consistency tweak
10303
10304 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
10305
10306         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
10307         the activate_time to 0, so that we handle a quick
10308         press/release press/release properly and don't suppress
10309         the second release. (Red Hat bug #7545)
10310
10311 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
10312
10313         * gtk/gtkctree.c (row_delete):
10314         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
10315         bugs with destruction notifier, *always* update internal
10316         structures *before* calling user code.
10317
10318 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
10319
10320         A few more fixes for bug #5487, #2051, #2677.
10321         * gtk/gtkclist.c : 
10322         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
10323         not GDK_BUTTON_PRESS.
10324         (resync_selection): resync only if selection_mode is
10325         GTK_SELECTION_EXTENDED
10326         * gtk/gtkctree.c (resync_selection): same here
10327
10328 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
10329
10330         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
10331         gdk_drag_get_selection() and gtk_menu_detach().
10332
10333         [ From Jeroen Ruigrok/Asmodai ]
10334
10335 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
10336
10337         * gtk/gtknotebook.c (gtk_notebook_size_request): 
10338         page->tab_label can be NULL.
10339
10340 2000-01-25  Havoc Pennington  <hp@pobox.com>
10341         
10342         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
10343         arg is boolean
10344
10345         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
10346
10347         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
10348
10349         * gdk/gdkproperty.c (gdk_property_get): return boolean
10350
10351         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
10352
10353         * gdk/gdkim.c (gdk_im_ready): return boolean
10354
10355         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
10356
10357         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
10358         glib clash, should fix glib)
10359
10360         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
10361         (gdk_get_show_events): return gboolean, and canonicalize 
10362         to TRUE/FALSE
10363
10364         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
10365         colormap is private
10366         (gdk_colors_alloc): gboolean whether to be contiguous
10367         (gdk_color_equal): return gboolean since we are a predicate
10368         and not a qsort() (this looks semi-wrong due to glib breakage,
10369         IMO glib should be fixed)
10370         
10371         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
10372         (gdk_get_use_xshm): return gboolean
10373         (gdk_pointer_is_grabbed): return gboolean
10374
10375         * gdk/gdk.h: Change prototypes to match all the above changes,
10376         and re-run egtk-format-protos as required.
10377
10378 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
10379
10380         * gtk/gtkctree.c (resync_selection): 
10381         * gtk/gtkclist.c (resync_selection):
10382
10383         Return immediately if clist->drag_pos < 0. This is a workaround
10384         for the corrupt state that the clist gets into when a
10385         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
10386
10387         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
10388         
10389         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
10390         variable from recent commit.
10391
10392 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
10393
10394         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
10395
10396 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
10397
10398         * gtk/Makefile.am: prefix all autogenerated source that get build in
10399         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
10400         in builddir. since we subsequently cd into srcdir for autogeneration,
10401         the paths have to be stripped from the target file names, thusly we
10402         use $(@F) as target names now.
10403         put a comment about configure.in's --disable-rebuilds option,
10404         which can be used for non-writable source directories, for development
10405         setups though, srcdir has to be *writable*.
10406
10407 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
10408
10409         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
10410           Finish the job of allowing event to be NULL.
10411           (Fixes bug #4283, reported by Chris Blizzard)
10412
10413         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
10414           things so that the cursor appears on screen, properly
10415           take into account INNER_BORDER.
10416           (Fixes bug #4754, reported by Antonio Campos)
10417
10418 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
10419
10420         * gtk/gtknotebook.c (gtk_notebook_map): Don't
10421           show the tab_label unless it itself is visible.
10422
10423           gtk/gtknotebook.c (gtk_notebook_size_request):
10424           Do a better job of making sure that the visibility
10425           of the tab label corresponds to whether it should
10426           be mapped or not.
10427
10428 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
10429
10430         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
10431           Use the requisition, not the allocation, since the
10432           allocation has not necessarily been computed yet.
10433           (Pointed out by Eugene Osintsev)
10434
10435 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
10436
10437         * gtk/gtkstyle.c (gtk_style_new): Dont' set
10438           style/base[GTK_STATE_INSENSITIVE] both to
10439           gtk_default_insensitive_bg!
10440           (Bug #2187, reported by Jonathan Blandford)
10441
10442         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
10443           Add Alt_L, Alt_R to list of invalid accelerators.
10444           (Bug #3736, reported by Vlad Harchev)
10445
10446 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
10447
10448         * gtk/gtkfilesel.c (open_ref_dir): Fix several
10449         bugs which occured after an attempt to open 
10450         invalid home directory left cmpl_state->reference_dir == NULL.
10451
10452          - completion on files in home directory didn't work
10453          - completion on an empty string caused  segfault
10454
10455          (Bug #3678, reported by Steve Ratcliffe)
10456
10457         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
10458         cut and paste error that was causing scales to
10459         be incorrectly positioned.
10460         (Bug #2956,
10461          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
10462
10463 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
10464
10465         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
10466         when checking for dcgettext, if we've found we needed
10467         it for dgettext.
10468 +
10469 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
10470
10471         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10472         queue_clear on NO_WINDOW widgets during a reparent,
10473         since at that point the window and widget heirarchies
10474         are out of sync. This stops crashing in some cases
10475         (the scrolled window reparent test, for instance), and
10476         _probably_ won't cause drawing errors.
10477
10478         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
10479         test do what it was supposed to do and be robust against
10480         window closings, etc. (Bug #2443)
10481
10482 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
10483
10484         * gtk/gtkentry.c: Fix return values on mouse events.
10485         (Bug #2686, Sky <seb_sky@yahoo.com>)
10486
10487         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
10488         (pointed out by George Lebl)
10489
10490         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
10491         (From Ettore Perazzoli  <ettore@helixcode.com>)
10492  
10493 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
10494
10495         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
10496         clicks between rows or outside calender area correctly.
10497         (Patch from Damon Chaplin)
10498
10499         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
10500         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
10501           Call destroy function when overwriting existing data. 
10502           (Pointed out by Damon Chaplin)
10503
10504 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
10505
10506         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
10507           which was causing problems on various systems with Xmu.
10508           This hasn't been needed for a very long time.
10509           (Fixes #1185 3167)
10510
10511 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
10512
10513         * gdk/gdki18n.h: Include <ctype.h> when defining
10514           gdk_isw* in terms of is* as a fallback.
10515           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
10516
10517 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
10518
10519         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
10520           realize the widget when it is size allocated!
10521           (old, old bug)
10522
10523         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
10524           Removed unused call to gdk_window_get_size() that
10525           showed up when the above was fixed.
10526
10527 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
10528
10529         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
10530           fix up widget->window when the widget is a
10531           NO_WINDOW container widget.
10532
10533 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
10534
10535         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
10536           to account for the fact that feof() does _not_ 
10537           return TRUE on errors, and thus avoid infinite loops
10538           when trying to use gdk_pixmap_create_from_xpm()
10539           on unreadable values.
10540
10541 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
10542
10543         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
10544
10545 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
10546
10547         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
10548           gdk_gc_set_dashes to take gint8 instead of gchar to
10549           make it clearer that it is _not_ a NULL terminated string.
10550
10551         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
10552           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
10553           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
10554           arguments.
10555
10556 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
10557
10558         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
10559         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
10560         background size relative to our allocation, guard against small
10561         allocations, we may have not yet been size allocated.
10562
10563 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
10564
10565         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
10566         not just version == 3. We implement all 3 + most of 4 - 
10567         (we don't support matching text/plain;charset=iso-8859-1
10568         to a dest that expects text/plain). We'll still advertise
10569         3 to be safe, but any client implementing version >= 3
10570         must interoperate with 3.
10571         
10572 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10573
10574         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
10575         background and gc members, add a warning in gtk_tooltips_set_color()
10576         indicating that this function is deprecated.
10577
10578 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
10579
10580         * docs/gtkfaq.sgml: FAQ Update:
10581           - Minor cleanups (Emmanuel, me)
10582           - New questions:
10583                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
10584                 How can I retrieve the text from a GtkMenuItem? (timj)
10585                 How do I validate/limit/filter the input to a GtkEntry? (me)
10586                 Memory does not seem to be released when I free the list
10587                         nodes I've allocated (timj)
10588
10589 2000-03-07  Tor Lillqvist  <tml@iki.fi>
10590
10591         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
10592         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
10593         for which it is no use to call GetLastError onWin9x.
10594         (gdk_other_api_failed) New function, for general error
10595         reporting without calling GetLastError.
10596         (gdk_win32_api_failed) OTOH, this function always calls
10597         GetLastError. (gdk_win32_last_error_string) Remove this function,
10598         GLib has the equivalent now.
10599
10600         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
10601         call them with function name, file name and line number in the
10602         arguments.
10603
10604         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
10605         functions.
10606         
10607         * gtk/gtk.def: Add some missing entry points.
10608
10609         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10610         gtk_paned_set_gutter_size, which don't exist any longer, as void.
10611         
10612         Fixes by Hans Breuer:
10613
10614         * gdk/makefile.msc: Update for debugging.
10615
10616         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
10617         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
10618         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
10619         in the dash_list.
10620
10621         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
10622         the x11 backend.
10623
10624         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
10625
10626         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
10627
10628 2000-03-04  Tor Lillqvist  <tml@iki.fi>
10629
10630         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
10631         just pixel value of background colour.
10632
10633         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
10634         containing code snippet previously duplicated in a couple of
10635         places.
10636         
10637         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
10638         gdk_colormap_color.
10639
10640         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
10641         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
10642         events for autorepeated Shift, Control and Alt keys. Use
10643         gdk_colormap_color.
10644
10645         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
10646         pointer is inside the window the cursor of which we are setting,
10647         call SetCursor immediately.
10648
10649         * gdk/win32/makefile.cygwin
10650         * gtk/makefile.cygwin: If we don't have the build number stamp
10651         file, use zero.
10652
10653         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10654         gtk_paned_set_gutter_size as empty.
10655
10656         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
10657         
10658 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
10659
10660         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
10661           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
10662           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
10663           docs/gtk_tut.sgml docs/gtk.texi TODO:
10664
10665           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
10666
10667 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
10668
10669         * gtk/gtkcalendar.c: Implement num_marked_dates,
10670           and don't emit mutiple day_selected signals on
10671           month_prev.
10672
10673 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
10674
10675         * docs/make-todo (lineno): let title and logo be configurable so
10676         that GNOME can use this script too.
10677
10678         * TODO.xml: added logourl and a title
10679
10680 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
10681
10682         * TODO.xml: Added some UI items, and an explanatory
10683         comment at the top of the file.
10684
10685 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
10686
10687         * TODO.xml: some updates, added abunch of new entries.
10688         a note for those fiddeling with this file, when done
10689         with it, invoke:
10690         $ ./docs/make-todo TODO.xml >/dev/null
10691         and correct output errors before comitting changes.
10692
10693 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
10694
10695         * TODO.xml: Added XML-structured TODO file.
10696         * docs/make-todo: python script to turn TODO.xml into
10697           pretty XML output. 
10698
10699 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
10700
10701         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
10702         the function to let it draw the seven dots, instead of the old,
10703         much maligned, method.
10704         (draw_dot): New function to draw a dot.
10705
10706         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
10707         to draw the handle inside the border width as opposed to outside.
10708         Use paint function instead of gdk_draw_point.
10709
10710         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
10711         to draw the handle inside the border width as opposed to outside.
10712         Use paint function instead of gdk_draw_point.
10713
10714         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
10715         Change indenting to be more GTK like.
10716
10717 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
10718
10719         * docs/gtk_tut.sgml: New section on GtkCalendar
10720         * examples/calendar: Update example code
10721
10722 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
10723
10724         * docs/gtkfaq.sgml: FAQ Update
10725
10726 2000-02-19  Anders Carlsson  <andersca@gnu.org>
10727
10728         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
10729         to prevent the scroll event to be propagated upwards.
10730
10731 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10732
10733         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
10734         OwnerGrabButtonMask from button entries for
10735         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
10736
10737         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
10738         to the event mask (which will result in button/press release
10739         being added to the event mask on Unix) so scrolling works
10740         for layouts in scroll windows.
10741
10742         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
10743
10744         Patch from Anders Carlsson  <andersca@gnu.org> to add
10745         a scroll event.
10746
10747         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
10748         scrolling to the "Test Scrolling" part of testgtk.
10749  
10750         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
10751  
10752         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
10753         it against GDK_SCROLL.
10754  
10755         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
10756         way of mouse wheel scrolling.
10757  
10758         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
10759  
10760         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
10761  
10762         * gtk/gtkmain.c: Removed previous mouse wheel hack.
10763  
10764         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
10765         gdk_event_mask_table.
10766  
10767         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
10768         GdkEventScroll handler.
10769  
10770         * gdk/gdkevents.h: Added GdkEventScroll structure.
10771  
10772 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
10773
10774         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
10775         and Anders Carlsson to change the Paned widgets so that they
10776         can be dragged from anywhere along the length. Also change
10777         the way that this is drawn to make this apparent.
10778
10779         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
10780         from George Lebl to check that option_menu->menu is present
10781         before getting history.
10782
10783 2000-02-14  Tor Lillqvist  <tml@iki.fi>
10784
10785         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
10786         before the assertion for non-NULL segment list.
10787
10788         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
10789         Seems that pattern brushes *must* be 8x8 pixels! At least on my
10790         machine, but it might be display driver dependent. Sigh, so make
10791         sure the stipple is that size. Does Windows suck or what?
10792
10793         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
10794         places.
10795
10796 2000-02-13  Havoc Pennington  <hp@pobox.com>
10797
10798         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
10799         refcount to 1
10800         (gdk_cursor_new): init refcount to 1
10801
10802         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
10803
10804 2000-02-13  Tor Lillqvist  <tml@iki.fi>
10805
10806         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
10807         so that we don't have to do unnecessary settings to the HDC.
10808
10809         * gdk/win32/gdkdrawable-win32.c
10810         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
10811         gdk_gc_predraw.
10812
10813         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
10814         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
10815         GDI paths, call WidenPath to get the outline of the stroken path,
10816         and then fill the outline (with the brush that was built from the
10817         stipple).
10818
10819         * gdk/win32/gdkgc-win32.c: Factor out common code from
10820         _gdk_win32_gc_new and gdk_win32_gc_set_values into
10821         gdk_win32_gc_values_to_win32values. Use correct colour for
10822         SetBkColor() (Until now the code actually used a random colour in
10823         the call to SetBkColor()... but that didn't show up as not many
10824         GDI APIs use the background colour. Pattern (opaque stippled)
10825         brushes do.)
10826
10827         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
10828         gdk_win32_api_failed): New functions for error logging.
10829
10830         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
10831         WIN32_API_FAILED to call them, passing function or file name and
10832         line number.
10833
10834         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
10835
10836         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
10837         GdkColor for foreground and background in GdkGCWin32Data.
10838
10839         * gdk/makefile.cygwin: Link in the resource object separately.
10840
10841         * gdk/win32/rc/gdk.rc
10842         * gtk/gtk.rc (New file)
10843         * gdk/win32/makefile.cygwin
10844         * gtk/makefile.cygwin: Update build number in DLLs automatically,
10845         as in GLib.
10846
10847 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
10848
10849         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
10850         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
10851         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
10852         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
10853         parameters given and cursor->ref_count. coding style fixups.
10854
10855         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10856         not GtkWidget.
10857         
10858         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
10859         fix up widget macros and add _GET_CLASS() variant.
10860         
10861         * gtk/*.c: some GtkType fixups.
10862
10863 2000-02-09  Tor Lillqvist  <tml@iki.fi>
10864
10865         * gdk/win32/gdkproperty-win32.c
10866         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
10867         were reversed.
10868
10869 2000-02-04  Tor Lillqvist  <tml@iki.fi>
10870
10871         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
10872         g_filename_to_utf8 to convert the font names Windows gives us from
10873         whatever is the default codepage to UTF-8.
10874         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
10875         in the other direction.
10876
10877         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
10878         error in debugging output.
10879
10880 2000-02-02  Tor Lillqvist  <tml@iki.fi>
10881
10882         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
10883         and height parameters to gdk_window_clear_area(). Not minus one.
10884
10885 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
10886
10887         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
10888         checks if the widget passed to gtk_drag_get_data() was not the
10889         dest widget.
10890
10891 2000-02-01  Tor Lillqvist  <tml@iki.fi>
10892
10893         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
10894         g_filename_from_utf8 functions (which were added a moment ago to
10895         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
10896         size buffers.
10897
10898         gtk_file_selection_get_filename returns the filename in the C
10899         runtime encoding. It calls g_filename_from_utf8, but copies the
10900         returned string to a static buffer, which is returned. I think
10901         this is better than returning the result from g_filename_from_utf8
10902         directly, which would mean all apps that use it would have to free
10903         the return value. Or should this function care about this issue at
10904         all? Maybe a new function with clearly defined semantics.
10905
10906         * gtk/gtkfilesel.h: Add comment about
10907         gtk_file_selection_get_filename returning the filename in the C
10908         runtime's encoding.
10909
10910         * README.win32
10911         * gdk/gdk.def
10912         * gdk/makefile.{cygwin,msc}
10913         * gtk/gtk.def: Updates.
10914
10915         * gdk/gdkcursor-win32.c: Initialise refcount.
10916
10917 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
10918
10919         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
10920
10921 2000-01-30  Havoc Pennington  <hp@pobox.com>
10922
10923         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
10924         destroy
10925
10926         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
10927
10928         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
10929         implemented in platform-specific code
10930
10931         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
10932
10933         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
10934         underscore in front
10935
10936         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
10937         put an underscore in front
10938
10939         * gdk/gdkcursor.c: new file, implements
10940         gdk_cursor_ref/gdk_cursor_unref
10941
10942         * gdk/gdkcursor.h: Refcount GdkCursor
10943
10944         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
10945
10946 2000-01-29  Tor Lillqvist  <tml@iki.fi>
10947
10948         * gdk/gdkwindow.h
10949         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
10950
10951 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10952
10953         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
10954         structures to properly inherit from GtkWidget not GtkBin.
10955
10956 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
10957
10958         * gtk+.spec.in: Added lib/gtk+/include/* to %files
10959         (bug #5178 - Peter Wainright)
10960         
10961         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
10962         so that it will be installed.
10963         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
10964
10965 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
10966
10967         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
10968         for the GtkStyleClass vtable const.
10969
10970         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
10971         take a const string argument like GtkTranslateFunc. This will
10972         require changes in use code.
10973
10974 2000-01-19  Tor Lillqvist  <tml@iki.fi>
10975
10976         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
10977         semantics (to mimic the X11 backend, which just calls XClearArea)
10978         is to check for zero width (and height), and in that case use the
10979         window's width minus x (height minus y). This fixes for instance
10980         some redraw problems with gtkclist, which were easily noticeable
10981         in the gtk file selection widget.
10982
10983         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
10984         windows.
10985
10986 2000-01-13  Tor Lillqvist  <tml@iki.fi>
10987
10988         * configure.in
10989         * gdk/Makefile.am
10990         * gdk/x11/Makefile.am
10991         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
10992         (bug #5177).
10993         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
10994         out later.
10995
10996 2000-01-09  Tor Lillqvist  <tml@iki.fi>
10997
10998         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
10999         WM_MOVE for iconified or invisible windows. This fixes various
11000         problems when minimising windows. Thanks to Bernd Herd.
11001
11002 2000-01-05  Tor Lillqvist  <tml@iki.fi>
11003
11004         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
11005         backend's draw_lines method, not draw_points.
11006
11007 2000-01-02  Tor Lillqvist  <tml@iki.fi>
11008
11009         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
11010         before Owen's reorganisation: Don't have queued_events and
11011         queued_tail statics in this file, but use gdk_queued_events and
11012         gdk_queued_tail. This makes exposure event compression work again.
11013
11014         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
11015         seem to be needed?
11016
11017 1999-12-30  Tor Lillqvist  <tml@iki.fi>
11018
11019         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
11020         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
11021         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
11022         doesn't do anything.
11023
11024         * gdk/gdk.def: Add gdk_xid_table_insert.
11025
11026         * gdk/win32/gdkprivate-win32.h
11027         * gdk/win32/gdkevents-win32.c
11028         * gdk/win32/gdkinput-win32.c
11029         
11030         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
11031         extension_events field in the GdkWindowWin32Data struct. Use only
11032         the extension_events field in GdkWindowPrivate. Previously one was
11033         set, and the other one tested, which broke tablet
11034         functionality. Thanks to Keishi Suenaga for pointing this out.
11035
11036 1999-12-18  Tor Lillqvist  <tml@iki.fi>
11037
11038         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
11039         When handling a single character (text length == 1), don't handle
11040         it as if it was UTF-8.
11041
11042 1999-12-11  Tor Lillqvist  <tml@iki.fi>
11043
11044         * Makefile.am: Distribute README.win32.
11045         
11046         * gdk/Makefile.am
11047         * gdk/win32/Makefile.am: Distribute Win32 files.
11048
11049         * gdk/makefile.msc: New file.
11050
11051         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
11052         after label).
11053
11054         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
11055         gdk_error_code as GDKVAR, as they are referred outside GDK.
11056
11057         * gdk/win32/makefile.msc: Update.
11058
11059         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
11060         tweaks. Check only if at least one of those Unicode subrange bits
11061         we care for is set. If no code page bits are set, guess (wildly)
11062         based on the charset.
11063
11064         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
11065
11066         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
11067         non-NULL.
11068
11069         * gtk/gtkdnd.c
11070         * gtk/gtklayout.c
11071         * gtk/gtkplug.c
11072         * gtk/gtkselection.c
11073         * gtk/gtksocket.c
11074         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
11075         appropriate. There must be a cleaner way to handle this?
11076
11077         * gtk/gtkrc.c: Must include windows.h on Win32.
11078
11079         * gtk/testgtk.c: No need to include gdkx.h.
11080
11081         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
11082
11083 1999-12-07  Tor Lillqvist  <tml@iki.fi>
11084
11085         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
11086         the rbearing is set to the same as the width, but this should be
11087         fixed.
11088
11089 1999-12-06  Tor Lillqvist  <tml@iki.fi>
11090
11091         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
11092         function. If Windows doesn't tell us what Unicode subranges a font
11093         covers, guesstimate based on the codepages it covers. This will
11094         hopefully help those Windows versions or fonts that don't give us
11095         any useful Unicode subrange information with GetTextCharsetInfo.
11096         Call this function in gdk_font_load_internal.
11097
11098         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
11099         minor changes.
11100
11101 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
11102
11103         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
11104         New function, long needed.
11105
11106 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
11107
11108         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
11109         only_if_exists argument of gdk_atom_intern to
11110         bool.
11111
11112 1999-11-25  Tor Lillqvist  <tml@iki.fi>
11113
11114         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
11115         Fix two copy&paste errors.
11116
11117         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
11118         win32 has changed.
11119
11120         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
11121         GdkWin32SingleFont struct.
11122
11123         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
11124         subranges of loaded fonts. Clear font signature first, in case
11125         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
11126         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
11127
11128         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
11129         Unoffset clip region.
11130
11131 1999-11-23  Tor Lillqvist  <tml@iki.fi>
11132
11133         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
11134         event->any.window before calling filter functions.
11135
11136 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
11137
11138         * gtk/gtkgamma.h: Adapt cast macros to standard.
11139
11140 [ Merges from 1.2 ]
11141
11142 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
11143
11144         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
11145         If translation does not include a '/', use entire
11146         translation instead of crashing.
11147
11148 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
11149
11150         * docs/gtk_tut.sgml:
11151         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
11152
11153 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
11154
11155         * gtk/gtkselection.c (gtk_target_list_remove): Use
11156         g_list_remove_link, not g_list_remove.
11157
11158         [ From Geert Bevin <gbevin@thunderstorms.org> ]
11159         
11160 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
11161
11162         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
11163         statement upon unselection (how the heck did that slip in?).
11164
11165 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
11166
11167         * gtk/gtktext.c (gtk_text_freeze): 
11168         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
11169         in frozen state (and aparently crashes). patch provided by Anders
11170         Melchiorsen <and@kampsax.dtu.dk>.
11171
11172 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
11173
11174         * fix insensitive default/focus widget activation,
11175         reported by Matt Goodall <mgg@isotek.co.uk>.
11176
11177         * gtk/gtkwindow.c (gtk_window_key_press_event): 
11178         (gtk_window_activate_default):
11179         (gtk_window_activate_focus):
11180         return handled=FALSE for actiavtion of insensitive default
11181         widgets. return handled=TRUE for activation of insensitive
11182         focus widgets. don't activate in either case.
11183
11184 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
11185
11186         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
11187         and $glib_cflags to match library order and in the
11188         theory that an old version of GLib is more likely to
11189         be in the include directory for X then vice-versa.
11190         (Bug #2776)
11191
11192 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11193
11194         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
11195         to determine the locale for fontsets, not LC_MESSAGES;
11196         the user may want English messages with a handling
11197         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
11198         will still be broken) (Bug #2891)
11199
11200 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11201
11202         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
11203
11204 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11205
11206         * gtk/gtkrc.ko: Changed the Korean default fontset.
11207
11208 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
11209
11210         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
11211         where when scrolling to the left or top double exposes
11212         were done, causing major slowdowns.
11213
11214 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
11215
11216         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
11217         names to lowercase and alphanumeric, before looking
11218         them up.
11219
11220         * gtk/Makefile.am: Install codeset variant gtkrc files
11221         with normalized names.
11222
11223 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
11224
11225         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
11226         popup menus when the menu is already visible, but its parent
11227         is still hidden, (happens after tornoff window got hidden).
11228
11229 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
11230
11231         * gtk/Makefile.am (install-data-local): Fix
11232         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
11233         deleted, causing error messages on install.
11234
11235 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
11236
11237         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
11238         the handle as well, since we now sometimes ignore
11239         exposes on the handle while resizing.
11240
11241 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
11242
11243         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
11244         extra g_free introduced in one of the last one or two 
11245         commits.
11246
11247 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
11248
11249         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
11250         consistent, put each style that a gtkrc.* file creates
11251         in a unique namespace, remove old files before installing.
11252
11253 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
11254
11255         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
11256         gtk_rc_init is called multiple times. (Yes, people who
11257         do that have bugs in their code.)
11258
11259 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
11260
11261         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
11262         Remove it since it's generated by the Makefile anyway
11263
11264 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
11265
11266         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
11267         device->info.axes for core pointer.
11268
11269 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
11270
11271         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
11272         idle_id, to deal with obsolete, broken C libraries.
11273
11274 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
11275
11276         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
11277         allocation->x/y twice!
11278
11279         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
11280         consistent with gtk_vscale_pos_trough().
11281
11282 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
11283
11284         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
11285         be queueing a resize on a toplevel container between
11286         the time we show it and when we map it. So, we need
11287         to test GTK_WIDGET_VISIBLE() for toplevels, and only
11288         use GTK_WIDGET_DRAWABLE() for child windows.
11289
11290 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
11291
11292         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
11293         (fixes bug #2144)
11294
11295 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
11296
11297         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
11298         container DRAWABLE (instead of VISIBLE), so we don't queue
11299         resizes on non-toplevel containers.
11300
11301 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
11302
11303         * gtk/gtkselection.[ch]: Make the data argument
11304         const guchar *.
11305
11306 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
11307
11308         * gtk/gtkwindow.c: Try to behave sensibly if 
11309         the focus widget is the window itself. (Should
11310         we allow this at all?)
11311
11312 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11313
11314         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
11315         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
11316         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
11317         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
11318         in prototypes and implementations consistent (Tomas Ogren).
11319
11320         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
11321         before the widget is unparented (reported by damon).
11322
11323         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
11324         since we provide unsigned data anyways.
11325
11326 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
11327
11328         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
11329         the call to gtk_tooltips_layout_text() until later.
11330
11331         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
11332         Call gtk_widget_ensure_style() before using the style.
11333
11334 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
11335
11336         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
11337         for old widgets that don't propagate draws to all
11338         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
11339
11340 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
11341
11342         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
11343         for a redraw but just the widget that requested the resize.
11344
11345 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
11346
11347         * gtk/gtkcontainer.c: added new widget level method
11348         gtk_container_set_reallocate_redraws() and a GtkContainer flag
11349         reallocate_redraws : 1 to reflect the setting, exported this through
11350         the argument system as a boolean ::reallocate_redraws.
11351
11352         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
11353         on the widget because the allocation changes, do so as well for
11354         widget->parent if the parent has reallocate_redraws set to TRUE.
11355         with that containers requesting reallocation redraws get automatically
11356         redrawn if their children changed allocation (this unfortunately
11357         affects also other children that didn't change allocation, but we
11358         cannot work around that before 1.3).
11359
11360 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11361
11362         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
11363         _and_ height are >0 (not _or_).
11364
11365         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
11366         instead of gtk_container_queue_resize(), which is a core gtk internal
11367         function (must have been on crack when i queued that).
11368
11369         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
11370         we can check more reliably if we want to discard expose events.
11371         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
11372         flag.
11373         
11374         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
11375         we simply trust these events. for deciding whether to discard exposes,
11376         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
11377         
11378 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
11379
11380         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11381         queues of areas that are completely off screen.
11382
11383         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
11384         logic for handleboxes.
11385
11386         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
11387         check on width/height.
11388
11389 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
11390
11391         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
11392         we are fine with using $@ the way we do (if we actually encounter
11393         brokeness with $@ in VPATH builds because of additional path prefixes,
11394         we need to use $(@F) actually).
11395
11396 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
11397
11398         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
11399         short lived bugs, that would allow language bindings to do surgeries
11400         to our guts.
11401
11402 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
11403
11404         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
11405         where comparison was being done against an uninitialized
11406         value causing intermittant results depending on
11407         compiler flags. Also make it clearer that we aren't
11408         ever initializing the child as 0x0 (though this will
11409         be caught in gtk_widget_size_allocate())
11410
11411 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
11412
11413         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
11414         gtk_window_unset_transient_for() call after we do checks
11415         involving the old transient parent.
11416         [ From Lance Capser <lmc@cyberhighway.net> ]
11417
11418 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
11419
11420         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
11421         an empty file.
11422
11423 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
11424
11425         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
11426         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
11427
11428 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
11429
11430         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
11431         `$@' is valid only in the build dir, not after we've done 
11432         `cd $srcdir'.  Also use `test -f' instead of less portable
11433         `test -e'.
11434
11435 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
11436
11437         * gtk/gtktext.c (correct_cache_insert): Rewrite
11438          for simplicity, and hopefully correctness.
11439          (Fixes bug #1322, which was a segfault when
11440           on some insertions with the properties around
11441           the insertion set up just wrong.)
11442
11443         * gtk/gtktext.c (gtk_text_adjustment): When we receive
11444          a "changed" signal, clamp the new value to the adjustment
11445          bounds to avoid segfaulting if someone tries to change
11446          the adjustment to a bogus value. (Bug #1795)
11447
11448 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11449
11450         * gtk/gtkmain.c: Ignore unexpected destroy notifies
11451         for children, for toplevel windows handle them
11452         like delete_event.
11453
11454         * gtk/gtkplug.c: Add an unrealize handler so that
11455         we unref plug->socket_window when we are done
11456         with it.
11457
11458 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
11459
11460         * gtk/gtktext.c (clear_area): Fix stupid signedness
11461          problem that was causing background to sometimes
11462          be misaligned.
11463
11464 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
11465
11466         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
11467         
11468         * gtk/gtkmenu.c (gtk_menu_position): Make
11469          sure we never position menus with negative x, y,
11470          since gtk_widget_set_uposition() can't handle that.
11471
11472         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
11473          Modify the positioning code a bit so that we always
11474          put the top-left corner onscreen. (This is for
11475          UI reasons, gtk_menu_position() now takes care of
11476          gtk_widet_set_uposition() brokeness.)
11477
11478 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
11479
11480         * gtk/Makefile.am: fixed up things for -jx, x > 1.
11481
11482 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
11483
11484         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
11485           RC style that is passed in. The lack of the ref
11486           before was a bug. If people worked around this
11487           bug, this will introduce a slight memory leak
11488           in their code. The code should typically look like:
11489
11490             rc_style = gtk_rc_style_new ();
11491             [...]
11492             gtk_widget_modify_style (widget, rc_style);
11493             gtk_rc_style_unref (rc_style);
11494
11495         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
11496           the style if it was already set.
11497
11498         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
11499           style if it was set before.
11500
11501 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11502
11503         * gtk/testgtk.c (main): Add a check to see if we
11504           are being run from the correct directory and
11505           to quit nicely if we are not.
11506
11507         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
11508           static.
11509
11510 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
11511
11512         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
11513
11514         * gtk/gtkwindow.c:
11515         queue resizes unconditionally (gtk_widget_queue_resize will figure
11516         what to do if the window is not realized).
11517         (gtk_window_move_resize): only recenter the window
11518         for GTK_WIN_POS_CENTER_ALWAYS.
11519         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
11520         the same way as GTK_WIN_POS_CENTER.
11521
11522 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
11523
11524         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
11525         with (!(info->last_flags & GDK_HINT_POS)) instead of
11526         (!info->last_flags & GDK_HINT_POS).
11527
11528         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
11529         new_height unconditionally, because we use these values even if
11530         !default_size_changed && !hints_changed.
11531         comented the (default_size_changed || hints_changed) case with
11532         respect to resize rejects from the window manager.
11533
11534         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
11535         in the zvt condition hack, since this includes the window hints, set
11536         the hints after the handling_resize case.
11537
11538         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
11539         window is initially shown with to the geometry.
11540
11541 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
11542
11543         * gtk/gtkwindow.c (gtk_window_move_resize):
11544         s/size_changed/default_size_changed/g so i know what's
11545         really going on (frying brain on smaller flame now).
11546
11547 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
11548
11549         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
11550         we have size_changed upon handling_resize. this is a gross
11551         workaround for the broken zvt widget and should be removed in
11552         1.3 again (search for FIXME).
11553         Owen provided an accurate comment for this:
11554
11555         /* We could be here for two reasons
11556          *  1) We coincidentally got a resize while handling
11557          *     another resize.
11558          *  2) Our computation of size_changed was completely
11559          *     screwed up, probably because one of our children
11560          *     is broken. It's probably a zvt widget.
11561          *
11562          * For 1), we could just go ahead and ask for the
11563          * new size right now, but doing that for 2)
11564          * might well be fighting the user (and can even
11565          * trigger a loop). Since we really don't want to
11566          * do that, we requeue a resize in hopes that
11567          * by the time it gets handled, the child has seen
11568          * the light and is willing to go along with the
11569          * new size. (this happens for the zvt widget, since
11570          * the size_allocate() above will have stored the
11571          * requisition corresponding to the new size in the
11572          * zvt widget)
11573          *
11574          * This doesn't buy us anything for 1), but it shouldn't
11575          * hurt us too badly, since it is what would have
11576          * happened if we had gotten the configure event before
11577          * the new size had been set.
11578          */
11579
11580 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
11581
11582         * gtk/gtkrc.c: deal properly with the fact that RC
11583           style lists may include rc styles more than once.
11584
11585         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
11586           unused static function.
11587
11588         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
11589           stack of directories of RC files currently being
11590           parsed and implicitely add them to pixmap path.
11591           
11592           This fixes a bug where the directory would get
11593           appended then overwritten by pixmap_path declarations.
11594
11595           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
11596
11597         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
11598           theme's exit function. (Patch from Peter Wainwright,
11599           bug #1454)
11600
11601         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
11602           Add a destroy() handler to take care of removing
11603           group for menu item. (Fixes bug #1197)
11604
11605         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
11606           in warning message.
11607
11608 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
11609
11610         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
11611         roundtrip to figure window's width and height, since we know that
11612         anyways from widget->allocation.
11613
11614 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
11615
11616         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
11617           the hints after we request the new size.
11618
11619 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
11620
11621         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
11622           GTK_WIDGET_REALIZED() assertion - we can compute the
11623           hints before we are realized.
11624
11625         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
11626           hint changing so that we have a value of hints_changed
11627           when we decide whether to constrain the window size.
11628
11629         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
11630
11631         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
11632         change back to G_MAXINT.
11633
11634 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
11635
11636         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
11637         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
11638         contain uncluttered values.
11639         (gtk_window_compute_hints): simply assert that window is realized
11640         and that geometry_info is valid, since we rely on this anyways.
11641         (gtk_window_constrain_size): major cleanups to the code.
11642         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
11643         for the base size, instead of the minimums. use 32767 as max width
11644         and height (like in gtkwindow.c) instead of G_MAXINT.
11645
11646 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
11647
11648         * cleaned up the GtkContainer.need_resize flag handling mess, we
11649         only need to force resize requests when we were prematurely
11650         realized, or our widget tree was modified when we were temporarily
11651         hidden. handling these cases directly upon showing the window (i.e.
11652         while the GdkWindow is still unmapped) avoids the need to wait for
11653         a configure event response and therefore makes the GUI more snappier
11654         and avoids blank windows during the roundtrip.
11655
11656         * gtk/gtkwidget.c:
11657         (gtk_widget_hide): 
11658         (gtk_widget_show): don't queue resizes on toplevels, they know how
11659         to deal with matters.
11660
11661         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
11662         flag directly for not visible resize containers and spare us unecessary
11663         signal emissions.
11664
11665         * gtk/gtkwindow.c:
11666         (gtk_window_realize): if we need to enforce premature size allocation,
11667         queue a container resize so we are correctly resized later on.
11668         (gtk_window_init):
11669         (gtk_window_size_request):
11670         don't freak around with the ->need_resize flag,
11671         gtk_container_queue_resize() will care about that.
11672         (gtk_window_show):
11673         handle initial resizing issues here, we can handle matters better in
11674         this place, especially since we know that our GdkWindow is still
11675         unmapped.
11676         (gtk_window_move_resize):
11677         don't care about ->need_resize at all.
11678         handle size changes properly that occoured while we waited for a
11679         configure event.
11680
11681 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
11682
11683         * gtk/gtkwidget.c (gtk_widget_set_uposition):
11684         * gtk/gtkwindow.[hc] (gtk_window_reposition):
11685         Move the hint setting code from gtk_widget_set_uposition
11686         to here; set the hints so that we respect any previously
11687         set geometry hints.
11688
11689         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
11690         change the window hints here or move the window here,
11691         let that happen in gtk_window_move_resize().
11692
11693 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
11694
11695         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
11696         to already queued resizes (and therefore redraws) on a widget, check
11697         its anchestry as well.
11698
11699         * gtk/gtkcontainer.c:
11700         (gtk_container_queue_resize): clear resize widgets for resize
11701         containers before aborting prematurely. this is especially important
11702         for toplevels which may need imemdiate processing or their resize
11703         handler to be queued.
11704         (gtk_container_dequeue_resize_handler): added new internal function for
11705         gtkwindow.c.
11706
11707         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
11708         configure event, take possible changes in window position into account
11709         as well.
11710         if we request a new window size, queue up a resize handler that will
11711         last until the configure event response arrives.
11712         combined the ->need_resize case (initial show) with the general size
11713         (hints) changed case and added even more comments.
11714         if !auto_shrink, only revert to the old allocation if the new size
11715         is smaller than the current allocation.
11716
11717 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
11718
11719         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
11720                            gtk_window_set_geometry_hints
11721                            gtk_window_set_default_size):
11722         When hints are set, queue a resize so that the hints will
11723         be eventually reset on the toplevel.
11724
11725         * gtk/gtkwindow.c (gtk_window_show): Use
11726         gtk_window_compute_default_size(). Clear the need_resize flag
11727         on the initail map so that we don't unnecessarily trigger the
11728         resize code.
11729
11730         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
11731         into separate functions. Compare the hints we are setting
11732         with what we set last time so that we can accurately
11733         tell when we need to reset the hints.
11734
11735         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
11736         function to figure out the size from requisition
11737         and default_size.
11738
11739         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
11740         from fvwm to constrain a size to the geometry hints.
11741
11742         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
11743         to compare two sets of geometry hints.
11744
11745         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
11746         from gtk_window_set_hints(), just compute the hints,
11747         don't set them.
11748
11749         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
11750         code from gtk_window_move_resize() to separate function,
11751         rationalize a bit.
11752
11753 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
11754
11755         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
11756         structure into a new private structure.
11757
11758         * gtkrc.c: Split GtkRcStyle into public/private.
11759         In the private part, add a list of pointers to the
11760         RcStyle lists this RcStyle participates in.
11761
11762         * gtkrc.c: When a RcStyle is free, remove all
11763         lists referencing it from the 
11764         realized_style_ht hash, and free those lists.
11765         
11766         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
11767         gtk_rc_init(), since that adds the default styles
11768         to the list of parsed RC files again.
11769
11770         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
11771         
11772 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
11773
11774         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
11775         checks that ensure that a widget's allocation is at least 1 in width
11776         and height. (GNOME note: this doesn't affect old panel code anymore,
11777         because GtkSocket will request width and height of at least 1 since
11778         Fri Jul 23).
11779
11780         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
11781         allocated yet (happens if the user realizes the window prematurely),
11782         size request and allocate it.
11783         (gtk_window_size_allocate): guard against guint underflows.
11784
11785 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
11786
11787         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
11788         in gtk_built_sources, so gtk.defs gets built prior to all other
11789         sources.
11790
11791 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11792
11793         * gtk/Makefile.am:
11794         invoke indent on gtkmarshal.*. 
11795         rewrote source generation rules, use COPYING as oldest source tag for
11796         a piggyback rule to generate all sources from (don't touch it ;).
11797         major cleanups, strip spaces on build rules for GNU Make.
11798
11799         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
11800         source and target files from commandline arguments. don't invoke indent.
11801
11802 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11803
11804         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11805         notebook after switch to avoid drawing problems.
11806         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11807         
11808         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11809         show them instead. 
11810         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11811
11812 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11813
11814         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11815         notebook after switch to avoid drawing problems.
11816         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11817         
11818         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11819         show them instead. 
11820         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11821
11822 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
11823
11824         * gtk/gtkwindow.c:
11825         we use window->need_resize from configure_event now, to indicate that
11826         the gtkwindow should keep its allocation (e.g. because the user resized
11827         the window through window manager handles). resize_count is now reliably
11828         used to figure whether we got the allocation we requested from the
11829         window manager.
11830         configure events get queued as resizes now, the real stuff (size
11831         computation and allocation) now only goes on in gtk_window_move_resize().
11832         GtkWindow's requisition now contains its *real* requisition (like all
11833         other widgets), *not* taking usize into account.
11834         geometry_info->last_{width|height} is now updated from set_hints() only
11835         so it always contains the last hints we set for the window manager.
11836         made some event handlers return TRUE instead of FALSE.
11837         the overall code should be much more straight forward now, and the
11838         significant code portions are accompanied by comments now.
11839         (gtk_window_set_hints):
11840         removed requisition argument and made it
11841         fetch the requisition through gtk_widget_get_child_requisition.
11842         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
11843         does that now.
11844         (gtk_window_show):
11845         ensure that the widget is realized before calling 
11846         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
11847         ensure that we got properly size requested and allocated before
11848         realization.
11849         (gtk_window_configure_event):
11850         ignore plain window moves, or reallocate the widget tree through the
11851         resize queue otherwise.
11852         (gtk_window_move_resize):
11853         mostly rewrote this function to figure window manager hints more
11854         reliably, coalesce window moves and resizes to reduce configure events
11855         and do actuall size allocations.
11856
11857 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11858
11859         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
11860         that have a resize pending, because a redraw is already queued for them.
11861
11862         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
11863         hack to clear resize_widgets.
11864
11865         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
11866         for resize containers prior to size allocation. (this is also a bit
11867         ugly, but avoids side effects for stopped emissions and is thus more
11868         reliable).
11869         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
11870
11871         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
11872         function from gtk_tooltips_expose, as we connect to ::expose_event
11873         *and* ::draw now.
11874
11875 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11876
11877         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
11878         checks.
11879         (gtk_target_list_unref): Likewise.
11880
11881         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
11882
11883 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
11884
11885         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
11886         guard against division by zero. (Fixes bug #1339)
11887
11888 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
11889
11890         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
11891         Prevent the trivial leak of information of allowing
11892         word motion when the entry is not visible.
11893
11894 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
11895
11896         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
11897         modality to error dialog as well as confirmation dialogs.
11898         (Bug #1803, reported by Rosanna Wing Sze Yuen)
11899
11900 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11901
11902         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
11903         tree->view_lines.
11904         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
11905
11906         * gtk/Makefile.am (install-data-local): Solaris apparently
11907         has various troubles with ln -f; use rm first instead.
11908         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
11909
11910 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
11911
11912         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
11913         use `cp' followed by `rm' (the `rm' was already there).
11914
11915 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11916         
11917         * configure.in: Fix autoconf warnings about cross compilation by
11918         trying to provide sane defaults for AC_TRY_RUN.
11919         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
11920         put them into $(srcdir) when generated. Also add a dependency of
11921         gtksignal.h on gtkmarshal.h for -j builds. 
11922         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
11923
11924 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
11925
11926         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
11927         GDK_THREADS_{LEAVE,ENTER} pair.
11928         (From Paul Fisher <pnfisher@redhat.com>)
11929
11930 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
11931
11932         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
11933         width and height are always >0 (owen).
11934
11935 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
11936
11937         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
11938         change that assured that a widget's allocated with and height are
11939         always >1, since this breaks *buggy* panel code. unfortunately this
11940         back-breaks the gimp's color selector.
11941
11942         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
11943         allocation is always >0 in width and height, before sending the
11944         configure event; this is a *gross* hack to get the gimp back to work.
11945         
11946         * marked both cases with TODO-1.3
11947
11948 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
11949
11950         * gtk/gtktext.c: Don't display wrap indicators when
11951         text is not editable and word wrap is on.
11952
11953 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
11954
11955         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
11956         option menus here as they are not derived from menu shell, assure that
11957         the option menu has a menu we can add items to.
11958
11959 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
11960
11961         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
11962         width/height to (gint) before calculations and check against < 0 to
11963         avoid guint wraparounds.
11964
11965 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
11966
11967         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
11968         width and height is never zero. sanity check both dimensions against
11969         32767 and issue a warning if the allocation is greater than that.
11970
11971 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
11972
11973         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
11974         to g_main_pending() as well.
11975
11976 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
11977
11978         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
11979         call to g_main_iteration() - since that will regrab
11980         GTK+ lock to process events.
11981
11982 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
11983
11984         * gtk/gtkwindow.c
11985         - Regularize with the rest of GTK+ by making widget->requisition
11986           not reflect the set_usize()
11987         - Always recompute geometry hints, then check if they
11988           changed before sending them to the X server. The
11989           previous checks for changes would fail in a number
11990           of circumstances. 
11991
11992 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
11993
11994         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
11995
11996 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
11997
11998         * gtk/gtkdnd.c:
11999         - Code cleanups
12000         - Instantaneously update on modifier key presses
12001         - Allow cancellation of the drag with Escape.
12002
12003 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
12004
12005         * gtk/testgtk.c (create_handle_box): Set the policy
12006         to auto_shrink - otherwise the appearance is rather
12007         strange when flipping between horizontal and vertical.
12008
12009 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
12010
12011         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
12012         (gtk_window_set_default_size): don't change a value if it's < 0.
12013         queue a resize.
12014
12015 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
12016
12017         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
12018
12019 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
12020
12021         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
12022         add an extra "/" when concating "/" + filename.
12023         (From Matt Grossman <mattg@oz.net>)
12024
12025 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
12026
12027         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
12028         for fg_gc if we set it for drawing pixmap.
12029
12030 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
12031
12032         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
12033         
12034         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
12035         already set, call old engine's destroy function and
12036         unref the old engine.
12037
12038 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
12039
12040         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
12041
12042 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
12043
12044         * gtk/gtkaccelgroup.h: mark certain functions as internal.
12045
12046 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
12047
12048         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
12049         expand behaviour changed.
12050
12051         * gtk/gtklabel.c (gtk_label_set_pattern):
12052         (gtk_label_set_justify):
12053         (gtk_label_set_line_wrap):
12054         don't bother invoking queue_clear, the reallocation does
12055         that for us, always free_words so the upcoming resize will
12056         relayout the label's contents.
12057
12058 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
12059
12060         * applied argument implementation patches from Elena Devdariani
12061         <elena@cogent.ca>.
12062
12063         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
12064         ::space_style, ::relief
12065         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
12066         * gtk/gtkpreview.c: ::expand
12067         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
12068         * gtk/gtknotebook.c: ::homogeneous
12069         * gtk/gtklabel.c: ::wrap
12070         * gtk/gtklist.c: ::selection_mode
12071         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
12072         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
12073         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
12074         * gtk/gtkclist.c: ::sort_type
12075         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
12076         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
12077
12078 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
12079
12080         * gtk/gtkstyle.c: Removed ill-thought-out part of last
12081         comment.
12082
12083 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
12084
12085         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
12086         counting right when we have to attach a new style
12087         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
12088
12089         * gtk/gtkstyle.c: Documented the refcounting
12090         peculularities of gtk_style_attach.
12091
12092 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12093
12094         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
12095         window types.
12096
12097         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
12098         of GTK_TOPLEVEL for creating the window.
12099
12100 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12101
12102         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
12103         the last argument (reported by Per Winkvist).
12104         
12105 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
12106
12107         Fixes for invisible XOR lines (Frank Loemker
12108         <floemker@TechFak.Uni-Bielefeld.DE>)
12109         
12110         * gtk/gtkclist.c (gtk_clist_realize): Always use
12111         a non-zero pixel for GDK_XOR.
12112
12113         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
12114         Use GDK_INVERT instead of GDK_XOR.
12115
12116 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
12117
12118         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
12119         signals if h/voffsets differ from adjustment values.
12120         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
12121
12122 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
12123
12124         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
12125         ::selection-done emissions up to the topmost menu shell.
12126
12127 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
12128
12129         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
12130         the user data on the window before destroying it.
12131
12132         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
12133         unrealize handler to take care of destroying 
12134         notebook->panel properly. 
12135         (Bug #1198 - Morten Welinder <terra@diku.dk>)
12136
12137         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
12138         of g_new and g_realloc to stop memory leak. (Actually,
12139         we could just use g_realloc(), but I'm not 100% sure
12140         that is portable).
12141         (Bug #1196 - Morten Welinder <terra@diku.dk>)
12142
12143 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12144
12145         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
12146
12147         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12148         for fontsets.
12149
12150         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
12151         with bin/button confusion.
12152
12153 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
12154
12155         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
12156         and show how preselection of radio items is done.
12157
12158 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
12159
12160         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
12161         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
12162         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
12163         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
12164         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
12165         * gtk/gtktable.c (gtk_table_attach): 
12166         * gtk/gtklist.c (gtk_list_insert_items): 
12167         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
12168         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
12169         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
12170         * gtk/gtkbin.c (gtk_bin_add): 
12171         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
12172         * gtk/gtkfixed.c (gtk_fixed_put): 
12173         * gtk/gtklayout.c (gtk_layout_put):
12174         general fixups to container_add logic. always realize child if
12175         child->parent is realized, only map the child and queue a resize
12176         if child and child->parent are both visible.
12177
12178 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
12179
12180         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
12181         instead of gtk_container_foreach to walk and unrealize children, so
12182         composite children get also unrealized.
12183         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
12184         (gtk_widget_map): assert that the widget is visible (basic constrain).
12185         (gtk_widget_real_map): assert that the widget is realized (basic
12186         constrain).
12187
12188 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
12189
12190         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
12191
12192 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
12193
12194         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
12195         file for iso-8859-2 locales.
12196
12197         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
12198
12199 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
12200
12201         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
12202          (Pointed out by andy@rz.uni-karlsruhe.de and others).
12203          Remove some suspicious and useless lines. 
12204
12205 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
12206
12207         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
12208         width,height = 0, 0 to mean - here to edge of window,
12209         instead of -1, -1, since the former is all we support.
12210
12211 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
12212
12213         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
12214         when removing from quit_functions list.
12215
12216 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
12217
12218         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
12219
12220 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
12221
12222         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
12223          When redrawing characters on non-visible entry, use appropriate
12224          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
12225
12226 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
12227
12228         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
12229         from drag coordinates.
12230         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
12231         use drag_dest_cell.
12232
12233         * gtk/gtktree (drag_dest_cell)
12234         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
12235         (Bug #1129)
12236
12237 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
12238
12239         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
12240         translate_* fields.
12241         (gtk_item_factory_finalize): invoke translate_notify independant from
12242         translate_data.
12243         (gtk_item_factory_set_translate_func): likewise.
12244         (gtk_item_factory_destroy): only remove ifactory pointer from those
12245         widgets that belong to us (stupid me).
12246
12247 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
12248
12249         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
12250         rc_style list when lookup succeeeds.
12251
12252 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
12253
12254         * gtk/gtkctree.c (resync_selection): 
12255         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
12256         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
12257         bug.
12258
12259 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
12260
12261         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
12262         Add some missing GDK_THREADS_ENTER()/LEAVE around
12263         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
12264
12265 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
12266
12267         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
12268         rather than emit_by_name.
12269
12270         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
12271         on the widget across multiple signal emissions.
12272         (gtk_editable_delete_text): same here.
12273         (gtk_editable_class_init): set widget_class->activate_signal after
12274         editable_signals[ACTIVATE] has been created.
12275
12276 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
12277
12278         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
12279         position here prematurely -- we might not have the
12280         right ->min_position and ->max_position yet.
12281
12282 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12283
12284         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
12285         Add error traps so if the other end of the connection
12286         dies, we survive.
12287
12288         * gtk/gtkselection.c (gtk_selection_notify): Clean
12289         up properly when selection property retrieval fails.
12290         
12291         * gtk/gtkselection.c (gtk_selection_request): Correctly
12292         reject SelectionRequest notifies where the handler
12293         returns no data.
12294
12295 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12296
12297         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
12298         when we've previously highlighted.
12299
12300         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
12301         emit two "drag_leave" signals for Motif drops.
12302
12303         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
12304         back the correct status messages when dropping from
12305         Motif onto a proxy window that is rejecting the
12306         drop.
12307
12308 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
12309
12310         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
12311         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
12312         to compare two argument values. added gtk_arg_to_valueloc() to set a
12313         variable from an arg through its location (pointer).
12314
12315         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
12316         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
12317         as gfloat*, uchars are collected as guchar*, ints are collected as
12318         gint*, etc...
12319
12320 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
12321
12322         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
12323         Include <string.h> instead of <strings.h>.
12324
12325         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
12326         (actually, a lot more duplicate includes occur if
12327          you trace through the sequence of #include's)
12328         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
12329         
12330 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12331
12332         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12333         gtk-a-higuti-990322-[0-3]
12334
12335         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12336         that was causing -DX_LOCALE not to work.
12337
12338         * gtk/gtkrc.c (gtk_rc_init):
12339         X_LOCALE will never have LC_MESSAGES defined
12340
12341 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
12342
12343         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
12344         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
12345
12346         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
12347         left/right as well (gtk-michael-980726-0.patch.gz).
12348
12349         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
12350         for pointer values, use gchar instead of char. fixed uline allocation
12351         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
12352         chunks instead of G_ALLOC_ONLY.
12353         (gtk_label_size_request): always alter requisition as passed and leave
12354         widget->requisition alone.
12355         (gtk_label_set_text): allow NULL strings.
12356         (gtk_label_new): likewise.
12357
12358 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
12359
12360         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
12361
12362 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
12363
12364         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
12365         *and* mapped (i.e. drawable).
12366         (gtk_bin_expose): only send exposes to drawable children.
12367
12368         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
12369         (gtk_box_expose): only send exposes to drawable children.
12370
12371         * gtk/gtkhscale.c (gtk_hscale_draw): 
12372         * gtk/gtkvscale.c (gtk_vscale_draw):
12373         hm, this is an ugly one. we first compute the size of our trough area
12374         here (window relative) and then check intersection with the draw_area
12375         which is parent relative because we're a NO_WINDOW widget, so we need
12376         to offset the trough area by allocation.x and allocation.y before the
12377         check. (this must not be done for the background area though, since
12378         that's already computed parent relative).
12379
12380 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
12381
12382         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
12383         unrealize title buttons.
12384
12385 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
12386
12387         * gtk/gtkclist.c (gtk_clist_column_title_passive)
12388         (gtk_clist_column_title_active): 
12389         only connect/disconnect to GtkWidgetClass::event to block mouse events.
12390
12391         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
12392         zero initialize event, removed superfluous gdk_window_get_pointer call
12393
12394         * gtk/gtklist.c (gtk_list_vertical_timeout)
12395         (gtk_list_horizontal_timeout): removed superfluous
12396         gdk_window_get_pointer call
12397
12398 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12399
12400         * plugging problems reported by "Bruce Mitchener, Jr."
12401         <bruce@puremagic.com> due to a purify session.
12402
12403         * gtk/gtkstyle.c:
12404         (gtk_style_ref): 
12405         (gtk_style_unref): assert ref_count to be > 0.
12406
12407         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
12408         the requisition.
12409         (gtk_clist_set_shift): likewise.
12410
12411         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
12412         adjustments.
12413
12414         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
12415         event before sending it and set send_event to TRUE (which needs to
12416         be done for *all* synthesized events).
12417         (gtk_list_vertical_timeout): likewise.
12418
12419         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
12420         leaks.
12421
12422         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
12423         to TRUE when synthesizing events.
12424
12425 [ *** end of merges from 1.2 *** ]      
12426         
12427 1999-11-21  Tor Lillqvist  <tml@iki.fi>
12428
12429         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
12430         (or copied from gdkconfig.h.win32 on Win32, sigh).
12431
12432         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
12433
12434         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
12435
12436         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
12437
12438         * gdk/gdkconfig.h.win32: New file.
12439
12440         * gdk/win32/makefile.cygwin: Build just a static archive here.
12441
12442         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
12443         for the DLL from the static archive built above.
12444
12445         * gdk/gdk.def: Moved here from the win32 subdirectory.
12446
12447         * gdk/win32/*: Adapt for the changed private struct organisation.
12448
12449         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
12450
12451 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
12452
12453         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
12454         for wheel mice (buttons 4 and 5).
12455
12456 1999-11-18  Tor Lillqvist  <tml@iki.fi>
12457
12458         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
12459         drawables use just the pixel field in the foreground and
12460         background GdkColor of the GdkGC.
12461
12462         gdk_gc_set_{fore,back}ground() are called in the GIMP with
12463         GdkColors containing uninitialized (red,green,blue) fields, and
12464         just the pixel field filled in, and furthermore in the
12465         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
12466         It thus turns out that we really don't need to have the full
12467         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
12468         it later to have just the pixel values.
12469
12470 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
12471
12472         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
12473
12474 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
12475
12476         * docs/gtkfaq.sgml: threads example from Erik Mouw.
12477         New question on GtkLabel background colors.
12478
12479         * docs/gtk_tut.sgml:
12480           - Correct the example code callback
12481             function definitions.
12482           - Update the gtkdial example code, from Frans van Schaik.
12483           - Update setselection.c to current API.
12484
12485         * examples/Makefile examples/*/*.c: Update to code
12486         listed in tutorial.
12487
12488 1999-11-10  Tor Lillqvist  <tml@iki.fi>
12489
12490         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
12491         subrange table (from the "Developing International Software for
12492         WIndows 95 and Windows NT" book) was missing the Hangul syllable
12493         block... Get the loaded font's charset correctly.
12494
12495         (Note that this, and the other *-win32.c files, still really are
12496         the old ones, the win32 subdirectory is not ready for compilation
12497         yet after the reorg.)
12498
12499 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
12500
12501         * gtk/gtkclist.c: Fix off-by-one bug in parameter
12502         check.
12503
12504 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
12505
12506         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
12507         on results of XQueryDeviceState().
12508
12509 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
12510
12511         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
12512         we need to accesss only ->children. We need an accessor
12513         for the children.
12514
12515         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
12516         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
12517         to get rid of gdkx.h include.
12518         
12519         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
12520         and random references to 'None'.
12521
12522         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
12523         Get rid of unused #include <gdk/gdkx.h>
12524
12525         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
12526         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
12527         gdkconfig.h.
12528
12529 1999-11-08  Tor Lillqvist  <tml@iki.fi>
12530
12531         * gdk/win32/gdkdraw.c
12532         * gdk/win32/gdkfont.c
12533         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
12534         following yesterday's changes. (Unrelated to Owen's reorg.)
12535
12536 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
12537
12538         * gdk/x11/gdkinput-gxi.c: Add missing include,
12539           fix GdkWindowPrivate => GdkDrawablePrivate.
12540
12541         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
12542
12543         * gdk/x11/Makefile.am (xinput_sources): Add missing
12544         backslash to fix building with --with-xinput=none
12545
12546 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
12547
12548         Move all X specific code into the x11/ directory.
12549         Aside from shuffling things around, did the following:
12550
12551        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
12552          gdk_arg_context_* - a simple argument parsing system
12553          in the style of popt.
12554
12555        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
12556          gdk/x11/gdkprivate-x11.h:
12557          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
12558          add ->klass and ->klass_data fields. The klass_data
12559          field points to an auxilliary structure that is
12560          windowing system dependent.
12561
12562        * gdk/gdkfont.c: Make most of the measurement functions
12563          simply wrappers around gdk_text_extents().
12564
12565        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
12566          _gdk_font_strlen() function that hides the weird
12567          behavior in gtk+-1.[02] where a string is interpreted
12568          differently for 8-bit and 16-bit fonts.
12569
12570        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
12571          to store common code for synthesizing double/triple
12572          press events.
12573         
12574        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
12575          Make all the function that modify an existing GC
12576          simply wrappers around gdk_gc_set_values().
12577          
12578        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
12579          for throwing out later.
12580
12581        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
12582          GdkImagePrivate and GdkColormapPrivate to have a
12583          windowing system dependent part (GdkFontPrivateX etc.)
12584          that "derives" from the system-independent part.
12585
12586        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
12587          Got rid of the included-source-files for XInput in
12588          favor of automake conditionals. (Which didn't exist
12589          when XInput support was originally added.)
12590
12591        * gdk/gdkrgb.c: Remove the visual id from the debugging
12592          statements since that is X11 specific; print out
12593          type/depth info instead.
12594          
12595
12596 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
12597
12598         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
12599         loading duplicates of hashed fonts.
12600
12601         * gdk/gdk.c (gdk_keysym_convert_case): rename
12602         gdk_XConvertCase to gdk_keysym_convert_case, allow
12603         results to be NULL in the GTK+ style.
12604
12605         * gdk/gdkcompat.h: Started compatibility header
12606         for renames.
12607
12608 1999-11-07  Tor Lillqvist  <tml@iki.fi>
12609
12610         * gdk/win32/gdkprivate.h: New font private structures, related to
12611         fontsets.
12612
12613         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
12614         gdk_font_list_free(). On X11, will just be wrappers to
12615         XListFonts() and XFreeFontNames(). On Win32, the code previously
12616         in gtkfontsel.c is now here.
12617
12618         New function gdk_font_xlfd_create(). On X11 will get the FONT
12619         property of the font (for GDK_FONT_FONTs), or call
12620         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
12621         builds a XLFD style name from the font information in the LOGFONT
12622         struct(s).
12623
12624         New function gdk_font_xlfd_free(), which correspondingly frees the
12625         string returned by gdk_font_xlfd_create().
12626
12627         Implement fontsets on Win32. Add a function that iterates over a
12628         wide char string and calls a callback function for each substring
12629         of wide chars from the same Unicode subrange (and thus probably
12630         available in the same real font).
12631
12632         Improve the XLFD emulation a bit.
12633
12634         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
12635
12636         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
12637         Beta3, WM_IME_CHAR messages don't seem to contain the composed
12638         multi-byte char as with the Active IMM on Win9x. Oh well, handle
12639         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
12640         ImmGetCompositionStringW() to get the composed Unicode chars.
12641
12642         * gdk/win32/gdkgc.c
12643         * gdk/win32/gdkdraw.c: Changes needed because of the font private
12644         struct changes.
12645
12646         * gdk/win32/gdk.def: Add the new functions.
12647
12648 1999-11-04  Tor Lillqvist  <tml@iki.fi>
12649
12650         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
12651         get the Platform SDK to get <dimm.h>.
12652
12653         * gdk/win32/gdkevents.c: More event handling fixes and
12654         simplification. Never generate motion events with is_hint true. We
12655         used to do that on bogus grounds earlier. Windows sends
12656         WM_MOUSEMOVE messages on button events even if the mouse hasn't
12657         moved, ignore these.
12658
12659         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
12660
12661         * gdk/win32/gdkglobals.c
12662         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
12663         the TrackMouseEvent function, and use it.
12664
12665         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
12666         char before calling WideCharToMultiByte in order to get a string
12667         for the window title.
12668
12669         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
12670
12671         * gdk/win32/gdk.def: Remove obsolete functions.
12672
12673         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
12674         /nodefaultlib and /defaultlib switches.
12675
12676         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
12677
12678 1999-10-31  Tor Lillqvist  <tml@iki.fi>
12679
12680         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
12681         EuroSign).
12682
12683         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
12684         same type as GdkWChar, especially on Win32.
12685
12686         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
12687
12688         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
12689         before passing to Windows GDI for drawing etc. Convert to the
12690         system default codepage before passing to Windows as window
12691         titles.
12692
12693         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
12694         support changing input locale on the fly.
12695
12696         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
12697         on-the-fly changes. Convert incoming characters from the current
12698         codepage to Unicode (and then to a UTF-8 multi-byte string) based
12699         on the current input language. Use keysym<->Unicode mapping tables
12700         and functions borrowed from xterm sources.
12701
12702         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
12703         editions of Win9x, use the ActiveX-based Active IMM (Input Method
12704         Manager) if available. IMEs and the Active IMM are available under
12705         the disguise of Chinese, Korean and Japanese support for IE and
12706         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
12707         support is present in all editions (as long as you install it).
12708
12709         Call DispatchMessage from gdk_events_queue() (and thus
12710         gdk_WindowProc()), instead of duplicating the code in
12711         gdk_WindowProc().
12712
12713         Reworked the grab handling and propagation code, factored out
12714         duplicated code snippets into separate functions. Other cleanups,
12715         too.
12716
12717         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
12718         the <dimm.h> header describing the Active IMM.
12719
12720         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
12721         just do the same as for "single" fonts.
12722
12723         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
12724         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
12725         the new keysyms from gdkkeysyms.h.
12726
12727         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
12728         fontset, so that gtkentry uses wide characters.
12729
12730         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
12731         GTk+'s system directory "gtk+", not "gtk".
12732
12733 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
12734
12735         * docs/gtkfaq.sgml: FAQ update
12736
12737 1999-10-21  Tor Lillqvist  <tml@iki.fi>
12738
12739         * gdk/win32/gdkprivate.h: Add more font private data.
12740
12741         * gdk/win32/gdkfont.c
12742         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
12743         fonts and strings. Now works much better. You still have to
12744         have a correct font selected, though. No fontset emulation yet.
12745
12746 1999-10-19  Tor Lillqvist  <tml@iki.fi>
12747
12748         * gtk/maketypes.awk: Use G_OS_WIN32.
12749
12750         * gtk/gtk.def: Add some missing entry points. Also some non-public
12751         ones, but PyGTK porter claims to need them.
12752
12753         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
12754         built-in type generation.
12755
12756 1999-10-14  Tor Lillqvist  <tml@iki.fi>
12757
12758         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
12759         GDK_FONT_FONT fonts (which is all we have for now, we don't
12760         emulate fontsets). The X11 version uses plain XDrawString in that
12761         case, too. The string passed to gdk_draw_text_wc seems to be in
12762         fact (at least, when used by gtkentry and gtktext) either in a
12763         single-byte charset, or a DBCS. Not Unicode.
12764
12765         This fixes the problem in gtkfontsel, where even if you had
12766         selected a font with a non-Latin1 charset (windows-greek, for
12767         instance), the preview still used Latin-1 glyphs.
12768
12769         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
12770         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
12771         (gdk_font_load): Recognize the demibold etc weights, even if we
12772         don't have the corresponding constants in the headers.
12773         (gdk_font_hash_insert): Use same hash mechanism as in the X11
12774         version. Should save font resources a bit, when we don't have
12775         multiple HFONTs for the same font.
12776
12777         * gdk/win32/gdkprivate.h: Add the names field as in the X11
12778         version.
12779
12780 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
12781
12782         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
12783         X values
12784
12785 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
12786
12787         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
12788         layout support (as mentioned on
12789         http://www.jcinteractive.com/gnome-ui/software/widgets/)
12790
12791 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
12792
12793         * gtk/fnmatch.c
12794         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
12795
12796 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
12797
12798         * configure.in (ALL_LINGUAS): Added Galician (gl)
12799
12800 1999-10-05  Tor Lillqvist  <tml@iki.fi>
12801
12802         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
12803
12804         * gdk/win32/gdkcompat.c: New file, actually provide an
12805         implementation for the deprecated functions. (Just temporarily.)
12806
12807         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
12808
12809         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
12810
12811         * gdk/win32/gdk.def gtk/gtk.def: Updates.
12812
12813 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
12814
12815         * configure.in: Added "uk" to ALL_LINGUAS.
12816         
12817 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
12818
12819         * configure.in: correct checking for BeOS check
12820
12821         * gdk/gdktypes.h
12822         * gtk/fnmatch.c
12823         * gtk/gtkfilesel.c
12824         * gtk/gtkitemfactory.c
12825         * gtk/gtkmain.[ch]
12826         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
12827
12828 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12829
12830         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
12831         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
12832         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
12833         by Bulgarian). 
12834
12835 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
12836
12837         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
12838         Fix a reference to window_private->destroyed.   
12839
12840         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
12841         (ugly) setting of an internal GdkWindow member to use
12842         a _slightly_ cleaner macro.
12843
12844         * gdk/gdkprivate.h: Split GdkWindowPrivate into
12845         GdkDrawablePrivate and GdkWindowPrivate.
12846         Add extra macros for accessing GDK_DRAWABLE_ components.
12847
12848         * *.[ch]: Massive adjustments for the above, use the
12849         new macros in a lot of places.
12850
12851 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
12852
12853         * gdk/gdktypes.h: Make GdkDrawable the base type,
12854         not GdkWindow.
12855
12856 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
12857
12858         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
12859
12860 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
12861
12862         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
12863
12864 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
12865
12866         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
12867         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
12868
12869         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
12870
12871         * docs/gtk-config.1: Now autogenerated.
12872         * docs/Changes-1.4.txt: started
12873         
12874 1999-10-03  Tor Lillqvist  <tml@iki.fi>
12875
12876         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
12877         to #ifdef also here.
12878
12879         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
12880         Owen did to the X11 backend.
12881
12882         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
12883         ScrollWindowEx when blitting inside a window, it can't be correct
12884         in the general case.
12885
12886         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
12887         WM_GETMINMAXINFO is easier.
12888
12889         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
12890         depth equal to the bitspixel value, not the visual's depth.
12891
12892         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
12893         to 24 even if the bitspixel value is 32.
12894
12895         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
12896         need to check for depth==32 when bpp==32, depth will always be 24.
12897
12898 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
12899
12900         * docs/Changes-1.4.txt: Started
12901         
12902         * gtk/Makefile.am (gdk_headers): Include all the new headers.
12903
12904         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
12905         
12906         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
12907         into C file.
12908         
12909         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
12910         header to gdkinputprivate.h.
12911
12912         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
12913         unused since before 1.2.
12914
12915 1999-09-30  Tor Lillqvist  <tml@iki.fi>
12916
12917         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
12918         expand possible hex escapes in the font family (put there by
12919         logfont_to_xlfd if the font name isn't a legal XLFD font family,
12920         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
12921         On Win32, add hex escapes here, too.
12922
12923 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
12924
12925         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
12926         to #ifdef GDK_WINDOWING_X11.
12927
12928 [ Merges from gtk-1-2 ]
12929
12930 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
12931
12932         * configure.in: fixed "GNU Make" check to pass with new make version
12933         3.77.95.
12934
12935 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
12936
12937         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
12938         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
12939         AM_PATH_GTK() macros don't get confused by the -pre1.
12940
12941 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12942
12943         * configure.in (REBUILD): Change check for perl5
12944           to check explicitely for v >= 5.002. (5.001
12945           does not work with our scripts.)
12946
12947 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
12948
12949         * configure.in: evaluate $PERL for the perl version check. added
12950         --disable-rebuilds to give the user an option to completely disable
12951         any source autogeneration rules.
12952
12953 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
12954
12955         * configure.in: evaluate $ac_make when checking for GNU Make.
12956
12957 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12958
12959         * docs/Makefile.am: added generation.txt.
12960
12961         * Makefile.am: require automake 1.4, build README from README.in and
12962         INSTALL from INSTALL.in in dist-hook.
12963         
12964         * README.in:
12965         * INSTALL.in: new files to autogenerate README and INSTALL from.
12966
12967         * configure.in: figure whether we have GNU Make
12968
12969         * docs/generation.txt: minor additions/corrections.
12970
12971 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12972
12973         * docs/gtkfaq.sgml: FAQ Update
12974
12975 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12976         
12977         * configure.in: Fix autoconf warnings about cross compilation by
12978         trying to provide sane defaults for AC_TRY_RUN.
12979
12980 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
12981
12982         * ltconfig
12983         * ltmain.sh: upgrade to libtool 1.3.3
12984
12985 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
12986
12987         * INSTALL: Indicate that the --with-glib= configure
12988         time flag is unsupported.
12989
12990 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
12991
12992         * docs/generation.txt: Added a file that gives
12993         documenation about the autogeneration process for
12994         various autogenerated files.
12995         
12996 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12997
12998         * configure.in (LIBS): Look for libgmodule in the
12999         right location.
13000
13001 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
13002
13003         * docs/gtk_tut.sgml: Removed references to
13004         code examples in my directory on gtk.org as
13005         they should all be in the tutorial now.
13006
13007         * docs/gtk_tut.sgml: Added sources for dial-test
13008         and scribble-xinput programs that were previously
13009         missing.
13010
13011 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
13012
13013         * TODO: Added entry about menu keyboard navigation, removed
13014         some finished items.
13015
13016 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
13017
13018         * acinclude.m4: Standardize on func_dgettext
13019         not func_gettext, so that the checks for dgettext
13020         actually are paid attention to.
13021
13022 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
13023
13024         * configure.in (LIBS): Add $INTLLIBS into $LIBS
13025         directly, rather than repeating the checks for
13026         gettext.
13027
13028         * INSTALL: Added information about gettext and
13029         NLS support.
13030
13031         * acinclude.m4 (LIBM): Check for dgettext, not
13032         just gettext. This should hopefully fix things wrt
13033         systems with old versions of GNU gettext installed.
13034
13035 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13036
13037         * configure.in (LIBS): Look for libgmodule in the
13038         right location.
13039
13040 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13041
13042         * autogen.sh: add --enable-maintainer-mode
13043
13044         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
13045
13046 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
13047
13048         * docs/gtk-config.1.in:
13049           docs/Makefile.am:
13050           configure.in: gtk-config is now generated.
13051
13052         * docs/gtk-config.1: Removed, now generated.
13053
13054 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
13055
13056         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
13057         handle CreateNotify itself, still put out a debuging message for
13058         --gdk-debug=events. made the ReparentNotify debugging message more
13059         verbose.
13060         wrap xcoords translation for ConfigureEvents into an error trap,
13061         a destroy event may already be pending, and in that case, the
13062         actuall coordinate values are not at all critical.
13063
13064 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
13065
13066         * gdk/gdkcc.c: Stop leaking the color_hash all over
13067         the place. Simplify and improve the logic.
13068
13069 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13070
13071         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
13072         for prototypes and function implementations consistent (reported
13073         by Tomas Ogren).
13074
13075 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
13076
13077         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
13078         send_event set in debugging output.
13079         (gdk_compress_exposures): default initialize the event so we don't
13080         operate on bogus values (namely send_event).
13081
13082 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13083
13084         * gdk/gdkwindow.c: When we receive an unexpected
13085         destroy notify on one of our windows, don't just
13086         warn about it, also mark our windows as destroyed.
13087
13088 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
13089
13090         * gdk/gdkfont.c (gdk_font_hash_insert): Add
13091           name => font and name => fontset hashes. The 
13092           name => fontset hash is a _big_ win since we
13093           weren't previously caching fontsets at all and loading
13094           fontsets is expensive. The name => font hash
13095           is less of a win, but it does save us from doing
13096           repeated XQueryFont calls on the same font.
13097
13098         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
13099           list so we can remove font/fontset from hash.
13100
13101 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13102
13103         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
13104           and slightly confusing test. [ XInternAtom (,,TRUE)
13105           will never return None ].
13106
13107 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
13108
13109         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
13110           gdk/gdkwindow.c (gdk_window_set_hints):
13111
13112         Don't omit setting the properties if flags == 0 -
13113         there may be an existing set of properties there
13114         already. (Very old bug. Would it be better to
13115         delete the property instead?)
13116
13117         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
13118           spelling error in comment.
13119
13120 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
13121
13122         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
13123           to avoid stomping over gdk_error_warnings.
13124
13125         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
13126           as (bits_per_pixel + 7) / 8. This gives the same
13127           result as before for multiples of 8, but actually
13128           a "reasonable" value for 1bit or 4bit displays.
13129
13130 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13131
13132         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
13133         GNU Make.
13134
13135 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13136
13137         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
13138         discarding configure events.
13139
13140 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13141
13142         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
13143         refcount is greater than zero.
13144
13145         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
13146
13147         * gdk/gdkfont.c (gdk_font_unref): Likewise.
13148
13149         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
13150
13151         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
13152
13153 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13154
13155         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
13156         that format 32 => sizeof(item) == 4. It really is
13157         sizeof(long).
13158
13159 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
13160
13161         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
13162         core dump at all on X IO errors, only core dump
13163         if --enable-debug for X errors.
13164
13165 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
13166
13167         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
13168         unknown window:" message. disabled ConfigureNotify discarding code,
13169         because it led to events being processed out of order.
13170
13171 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
13172
13173         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
13174
13175         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
13176         we export this function, supress error warnings and don't reset the
13177         error code in the first half of this function.
13178
13179         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
13180         code (instead of just -1) so gdk_error_trap_pop() reveals something
13181         actually informative about the error that happened.
13182
13183         * gdk/*.c:
13184         don't rely on gdk_error_code being -1 if an error occoured, but just
13185         gdk_error_code != 0.
13186
13187 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
13188
13189         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
13190         pointer *before* invoking the filter function, so we at least don't
13191         crash if a filter is removed that is currently executed. window filters
13192         *really* need to be made truely reentrant at some point.
13193
13194 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
13195
13196         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
13197         PropertyNotify debug messages.
13198
13199 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
13200         
13201         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
13202         
13203         * gdk/gdkim.c: Fix cut-and-paste errors for 
13204         x/y and PreeditAttributes/StatusAttributes.
13205
13206 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13207
13208         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
13209         G_MAXINT to 2^16 to alleviate overflow problems in
13210         various window managers.
13211
13212 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13213
13214         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13215         for fontsets.
13216
13217 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
13218
13219         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
13220         Initialize size_hints.x and size_hints.y because kwm
13221         brokenly pays attention to them.
13222         (Bug #1181 -  Lars Heete <hel@admin.de>)
13223
13224 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
13225
13226         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
13227         return value of gdk_list_visuals(). 
13228         (Bug #1193 - Morten Welinder <terra@diku.dk>)
13229
13230 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
13231
13232         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
13233         XSetIMValues to (void *) when comparing to NULL, to workaround
13234         the problem of some compilers barfing since older X headers don't
13235         have the prototype for it.
13236
13237 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
13238
13239         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
13240         for pseudocolor where colormap->colors was double
13241         allocated.
13242
13243         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
13244         color value in the hash table with the pixel filled
13245         in so when we do later hash table lookups, the color
13246         value is correct.
13247         
13248 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
13249
13250         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
13251         making the call
13252
13253 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
13254
13255         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
13256         pointed out by Morten Welinder <terra@diku.dk>.
13257
13258 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13259
13260         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13261           default filter from the list
13262
13263 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13264
13265         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13266           default filter from the list
13267
13268 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
13269
13270         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
13271
13272         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
13273         g_strdup_printf instead of calcing the length separately
13274
13275 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
13276
13277         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
13278         that we don't do in many other places. (Fixing duplicate 
13279         #include of config.h)
13280
13281         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
13282         Otherwise, #ifndef XINPUT_NONE check in the latter
13283         doesn't work. (Bug #546)
13284
13285 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
13286
13287         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
13288         "None" case insensitive.
13289
13290 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13291
13292         * gdk/gdkselection.c: 
13293         Add error traps so if the other end of the connection
13294         dies, we survive.
13295
13296 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13297
13298         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
13299         dest_xid field into two fields - one for the window
13300         to send in messages, one to indicate the last looked
13301         up window for caching purposes. This is needed, so
13302         that Leave messages get the correct window.
13303
13304 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
13305
13306         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
13307         Fix warning created by people mucking around
13308         with the gsource API.
13309
13310         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
13311         Change mapping between GIOCondition and GdkInputCondition
13312         to match the way the Linux kernel does it. This should
13313         fix problems where closed pipes were no longer signalling
13314         GDK_INPUT_READ on systems with a native poll().
13315
13316 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
13317
13318         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
13319         explicitly for the string "None" - it is in the XPM
13320         spec and some servers treat unknown colors in odd ways
13321         (like asking the user!)
13322
13323 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13324
13325         * gdk/gdkevents.c: made "->" into a "." of previous change so
13326         it compiles
13327
13328 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
13329
13330         * gdk/gdkevents.c (gdk_compress_exposures): Set the
13331         window field of the event structure before calling
13332         user filters.
13333
13334 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13335
13336         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
13337         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
13338
13339 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
13340
13341         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
13342         intermediate text property - prevents major memory
13343         leak when gdk_use_mb.
13344         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
13345
13346 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13347
13348         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13349         gtk-a-higuti-990322-[0-3]
13350
13351         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
13352         sizeof(wchar_t) != sizeof (GdkWChar)
13353
13354         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13355         that was causing -DX_LOCALE not to work.
13356
13357         * gtk/gtkrc.c (gtk_rc_init):
13358         X_LOCALE will never have LC_MESSAGES defined
13359
13360         * gdk/gdk.c (gdk_init_check):
13361         Remove --xim-preedit and --xim-status from argv properly.
13362
13363         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
13364         that the client window is present on the X server
13365         before we pass it to the input method.
13366
13367 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13368
13369         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
13370         if --display is specified on the command line, than
13371         the drag window will not be created on that display.
13372         
13373 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
13374
13375         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
13376         lookups with only_if_exists == TRUE were inserting
13377         bogus values into the atom cache.
13378
13379 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13380
13381         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
13382         then reset it to NULL.
13383
13384         * gdk/gdkcolor.c:
13385         (gdk_colors_free): 
13386         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
13387         key for g_hash_table_remove() in both functions, this prevents us
13388         from accessing possibly uninitialized portions of a GdkColor structure
13389         where we are only interested in its pixel value.
13390
13391 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13392
13393         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13394         font hash table, if we have a GdkFontPrivate entry for this font
13395         already, simply increment its reference count, provided by Olaf Dietsche
13396         <olaf.dietsche+list.gtk@netcologne.de>.
13397
13398 1999-09-21  Tor Lillqvist  <tml@iki.fi>
13399
13400         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
13401         just to be sure.
13402
13403         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
13404         unused variables, leftovers from the X11 version.
13405
13406         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
13407
13408         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
13409         downcase fields on X11.
13410
13411 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13412         
13413         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
13414         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
13415
13416 1999-09-17  Tor Lillqvist  <tml@iki.fi>
13417
13418         * gdk/win32/gdk.def: Add gdk_threads_mutex.
13419
13420         * gtk/makefile.msc: Correct path to libintl.
13421
13422         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
13423         use of gint vs. int, and gint vs. gboolean in headers and
13424         definitions. Use GtkType for the *_get_type functions. Note that
13425         these changes preserve binary compatibility.
13426
13427         * gdk/gdk.c
13428         * gdk/win32/gdk.c
13429         * gdk/gdk.h: Fix inconsistencies: gint vs int.
13430
13431         * gtk/gtkmain.c
13432         * gtk/gtkclist.c
13433         * gtk/gtkmenufactory.c
13434         * gtk/gtknotebook.c
13435         * gtk/gtkwidget.c: Fix inconsistencies, also gint
13436         vs. gboolean.
13437
13438         * gtk/gtkcolorsel.[ch]
13439         * gtk/gtkcombo.[ch]
13440         * gtk/gtkdrawingarea.[ch]
13441         * gtk/gtkgamma.[ch]
13442         * gtk/gtkhandlebox.[ch]
13443         * gtk/gtkhpaned.[ch]
13444         * gtk/gtkhruler.[ch]
13445         * gtk/gtkplug.[ch]
13446         * gtk/gtkpreview.[ch]
13447         * gtk/gtkruler.[ch]
13448         * gtk/gtksocket.[ch]
13449         * gtk/gtkstatusbar.[ch]
13450         * gtk/gtktoolbar.[ch]
13451         * gtk/gtkvbbox.[ch]
13452         * gtk/gtkvpaned.[ch]
13453         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
13454         functions.
13455
13456         * gtk/gtkgamma.h: Fix bug, missing () in call of
13457         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
13458
13459 1999-09-14  Tor Lillqvist  <tml@iki.fi>
13460
13461         * gdk/gdkcolor.c (gdk_colormap_new)
13462         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
13463         colormap->colors was allocated twice.
13464
13465         * gdk/win32/gdk.c: Remove some unused stuff.
13466
13467         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
13468         colormap.
13469
13470         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
13471         * gtk/gtklabel.h (gtk_label_get_type)
13472         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
13473         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
13474         in a couple of places, not guint.
13475
13476 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13477
13478         * configure.in,po/et.po: added Estonian language file
13479
13480 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13481
13482         * configure.in,po/da.po: added Danish file
13483
13484 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
13485
13486         * docs/gtkfaq.sgml: Minor FAQ Update
13487
13488 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
13489
13490         * docs/gtkfaq.sgml: FAQ update
13491
13492 1999-08-27  Tor Lillqvist  <tml@iki.fi>
13493
13494         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
13495         way to get window contents continually refreshed while resizing. I
13496         didn't like the effects myself, so it's not on by default.
13497
13498         * gdk/win32/gdkprivate.h: New flag variable
13499         gdk_event_func_from_window_proc, FALSE by default.
13500
13501         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
13502         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
13503         are passed --gdk-event-func-from-window-proc.
13504
13505         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
13506         and we have am event_func, call it instead of enqueing the event.
13507
13508 1999-08-23  Tor Lillqvist  <tml@iki.fi>
13509
13510         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
13511         Kelley: Set expose_count in GdkEventExposes correctly.
13512
13513         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
13514         MULTIPLE_WINDOW_CLASSES).
13515
13516         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
13517         for bug in NT, apparently NT *does* draw the end pixel, too, in
13518         LineTo with a one-pixel pen, so we don't have to do it ourselves.
13519
13520 1999-08-21  Tor Lillqvist  <tml@iki.fi>
13521
13522         Improvements by Hans Breuer: 
13523
13524         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
13525
13526         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
13527         CS_?REDRAW flags as they cause lots of (late) redraws when "show
13528         window contents while dragging" is turned on. Allocate at least
13529         one unique class for every GdkWindowType. If support for single
13530         window-specific icons is ever needed (eg. Dialog specific), every
13531         such window should get its own class.
13532
13533 1999-08-19  Tor Lillqvist  <tml@iki.fi>
13534
13535         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
13536         error that caused crashes.
13537
13538 1999-08-17  Tor Lillqvist  <tml@iki.fi>
13539
13540         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
13541         window, use ScrollWindowEx, and call UpdateWindow. This prevents
13542         bugs when for instance part of the window was outside the
13543         display. Thanks to Philippe Colantoni for finding and fixing this.
13544
13545 1999-08-16  Tor Lillqvist  <tml@iki.fi>
13546
13547         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
13548         endpoint calculations which were totally wrong. (A little RTFMing
13549         helps a lot ;-)
13550
13551         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
13552         from a separate directory, not from gettext, because of licensing
13553         issues (we want to use the LGPL version).
13554
13555         * README.win32: Mention the intl from glibc vs from gettext issue.
13556
13557 1999-08-13  Tor Lillqvist  <tml@iki.fi>
13558
13559         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
13560         in the key event handling: Now AltGr chars work again. Also,
13561         now Alt-digits are passed up as well as Control-digits.
13562         Pass keypad plus and minus as normal plus and minus.
13563
13564 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13565
13566         * docs/gtkfaq.sgml: FAQ Update
13567
13568 1999-07-25  Tor Lillqvist  <tml@iki.fi>
13569
13570         * README.win32
13571         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
13572         the Wintab SDK.
13573
13574         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
13575         OK, but getting closer. Guard against bogus tilt data from Wacom
13576         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
13577         enable easier building without Wintab.
13578
13579         * gdk/win32/gdkinput.h
13580         * gdk/win32/gdkevents.c 
13581         * gdk/win32/gdkwindow.c: Minor changes related related to above.
13582         
13583         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
13584         code. As we have just one visual on Win32, no sense to have it in a
13585         table, and no need for the hash table.
13586
13587         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
13588         better on white background.
13589
13590 1999-07-21  Tor Lillqvist  <tml@iki.fi>
13591
13592         * README.win32: Update gcc build instructions. Mention gettext is
13593         GPL.
13594
13595         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
13596         supported cursor size with GetSystemMetrics.
13597
13598         * gdk/win32/gdkfont.c
13599         * gtk/gtkfontsel.c: Guard against some font weight and charset
13600         symbols being undefined (in mingw32 headers).
13601
13602         * gdk/win32/makefile.cygwin
13603         * gtk/makefile.cygwin
13604         * gtk/gtkthemes.c: No longer need to have differently named
13605         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
13606
13607 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
13608
13609         * docs/gtkfaq.sgml: Long awaited FAQ update.
13610
13611 1999-07-15  Tor Lillqvist  <tml@iki.fi>
13612
13613         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
13614         it. Obscure bit manipulation needed.
13615
13616         * gdk/win32/gdkevents.c: Logging.
13617         
13618         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
13619         style (file name include compiler name) for theme engines.
13620
13621 1999-07-13  Tor Lillqvist  <tml@iki.fi>
13622
13623         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
13624
13625         * gdk/win32/gdkevents.c: Fix long-standing bug in key
13626         events. The key.string wasn't zero-terminated, still we strdup'ed
13627         it in gdk_event_copy(). Synthesize crossing events for button
13628         events before possible propagation.
13629
13630         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
13631
13632         * gdk/win32/makefile.cygwin
13633         * gtk/makefile.cygwin: Use new DLL naming style for the
13634         GCC-compiled ones.
13635
13636         * gdk/win32/makefile.msc
13637         * gtk/makefile.msc: Cosmetics mostly.
13638
13639         * gtk/gtk.def: Add missing entry points.
13640
13641         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
13642
13643 1999-07-09  Tor Lillqvist  <tml@iki.fi>
13644
13645         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
13646         or height is zero. Don't print a warning if Pie or Arc fails, they
13647         always fail (?) for very narrow ellipses.
13648
13649         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
13650         the part or the destination window corresponding to source area
13651         outside of the source drawable's boundary.
13652
13653         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
13654         anything if less than two points.
13655
13656         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
13657         return NULL. Gtk cut-and-paste inside a single program works
13658         better this way. (It always gets the clipboard contents from
13659         Windows, not from its own copy, which is cleared anyway. I can't
13660         say I fully understand what happens... Emulating the X selection
13661         and property stuff is a bit of a mess.)
13662
13663         * gdk/win32/gdkevents.c
13664         * gdk/win32/gdkproperty.c: A bit more verbose logging.
13665
13666         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
13667         that never got deleted). Revamp gdk_region_shrink.
13668
13669         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
13670         after use.
13671
13672         * gtk/gtk.def: Add some missing entry points.
13673
13674         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
13675         component.
13676
13677 1999-07-04  Tor Lillqvist  <tml@iki.fi>
13678
13679         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
13680         Control-digits specially.
13681
13682 1999-07-03  Tor Lillqvist  <tml@iki.fi>
13683
13684         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
13685
13686 1999-06-28  Tor Lillqvist  <tml@iki.fi>
13687
13688         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
13689         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
13690         finding this.)
13691
13692 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
13693
13694         * gtk+.spec.in: Corrected some typos in files section.
13695         
13696 1999-06-15  Tor Lillqvist  <tml@iki.fi>
13697
13698         * README.win32: Mention using GNU gettext.
13699         * config.h.win32: Enable NLS stuff.
13700         * gtk/makefile.msc: Use GNU gettext.
13701         * gdk/win32/gdkdnd.c: Minor header reorg.
13702         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
13703         cosmetics.
13704         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
13705         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
13706
13707 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
13708
13709         * acinclude.m4
13710         * config.guess
13711         * config.status
13712         * ltconfig
13713         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
13714
13715 1999-05-30  Tor Lillqvist  <tml@iki.fi>
13716
13717         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
13718         SafeAdjustWindowRectEx. Don't override all calls to
13719         AdjustWindowRectEx by it, but use it only in two places: When
13720         creating a new top-level window and when moving a top-level
13721         window.
13722
13723         Use screen coordinate rectangle, not client rectangle, in
13724         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
13725         when we try to place a window so that the decoration (mainly,
13726         title bar) isn't visible.
13727
13728         These changes fix the bug that showed up for instance as the
13729         GIMP's saved top-level windows moving right and down (by an amount
13730         equal to the window decoration) for each session. This bug showed
13731         up also in testgtk's "Saved Position".
13732
13733         gdk_window_resize also redone a bit.
13734
13735 1999-05-25  Tor Lillqvist  <tml@iki.fi>
13736
13737         * gtk/testgtkrc: Add (commented out) Windows-style theme
13738         include line.
13739
13740         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
13741
13742 1999-05-18  Tor Lillqvist  <tml@iki.fi>
13743
13744         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
13745         gdkx.h to a gdk subdirectory, so that applications can include
13746         these with <gdk/*.h> without trouble.
13747
13748         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
13749         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
13750         have their bitmap destroyed.
13751
13752         * gdk/win32/gdk.def: Add gdk_root_parent.
13753
13754 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
13755
13756         * configure.in
13757           gtk-config.in
13758           ltconfig
13759           ltmain.sh     
13760           gtk/Makefile.am: changes to compile nicely (with xlib) 
13761           on BeOS
13762
13763 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
13764
13765         * acinclude.m4
13766         * config.guess
13767         * config.sub
13768         * ltconfig
13769         * ltmain.sh: upgrade to libtool 1.3
13770
13771 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
13772
13773         * gtk/gtkclist.c:
13774         * gtk/gtkctree.c: merges from gtk-1-2
13775
13776 1999-04-25  Tor Lillqvist  <tml@iki.fi>
13777
13778         Support added for building using a GNU toolchain on Win32,
13779         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
13780
13781         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
13782         * config.h.win32: Changes for gcc.
13783         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
13784         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
13785         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
13786         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
13787         Protect shl stuff unavaiilable with mingw32 headers.
13788         * gdk/win32/gdkevents.c: Fix typo.
13789         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
13790         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
13791         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
13792         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
13793         the mingw32 headers.
13794         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
13795         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
13796         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
13797         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
13798         Test for NATIVE_WIN32, not _MSC_VER.
13799         * gtk/gtkmain.c: No use warning about developer version on Win32,
13800         there aren't any non-developer versions anyhow.
13801         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
13802         * gtk/makefile.msc: Use pthread from another directory. Minor other
13803         changes. 
13804
13805 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13806
13807         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13808           default filter from the list
13809
13810 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
13811
13812         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
13813          when gtk_widget_grab_default() is called for a widget that
13814          is not within a GtkWindow.
13815
13816 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
13817
13818         * docs/gtk_tut.sgml, examples/clist.c: use a
13819           scrolled window in the clist example. Minor
13820           tutorial fixes.
13821
13822 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
13823
13824         * docs/gtk_tut.sgml: Style check from David King
13825           <dking@youvegotmail.net>
13826
13827 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
13828
13829         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
13830         compile with unknown value of GDK_WINDOWING
13831
13832 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
13833
13834         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
13835         after the rule is fired.
13836         (install-exec-local): Install gdkconfig.h only if the contents are
13837         different from the currently installed gdkconfig.h.
13838
13839 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
13840
13841         * gdk/Makefile.am (configexecincludedir): Rename from 
13842         configincludedir so that gdkconfig.h will be installed 
13843         as part of `make install-exec'. 
13844
13845 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
13846
13847         * acinclude.m4
13848         * config.guess
13849         * config.sub
13850         * ltconfig
13851         * ltmain.sh: upgrade to libtool 1.2f
13852
13853         * autogen.sh: libtool is not required to autogen gtk+
13854
13855         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
13856         needed)
13857
13858 1999-03-18  Tor Lillqvist  <tml@iki.fi>
13859
13860         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
13861         declaring gdk variables exported/imported from the DLL. New image
13862         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
13863         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
13864         GDK_DRAG_PROTO_OLE2.
13865
13866         * gdk/gdk.h: Merge in Win32 version: Two new functions,
13867         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
13868         declared only for the Win32 version, but could be in the X11
13869         version as well. (Needed for a Xlib-less gdk_imlib.)
13870         gdk_color_hash should have only one parameter. Declare
13871         gdk_threads_mutex with GDKVAR.
13872         
13873         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
13874         just one parameter.
13875
13876         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
13877         per pixel, not bits.
13878
13879         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
13880         Fetch bpp (which means bits-per-pixel here) from another place on
13881         Win32. Accept also depth==32 (which we might get on Win32) with
13882         bpp==32.
13883
13884         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
13885         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
13886         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
13887         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
13888         in the backend-dependent directory, not in the common gdk
13889         directory.
13890
13891         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
13892         headers.
13893
13894 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
13895
13896         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
13897         want to use the Gtk+ devel version (which is true, and yes - even i am
13898         currently working with the 1.2.x branch). so everyone reading this, you
13899         probably want to issue
13900         cvs checkout -r glib-1-2 glib
13901         and
13902         cvs checkout -r gtk-1-2 gtk+
13903         as your next two comands.
13904
13905 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
13906
13907         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
13908         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
13909
13910         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
13911         file. strongly deprecated the GTK_HAVE_* macros, we provide
13912         GTK_CHECK_VERSION() for people that need to check for certain
13913         Gtk+ versions.
13914
13915         * gtk/gtkcompat.h: removed this from CVS.
13916         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
13917         idea right from the start, it just didn't seem like that back then.
13918
13919 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
13920
13921         * merges from gtk-1-2:
13922
13923 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
13924
13925         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
13926         item factory class has been created.
13927         (gtk_item_factory_parse_rc): likewise.
13928
13929         * gtk/gtkmenu.c:
13930         keep proper references for old_active_menu_item.
13931         (gtk_menu_reparent): unset the usize of the new parent,
13932         so the menu can sanely be size requested and we don't get nasty screen
13933         artefacts upon next reparentation.
13934         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
13935         enter notify. only synthesize enter notifies if the pointer really is
13936         inside the event window.
13937         (gtk_menu_popdown): use gtk_menu_shell_deselect().
13938         (gtk_menu_popup): move the background setting stuff into
13939         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
13940
13941         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
13942         gtk_menu_shell_select_item() to select the new item.
13943         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
13944         do the right thing for deselection as well.
13945
13946 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
13947
13948         * gtk/gtkwidget.[hc]:
13949         (gtk_widget_accelerators_locked): return whether a widget's accelerators
13950         are locked.
13951
13952         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
13953         existing accelerators if the widget's accelerators are locked.
13954
13955 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
13956
13957         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
13958
13959         * gtk/gtkmenu.c: truely forward key press and key release events to
13960         the menu widget from the toplevel or tearoff window. we can't simply
13961         connect to that, we need to stop further processing of the events as
13962         well.
13963
13964 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
13965
13966         * gtk/gtkmenu.c:
13967         (gtk_menu_key_press): pass event->keyval, event->state to
13968         gtk_accelerator_valid, instead of event->keyval twice.
13969         refuse to install single letter accelerators for menus that use
13970         single letter shortcuts.
13971
13972         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
13973         gtk_menu_ensure_uline_accel_group().
13974
13975         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
13976         which will always return an uline accel group, made
13977         gtk_menu_get_uline_accel_group() return NULL if the group isn't
13978         yet created.
13979
13980 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
13981
13982         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
13983
13984         * gtk/gtkclist.c (gtk_clist_column_title_passive):
13985         Leave button sensitive, trap  button_press, button_release,
13986         motion_notify, enter_notify and leave_notify events instead.
13987         (gtk_clist_column_title_active): disconnect event handler.
13988         (gtk_clist_drag_data_get): fixed memory leak. Reported by
13989         Guillaume Laurent <glaurent@worldnet.fr>
13990
13991 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
13992
13993         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
13994         width/height mixups.
13995
13996         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
13997         if needed.
13998
13999 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
14000
14001         * gtk/testgtk.c (create_item_factory): unref the item factory after
14002         window's destruction.
14003
14004         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
14005         count on the menu shell around the menu item's activation, since the
14006         signal emission may cause menu shell destruction.
14007
14008         * gtk/gtkitemfactory.c:
14009         the previous code leaked one accel group per menu. we use
14010         gtk_menu_get_uline_accel_group() now to fix that, and with that
14011         also create the underline accelerator group of the menus only if
14012         required (i.e. an underline accelerator has been specified).
14013         (gtk_item_factory_construct):
14014         (gtk_item_factory_create_item): removed code that would create an
14015         extra accel group for the menu (and leak references).
14016         (gtk_item_factory_create_item): adapted the underline accelerator
14017         installation code to properly feature gtk_menu_get_uline_accel_group().
14018
14019         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
14020         menu->accel_group, this may return NULL if the accelerator group
14021         hasn't been set yet.
14022         added gtk_menu_get_uline_accel_group() to retrive the underline
14023         accelerator group of the menu, this will be created on demand
14024         and proper care is taken about its reference count.
14025
14026         * gtk/gtkitemfactory.h:
14027         * gtk/gtkitemfactory.c:
14028         dumped the approach of keeping a widgets by action list on the
14029         factory since the factory<->widget destroy negotiation didn't work
14030         and would be hard to get going at all. instead we keep a list of
14031         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
14032         persistant throughout a program's life time).
14033         also, i removed the static const gchar *key_* variables, and made
14034         them inline strings (they weren't actually used anyways).
14035         (gtk_item_factory_add_item): update ifactory->items.
14036         (gtk_item_factory_destroy): destroy ifactory->items (and remove
14037         the item factory pointer from the remaining ifactory widgets).
14038         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
14039         list to find the widget.
14040         (gtk_item_factory_get_item): new function that works around
14041         gtk_item_factory_get_widget() limitations, this function will only
14042         return menu items, even for <Branch> entries.
14043
14044 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14045
14046         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14047         font hash table, if we have a GdkFontPrivate entry for this font
14048         already, simply increment its reference count, provided by Olaf Dietsche
14049         <olaf.dietsche+list.gtk@netcologne.de>.
14050
14051         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14052         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14053
14054 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
14055
14056         * gtk/gtkcontainer.c:
14057         (gtk_container_add_with_args):
14058         (gtk_container_addv):
14059         (gtk_container_add): before adding a child to a conatiner, make sure
14060         it is (default) constructed, this is neccessary because under certain
14061         circumstances the child will get relized and mapped immediatedly, in
14062         which case it has to be constructed already.
14063
14064 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
14065
14066         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
14067         values > 1 as TRUE also.
14068
14069 1999-03-16  Tor Lillqvist  <tml@iki.fi>
14070
14071         * README.win32: New file.
14072                 
14073         * configure.in: Check for lstat.
14074
14075         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
14076         completeness.
14077
14078         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
14079
14080         * gtk/gtk.def: Removed CRs.
14081
14082         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
14083         ..\gdk\win32).
14084
14085         * gdk/win32/makefile.msc: Correct upwards relative paths.
14086         
14087 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
14088
14089         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
14090           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
14091           it was connecting a void function to expose_event and the int
14092           returning function to the draw signal
14093
14094 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
14095
14096         * configure.in:
14097         Use correct path to libgmodule.la when ref'ing uninstalled copy
14098         of glib.  (Already in stable branch, Bug #417)
14099
14100 1999-03-15  Tor Lillqvist  <tml@iki.fi>
14101
14102         Win32 merge and general portability stuff:
14103                 
14104         * acconfig.h,configure.in: Check for <sys/time.h>.
14105
14106         * gdk/win32: New directory (actually, been there for a while).
14107         
14108         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
14109         NATIVE_WIN32, and use these. Always case fold on Win32. No
14110         backslashed escapes on native Win32.
14111
14112         * gtk/{gtk.def,makefile.msc}: New files.
14113
14114         * gtk/Makefile.am: Add above new files.
14115         
14116         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
14117         instead of <strings.h>.
14118
14119         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
14120         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
14121         <unistd.h> appropriately.
14122
14123         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
14124         Use ABS() (from <glib.h>) instead of abs().
14125         
14126         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
14127         of gtk (and thus glib) headers, so that WIN32 will be
14128         defined. With MS C, include <direct.h> for mkdir prototype.
14129
14130         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
14131         some casts, needed by MS C.
14132
14133         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
14134         implemented).
14135
14136         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
14137         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
14138         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
14139
14140         * gtk/gtkmain.h: Mark variables for export/import on Win32.
14141                 
14142         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
14143         the event is not a hint, or its window is not the slider. Needed
14144         on Win32, at least.
14145
14146         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
14147         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
14148         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
14149         a subdirectory of the Windows directory as gtk system
14150         configuration directory.
14151
14152         * gtk/gtkselection.c: No chunks on Win32.
14153
14154         * gtk/gtksocket.c: Not implemented on Win32.
14155
14156         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
14157
14158         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
14159
14160         * gtk/maketypes.awk: Declare variables with a macro that expands to
14161         necessary export/import magic in the case of Win32.
14162                 
14163         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
14164
14165 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
14166
14167         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
14168         since those were meant only for gdki18n.h.  
14169         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
14170         for widechar tests.
14171         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
14172
14173 1999-03-13  Tor Lillqvist  <tml@iki.fi>
14174
14175         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
14176         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
14177
14178         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
14179         installed) to CFLAGS.
14180
14181         * gdk/Makefile.am: Add rules for gdkconfig.h.
14182
14183         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
14184         APIs.
14185
14186         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
14187         gdkx.h anyway when compiling for X11.
14188         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
14189         general): Merge in Win32 version.
14190         
14191         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
14192         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
14193         expansion (if we don't have HAVE_PWD_H), allow for drive
14194         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
14195         included code from Craig Setera's port to Win32 (the one that uses
14196         X11, and the cygwin dll), even if it probably will be abandoned.
14197
14198         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
14199         the user entered one herself.  This way one can complete *.h and
14200         don't get matches on any .help files, for instance.
14201         
14202 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14203
14204         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14205         font hash table, if we have a GdkFontPrivate entry for this font
14206         already, simply increment its reference count, provided by Olaf Dietsche
14207         <olaf.dietsche+list.gtk@netcologne.de>.
14208
14209         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14210         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14211
14212 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14213
14214         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
14215         the number of calls to gdk_draw_point() (and thus to X) by
14216         clipping the points by hand.
14217
14218         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
14219         the clip parameter.
14220         (gtk_handle_box_paint): Only paint the handle if the expose area
14221         intersects it.
14222
14223 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14224
14225         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
14226
14227 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
14228
14229         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
14230         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
14231
14232 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14233
14234         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
14235          textmode (O_TEXT) for OS/2 version.
14236
14237 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
14238
14239         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
14240         GtkSpinButton, "input" and "output", to make the output more flexible.
14241         The user has to provide a mapping between adjustment->value and the
14242         output string (and vice versa, if the spin button is editable). 
14243         See testgtk for examples.
14244
14245 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
14246
14247         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
14248         new one.
14249         
14250         * configure.in: set gtk+ version to 1.3.0.