]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
add set_cursor_pos() virtual method
[~andy/gtk] / ChangeLog.pre-2-10
1 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
2
3         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
4         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
5         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
6         set_cursor_pos() virtual method
7
8         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
9         (gtk_im_context_xim_set_cursor_pos): add implementation for
10         set_cursor_pos() method
11
12         * gtk/gtkentry.c (recompute_idle_func): set current cursor
13         position to input methods
14
15 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
16
17         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
18         code a lot.
19
20         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
21         g_mem_chunk.
22         (_gtk_tree_data_list_alloc): use g_mem_chunk.
23         (_gtk_tree_data_list_node_to_value): Fix to switch on
24         G_TYPE_FUNDAMENTAL.
25         (_gtk_tree_data_list_value_to_node): Fix to switch on
26         G_TYPE_FUNDAMENTAL.
27         (_gtk_tree_data_list_node_copy): Fix to switch on
28         G_TYPE_FUNDAMENTAL.
29
30 2001-03-12  Havoc Pennington  <hp@redhat.com>
31
32         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
33         to convert to new property API. Also, change default_width and
34         default_height get_property to return 0 as the flag value for
35         "unset"; -1 is not a valid value for these fields.
36
37 2001-03-12  Havoc Pennington  <hp@redhat.com>
38
39         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
40         enum with registration for icon sizes, instead of strings.
41
42         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
43         gtkwidget.c: Fix to reflect GtkIconSize
44         
45 2001-03-12  Alexander Larsson  <alexl@redhat.com>
46
47         Make GtkFB compile and link.
48         
49         * gdk/linux-fb/gdkdrawable-fb2.c:
50         window->mapped to GDK_WINDOW_IS_MAPPED(). 
51         
52         * gdk/linux-fb/gdkwindow-fb.c:
53         window->mapped to GDK_WINDOW_IS_MAPPED(). 
54         Added gdk_window_shape_combine_region.
55         Added assorted placeholders for unimplemented new GdkWindow API calls.
56
57 2001-03-12  Alexander Larsson  <alexl@redhat.com>
58
59         * gtk/gtkfilesel.c:
60         Add more test when converting filenames from/to utf-8.
61         Don't allow entering text in the filename entry which isn't allowed in
62         a filename. Just beep instead.
63
64 2001-03-12  Alexander Larsson  <alexl@redhat.com>
65
66         * gtk/gtkclist.c:
67         Scroll using gdk_window_scroll(). Don't wait for exposes.
68         Move the column headers in an order that makes them flash less.
69
70 2001-03-10  Hans Breuer  <hans@breuer.org>
71
72         * gdk/gdk.def : updated
73
74         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
75         to offseting the clip_mask at the right place
76
77         * gdk/win32/gdkwindow-win32.c : don't create background brushes
78         for all the gdkClasses, especially not for the input_only case.
79         Otherwise flickering wont be avoidable, because we don't get
80         WM_ERASEBKGND message for these windows.
81
82         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
83         and fixed massive redraw problems apparently triggered by Alexanders 
84         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
85         but it seems to work quite well :-)
86
87         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
88         prototype
89
90 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
91
92         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
93         (gtk_list_store_set_cell): Fix a stupid typo.
94
95 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
96
97         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
98         select_all not work if you're in SINGLE mode (it doesn't make that
99         much sense, anyway.)
100
101         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
102         handle types more sanely.
103         (_gtk_tree_data_list_value_to_node): handle types more sanely.
104         (_gtk_tree_data_list_node_copy): handle types more sanely.
105
106         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
107         GValue better. Converts the type as well.
108
109         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
110         GValue better. Converts the type as well.
111
112 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
113
114         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
115         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
116         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
117         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
118
119         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
120         gdk_im/gdk_ic.
121
122 2001-03-09  Hans Breuer  <hans@breuer.org>
123
124         * gdk/gdk.def : updated
125
126         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
127         for their palette
128
129         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
130         removing
131
132         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
133         removing and implemented Havoc's GdkWindow state functions; 
134         stick/unstick only as no-op, cause I don't know how to emulate 
135         on win32 ...
136
137         * gtk/gtk.def : updated
138
139         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
140
141         * gtk/gtktypeutils.c : #include <string.h>
142
143         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
144
145 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
146
147         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
148         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
149         not a boxed.
150
151 2001-03-09  Alexander Larsson  <alexl@redhat.com>
152
153         * docs/Changes-2.0.txt:
154         Document expose event->region change and that gtk_widget_event
155         doesn't allow passing expose events.
156
157         * gdk/gdkevents.h:
158         Add region to expose event.
159         
160         * gdk/gdkevents.c:
161         Handle event->region in gdk_event_copy() and gdk_event_free().
162
163         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
164         Generate expose_event->region when creating expose events.
165
166         * gdk/x11/gdkevents-x11.c:
167         Generate expose events with regions when translating X events.
168
169         * gtk/gtkcontainer.[ch]:
170         Default expose handler that propagates expose events to NO_WINDOW
171         children. New function gtk_container_propagate_expose()
172
173         * gtk/gtkwidget.[ch]:
174         Moved gtk_widget_event implementation to gtk_widget_event_internal.
175         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
176         expose events. New function gtk_widget_send_expose() to send expose
177         events. New function gtk_widget_region_intersect() to calculate
178         window/region intersections.
179         
180         * gtk/gtkmain.c (gtk_main_do_event):
181         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
182         Use gtk_widget_send_expose() to send expose events.
183         
184         * gtk/gtkbin.c:
185         * gtk/gtkbox.c:
186         * gtk/gtkfixed.c:
187         * gtk/gtkimagemenuitem.c:
188         * gtk/gtklist.c:
189         * gtk/gtkpacker.c:
190         * gtk/gtktable.c:
191         * gtk/gtktree.c:
192         Remove expose handler, using the default container implementation
193         instead.
194         
195         * gtk/gtkbutton.c:
196         * gtk/gtkcheckbutton.c:
197         * gtk/gtkeventbox.c:
198         * gtk/gtkfixed.c:
199         * gtk/gtkhandlebox.c:
200         * gtk/gtklayout.c:
201         * gtk/gtklistitem.c:
202         * gtk/gtkmenu.c:
203         * gtk/gtkmenubar.c:
204         * gtk/gtkmenuitem.c:
205         * gtk/gtknotebook.c:
206         * gtk/gtkoptionmenu.c:
207         * gtk/gtkpaned.c:
208         * gtk/gtkscrolledwindow.c:
209         * gtk/gtktogglebutton.c:
210         * gtk/gtktoolbar.c:
211         * gtk/gtktreeitem.c:
212         * gtk/gtkviewport.c:
213         Chain expose handler to parent class handler. Use
214         gtk_container_propagate_expose() to propagate exposes.
215
216         * gtk/gtkclist.c (check_exposures):
217         * gtk/gtktext.c (process_exposes):
218         Use gtk_widget_send_expose instead of gtk_widget_event.
219
220 >>>>>>> 1.1811
221 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
222
223         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
224
225 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
226
227         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
228         unref the nodes.   Fixes bug #50058.
229
230         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
231         "::ref_iter" to "::ref_node".
232         (gtk_tree_model_unref_node): change "::unref_iter" to
233         "::unref_node". Fixes bug #50064.
234
235 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
236
237         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
238         support for invisible cells.
239          (gtk_tree_view_bin_expose): ditto
240
241 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
242
243         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
244         on gobjects.
245
246         * tests/testtreefocus.c (main): New test file.
247
248         * tests/testtreeview.c: update to latest glib changes.
249
250         * tests/testtreecolumns.c: update to latest glib changes.
251
252 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
253
254         * gtk/testgtk.c: re-enabled event watcher emission hooks.
255
256 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
257
258         * *.c: added accumulator data argument to g_signal_newc()
259         functions.
260
261         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
262         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
263         * gtk/treestoretest.c (make_window):
264         s/g_signal_connect/g_signal_connectc/.
265
266         * gtk/gtktextbuffer.c: completed signal arg fixups,
267         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
268
269 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
270
271         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
272         G_CONST_RETURN.
273
274         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
275         ::hierarchy-changed signal when a widget changes
276         from anchored to unanchored or vice versa.
277         (anchored means 
278          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
279         Use a private flag to keep track of this efficiently.
280
281 2001-03-07  Havoc Pennington  <hp@redhat.com>
282
283         * gtk/testgtk.c (create_spins): uglify so that size request gets
284         tested.
285
286         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
287         request on values for upper/lower, completes #6152
288
289 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
290
291         * Makefile.am: Remove gtk-config-2.0 again.
292         (Grrrr, pkg-config. And stops make loops.)
293
294 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
295
296         * gtk/gtksignal.[hc]: removed old emission hook API.
297         
298         * docs/Changes-2.0.txt: fixed sections.
299         
300         * gtk/gtktextbuffer.c: signal arg fixups.
301
302 2001-03-07  Havoc Pennington  <hp@redhat.com>
303
304         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
305
306         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
307         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
308         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
309         validation and the redraw which is higher priority than the
310         validation.
311
312 2001-03-07  Havoc Pennington  <hp@redhat.com>
313
314         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
315         (gtk_entry_set_property): remove trailer
316
317         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
318         (gtk_entry_get_width_chars): new functions, to set size request to 
319         a given number of characters
320
321         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
322
323         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
324         (gtk_dialog_get_has_separator): new function
325         (run_delete_handler): fix to not emit "response" signal
326         because we already did in the delete event handler installed
327         at dialog creation time.
328         
329         * gtk/gtkdialog.h: add a has_separator property,
330         add GTK_DIALOG_NO_SEPARATOR flag
331
332 2001-03-07  Havoc Pennington  <hp@redhat.com>
333
334         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
335         off decorations for a window.
336
337         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
338         changes
339
340         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
341         to get location of PangoLayout inside the label, closes #51198
342
343         * gtk/testgtk.c (create_bbox): fix up button box usage
344
345         * gtk/testcalendar.c (create_calendar): fix up button box usage
346
347         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
348
349         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
350
351         * gtk/gtkhbbox.h: deprecations
352
353         * gtk/gtkvbbox.h: deprecations
354
355         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
356         emulate deprecated gtk_button_box_get_spacing
357
358         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
359         the "set global default" functions
360         (struct _GtkButtonBox): remove "spacing" field, use the one from 
361         GtkBox base class
362
363         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
364
365         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
366         render the icon, return the missing image icon.
367
368         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
369         image icon if the load fails.   
370
371         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
372         when no image is found; should be the Netscape "missing image"
373         icon eventually but for now is a random image
374
375         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
376         role for the session manager
377
378         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
379
380         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
381         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
382
383         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
384
385 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
386
387         * gtk/*.c: marshaller fixes.
388         
389         * gtk/gtkmarshal.list: extreme cleanup.
390
391         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
392         param spec for now.
393
394         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
395         where appliable.
396
397         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
398         special cased autogenerated boxed types from gtktypebuiltins_ids.c
399         which are not reference counted:
400         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
401         PangoFontDescription, GtkTreeIter and GtkTreePath.
402
403 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
404
405         * gtk/gtktreeselection.h: 
406         * gtk/gtktreemodel.c:
407         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
408         file should be included directly, and gobject/gmarshal.h
409         as well as gtk/gtkmarshal.h even can't be included directly.
410
411         * Makefile.am: grr, install gtk-config-2.0.
412
413         * gtk/testgtk.c:
414         * gtk/simple.c:
415         * gtk/gtkmenu.c:
416         * gtk/gtkitemfactory.c: use g_object_connect() instead of
417         passing "*signal*::*" args to gtk_widget_set().
418         
419         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
420         
421         * gtk/*.c: removed trailer arg from property setters and getters.
422         macro fixups.
423
424 2001-03-07  Alexander Larsson  <alexl@redhat.com>
425
426         * gtk/gtklabel.c (set_markup): Removed warning
427
428 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
429
430         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
431         field to allow you to hide cell renderers.
432
433         * gtk/gtkcellrenderer.c: Add support for invisible cells.
434
435         * gtk/gtktreeview.c: Add support for invisible cells.
436
437 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
438
439         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
440         Add "clicked" signal back to columns.
441
442         * ChangeLog: remove conflict markers.
443
444 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
445
446         * gtk/gtkbutton.c: Add animation of activation by, on 
447         activate, pressing the button, and adding a timeout that 
448         releases the button after 250ms or on key release and
449         emits ::clicked. (#51501)
450
451         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
452         action area, we connect to ::clicked instead of ::activate
453         so the dialog stays up through the animation.
454
455 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
456
457         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
458         check the ignore_enter flag for the menu shell that
459         the item is actually a child of, not for attached
460         submenus. (#51536)
461
462 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
463
464         * gtk/gtkmain.c (gtk_propagate_event): Only do special
465         special key-press grab handling for widgets within
466         GtkWindows. Otherwise, fall through to normal case.
467
468         This prevents key events being sent twice to GtkInvisible
469         widgets, which can cause all sorts of mischief.
470
471 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
472
473         * gtk/gtkmain.c (gtk_propagate_event): When a grab
474         widget is in effect, give the grab widget a first
475         crack at KEY_PRESS/RELEASE events. (#424)
476
477 2001-03-06  James Henstridge  <james@daa.com.au>
478
479         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
480         offset for the window_state_event to point at window_state_event
481         rather than no_expose_event.
482
483 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
484
485         * gtk/gtkimmodule.h: fix busted /* comment */
486
487 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
488
489         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
490         object properties.
491
492 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
493
494         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
495         add object properties.
496
497         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
498         to add object properties.
499
500         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
501         object properties.
502
503         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
504         add object properties.
505
506         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
507         object properties.
508
509 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
510
511         * gtk/gtktreemodel.c: renamed "child_toggled" to
512         "has_child_toggled".
513
514         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
515         handle new signal name.
516
517         * gtk/gtktreestore.c: Updated to handle new signal name.
518         * gtk/gtklisttore.c: Updated to handle new signal name.
519         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
520
521 2001-03-05  Alexander Larsson  <alexl@redhat.com>
522
523         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
524         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
525
526 2001-03-05  Michael Natterer  <mitch@gimp.org>
527
528         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
529         pixbuf-engine coincidentially also failed to make one of it's
530         parent_class pointers static, causing overwriting of GtkLabel's
531         parent_class pointer in pixbuf_style_class_init().
532         (Will commit the fix to the pixbuf-engine too).
533
534 2001-03-05  Alexander Larsson  <alexl@redhat.com>
535
536         * gdk/gdkwindow.h:
537         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
538         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
539         gdk_window_set_icon_list for net wmspec functionality.
540
541         * gdk/x11/gdkwindow-x11.c:
542         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
543         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
544         gdk_window_set_icon_list.
545         Added gdk_wmspec_change_state helper function and used it in the code.
546         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
547
548         * gtk/gtkdialog.c (gtk_dialog_init):
549         Set GDK_WINDOW_TYPE_HINT_DIALOG.
550
551         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
552         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
553
554         * gtk/gtkwindow.c:
555         new function gtk_window_set_type_hint.
556         On realize, set type hint and modal hint.
557
558         * gtk/gtkwindow.h:
559         Added type_hint field and gtk_window_set_type_hint.
560
561 2001-03-05  Alexander Larsson  <alexl@redhat.com>
562
563         * gtk/gtklabel.[ch]:
564         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
565         New function gtk_label_get_accel_keyval () to get the underline accelerator
566         of the label. Setting the label pattern overrides other attributes.
567
568 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
569
570         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
571         Added missing initializers to gtk_rc_style_init().
572
573 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
574
575         * gtk/gtktextview.c: fixed bug #51097 about setting 
576         gtk_text_view_set_border_window_size() if the widget is 
577         already realized.
578
579 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
580
581         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
582
583         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
584         comment. Won't do to have duplicated doc comments between
585         the platform subdirs.
586
587 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
588
589         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
590           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
591
592         Detectable auto-repeat - make a repeating key generate
593         press/press/press/release instead of press/release pairs.
594
595         If we have Xkb and XkbSetDectableAutoRepeat supports
596         that, we do it that way. Otherwise, when we get
597         a release event, we check ahead with XPending to see
598         if the next key is a KeyPress with the same keycode
599         and timestamp. (Not 100% reliable, but pretty close.)
600           
601 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
602         
603         * gtk/gtkmain.c (gtk_propagate_event): Only do special
604         special key-press grab handling for widgets within
605         GtkWindows. Otherwise, fall through to normal case.
606  
607         This prevents key events being sent twice to GtkInvisible
608         widgets, which can cause all sorts of mischief.
609  
610 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
611  
612         * gtk/gtkmain.c (gtk_propagate_event): When a grab
613         widget is in effect, give the grab widget a first
614         crack at KEY_PRESS/RELEASE events. (#424)
615  
616 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
617
618         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
619         to extend the selection. (Roughly based on patch
620         from Jay Cox, #50939)
621
622         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
623         to properly handle previous GDK_BUTTON_PRESS. 
624         (Patch from Jay Cox, #50938)
625
626         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
627         '\0' back along with the deleted text. (#51148)
628
629 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
630
631         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
632         the group when extracting it from the X keyboard event.
633
634         * modules/input/Makefile.am modules/input/imipa.c: 
635         Simple module for entering IPA. (Do we need a 
636         gtk-stupid-input-tricks CVS module?)
637
638 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
639
640         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
641         const.
642
643         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
644
645         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
646         is no focus widget for the dialog currently, grab the focus as well
647         as the default.
648
649         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
650         the action area's children to iterate through, not the
651         dialog's children.
652
653 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
654
655         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
656         Add plug-socket tests. (Won't work worth a darn until I commit
657         the rest of the plug-socket changes, but no reason these
658         can't go into CVS now.)
659
660 2001-03-02  Havoc Pennington  <hp@redhat.com>
661
662         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
663         _gdk_region_get_xrectangles()
664
665         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
666
667         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
668
669         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
670         function, contributed by Ron Steinke    
671
672         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
673         gdk_net_wm_supports
674
675         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
676         New function, contributed by Ron Steinke
677
678         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
679         used to line up the text in the entry when using the entry for
680         editable sheet cell hacks
681
682         * gtk/testgtk.c (create_entry): test the activate_default setting
683         on GtkEntry
684
685         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
686         cause the entry to activate the default button for a dialog when 
687         activated
688         (gtk_entry_get_activates_default): new function
689
690 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
691
692         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
693         Hwang to move call to sync_selection() up a few lines
694         to before the row list is modified, to fix crash when
695         removing rows in the undo_selection list.
696
697         (Test case provided by Daniel Elstner:
698
699         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
700
701 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
702
703         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
704         of tree->root_tree in parent_set rather than _map(), 
705         fixing #50892 in a bit better manner.
706
707 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
708
709         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
710
711 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
712
713         * gtk/gtkstyle.c : Remove duplicate fwd decl for
714         gtk_default_draw_shadow.
715
716 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
717
718         * gdk/gdkimage.c (gdk_image_new): Remove excess 
719         warning, make warnings more verbose, treat a error
720         in shmat as permanent, and don't try again.
721         (#51163, Ed Randall.)
722
723 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
724
725         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
726         delay for the first click before starting to scroll.
727         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
728
729         * gtk/gtktext.c: GtkText should have I-beam cursor. 
730         (based on gtk-enf-990513-1.patch, Eric Fisher.)
731
732 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
733
734         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
735         cleanup to remove some references to unused
736         ->xoffset, ->yoffset.
737
738 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
739
740         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
741         mask. (#51039, fix from Martin Maierhofer)
742
743 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
744
745         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
746         for unshifted + and shifted = for non-us keyboards.
747         Make <Control>+ and <Control>- work as well as 
748         <Control>KP_Plus, <Control>KP_Minus for recursive
749         open/close.  (#2682, René Seindal)
750
751 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
752
753         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
754         the active menu item before deactivating the menu,
755         so gtk_menu_popdown doesn't change the history. (#50964)
756         
757 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
758
759         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
760         draw lines with text_gc rather than black_gc.
761         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
762
763 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
764
765         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
766         Move handling of buttons fully in gtktreeviewcolumn.  This code is
767         less interrelated then it was, but it still requires the
768         GtkTreeView to map it.
769
770         * test/testtreecolumn.c: Now I can add a column to one view,
771         remove it, add it to the another view, remove it, then re-add it
772         to the first.  Nifty.
773
774 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
775
776         * docs/tutorial/gtk-tut.sgml: Minor corrections
777
778 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
779
780         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
781         GtkRowReference.
782
783 2001-02-28  Havoc Pennington  <hp@redhat.com>
784
785         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
786         draw_default
787         (gtk_widget_draw_focus): remove this function; we could instead
788         make it just gtk_widget_draw(), but in most cases I think the
789         result would be broken user code, so think it's better to have
790         that code not compile and get fixed
791         (gtk_widget_draw_default): ditto
792
793         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
794         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
795         
796         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
797         widgets lose/get the default, instead of calling draw_default
798         
799         * docs/Changes-2.0.txt: note about all this
800
801         Then fixed every widget in GTK, I won't list all the filenames.
802
803 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
804
805         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
806         _gtk_tree_row_reference_deleted.
807         (inserted_callback): Proxy out to
808         _gtk_tree_row_reference_inserted.
809         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
810         get around signal emission ordering problem.
811
812         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
813         fix to work with SINGLE 
814         (_gtk_tree_selection_internal_select_node): Major sanitization on
815         selections.  SINGLE now seems to work.
816
817         * tests/Makefile.am: add testtreecolumn.c:
818
819         * tests/testtreecolumn.c: New test.  Mostly points out selection
820         bugs currently, but will test columns later.
821
822         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
823         selection bug.  I hate touching this code -- it's scary.
824
825 2001-02-26  Havoc Pennington  <hp@redhat.com>
826
827         * gtk/testgtk.c: test the window state stuff
828
829         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
830         window come to the user's attention as if it were just created
831         (gtk_window_iconify): new function
832         (gtk_window_deiconify): new function
833         (gtk_window_stick): new function
834         (gtk_window_unstick): new function
835         (gtk_window_maximize): new function
836         (gtk_window_unmaximize): new function
837
838         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
839
840         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
841
842         * gdk/x11/gdkevents-x11.c: create window state events when
843         appropriate
844         (gdk_wmspec_supported): new function
845
846         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
847         iconification before showing the window
848         (gdk_window_deiconify): new function
849         (gdk_window_stick): new function
850         (gdk_window_unstick): new function
851         (gdk_window_maximize): new function
852         (gdk_window_unmaximize): new function
853
854         * gdk/gdkwindow.c: store the window state in the window; 
855         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
856         window->mapped.
857         (gdk_window_get_state): return the current window state
858
859         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
860         (gdk_event_get_state): handle GDK_WINDOW_STATE
861         (gdk_synthesize_window_state): function to create the window state
862         events
863
864         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
865         event, for changes to "window state" such as maximized, sticky, 
866         etc.
867         
868         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
869         focuses a window
870
871         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
872         finds out if we support a given WM spec hint
873
874 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
875
876         * docs/faq/gtk-faq.sgml: New question re memory leaks.
877
878 2001-02-25  Hans Breuer  <hans@breuer.org>
879
880         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
881         cause we want to loose those prototypes only in the latter case
882
883         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
884         GdkPixmapImplWin32 because it itsn't derived from it. Use the
885         impl member variable instead
886
887         * gtk/gtk.def : updated
888
889         * gtk/gtklist.c : 
890         * gtk/gtkmenus.c : include <string.h> for memset ()
891
892         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
893         for everthing built here, but for gtk-x.x.dll only. This solves
894         problem of indifferent gtk type definitions
895
896 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
897
898         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
899
900 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
901
902         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
903         column that is exposed.
904
905         (_gtk_tree_view_update_size): Changed name from set_size, and
906         changed function to do more work, and not force people calling it
907         to figure out the size.  Simplifies a lot of code elsewhere.
908
909 2001-02-23  Alexander Larsson  <alexl@redhat.com>
910
911         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
912         return solid masks for xpms that have no transparent color.
913         This makes the ..._create_from_xpm... API backwards
914         compatible.
915
916 2001-02-23  Tor Lillqvist  <tml@iki.fi>
917
918         * README.win32: Update. Mention the gtk-1-3-win32-production
919         branch.
920
921         * gdk/win32/bdfcursor.c: New file. A program that generates
922         xcursors.h. Thanks to Stefan Ondrejicka.
923
924         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
925         compact format.
926
927         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
928
929         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
930         function, uses xcursors.h.
931         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
932         cursor from inline data instead of using LoadCursor() to generate
933         it from a resource.
934
935         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
936         event, must check the Windows message for mouse button state, as
937         the GDK event state might not have been built if it is
938         undelivered. Remove one goto.
939
940         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
941         SetCursor() if the current cursor as returned by GetCursor() is
942         the window's previous cursor. The ChildWindowFromPoint() test
943         apparently didn't work correctly.
944
945         * gdk/win32/rc/*.cur: Remove.
946
947         * gdk/win32/rc/gdk.rc.in: Remove cursors.
948
949         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
950
951         * gtk/makefile.{mingw,msc}.in: Updates.
952
953 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
954
955         * gtk/gtktreemodel.h: add functions for signal emission.
956
957         * gtk/gtktreestore.c: move to use above functions instead of
958         g_signal_emit.
959
960         * gtk/gtkliststore.c: ditto
961
962 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
963
964         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
965         GObject instead of GtkObject.
966
967         * gtk/gtkliststore.c: ditto.
968
969         * gtk/gtktreemodelsort.c: ditto.
970
971         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
972         GtkTreeModelIface, instead of in each model.
973
974 2001-02-21  Havoc Pennington  <hp@redhat.com>
975
976         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
977         unbreak this function
978
979         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
980         properties
981
982         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
983         properties
984
985         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
986         properties
987
988         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
989         mean unset the max length
990
991 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
992
993         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
994         Changed name to be set_cell_data_func to make it clear what
995         the functino does.  Close bug #51069.
996
997 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
998
999         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
1000         have memory actually freed.  Keeps box running longer.
1001
1002 2001-02-21  Alexander Larsson  <alexl@redhat.com>
1003         
1004         * gtk/gtkseparatormenuitem.[ch]:
1005         Added new menu separator item. The drawing and size handling
1006         is still done in GtkMenuItem, but the API is a bit more sane.
1007         
1008         * gtk/Makefile.am:
1009         Add gtkseparatormenuitem.[ch].
1010
1011         * gtk/gtk.h:
1012         Add gtkseparatormenuitem.h.
1013         
1014         * gtk/gtkentry.c:
1015         * gtk/gtkmenufactory.c:
1016         * gtk/gtktextview.c:
1017         Use the new API for menu separators.
1018         
1019         * demos/gtk-demo/menus.c (create_menu):
1020         Add some GtkSeparatorMenuItem demo code.
1021
1022 2001-02-20  Havoc Pennington  <hp@redhat.com>
1023
1024         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
1025         Lee Mallabone
1026
1027         * gtk/gtkarrow.c: Convert to new property API, patch from 
1028         Lee Mallabone
1029
1030 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
1031
1032         * tests/testtreeview.c (toggled_callback): fix to reflect change
1033         in GtkTreeModelStore.
1034
1035 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
1036
1037         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
1038         function to create an icon set from a pixbuf.
1039
1040 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1041
1042         * gtk/gtkcellrenderertext.[ch]:
1043         Add a "markup" property.
1044
1045         * gtk/treestoretest.c:
1046         Use the markup property, remove some leftover stuff from
1047         GtkTreeModelMapping.
1048
1049 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1050
1051         * gtk/gtklabel.c (gtk_label_set_selectable):
1052         Queue a redraw if the selectable setting was changed.
1053
1054 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1055
1056         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
1057         Actually copy the whole gc, not just the public parts.
1058         
1059         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1060         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
1061         labels.
1062
1063 2001-02-19  Havoc Pennington  <hp@pobox.com>
1064
1065         * gdk/gdkwindow.c: docs
1066
1067         * gdk/gdkrgb.c: docs
1068
1069         * gdk/gdkregion-generic.c: docs
1070
1071         * gdk/gdkgc.c (gdk_gc_set_values): docs
1072
1073         * gdk/gdkdraw.c: docs
1074
1075         * gdk/gdkdrawable.h: deprecate drawable get/set data
1076
1077 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
1078
1079         * demos/gtk-demo/dialog.c: Add simple new demo.
1080
1081 2001-02-19  Havoc Pennington  <hp@redhat.com>
1082
1083         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
1084         insert_child_anchor signal, bug #50245
1085
1086         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
1087         from create_child_anchor, so the anchor is passed in
1088
1089         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
1090         (_gtk_widget_segment_new): have the child anchor object passed in, 
1091         instead of creating it.
1092
1093         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
1094         to gtk_text_buffer_get_modified
1095
1096 2001-02-19  Havoc Pennington  <hp@redhat.com>
1097
1098         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
1099         changed GLib without fixing GTK
1100
1101         * gtk/gtkrange.h: Rename all the stupid implementation detail 
1102         functions to have an underscore in front. Most of them should 
1103         probably just go away, but for starters don't export them.
1104         Bug #50482
1105
1106 2001-02-19  Havoc Pennington  <hp@redhat.com>
1107
1108         * gdk/gdkcolor.h: test was backward, so deprecated functions were
1109         excluded by default
1110
1111         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
1112         clean up the old code a bit
1113
1114         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
1115         inconsistent state
1116
1117         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
1118         draw inconsistent state
1119
1120         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
1121         (create_menu): add inconsistent test
1122
1123         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
1124         new function
1125         (gtk_check_menu_item_get_inconsistent): new function
1126         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
1127         state (using etched in for now)
1128
1129         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
1130         draw inconsistent state
1131
1132         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
1133         function, used when the user has selected a range of stuff in
1134         different states
1135         (gtk_toggle_button_get_inconsistent): accessor for that
1136         (gtk_toggle_button_paint): draw inconsistent state (etched in?
1137         don't know what else to do)
1138
1139 2001-02-19  Hans Breuer <hans@breuer.org>
1140
1141         * gtk/gtk.def : updated exported symbols
1142
1143         * gtk/makefile.msc.in : updated
1144
1145         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
1146         a colormap, when invoked from testgtk::entry. I'm not sure where
1147         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
1148         avoids immediate crashing ...
1149
1150         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
1151         any objections ?
1152
1153         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
1154         0 parameter. At least msvc doesn't like macros with var args. 
1155         I simply removed the extra 0, was it a feature or a typo ?
1156
1157         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
1158         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
1159         because the value assignment to the internal struct wasn't working.
1160         I'm not absolutely sure. The problem could have been resolved by
1161         changing the "func" declartion in the struct, but was the pointer
1162         to the function pointer intended ?
1163
1164         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
1165
1166         * gdk/gdk.def : updated exported symbols
1167
1168         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
1169         only use SetDIBitsToDevice if there is a palette at the drawable
1170         and the image is GDK_VISUAL_PSEUDO_COLOR
1171
1172         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
1173
1174         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
1175
1176         * gdk/*/makefile.msc : updated
1177
1178 2001-02-19  Havoc Pennington  <hp@redhat.com>
1179
1180         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
1181         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
1182
1183         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
1184         (gdk_key_repeat_restore): nuke
1185
1186         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
1187         (gdk_init_check): no atexit func
1188
1189         * gdk/gdkrgb.h: mark some stuff deprecated
1190
1191         * gdk/gdkcolor.h: mark some stuff deprecated
1192         
1193         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
1194
1195         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
1196
1197 2001-02-16  Havoc Pennington  <hp@redhat.com>
1198
1199         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
1200         scroll steps.
1201
1202         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
1203         steps, and add Ctrl-arrow shortcuts for paging visually as with
1204         HScale, since Page Up and Page Down move logically.
1205
1206         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
1207         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
1208         
1209         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
1210         steps
1211         (gtk_range_scroll): handle the visual steps
1212
1213         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
1214         scroll steps
1215
1216         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
1217         steps, not the logical ones.
1218
1219         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
1220         (scroll_vertical): handle up/down steps
1221
1222 2001-02-19 Alexander Larsson  <alexl@redhat.com>
1223
1224         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
1225         Copy data and free data with free().
1226
1227         * gdk-pixbuf/gdk-pixbuf.c:
1228         * gdk-pixbuf/io-jpeg.c:
1229         * gdk-pixbuf/io-png.c:
1230         Use g_try_malloc/g_free instead malloc/free.
1231         
1232         * gdk-pixbuf/test-gdk-pixbuf.c:
1233         Must... initialize... gobject...
1234         
1235         * gdk-pixbuf/pixops/timescale.c:
1236         * gtk/gtkcalendar.c:
1237         Use g_malloc instead of malloc.
1238         
1239 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
1240
1241         * gtk/testgtkrc:
1242         Comment out property assignments, these don't work yet.
1243
1244 2001-02-17  Havoc Pennington  <hp@pobox.com>
1245
1246         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
1247         bit.
1248
1249 2001-02-17  Havoc Pennington  <hp@pobox.com>
1250
1251         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
1252         shadowed variables that had broken size request in some cases,
1253         leading to bogus tooltips (#50996)
1254
1255 2001-02-06  Jon K Hellan  <hellan@acm.org>
1256
1257         Implement fast browsing of tooltips, bug #50619
1258         
1259         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
1260         and last_popdown
1261         
1262         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
1263         use_sticky_delay and last_popdown.
1264         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
1265         time of popdown.
1266         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
1267         is NULL.
1268         (gtk_tooltips_recently_shown): New static function.  Return true
1269         if < sticky_delay has elapsed since last popdown.
1270         (gtk_tooltips_event_handler): Display window after sticky_delay
1271         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
1272         since last popdown.
1273         
1274 2001-02-17  Havoc Pennington  <hp@pobox.com>
1275
1276         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
1277         instead of (). #6394
1278
1279         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
1280         G_CONST_RETURN, make it return by reference, #50473
1281         
1282 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
1283
1284         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
1285         generated ENTER_NOTIFY event with 0, otherwise not explicitely
1286         setup fields contain garbage (e.g. subwindow, breaking
1287         gdk_drawable_ref() upon event copy).
1288         (gtk_menu_stop_navigating_submenu_cb): same here.
1289
1290         * gtk/gtklist.c (gtk_list_vertical_timeout): 
1291         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
1292         * gtk/gtkclist.c (vertical_timeout): 
1293         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
1294         default-zero-intialization for unions to memset(,0,), as unions are
1295         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
1296         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
1297
1298         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
1299         g_closure_sink() warning.
1300
1301         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
1302         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
1303         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
1304         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
1305         
1306 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
1307
1308         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
1309         gtk_*_store_get, and moved to GtkTreeModel.
1310
1311         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
1312
1313         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
1314
1315         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
1316
1317         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
1318         set the func.
1319
1320         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1321         freeze/thaw notify between setting all the properties for a cell.
1322
1323         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
1324
1325 2001-02-15  Havoc Pennington  <hp@redhat.com>
1326
1327         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
1328         the X coordinates so they're with respect to the line, rather than 
1329         with respect to the layout.
1330
1331         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
1332         Mallabone
1333
1334         * gtk/testgtk.c (create_range_controls): add vscale tests, 
1335         and inverted test
1336
1337         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
1338         #50806
1339
1340         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
1341
1342         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
1343         gtk_text_iter_is_end
1344
1345         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
1346         rename gtk_text_buffer_get_end_iter
1347
1348         * gtk/testgtk.c (create_labels): Add test for selectable
1349
1350         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
1351         the selection stuff. This code is kind of broken since it doesn't 
1352         use the theme engine.
1353
1354         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
1355         fix infinite loop and y offset problem
1356         (gdk_draw_layout_line_with_colors): fix foreground color handling
1357
1358         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
1359         that makes the label selectable.
1360         
1361         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
1362         layout when the style is set, since fonts etc. could have changed.      
1363
1364 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
1365
1366         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
1367
1368         * gtk/gtktreemodelsimple.[ch]: removed.
1369
1370 2001-02-16  Alexander Larsson  <alexl@redhat.com>
1371
1372         * gtk/gtktreemodelmapping.[ch]:
1373         New files. Implement GtkTreeModelMapping.
1374         
1375         * gtk/Makefile.am:
1376         Add gtktreemodelmapping.[ch].
1377         
1378         * gtk/gtk.h:
1379         Add gtktreemodelmapping.h
1380
1381         * gtk/treestoretest.c:
1382         Test the GtkTreeModelMapping
1383
1384 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
1385
1386         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
1387         have a demo, we might as well pass in real values.  Thanks to
1388         clahey for pointing this out.
1389
1390 2001-02-14  Havoc Pennington  <hp@pobox.com>
1391
1392         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
1393         "static" to a private function
1394         (gtk_image_menu_item_class_init): remove destroy handler,
1395         add "image" object property
1396
1397 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
1398
1399         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
1400         Add a shortcut if the window and the current clip_region doesn't
1401         overlap. This is needed when there are a lot of windows in a
1402         window. The layout test in testgtk is a good test.
1403
1404         * gdk/linux-fb/gdkwindow-fb.c:
1405         Whitespace fix.
1406
1407 2001-02-13  Sven Neumann  <sven@convergence.de>
1408
1409         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
1410
1411 2001-02-13  Alexander Larsson  <alexl@redhat.com>
1412
1413         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
1414         Don't reference last_cursor if it is null. Fixes crash when rotating
1415         the screen before having moved the mouse.
1416
1417         * gdk/linux-fb/gdkcc-fb.c: Zapp!
1418
1419         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
1420
1421         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
1422         when using 90 or 270 degrees rotation.
1423
1424 2001-02-12  Havoc Pennington  <hp@pobox.com>
1425
1426         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
1427         it always set the foreground, even if we were only using
1428         a stipple.
1429         (gdk_draw_layout_line_with_colors): new function, allow
1430         override colors
1431         (gdk_draw_layout_with_colors): new function, allow override
1432         colors
1433         (gdk_pango_layout_line_get_clip_region): function to get the clip
1434         region for a logical text range
1435         (gdk_pango_layout_get_clip_region): get the clip region for a
1436         logical text range
1437
1438         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
1439         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
1440         the right number of arguments.
1441
1442         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
1443         enhance the function to check that node data corresponds to a 
1444         view still belonging to the tree.
1445
1446         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
1447         GtkTreePath
1448         (gtk_tree_view_inserted): ditto
1449         (gtk_tree_view_child_toggled): ditto
1450
1451         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
1452         simplify this code.
1453
1454         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
1455         a PangoAttrList
1456
1457         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
1458
1459         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
1460
1461         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
1462         size in the size request 
1463         (gtk_menu_bar_size_allocate): consider toggle size here
1464
1465         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
1466         that displays a widget in the toggle slot
1467
1468         * gtk/testgtk.c: test GtkImageMenuItem
1469
1470         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
1471         
1472         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
1473         request and allocation
1474
1475         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
1476
1477         * gtk/gtkcheckmenuitem.c
1478         (gtk_check_menu_item_toggle_size_request): ditto
1479         
1480 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
1481
1482         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
1483         reference.
1484
1485         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
1486         and refuse to initialize GTK+ if they fail.
1487
1488 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
1489
1490         * configure.in: Add check for gtk-doc version.
1491
1492 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
1493
1494         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
1495         where the xpad/ypad was only being used on one side!
1496
1497 2001-02-11  Tor Lillqvist  <tml@iki.fi>
1498
1499         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
1500         function, copied from X11 version.
1501
1502         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
1503         DestroyCursor failures. The reason for the problem (despite the
1504         inconsistent messages from GetLastError()) was that
1505         DestroyCursor() cannot be called while a cursor is set in a
1506         window. Set the new cursor first and then destroy the old one.
1507         Thanks to jpe@archaeopteryx.com.
1508
1509         * gdk/win32/gdkcc-win32.c: Remove.
1510
1511         * gdk/win32/Makefile.am: Remove from here, too.
1512         
1513         * gdk/gdk.def
1514         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
1515
1516         * gtk/gtk.def
1517         * gtk/makefile.mingw.in: Updates.
1518
1519 2001-02-08  Havoc Pennington  <hp@redhat.com>
1520
1521         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
1522         add a widget to a bin that already has a child.
1523
1524         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
1525
1526         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
1527         
1528         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
1529
1530         * gdk/gdk.h: remove gdkcc.h
1531
1532         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
1533
1534         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
1535         GdkPixbuf, since the previous implementation was GdkColorContext
1536         dependent.
1537
1538         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
1539         
1540 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
1541
1542         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
1543         a sane value!
1544
1545 2001-02-08  Havoc Pennington  <hp@redhat.com>
1546
1547         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
1548         lighten them.
1549
1550 2001-02-08  Havoc Pennington  <hp@redhat.com>
1551
1552         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
1553         validation idle
1554
1555         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
1556         cell renderer
1557
1558         * demos/pixbuf-demo.c (timeout): remove deprecated
1559         gtk_widget_draw
1560
1561         * demos/testpixbuf-save.c (main): remove deprecated
1562         gtk_drawing_area_size
1563
1564         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
1565         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
1566         at the start of the allocation.
1567         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
1568         unsetup or NULL model.
1569
1570         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
1571         even/odd/sorted cells in the tree view.
1572
1573         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1574         bugfixes
1575
1576         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
1577         backgrounds with draw_flat_box using different detail for even/odd
1578         rows.
1579
1580         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
1581         row, so we can draw the alternating colors thing
1582
1583         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
1584         property from a synonym property, notify for the synonym.
1585         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
1586         (gtk_text_tag_get_property): Always return the font, even if
1587         all its fields aren't set
1588
1589         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
1590         store the attr list; it leaves us with no way to change attributes
1591         in _render according to the render flags, and no way to implement
1592         get_property. Instead store all the specific text attributes. 
1593         Separate whether an attribute is enabled from its value. Sync all
1594         properties with GtkTextTag, make them all consistent, etc.
1595
1596         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
1597         renderers can highlight the sort row/column     
1598
1599         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
1600         accessor functions to get values; this has the side effect of
1601         showing up which accessor functions were missing. Added those.
1602
1603         * gtk/gtktreeviewcolumn.h: Replace set_justification with
1604         set_alignment, to be consistent with GtkLabel, GtkMisc
1605
1606         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
1607         arrow.
1608
1609         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
1610
1611         * gtk/gtktreesortable.h: updates in here
1612
1613 2001-02-07  Sven Neumann  <sven@convergence.de>
1614
1615         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
1616         pango dimensions after painting the background. We used to draw
1617         gigantic flat boxes here.
1618
1619 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
1620
1621         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
1622         error introduced with earlier commit) (pointed out by
1623         Ollie Lho)
1624
1625 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
1626
1627         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
1628         which are no longer necessary.
1629
1630 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
1631
1632         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
1633
1634 2001-02-04  Tor Lillqvist  <tml@iki.fi>
1635
1636         * gdk/gdk.def
1637         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
1638         Provide dummy implementations.
1639
1640 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
1641
1642         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
1643
1644         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
1645         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
1646         deprecated this function.
1647
1648         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
1649         argument.
1650
1651 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
1652
1653         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
1654
1655 2001-02-03  Havoc Pennington  <hp@pobox.com>
1656
1657         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
1658         Mikael Hermansson with patch from Mikael (if there was a toggle
1659         start one after the first character in the range, this function
1660         was broken). Bug #50380
1661
1662 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
1663
1664         * configure.in: Remove confusing comment about X11.
1665
1666 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
1667
1668         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
1669         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
1670         
1671 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
1672
1673         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
1674         it breaks things on BSD. If you want to compile GTK+ with
1675         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
1676         when configuring, since GTK+ simply can't be "pure ANSI" 
1677         in the header files it uses. (#8170, Greg Hudson)
1678
1679 2001-02-02  Havoc Pennington  <hp@redhat.com>
1680
1681         * gtk/gtkwindow.c: docs
1682
1683         * gtk/gtkwidget.c: docs
1684         (gtk_widget_set_colormap): add a reference to the colormap
1685         (gtk_widget_get_default_colormap): add a reference to the colormap
1686
1687         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
1688
1689         * gtk/gtktextiter.c: docs
1690
1691         * gtk/gtkmain.c (gtk_propagate_event): docs
1692
1693         * gtk/gtkpaned.c (gtk_paned_get_position): docs
1694         (gtk_paned_set_position): docs
1695
1696         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
1697         sort interface, no implementation yet.
1698
1699         * demos/testpixbuf.c (new_testrgb_window): replace
1700         gtk_drawing_area_size() with gtk_widget_set_usize()
1701
1702         * demos/testpixbuf-drawable.c (main): ditto
1703         
1704         * gtk/testgtk.c: remove use of GtkStatusbarMsg
1705
1706         * gtk/gtktextbuffer.c: docs
1707
1708         * gtk/gtkstock.c: docs
1709
1710         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
1711
1712         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
1713
1714         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
1715         
1716         * gtk/gtkimage.c: add some docs in here
1717         (gtk_image_size_request): change name of
1718         gtk_widget_render_stock_icon
1719         (gtk_image_get_icon_set): don't dup returned string
1720         (gtk_image_get_icon_set): don't dup returned string
1721
1722         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
1723         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
1724         and gtkiconfactory.h functions
1725
1726         * gtk/gtkiconfactory.c: add some docs in here
1727
1728         * gtk/gtkmain.c (gtk_get_default_language): document
1729         (gtk_get_current_event): document
1730         (gtk_get_current_event_state): document
1731         (gtk_get_event_widget): document
1732
1733         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
1734
1735         * gtk/gtkcontainer.c: Add some documentation
1736         (gtk_container_add): give a more explanatory warning on adding an
1737         already-parented widget, this is kind of a FAQ and also a common
1738         typo that's easier to debug with a nice warning 
1739
1740         * gtk/gtkcellrenderertoggle.c
1741         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
1742         adding this, it's useless
1743         (gtk_cell_renderer_toggle_set_active): remove
1744         (gtk_cell_renderer_toggle_get_radio): add
1745
1746         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
1747         the NULL cell renderer, that doesn't make any sense to me. 
1748
1749         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
1750         demo code should never use deprecated features.
1751
1752         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
1753         code should never use deprecated features.
1754
1755         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
1756         gtk_widget_queue_clear_area deprecated
1757
1758         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
1759         deprecated
1760
1761         * gtk/gtklabel.h: mark gtk_label_get() deprecated
1762
1763         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
1764         a GdkImage deprecated, replaced by new consistently-named
1765         functions       
1766
1767         * gtk/gtkmain.h: Mark gtk_exit() deprecated
1768
1769         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
1770
1771         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
1772         deprecated
1773
1774         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
1775         so it won't appear in docs and confuse people.
1776
1777         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
1778
1779         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
1780         macros deprecated. (can't mark the type itself deprecated, since
1781         GtkProgressBar is not deprecated and we need the type decl to use
1782         GtkProgressBar)
1783
1784         * gtk/gtkpixmap.h: Mark deprecated
1785
1786         * gtk/gtkoldeditable.h: Mark deprecated
1787
1788         * gtk/gtklist.h: Mark deprecated
1789
1790         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
1791         for anything anymore.
1792
1793         * gtk/gtkctree.h: Mark deprecated
1794
1795         * gtk/gtkclist.h: Mark deprecated
1796
1797         * gtk/gtkpreview.h: Mark deprecated
1798
1799         * gtk/gtkpacker.h: Mark deprecated
1800
1801         * gtk/gtktipsquery.h: Mark deprecated
1802
1803         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
1804
1805         * gtk/gtkvruler.h: Add comment that it will move out of GTK
1806
1807         * gtk/gtkhruler.h: Add comment that it will move out of GTK
1808
1809         * gtk/gtkruler.h: Add comment that it will move out of GTK
1810
1811         * gtk/gtkgamma.h: Add comment that it will move out of GTK
1812
1813         * gtk/gtkcurve.h: Add comment that it will move out of GTK
1814
1815 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
1816
1817         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
1818         gdk_colormap_sync private since it was never exported
1819         in a header file.
1820
1821         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
1822         colormap->colors[] for StaticGray, StaticColor colormaps.
1823
1824         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
1825         was being used as if it was image->bits_per_pixel.
1826
1827         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
1828         for the image in the GdkImage structure since it isn't
1829         reconstructable, and we need it to handle packed types
1830
1831         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
1832         the assumption that on Win32 image->bits_per_pixel == image->depth,
1833         always.
1834
1835         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
1836
1837         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
1838         warning message if no converter can be found. 
1839
1840 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
1841
1842         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
1843         chars to isupper() / tolower(). (#567)
1844
1845         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
1846         to clear up 64-bit warnings. (#567)
1847
1848 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
1849
1850         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
1851         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
1852
1853         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
1854         since some people set $(libdir) separately. (#1290, David Kaelbling)
1855
1856 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
1857
1858         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
1859         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
1860         MAXPATHLEN, but the code here depends on a fixed value.)
1861         (#4524)
1862
1863 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
1864
1865         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
1866         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
1867
1868 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
1869
1870         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
1871         viewable there is no way that moving the node will cause the 
1872         focus row to become not viewable, so omit check on the visibility
1873         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
1874
1875 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
1876
1877         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
1878         selection before inserting new text.
1879
1880 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
1881
1882         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
1883         Make the sensitivity of the reparented child track that of
1884         the original parent menu item. (#34218, David Hodson)
1885
1886         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
1887         the case where the current item is destroyed properly.
1888
1889         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
1890         some edge cases with child-less menuitems.
1891         
1892 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
1893
1894         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
1895         key pop down window. (#12074, Jon K Hellan)
1896
1897 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
1898
1899         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
1900         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
1901         The solution here isn't perfect - you get an extraneous
1902         emission of "toggle", which could conceivably confuse an app,
1903         but better than the current situation. LXR search seems to
1904         indicate that no apps in GNOME CVS connect to "toggle".
1905
1906 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
1907
1908         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
1909         gtk_public_h_sources to directly here to avoid warning when
1910         building srcdir != builddir. (#9656)
1911
1912 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
1913
1914         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
1915         handlers in gtkrange.c return the proper values (TRUE == handled)
1916         (#10316).
1917
1918         This is just the tip of the iceberg, but gtkrange.c is the
1919         most common place where the propagation is problematical,
1920         and also a place where it is almost certainly safe to change
1921         this in the stable branch.
1922
1923         (You don't want right click popups on a range control or anything...)
1924
1925 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
1926
1927         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
1928         area on focus out, even if a background pixmap isn't set.
1929         (#13941)
1930         
1931 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
1932
1933         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
1934         to deal with setting the shape properly when scrolling arrows are
1935         turned on, but not visible because there is sufficient space.
1936         (#13432)
1937
1938 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
1939
1940         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
1941         items with submenus, destroy the item along with the submenu.
1942         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
1943         properly.
1944
1945         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
1946         later.
1947
1948 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
1949
1950         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
1951         the focus widget sometimes wasn't drawn with the default if there
1952         was no default widget.
1953
1954         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
1955         unreference pixmaps. 
1956
1957         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
1958         for some extra safety.
1959
1960 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
1961
1962         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
1963         the text of a cell to the old pointer value better, by
1964         copying the new text before freeing the old text. Some code
1965         cleanup. (#8079, Karl Nelson)
1966
1967 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
1968
1969         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
1970         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
1971
1972 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
1973
1974         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
1975         item from a menu, check to see if it matches 
1976         menu->old_active_menu_item, and if so, unref and clear
1977         old_active_menu_item (Patch from Pavel Cisler)
1978
1979         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
1980         menu_shell->active_menu_item, if it is the child being
1981         removed. (Patch based on that of Gene Ragan, #50337)
1982
1983 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
1984
1985         * gdk/linux-fb/gdkselection-fb.c: 
1986         * gdk/linux-fb/gdkcolor-fb.c: 
1987         * gdk/linux-fb/gdkdrawable-fb2.c: 
1988         * gdk/linux-fb/gdkfont-fb.c: 
1989         * gdk/linux-fb/gdkim-fb.c: 
1990         * gdk/linux-fb/gdkinput.c: 
1991         * gdk/linux-fb/gdkkeyboard-fb.c: 
1992         * gdk/linux-fb/gdkmain-fb.c: 
1993         * gdk/linux-fb/gdkrender-fb.c: 
1994         A bunch of whitespace cleanup.
1995         
1996 2001-01-30  Havoc Pennington  <hp@pobox.com>
1997
1998         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
1999         #ifdef GTK_ENABLE_BROKEN.
2000
2001         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
2002         GTK_ENABLE_BROKEN just before including the broken headers.
2003         
2004         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
2005         deprecated types registered.
2006
2007         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
2008         we have to test the broken stuff.
2009
2010         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
2011         
2012 2001-01-30  Havoc Pennington  <hp@redhat.com>
2013
2014         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
2015         here where prev pointer was set to the wrong thing
2016
2017         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
2018         (gtk_tree_path_is_descendant): new function
2019
2020         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
2021         cached length
2022         (gtk_list_store_get_iter): don't modify iter if we can't get the
2023         path.
2024
2025         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
2026         
2027         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
2028         GtkTreeDragDest
2029
2030         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
2031         was causing segfault
2032
2033         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
2034         pointer to NULL
2035
2036         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
2037
2038         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
2039         on returning FALSE
2040         (gtk_list_store_iter_children): ditto
2041         (gtk_list_store_iter_nth_child): ditto
2042         (gtk_list_store_iter_nth_child): ditto
2043         (gtk_list_store_iter_parent): ditto
2044
2045         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
2046         on iter->user_data != NULL instead of silently accepting it.
2047         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
2048         we are returning TRUE.
2049         (gtk_tree_store_iter_children): ditto
2050         (gtk_tree_store_iter_nth_child): ditto
2051         (gtk_tree_store_iter_parent): ditto
2052         (gtk_tree_store_insert): remove handling of parent->user_data ==
2053         NULL, replace with parent == NULL       
2054
2055         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
2056         and a comment explaining things
2057
2058         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
2059         interface support to GtkTreeStore.
2060
2061         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
2062         FALSE if no prev, fix
2063
2064         * gtk/gtktreeview.c (set_source_row): use a row reference
2065         (set_dest_row): use a row reference
2066
2067 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
2068
2069         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
2070         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
2071         (gtk_tree_selection_select_iter): The same as above.
2072
2073 2001-01-26  Havoc Pennington  <hp@redhat.com>
2074
2075         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
2076         which holds a handle to a specific row (particular set of values
2077         in the model, i.e. pointer-identity row).
2078
2079         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
2080         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
2081         Still need to use it for the src/dest row saved on the drag context.
2082
2083 2001-01-26  Havoc Pennington  <hp@redhat.com>
2084
2085         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
2086
2087         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
2088         not offset by TREE_VIEW_HEADER_HEIGHT
2089         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
2090         TREE_VIEW_HEADER_HEIGHT
2091
2092         * configure.in (included_loaders): for me, --with-included-loaders
2093         generates the error "the specified loader yes does not exist",
2094         i.e. the arg defaults to "yes", so change test for value ""
2095         to test for value "yes", and include all loaders in that case.
2096
2097         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
2098
2099         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
2100         handle TREE_VIEW_VERTICAL_SEPARATOR
2101         (gtk_tree_view_bin_expose): fix to consider the row offset as
2102         pointing halfway into vertical separator.       
2103         (gtk_tree_view_draw_node_focus_rect): ditto
2104
2105         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
2106         --gtk-debug=updates, which causes gdk_window_set_debug_updates
2107         (TRUE) to be called.
2108
2109         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
2110         debug mode where the invalid region is colored in on invalidate,
2111         so you can see the flicker and know whether your redraw code is 
2112         doing a good job.
2113
2114         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
2115         tree window coordinates (clip rect is in tree window coords)
2116
2117         * gtk/Makefile.am: add gtktreednd.[hc]
2118
2119         * gtk/gtkliststore.c: implement gtktreednd interfaces.
2120
2121         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
2122         drag-and-drop data operations on a model (so we can set up tree
2123         drag-and-drop automatically)
2124
2125         * gtk/testgtk.c: Add a window to change sensitivity in the
2126         GtkLabel test; add a way to change the entry frame in GtkEntry
2127         test
2128
2129         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
2130         (gtk_entry_get_has_frame): new functions to remove the frame
2131         around an entry
2132         (gtk_entry_size_request): shrink requisition if no frame
2133         (gtk_entry_draw_focus): don't draw frame if no frame
2134
2135         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
2136         checks inside a cell renderer
2137         (gtk_default_draw_option): ditto for options
2138
2139         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
2140         children from the alignment, not the button
2141         (gtk_tree_view_column_init): ref/sink the column, to emulate
2142         GObject refcounting.
2143
2144         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
2145         
2146         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2147         Use theme functions to draw the toggles 
2148
2149         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
2150
2151         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
2152         GdkPangoAttrEmbossed to use in rendering insensitive text
2153
2154         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
2155
2156         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
2157         using new GDK features
2158         
2159 2001-01-24  Alexander Larsson  <alexl@redhat.com>
2160
2161         * gtk/gtkimage.c:
2162         Splitted gtk_image_clear into gtk_image_clear() and
2163         gtk_image_reset(). Call gtk_image_clear() in ::destroy
2164         to avoid leaks.
2165
2166         * gtk/gtklabel.c (set_markup):
2167         Don't leak text.
2168
2169         * gtk/gtktextlayout.c:
2170         Always free display->shaped_objects.
2171
2172         * gtk/testgtk.c (create_clist):
2173         Don't leak custom style.
2174
2175 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2176
2177         * gtk/gtkcolorsel.c (grab_color_at_mouse):
2178         Don't leak image. Simplify using gdk_colormap_query_color().
2179         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
2180
2181         * linux-fb/gdkcolor-fb.c:
2182         Implemented gdk_colormap_query_color.
2183
2184 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2185
2186         * linux-fb/gdkcursor-fb.c:
2187         Don't leak built-in cursors.
2188
2189         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
2190         Don't leak tmp_points.
2191
2192         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
2193         Don't modify desc. Don't leak font if the PangoFont
2194         isn't found.
2195         
2196         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
2197         Free dash_list.
2198
2199         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
2200         Don't leak string.
2201         
2202 2001-01-20  Havoc Pennington  <hp@pobox.com>
2203
2204         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
2205         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
2206         me, matches Pango
2207
2208 2001-01-22  Havoc Pennington  <hp@redhat.com>
2209
2210         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
2211
2212         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
2213
2214         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
2215         Remove, move back to gdk-pixbuf
2216
2217         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
2218         to all the word functions
2219
2220         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
2221         before doing anything on NULL layout or if we don't have the focus
2222
2223         * gtk/testtext.c (fill_example_buffer): "justification"
2224
2225         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
2226         to be called "justification" not "justify"
2227
2228         * demos/gtk-demo/textview.c (create_tags): "justification"
2229         
2230         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
2231
2232 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2233
2234         * gdk/gdkwindow.c (gdk_window_invalidate_region):
2235         Don't leak visible_region. Use visible_region instead of region.
2236         
2237         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2238         Don't do extra gdk_drawable_ref(). This is not X.
2239         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
2240         gdk_fb_focused_window is ref:ed.
2241         (gdk_fb_window_send_crossing_events): Watch out for destroyed
2242         windows.
2243
2244 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2245
2246         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
2247         Don't leak the PangoFontDescriptor.
2248
2249 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
2250
2251         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
2252         when not realized.
2253         (gtk_tree_view_scroll_to_cell): Make work when not realized.
2254         (gtk_tree_view_realize): add scroll_to support
2255         (gtk_tree_view_finalize): add a finalize method.  Populate.
2256         (gtk_tree_view_insert_column): ref and sink the column.
2257         (gtk_tree_view_append_column): ref and sink the column.
2258         (gtk_tree_view_queue_draw_node): New function to handle redrawing
2259         individual nodes.  Should make the code much more efficient, if
2260         actually used.
2261
2262 2001-01-19  Havoc Pennington  <hp@redhat.com>
2263
2264         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
2265         byte_offset variable was being used to mean both "offset into
2266         layout" and "offset into buffer line" which was no longer true
2267         with addition of preedit string; fix
2268
2269 2001-01-19  Havoc Pennington  <hp@redhat.com>
2270
2271         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
2272
2273         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
2274         function
2275
2276         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
2277         implement
2278
2279         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
2280         scroll_to_cell, matches TextView scroll functions better
2281         (gtk_tree_view_tree_to_widget_coords): new function
2282         (gtk_tree_view_widget_to_tree_coords): new function
2283         (gtk_tree_view_get_visible_rect): new function
2284         (gtk_tree_view_get_path_at_pos): accept negative coordinates
2285         (gtk_tree_view_draw_node_focus_rect): new function moved from
2286         draw_focus, also, use width of bin_window as width of the focus
2287         rect
2288         (gtk_tree_view_expand_row): fix bug where it didn't recognize
2289         already-expanded rows
2290         (gtk_tree_view_get_cell_rect): new function
2291         (gtk_tree_view_get_path_at_pos): return the click position
2292         relative to the passed-in cell
2293         (gtk_tree_view_set_expander_column): new function
2294
2295         * configure.in: remove gtk-config-2.0 chmod
2296
2297         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
2298         and properly handle drags with targets we don't understand
2299         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
2300         scrolling anyway
2301         (gtk_text_view_drag_drop): stop scrolling here though, and set the
2302         mark invisible
2303
2304         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
2305         function
2306         (gtk_drag_dest_get_target_list): new function
2307         (gtk_drag_dest_set_target_list): new function
2308         
2309         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
2310
2311         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
2312         related to drag-and-drop
2313
2314 2001-01-19  Alexander Larsson  <alexl@redhat.com>
2315
2316         * gdk/linux-fb/gdkprivate-fb.h:
2317         Define EMULATE_GDKFONT.
2318         Add extra pango_font stuff to GfkFontPrivate.
2319         
2320         * gdk/linux-fb/gdkdrawable-fb2.c:
2321         * gdk/linux-fb/gdkfont-fb.c:
2322         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
2323         emulation using PangoFont.
2324
2325 2001-01-17  Havoc Pennington  <hp@pobox.com>
2326
2327         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
2328         all the non-deprecated set_foo functions. Added missing object
2329         properties, and added g_object_notify() to setters. 
2330         Wrote docs.
2331         
2332 2001-01-18  Tor Lillqvist  <tml@iki.fi>
2333
2334         * gtk/gtkmain.c
2335         * gtk/gtkrc.c: (Win32) Use the new
2336         g_win32_get_package_installation_(sub)directory() functions.
2337
2338         * config.h.win32.in: New file.
2339         
2340         * config.h.win32: Removed.
2341
2342         * configure.in: Output config.h.win32.
2343
2344         * Makefile.am: Add it to EXTRA_DIST.
2345
2346         * gtk/gtk.def: Update.
2347
2348 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
2349
2350         * gtk/gtklabel.c (gtk_label_size_request): Set the
2351         attributes onto the PangoLayout even if they are newly
2352         created from label->pattern.
2353
2354 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
2355
2356         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
2357
2358         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
2359         structures in functions. Fixes bug where gtk_dataset_*
2360         was accidentally still being used in one place, causing
2361         every dest side event to be treated independently.
2362
2363         * gtk/gtkdnd.c: Remove last vestages of handling
2364         ::draw (fixes warning)
2365         
2366         * gtk/gtkentry.[ch]: Add drag and drop support.
2367
2368         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
2369         new function gtk_check_drag_threshhold() for checking
2370         to check if (dx,dy) has exceeded the threshhold for starting
2371         a drag and use it everywhere.
2372
2373 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
2374
2375         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
2376         add -I{includedir}/gtk-2.0.
2377
2378         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
2379         gdk/gdk-pixbuf.h: Doc fixups.
2380         
2381         * gtk/gtkobject.h: Remove trailing , from enum
2382
2383 2001-01-17 Alexander Larsson <alexl@redhat.com> 
2384
2385         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
2386         Doh! Mixed up x and y.
2387
2388         * gdk/linux-fb/gdkglobals-fb.c:
2389         Removed gdk_fb_pointer_grab_window_events,
2390         added _gdk_fb_pointer_grab_owner_events and
2391         _gdk_fb_keyboard_grab_owner_events.
2392
2393         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
2394         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
2395         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
2396         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
2397         Send crossing events after ungrab finished.
2398         (gdk_keyboard_grab): Set ..._owner_events
2399         (type_masks): Move out of function.
2400         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
2401         gdk_fb_keyboard_event_window): New functions, return the
2402         window an event should be targeted at. Handles grabs and
2403         event propagation. Can return NULL.
2404         (gdk_event_make): Remove event_mask checking. Now always
2405         returns an event.
2406                 
2407         * gdk/linux-fb/gdkkeyboard-fb.c:
2408         * gdk/linux-fb/gdkproperty-fb.c:
2409         * gdk/linux-fb/gdkselection-fb.c:
2410         Use new event_window/gdk_event_make() behaviour.
2411         
2412         * gdk/linux-fb/gdkmouse-fb.c:
2413         Use new event_window/gdk_event_make() behaviour.
2414         Only send motion events if in the same window.
2415         If grabbed, use cursor from window if sibling of grabbed
2416         window, and cursor from grabbed window otherwise.
2417
2418         * gdk/linux-fb/gdkprivate-fb.h:
2419         Update gdk_fb_window_send_crossing_events, gdk_event_make
2420         and grab varaible declarations. Add gdk_fb_*_event_window().
2421
2422         * gdk/linux-fb/gdkwindow-fb.c:
2423         Use new event_window/gdk_event_make() behaviour.
2424         Keep correct track of focus window.
2425         (gdk_window_set_events): Set all specific button motion masks
2426         if GDK_BUTTON_MOTION_MASK set.
2427
2428         * gtk/gtkdnd.c (gtk_drag_update):
2429         Free info->last_event if gdk_drag_motion returned FALSE.
2430
2431 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2432
2433         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
2434         Eliminate redraws when input-only windows are shown or
2435         hidden. Thanks to jpe@archaeopteryx.com.
2436
2437 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
2438
2439         * docs/faq/gtk-faq.sgml: FAQ update:
2440           - Update to bugzilla
2441           - Add GTK+ and security/SUID/SGID
2442           - Add DnD question
2443
2444 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
2445
2446         * gdk/linux-fb/gdkdnd-fb.c:
2447         Some cleanups.
2448         
2449 2001-01-15  Havoc Pennington  <hp@pobox.com>
2450
2451         * tests/testtreeview.c: add test stuff for CellRendererToggle
2452
2453         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
2454         accessor
2455
2456         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
2457         only toggle on button press (would do release like GtkButton, but
2458         we'd need implicit grab code for treeview cells)
2459
2460 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2461
2462         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
2463
2464         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
2465         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
2466
2467         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
2468         to g_{locale,filename}_{to,from}_utf8 to match current API.
2469
2470         * gtk/makefile.msc.in (gtk_OBJECTS)
2471         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
2472
2473         * gtk/gtk.def: Update.
2474
2475 2001-01-15  Tor Lillqvist  <tml@iki.fi>
2476
2477         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
2478         implementaion that more closely mimics the events that an X server
2479         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
2480         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
2481         with nested preview widgets, for instance, more responsive when
2482         you move the mouse quickly into them.
2483         (find_window_for_pointer_event): Make it actually compile.
2484         (gdk_event_translate): Set send_event to the value of
2485         InSendMessage (). This doesn't really mean the same as X11's
2486         send_event flag, but is close enough, says jpe@archaeopteryx.com
2487
2488 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2489
2490         * gdk/linux-fb/gdkdnd-fb.c:
2491         Implemented drag and drop.
2492         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
2493         when it tries to free and then copy the same event (info->last_event).
2494         I am not sure about why this happens, but will continue looking.
2495
2496 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2497
2498         * gdk/linux-fb/gdkwindow-fb.c:
2499         Use gdk_window_invalidate_rect instead of
2500         gdk_window_invalidate_rect_clear to minimise flashing.
2501         When hiding windows you need to clear the root window though.
2502
2503 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2504
2505         * gdk/linux-fb/gdkdrawable-fb2.c:
2506         For optization, add an full_shapes argument to gdk_fb_clip_region.
2507         If this is false, only the cliprects of the shapes are used.
2508
2509         * gdk/linux-fb/gdkprivate-fb.h:
2510         Export gdk_fb_window_peek_shape.
2511         Add full_shapes to gdk_fb_clip_region.
2512
2513         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2514         When moving a window, don't clear everything under the it, just the
2515         root window. Makes stuff faster and flash less.
2516         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
2517         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
2518         offset of the shape.
2519         
2520
2521 2001-01-12  Havoc Pennington  <hp@redhat.com>
2522
2523         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
2524         current invalid region, fixes redraw bug while scrolling the 
2525         text widget
2526
2527         * gtk/gtktextview.c, gtk/gtktextview.h:
2528         Rearrange the scrolling/validation/etc. code in a major way, 
2529         so it seems to make sense to me. Probably isn't genuinely that
2530         much better, but...
2531
2532         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
2533         notifies
2534
2535         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
2536
2537 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
2538
2539         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
2540         Hide mouse pointer while rotation. Show it afterwards.
2541
2542 2001-01-12  Alexander Larsson  <alexl@redhat.com>
2543
2544         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
2545         windows in consideration when generating clip region.
2546
2547         * gdk/linux-fb/gdkfb.h:
2548         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
2549
2550         * gdk/linux-fb/gdkprivate-fb.h:
2551         Add shape to GdkWindowFBDatat.
2552         exported gdk_fb_window_get_abs_shape().
2553         removed gdk_fb_draw_lines declaration.
2554
2555         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
2556         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
2557         send focus changes when there is a grabbed window.
2558         (gdk_window_get_pointer): Handle shaped windows.
2559         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
2560         (gdk_fb_window_peek_shape): Returns the shape for a window,
2561         handles GDK_FB_USE_CHILD_SHAPE.
2562         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
2563         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
2564         (gdk_window_shape_combine_mask): Implement.
2565
2566         * gtk/gtkwindow-decorate.c:
2567         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
2568         setting the shape of a window makes the window transparent.
2569
2570 2001-01-11  Havoc Pennington  <hp@redhat.com>
2571
2572         * gtk/gtktreemodelsimple.h: Oops, broke some macros
2573
2574 2001-01-10  Havoc Pennington  <hp@redhat.com>
2575
2576         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
2577         add this function, bug 40251
2578
2579         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
2580         of type macro   
2581
2582 2001-01-11  Alexander Larsson  <alexl@redhat.com>
2583
2584         * acconfig.h:
2585         Added ENABLE_SHADOW_FB
2586
2587         * configure.in:
2588         Added --disable-shadowfb
2589
2590         * gdk/linux-fb/gdkcursor-fb.c:
2591         Update shadowfb when updating cursor
2592
2593         * gdk/linux-fb/gdkdrawable-fb2.c:
2594         Added wrappers for shadowfb that calls  the normal drawable
2595         methods, but calls gdk_shadow_fb_update(bounding box) when
2596         GdkWindows are drawed to.
2597         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
2598         which also returns the bounding box.
2599
2600         * gdk/linux-fb/gdkfb.h:
2601         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
2602
2603         * gdk/linux-fb/gdkgeometry-fb.c:
2604         Update shadowfb when scrolling window.
2605
2606         * gdk/linux-fb/gdkglobals-fb.c:
2607         Add _gdk_fb_screen_angle.
2608         
2609         * gdk/linux-fb/gdkkeyboard-fb.c:
2610         Test code for screen rotation. Shift-F2 in the xlate driver
2611         rotates the screen.
2612
2613         * gdk/linux-fb/gdkmain-fb.c:
2614         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
2615
2616         * gdk/linux-fb/gdkmouse-fb.c:
2617         Use fb_width/height instead of modeinfo.xres/yres.
2618
2619         * gdk/linux-fb/gdkprivate-fb.h:
2620         Added fb_men, fb_width, fb_height & fb_stride. When using
2621         shadow fb these can differ from the framebuffer stuff.
2622         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
2623         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
2624         _gdk_fb_screen_angle. Removed CM, RP.
2625
2626         * gdk/linux-fb/gdkrender-fb.c:
2627         Added code for shadowfb handling and screen rotation using
2628         shadowfb.
2629
2630         * gdk/linux-fb/gdkwindow-fb.c:
2631         Use fb_mem, fb_stride, fb_width, fb_height.
2632         Added recompute_rowstride to reset the rowstride of all windows.
2633         Added gdk_fb_recompute_all() which recomputes rootwindow size,
2634         window abs positions and window rowstrides. Usefull when the
2635         rotation has changed.
2636
2637 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
2638
2639         * docs/faq/gtk-faq.sgml: update to make web site updating easier
2640
2641 2001-01-10  Havoc Pennington  <hp@redhat.com>
2642
2643         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
2644         where sibling == iter
2645         (gtk_tree_store_insert_after): handle sibling == iter
2646         (gtk_tree_store_prepend): remove stamp checks
2647         (gtk_tree_store_insert_before): ditto
2648         (gtk_tree_store_append): ditto
2649         (gtk_tree_store_get_path): ditto
2650         (gtk_tree_store_get_value): ditto
2651         (gtk_tree_store_iter_has_child): ditto
2652         (gtk_tree_store_iter_n_children): ditto
2653         (gtk_tree_store_iter_nth_child): ditto
2654         (gtk_tree_store_insert_after): ditto
2655         (gtk_tree_store_is_ancestor): ditto
2656         (gtk_tree_store_iter_depth): ditto
2657         (gtk_tree_store_insert_before): assert that sibling's parent is
2658         the same as the passed-in parent
2659         (gtk_tree_store_insert_after): assert that sibling's parent is
2660         the same as the passed-in parent
2661
2662         
2663         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
2664         function to get the first iterator in a model
2665         
2666         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
2667         conventionally the "root" in this sense is just NULL afaict.
2668
2669         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
2670         where sibling == iter
2671         (gtk_list_store_insert_after): handle case where sibling == iter
2672
2673         * tests/testtreeview.c (run_automated_tests): fairly lame basic
2674         automated tests for ListStore, TreeStore
2675
2676         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
2677         (gtk_list_store_insert): update tail pointer, and fix it to work
2678         (gtk_list_store_insert_before): update tail pointer, and fix it to work
2679         (gtk_list_store_append): use tail to be faster
2680         (gtk_list_store_prepend): fix it, update tail pointer
2681         (gtk_list_store_insert_after): fix it, update tail pointer
2682
2683         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
2684         the list
2685
2686 2001-01-09  Havoc Pennington  <hp@redhat.com>
2687
2688         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
2689         is NULL due to a pending resize
2690
2691         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
2692         column width to values less than 1
2693
2694         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
2695         width to be between min/max width, and still set the width 
2696         even if autosize is turned on, so the tree view can use this 
2697         function in order to autosize.
2698         (gtk_tree_view_column_init): set initial width to 1 not 0
2699
2700         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
2701         setter function to modify column width, so we get notification
2702         (gtk_tree_view_insert_iter_height): ditto
2703         (gtk_tree_view_calc_size): ditto
2704         (gtk_tree_view_check_dirty): ditto
2705
2706         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
2707         properties to change all the interesting attributes of the tree
2708         view column.
2709         (gtk_tree_view_column_set_header_clickable): rename set_clickable
2710         (gtk_tree_view_column_get_clickable): add
2711         (gtk_tree_view_column_set_cell_renderer): don't unset the current
2712         attributes; assume a cell renderer with equivalent object
2713         properties has been swapped in. Do g_object_notify().
2714         (gtk_tree_view_column_set_visible): g_object_notify
2715         (gtk_tree_view_column_get_sizing): rename from get_col_type
2716         (gtk_tree_view_column_set_sizing): g_object_notify
2717         (gtk_tree_view_column_set_width): add g_object_notify
2718         (gtk_tree_view_column_set_min_width): ditto
2719         (gtk_tree_view_column_set_max_width): ditto
2720         (gtk_tree_view_column_set_title): ditto
2721         (gtk_tree_view_column_set_clickable): ditto
2722         (gtk_tree_view_column_set_widget): ditto
2723         (gtk_tree_view_column_set_justification): ditto
2724
2725 2001-01-09  Havoc Pennington  <hp@redhat.com>
2726
2727         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
2728         there are no rows in the model
2729
2730         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
2731         NULL, then return the start of the list
2732
2733         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
2734         if we can't get any rows from an empty model 
2735
2736         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
2737         extraneous * after function pointer typedef usage
2738
2739         * Makefile.am: don't specify full path to cp and rm
2740
2741         * gtk/gtkcellrenderertextpixbuf.c
2742         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
2743         NULL before dereferencing, fixes a segfault that happened from
2744         time to time
2745
2746         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
2747         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
2748         and reindent the function
2749         (gtk_cell_renderer_pixbuf_get_size): indentation
2750
2751         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
2752         we quit it
2753         (gtk_dialog_add_buttons_valist): add g_return_if_fail
2754         (gtk_dialog_set_default_response): New function, to set default
2755         button
2756         (gtk_dialog_set_response_sensitive): New function, to set 
2757         sensitivity of buttons
2758
2759         * gtk/gtkcellrendererpixbuf.c
2760         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
2761         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
2762
2763         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
2764         handle any G_TYPE_OBJECT subclass, not just the base class, and 
2765         also boxed types.
2766         (_gtk_tree_data_list_value_to_node): ditto
2767
2768         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
2769         --gtk-debug=tree
2770
2771         * gtk/gtkmain.c: add GTK_DEBUG_TREE
2772
2773         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
2774
2775 2001-01-09  Tor Lillqvist  <tml@iki.fi>
2776
2777         * gdk/win32/gdkevents-win32.c: Implement better mouse
2778         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
2779         (find_window_for_pointer_event): New function.
2780         (gdk_event_translate): Use it when handling mouse events.
2781
2782 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
2783
2784         * configure.in:
2785         Added --with-included-loaders option
2786
2787         * gdk-pixbuf/Makefile.am:
2788         * gdk-pixbuf/gdk-pixbuf-io.c:
2789         Add support for including selected gdk-pixbuf loaders only.
2790
2791         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
2792         gtk_window_set_has_frame):
2793         Added inline documentation.
2794
2795         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
2796         * docs/reference/gdk/tmpl/windows.sgml:
2797         Added inline documentation.
2798
2799 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
2800
2801         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
2802         realizing buttons that have already been realized.
2803
2804 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
2805
2806         * tests/testtreeview.c (main): Show menu items before adding to
2807         option menu.
2808
2809         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
2810         around if we kill them.
2811
2812         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2813         Return if we pass in a NULL model.
2814
2815 2001-01-08  Havoc Pennington  <hp@redhat.com>
2816
2817         * tests/testtreeview.c: hack on this some
2818
2819         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
2820         gtk_tree_store_set_valist, v is for arrays, valist for varargs
2821         list
2822         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
2823
2824         * gtk/gtkliststore.h: Add varargs set() and get() convenience
2825         functions
2826
2827 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2828
2829         * gtk/gtkwindow-decorate.[hc]:
2830         * gtk/Makefile.am:
2831         New files. Contains an implementation of a minimal WM for
2832         linux-fb.
2833
2834         * gtk/gtkwindow.h:
2835         Add the possibility for GtkWindows to specify a frame. This
2836         is used for the window decoration code, but could concievably
2837         be used for X programs too (xmms style windows).
2838         GtkWindow->frame is the toplevel window if the window is framed.
2839         The signal frame_event gets all events that are targeted to
2840         GtkWindow->frame.
2841         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
2842         
2843         * gtk/gtkwindow.c:
2844         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
2845         Call out to gtkwindow-decorate.c for WM support in linx-fb.
2846
2847 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2848
2849         * docs/README.linux-fb:
2850         Correct filename ~/.pangoft2_aliases
2851
2852         * gdk/gdkwindow.h:
2853         Added new function gdk_window_get_decorations.
2854
2855         * gdk/linux-fb/gdkfb.h:
2856         Removed _gdk_window_get_decorations declaration.
2857         Renamed _gdk_window_set_child_handler to
2858         gdk_fb_window_set_child_handler.
2859
2860         * gdk/linux-fb/gdkwindow-fb.c:
2861         Renamed _gdk_window_set_child_handler to
2862         gdk_fb_window_set_child_handler.
2863
2864         * gdk/x11/gdkwindow-x11.c:
2865         New function gdk_window_get_mwm_hints().
2866         Implemented gdk_window_get_decorations.
2867
2868         * docs/reference/gdk/tmpl/windows.sgml:
2869         * docs/reference/gdk/gdk-sections.txt:
2870         Added gdk_window_get_decorations docs.
2871         
2872 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
2873
2874         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
2875         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
2876         gdk_fb_window_send_crossing_events):
2877         Possibly send focus events when the mouse moves from one
2878         window to another.
2879
2880 2001-01-07  Tor Lillqvist  <tml@iki.fi>
2881
2882         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
2883         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
2884         to match current API.
2885
2886         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
2887         environment variable is set, don't call g_error when on a
2888         palettized (PseudoColor) display. Some people want to use GTK+ 
2889         in 256-colour mode even though works only partially.
2890
2891         * gdk/gdk.def
2892         * gtk/gtk.def
2893         * gtk/makefile.mingw.in: Update.
2894
2895 2001-01-05  Havoc Pennington  <hp@redhat.com>
2896
2897         * tests/testtreeview.c: hack on this a bit
2898
2899         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
2900         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
2901
2902         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
2903         was spelled incorrectly
2904         (GTK_IS_TREE_MODEL_SIMPLE): ditto
2905
2906         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
2907         from gtk_tree_view_set_headers_active   
2908
2909         * gtk/gtktexttag.c:
2910         (gtk_text_tag_get_property): handle PROP_DIRECTION
2911         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
2912         properties, bug 40235
2913
2914         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
2915         forward_to_line_end
2916
2917 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
2918
2919         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
2920         modules/input/gtkimcontextxim.c: Adapt to new prototypes
2921         for unicode,locale,filename conversion functions.
2922
2923 2001-01-05  Havoc Pennington  <hp@redhat.com>
2924
2925         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
2926         broken if called on the first position in the buffer.
2927
2928         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
2929         forward_to_delimiters to be called only if we aren't already at
2930         the delimiters.
2931
2932 2001-01-05  Havoc Pennington  <hp@redhat.com>
2933
2934         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
2935
2936 2001-01-05  Alexander Larsson  <alexl@redhat.com>
2937
2938         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
2939         colormap in here. Sync from X port.
2940         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
2941         Sync from X port.
2942         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
2943         This happens now and then, and i don't think it is a bug.
2944         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
2945         != endpoint.
2946         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
2947         GDK_LINE_SOLID.
2948
2949         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
2950         some of the fields filled in at least.
2951
2952         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
2953         miLineArcD is no more, remove it from the function definition.
2954
2955 2001-01-04  Havoc Pennington  <hp@redhat.com>
2956
2957         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
2958         this
2959
2960         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
2961         user_data instead of tree_node
2962
2963         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
2964         TREE_VIEW_COLUMN_SIZE
2965
2966         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
2967         "size" field to "width" finishes bug 40061
2968
2969         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
2970         for bitfields, bug 40268
2971
2972 2001-01-04  Havoc Pennington  <hp@redhat.com>
2973
2974         Rename some stuff:
2975         
2976         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
2977
2978         s/GtkModelSimple/GtkTreeModelSimple/g;
2979         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
2980         s/gtk_model_simple/gtk_tree_model_simple/g;
2981         s/gtkmodelsimple/gtktreemodelsimple/g;
2982
2983         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
2984
2985         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
2986         s/column_set_col_type/column_set_sizing/g;
2987
2988         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
2989         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
2990
2991         s/GtkCellRendererType/GtkCellRendererState/g;
2992         
2993         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
2994         (gtk_cell_renderer_toggle_class_init): change "state" property to
2995         "active", to match GtkToggleButton
2996         (gtk_cell_renderer_toggle_get_active): new function, bug
2997         40269
2998         (gtk_cell_renderer_toggle_set_active): new function
2999         (gtk_cell_renderer_toggle_set_property): route changes to toggle
3000         state through gtk_cell_renderer_set_active
3001
3002 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
3003
3004         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
3005         temporarily until they work again.  Brought up to date with
3006         changes in the model.
3007         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
3008         model.
3009
3010 2001-01-04  Havoc Pennington  <hp@redhat.com>
3011
3012         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
3013         equal to the line length, then position iterator before paragraph 
3014         separators. Fixes crash reported by Mikael Hermansson when
3015         pressing left arrow from the start of a line.   
3016
3017         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
3018         about byte indexes off the end
3019         (iter_set_from_char_offset): add g_error about char offsets
3020         off the end
3021
3022 2001-01-03  Havoc Pennington  <hp@redhat.com>
3023
3024         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
3025
3026         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
3027         of private functions; remove inclusion of private headers.
3028
3029         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
3030         function, so we don't need private functions in gtktextdisplay.c
3031
3032         * gtk/gtktextiterprivate.h: underscore-ification
3033
3034         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
3035         to instead say "only useful to implement widgets"
3036
3037         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
3038         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
3039         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
3040
3041         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
3042         This function was completely broken
3043
3044         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
3045
3046         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
3047
3048         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
3049
3050         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
3051
3052         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
3053
3054         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
3055
3056         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
3057         gtk_paint_layout
3058
3059         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
3060         gtk_paint_layout
3061
3062         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
3063         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
3064         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
3065         which were not implemented.     
3066
3067         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
3068         insert_pixbuf signal. Rename delete_text to delete_range since it
3069         also deletes pixbufs and child anchors. This almost closes bug
3070         40245 (still need to deal with child anchors)
3071
3072         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
3073         insert_pixbuf, change signal names as appropriate, change types of
3074         signals taking marks/tags to have the specific type, not just
3075         G_TYPE_OBJECT
3076         
3077         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
3078         closes bug 40051
3079
3080         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
3081         unnecessary remove_contents() call
3082         (gtk_option_menu_class_init): add a "changed" signal, closes
3083         bug 40039
3084         (gtk_option_menu_update_contents): emit "changed" if the 
3085         active menu item changes
3086
3087         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
3088         cast to GtkObject, reported by Jonas Borgstrom
3089         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
3090         we can't do stuff with side effects in finalize. Instead, spew a
3091         warning if the loader isn't closed.
3092
3093         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
3094         colormap in here, non-X ports probably need to sync to this change
3095
3096         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
3097         assertion that colormap != NULL, you can set the colormap to NULL
3098         if you like.
3099         
3100         * Makefile.am: remove gtk-config-2.0
3101
3102         * configure.in: Use pkg-config to locate GLib. Remove
3103         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
3104         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
3105         Use pkg-config to locate Pango. Output correct Pango libs to
3106         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
3107
3108         * Makefile.am (pkgconfig_DATA): install only target-specific pc
3109         files
3110         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
3111         X11 pc files
3112
3113         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
3114         unref from here
3115
3116 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
3117
3118         * configure.in:
3119         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
3120
3121 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
3122
3123         * gtk/gtktextlayout.c
3124         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
3125         variable when moving back onto a single line.
3126
3127 2001-01-01  Havoc Pennington  <hp@redhat.com>
3128
3129         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3130
3131         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3132
3133         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
3134         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
3135
3136 2001-01-01  Havoc Pennington  <hp@redhat.com>
3137
3138         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
3139
3140         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
3141         GtkTextAttributes
3142
3143         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
3144         #40246
3145         (gtk_text_attributes_copy_values): rename from 
3146         gtk_text_attributes_copy
3147         (gtk_text_attributes_copy): a more standard GTK copy function, 
3148         which returns a new object
3149
3150 2001-01-01  Havoc Pennington  <hp@redhat.com>
3151
3152         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
3153         
3154         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
3155         don't fill in tree_view->priv->selection, kind of an unexpected
3156         side effect
3157
3158         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
3159         gtkintl.h
3160         
3161         * gtk/gtkcellrenderer.c: Remove definition of _ and include
3162         gtkintl.h
3163         (gtk_cell_renderer_get_property): remove calls to g_value_init
3164
3165         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
3166         gtkintl.h
3167
3168         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
3169         and include gtkintl.h
3170         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
3171         property names
3172
3173         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
3174         GtkTreeSelection
3175         (_gtk_tree_selection_new_from_with_view): rename, return
3176         GtkTreeSelection
3177         (_gtk_tree_selection_set_tree_view): rename with uscore
3178         (gtk_tree_selection_get_selected): fill in the "model" out param
3179         first, so it gets filled in even if we return at the top of the 
3180         function
3181         (gtk_tree_selection_real_select_all): add a comment and an else{}
3182         to clarify this a bit
3183         (gtk_tree_selection_real_unselect_all): add the same else{}
3184
3185         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
3186         set_tree_view to have underscore prefixes, move them to the
3187         private header, fix return type of new_with_tree_view
3188         (struct _GtkTreeSelection): mark struct
3189         fields private  
3190
3191         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
3192         GtkTreeModelFlags, not a guint
3193         (gtk_tree_path_prev): return gboolean not gint
3194         (gtk_tree_path_up): return gboolean not gint
3195
3196         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
3197         return GtkTreeModelFlags, not a guint
3198
3199         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
3200         that child model is non-null before unrefing it
3201         (g_value_int_compare_func): make this a qsort compare func, not 
3202         a boolean predicate
3203
3204         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
3205         (add -umn to the end), and mark it unimplemented
3206         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
3207         I don't see what it's for - doesn't the model always sort itself?
3208         (gtk_tree_model_sort_set_compare): this had the wrong signature
3209
3210         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
3211         Fix the docs to say that it destructively replaces existing
3212         attributes (previously said that it added attributes).
3213         (gtk_tree_view_column_set_visible): canonicalize bool before
3214         equality testing. Also, check for realization before
3215         hiding/showing the tree_column->window; if this window could exist
3216         before realization, then it's busted and needs fixing, we can't 
3217         create GDK resources pre-realization. Also, remove
3218         superfluous queue_resize(), since set_size() does that for us.
3219         (gtk_tree_view_column_set_col_type): check realization before 
3220         using tree_column->window
3221
3222         * gtk/gtktreedatalist.c: fix filename in copyright notice
3223
3224 2000-12-31  Havoc Pennington  <hp@pobox.com>
3225
3226         * gtk/gtktextview.c: Rearrange all the
3227         scroll-while-dragging-or-selecting code to be different, not
3228         necessarily better. ;-)
3229         (gtk_text_view_scroll_to_mark): Change this
3230         function to take within_margin as a fraction instead of a pixel
3231         value, and to take alignment arguments (indicating where to align 
3232         the mark inside the visible area)
3233         
3234         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
3235         to GtkObject
3236
3237         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
3238         behavior so that offsets past the end of the line are not 
3239         allowed, and an offset equal to the line length moves the iterator
3240         to the next line
3241         (gtk_text_iter_set_line_index): make parallel change
3242         (gtk_text_iter_get_bytes_in_line): add this function
3243         
3244         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
3245         of byte indexes off the end of the line; byte index at the end of
3246         the line now returns FALSE and doesn't fill in the requested
3247         values, byte index past the end of the line is an error.  Also,
3248         don't allow -1 offset anymore, since its meaning is unclear.
3249
3250         This change exposes some bug in visual cursor motion, where we
3251         end up with a huge invalid byte index; needs fixing. Symptom of 
3252         bug is a crash when you hit up arrow.
3253         
3254         (_gtk_text_line_char_locate): match the change to byte_locate
3255
3256         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
3257         from start of line properly. fixes bug reported by Mikael
3258         Hermansson where backspace would delete all text before the
3259         cursor.
3260
3261 2000-12-30  Tor Lillqvist  <tml@iki.fi>
3262
3263         * gdk/win32/gdkwindow-win32.c
3264         (gdk_window_impl_win32_get_visible_region): New function, as in
3265         the X11 backend.
3266         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
3267         instead of duplicating the same code here.
3268
3269         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
3270         GDK_COLORMAP macro.
3271
3272         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
3273         destroy function.
3274         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
3275         access that.
3276
3277         * gtk/gtk.def: Update.
3278
3279         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
3280
3281 2000-12-30  Havoc Pennington  <hp@pobox.com>
3282
3283         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
3284         colormap on input only windows, to avoid special cases all over
3285         the code for these windows.
3286
3287 2000-12-26  Tor Lillqvist  <tml@iki.fi>
3288
3289         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
3290         we are on a palettized display ("PseudoColor" in X11), as the code
3291         for that doesn't work anyway, and never has.
3292
3293 2000-12-22  Alexander Larsson  <alexl@redhat.com>
3294
3295         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
3296         Don't use isprint() for chars > 255.
3297
3298 2000-12-21  Havoc Pennington  <hp@redhat.com>
3299
3300         * tests/testtreeview.c: more work
3301
3302 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3303
3304         * docs/README.linux-fb:
3305         Update the docs to the new pangoft2 way.
3306
3307 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3308
3309         * configure.in:
3310         For linux-fb get the pangoft2 cflags and libs. This needs a recent
3311         pango version.
3312         Remove modules/linux-fb/Makefile.
3313
3314         * gdk/linux-fb/gdkdrawable-fb2.c:
3315         Render glyphs using freetype.
3316
3317         * gdk/linux-fb/gdkfb.h:
3318         Add new fb-specific functions needed for managing windows.
3319
3320         * gdk/linux-fb/gdkmain-fb.c:
3321         Remove gdk_font_init/fini() calls.
3322
3323         * gdk/linux-fb/gdkpango-fb.c:
3324         Remove old implementation. Use pangoft2 instead.
3325
3326         * gdk/linux-fb/gdkprivate-fb.h:
3327         Remove PangoFBFont and related stuff.
3328
3329         * gdk/linux-fb/gdkwindow-fb.c:
3330         Implement drawable->get_visible_region.
3331         Implement support for _gdk_window_set_child_handler () and
3332         _gdk_window_get_decorations().
3333
3334         * modules/Makefile.am:
3335         Remove linux-fb subdir.
3336
3337         * modules/linux-fb/*:
3338         Removed all.
3339         
3340 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
3341
3342         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
3343         calls, as they are no longer needed.
3344
3345         * gtk/gtktreemodelsort.c: Fix up the comparison code.
3346         
3347         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
3348         figure out how to emit a signal on an interface.
3349
3350 2000-12-20  Havoc Pennington  <hp@redhat.com>
3351
3352         * tests: new directory to contain tests, gtk/test* should move
3353         here sometime (with appropriate on-cvs-server hackery)
3354
3355         * tests/testtreeview.c, tests/Makefile.am: a test
3356         
3357         * configure.in (AC_OUTPUT): add tests/Makefile
3358
3359         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
3360         and "invisible_set" which were missing
3361
3362         * gtk/gtkrbtree.h: some cheesy indentation fix
3363         
3364 2000-12-20  Alexander Larsson  <alexl@redhat.com>
3365
3366         * gtk/gtkinvisible.c (gtk_invisible_realize):
3367         Attach the style to the window so that the style it is not
3368         leaked when unrealizing the window.
3369
3370 2000-12-18  Havoc Pennington  <hp@redhat.com>
3371
3372         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
3373         begin/end user action where appropriate
3374         (gtk_text_view_commit_handler): add begin/end user action
3375
3376         * gtk/gtktextbuffer.c: add begin/end user action signals, and
3377         bracket interactive operations with begin/end user action pair.
3378         
3379         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
3380         "interactive" arg from insert_text and delete_text signals.
3381         Add begin_user_action, end_user_action signals
3382         (gtk_text_buffer_begin_user_action): 
3383         (gtk_text_buffer_end_user_action): New functions to delimit 
3384         a user-visible action
3385
3386         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
3387         signals.
3388         
3389 2000-12-18  Havoc Pennington  <hp@redhat.com>
3390
3391         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
3392         was pretty non-working.
3393
3394         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
3395         by passing the length to g_utf8_validate().
3396
3397 2000-12-16  Havoc Pennington  <hp@pobox.com>
3398
3399         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
3400         Port to GObject, can go back in gdk-pixbuf after setting up 
3401         a gdk-pixbuf-marshal.h header over there.
3402
3403         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
3404         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
3405         args
3406         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
3407         set
3408         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
3409         here, do it when we create the buttons later
3410         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
3411         (gtk_tree_view_map): paranoia checks that column->button is shown 
3412         and unmapped
3413         (gtk_tree_view_size_request): only request visible children.
3414         Move header size calculation in here, for cleanliness, and 
3415         to maintain invariants for child widgets if we eventually 
3416         let users set different children inside the buttons
3417         (gtk_tree_view_map_buttons): factor out code to map buttons,
3418         since it was being called several times
3419         (gtk_tree_view_size_allocate_buttons): move_resize the drag
3420         windows instead of just moving them; their height may change 
3421         if we allow random widgets in there, or the theme changes.
3422         (gtk_tree_view_size_allocate): move button size allocation 
3423         above emitting the scroll signals, to ensure a sane state when we
3424         hit user code
3425         (gtk_tree_view_button_release): remove queue_resize after
3426         tree_view_set_size(), set_size() will handle any resize queuing
3427         that's needed
3428         (gtk_tree_view_focus_in): just queue a draw, don't fool with
3429         draw_focus goo
3430         (gtk_tree_view_focus): use gtk_get_current_event() and
3431         gdk_event_get_state()
3432         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
3433         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
3434         semicolon
3435         (gtk_tree_view_create_button): show the button here
3436         (gtk_tree_view_button_clicked): actually emit the clicked signal
3437         on the column
3438         (_gtk_tree_view_set_size): return right away if the size is
3439         unchanged, as a cheesy optimization
3440         (gtk_tree_view_setup_model): rename set_model_realized to 
3441         setup_model to match the flag that indicates whether we've 
3442         called it
3443         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
3444         exist, because set_scroll_adjustment does that and it shouldn't
3445         matter what order you call these in
3446         (gtk_tree_view_get_vadjustment): ditto
3447         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
3448         for paranoia
3449         (gtk_tree_view_set_headers_visible): call
3450         gtk_tree_view_map_buttons() instead of using cut-and-paste code
3451         (gtk_tree_view_append_column): clarify whether the return value
3452         is the count of columns before or after, and do the increment 
3453         separately from the return statement so you can tell from the code.
3454         (gtk_tree_view_remove_column): ditto
3455         (gtk_tree_view_insert_column): ditto
3456         (gtk_tree_view_get_column): remove g_return_if_fail for columns
3457         outside the existing range, the docs say that outside-range
3458         columns are allowed, so we handle them as documented. (Presumably
3459         this allows a nice loop with column != NULL as test.)
3460         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
3461         mean (left/right/center etc.).
3462         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
3463         (gtk_tree_view_expand_row): add docs
3464         (gtk_tree_view_collapse_row): add docs
3465
3466         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
3467         function to emit the clicked signal on a column
3468         
3469         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
3470         state of an event
3471         (gdk_event_get_time): don't treat GDK_SCROLL 
3472         as a button event, remove default case from switch so gcc 
3473         will whine if we don't explicitly handle all event types
3474
3475         * gtk/gtktreeselection.h: added some FIXME 
3476         
3477         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
3478         "columns" to "n_columns" and "column" to "columns" for clarity
3479
3480 2000-12-16  Havoc Pennington  <hp@pobox.com>
3481         
3482         * gtk/gtktextiter.c: General cleanup of the log attr iteration
3483         stuff. This should make e.g. the delete key work again in the
3484         text widget...
3485         (gtk_text_iter_forward_cursor_positions): handle negative count
3486         (gtk_text_iter_backward_cursor_positions): handle negative count
3487         (gtk_text_iter_forward_word_ends): handle negative count
3488         (gtk_text_iter_backward_word_starts): handle negative count
3489
3490         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
3491         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
3492         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
3493         GObject. No doubt will cause breakage.
3494
3495         * demos/gtk-demo/textview.c: remove hacks around
3496         non-GObject-ification of the text objects
3497
3498         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
3499         the text tag
3500         
3501 2000-12-14  Havoc Pennington  <hp@pobox.com>
3502
3503         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
3504         that we have Xrender
3505
3506 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
3507
3508         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
3509         Add two virtualized functions gdk_drawable_get_clip_region - to
3510         get the clip region when drawing.
3511         
3512         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
3513         use invalidate_region.
3514
3515         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
3516         region.
3517
3518         * acconfig.h configure.in: Check for Xft. For now, assume
3519         that if Xft is found, Pango was compiled with Xft support
3520         as well.
3521
3522         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
3523         gdk_colormap_query_color().
3524         
3525         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
3526         with Xft if appropriate.
3527
3528         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
3529         a pangoxft context if we have XFT and the environment
3530         variable GD_USE_XFT is set.
3531         
3532         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
3533         and also possibly an XftDraw structure.
3534
3535         * gtk/gtkfontsel.c: Handle the case where the font from the
3536         style doesn't match any of the fonts a bit better.
3537         
3538         * gtk/testgtk.c: Add tabs between directional segments for
3539         hebrew/arabic test. (Not really necessary, just a little
3540         prettier.)
3541
3542 2000-12-14  Havoc Pennington  <hp@redhat.com>
3543
3544         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
3545         reading a file
3546
3547 2000-12-14  Havoc Pennington  <hp@redhat.com>
3548
3549         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
3550         unused call to get_last_line()
3551
3552         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
3553         here until boxed is working (and maybe after that - we should
3554         really not gratuitously break old code)
3555
3556         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
3557         specific types for font_desc and tabs args, move them to
3558         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
3559         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
3560
3561         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
3562         use GTK_TYPE_POINTER for signal signatures as a hack-around
3563
3564         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
3565         PangoTabArray
3566
3567         * gtk/gtktextlayout.c (line_display_iter_to_index): 
3568         make static
3569         (line_display_index_to_iter): make static
3570
3571         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
3572         to marshal a string not a boxed
3573
3574         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
3575
3576         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
3577         since the UTF-8 isn't validated yet
3578
3579         * gtk/gtktextsegment.c (char_segment_check_func): don't require
3580         lines to end in '\n'
3581         
3582         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
3583         forward_to_delimiters, and grapheme boundaries
3584         (gtk_text_view_delete_from_cursor): properly handle non-newline
3585         delimiters, and grapheme boundaries
3586
3587         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
3588         to gtk_text_iter_forward_to_delimiters, and make it work properly
3589         if empty lines end with a character other than '\n'
3590
3591         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
3592         position
3593
3594 2000-12-15  Tor Lillqvist  <tml@iki.fi>
3595
3596         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
3597
3598         * gtk/gtk.def
3599         * gdk/gdk.def: Update.
3600
3601         * gdk/win32/gdkmain-win32.c
3602         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
3603         gdkmain-win32.c here.
3604
3605         * gdk/win32/makefile.mingw.in (all): No need to make
3606         gdk-win32res.o here, the makefile one step up will call us to make
3607         it.
3608
3609         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
3610         gdkkeys-win32.
3611
3612         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
3613
3614         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
3615         call to g_source_add().
3616
3617         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
3618         leak. Thanks to Andreas Kemnade.
3619
3620 2000-12-13  Havoc Pennington  <hp@pobox.com>
3621
3622         * gtk/gtktextbtree.h: Remove double _ in front of some functions
3623
3624         * gtk/gtktext*.[hc]: update accordingly
3625         
3626 2000-12-13  Havoc Pennington  <hp@pobox.com>
3627
3628         * gtk/gtktextbtree.h: Put _ in front of every function in this 
3629         header file
3630
3631         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
3632
3633 2000-12-13  Alex Larsson  <alexl@redhat.com>
3634
3635         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
3636         Add support for ps2 intellimouse.
3637
3638         * gdkkeyboard-fb.c:
3639         Move shift-F1 repaint handling to xlate handler only.
3640         
3641         * docs/README.linux-fb:
3642         Add imps2 to docs.
3643         Document the new refresh keys.
3644         
3645 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
3646
3647         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
3648
3649         * gtk/gtkbox.c: change property types from (u)long to (u)int for
3650         ::position and ::padding.
3651
3652         * gtk/gtkcontainer.c: make ::border_width an INT property.
3653
3654         * gtk/gtkpacker.c: make ::position an INT property.
3655
3656         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
3657         guard against NULL h/v scrollbars, since this is used at construction
3658         time.
3659
3660         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
3661         internal gtk_clist_constructor().
3662
3663         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
3664         gtk_ctree_constructor().
3665
3666         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
3667         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
3668
3669         * docs/reference/Makefile.am: fun stuff, disabled docs generation
3670         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
3671
3672         * gtk/gtkwidget.[hc]:
3673         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
3674         and gtk_widget_get().
3675         (gtk_widget_new): use g_object_new_valist().
3676         (gtk_widget_set): use g_object_set_valist().
3677
3678         * gtk/gtkobject.[hc]:
3679         removed gtk_object_arg_get_info(), gtk_object_getv(),
3680         gtk_object_query_args(), gtk_object_newv(),
3681         gtk_object_class_add_signals(),
3682         gtk_object_class_user_signal_new(),
3683         gtk_object_class_user_signal_newv(),
3684         gtk_object_arg_set(), gtk_object_arg_get(),
3685         gtk_object_args_collect(),
3686         gtk_object_default_construct(),
3687         gtk_object_constructed(),
3688         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
3689         removed nsignals, signals and n_args members from GtkObjectClass.
3690         (gtk_object_new): use g_object_new_valist().
3691         (gtk_object_set): use g_object_set_valist().
3692         (gtk_object_get): use g_object_get_valist().
3693         
3694         * gtk/gtkcompat.h: define gtk_object_default_construct().
3695         
3696         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
3697         g_object_new().
3698
3699         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
3700         fucntions, cleaned up method assignments (make sure your structures
3701         are setup properly before calling out). removed all GTK_CONSTRUCTED
3702         hacks ;)
3703
3704 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
3705
3706         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
3707         off-by-one error in checks. (Dave Lambert)
3708
3709 2000-12-12  Alexander Larsson  <alexl@redhat.com>
3710
3711         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
3712         Don't free gdk_fb_keyboard twice.
3713
3714 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
3715
3716         * gtk/testgtk.c:
3717         (create_tooltips): 
3718         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
3719         use GObject swapped_signal:: properties instead.
3720
3721         * gtk/gtkcellrenderertoggle.c: 
3722         * gtk/gtkcellrenderertextpixbuf.c: 
3723         * gtk/gtkcellrenderertext.c: 
3724         * gtk/gtkcellrendererpixbuf.c: 
3725         * gtk/gtkcellrenderer.c:
3726         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
3727         missing warnings for invalid property ids, install properties
3728         with g_object_class_install_property() now.
3729         
3730         * gtk/gtksignal.c:
3731         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
3732         
3733 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
3734         
3735         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
3736         to determine if a window is the focus widget within
3737         its toplevel.
3738
3739         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
3740         to be boolean.
3741
3742         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
3743         of the case where the container CAN_FOCUS to here instead
3744         of having it in each individual move-the-focus place.
3745
3746         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
3747         focusing to be geometric in a much more obvious sense. Arrowing
3748         around is still non-intuitive because it isn't perfect and
3749         because entries, etc, grab the arrow keys, but it at least
3750         usually will do what you expect now.
3751         
3752         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
3753         file.
3754
3755         * gtk/gtknotebook.c: Change tabs to be a single item in
3756         the focus chain. Make movement of focus on tabs with arrow
3757         keys wrap around.
3758         
3759         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
3760         CHECK_FIND_CHILD macro to give informative error messages
3761         instead of silent returns.
3762
3763         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
3764         flag since we handle GdkReturn on the tabs.
3765
3766         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
3767         windows rather than sending expose events directly.
3768
3769         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
3770         definition for GtkNotebookPage into .c file, since it is private.
3771
3772         * gtk/testgtk.c (create_notebook): Add option for 
3773         testing borderless notebook.
3774
3775         * gtk/testgtk.c (page_switch): Removed egregious poking
3776         around in GTK+ internals.
3777
3778         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
3779
3780         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
3781         properly through gtk_clist_focus. Make the title headers a
3782         single item in the tab-focus chain, and make left-right wrap
3783         around.
3784
3785         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
3786         focus method so that wrapping around works properly.
3787
3788         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
3789         that is handled for the widget now. 
3790
3791 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
3792
3793         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
3794         widgets as TOPLEVEL.
3795
3796         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
3797         TOPLEVEL widgets are containers.
3798
3799         * gtk/gtkinvisible.h: Remove useless include.
3800
3801 2000-12-11  Havoc Pennington  <hp@redhat.com>
3802
3803         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
3804         Handle chopping off \r\n and 0x2029 in addition to \n before
3805         passing to PangoLayout
3806
3807         * gtk/gtkimcontextsimple.c
3808         (gtk_im_context_simple_get_preedit_string): 
3809         return an empty string if no match is pending
3810
3811         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
3812         assertion that the returned preedit string was sane
3813
3814         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
3815         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
3816         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
3817
3818 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
3819
3820         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
3821         Fix up finalizer to chain to its parent.
3822
3823 2000-12-11  Alexander Larsson  <alexl@redhat.com>
3824
3825         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
3826         Clearified the difference between the keyboard types. Wrote a note
3827         about the magic sysrq key to get out of raw mode.
3828
3829 2000-12-09  James Henstridge  <james@daa.com.au>
3830
3831         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
3832         member to hold masks for detecting the start of a protocol packet.
3833         (mouse_devs): add packet start masks for ps2 and ms device types.
3834         Left the mask for fidmour blank, as I have no idea what it should
3835         be.
3836         (handle_mouse_io): skip bytes until we get to the start of a
3837         packet.  My Logitech mouse seems to be passing an extra NULL pad
3838         byte, and GPM does a similar thing here.
3839         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
3840         this is the ms mouse driver.
3841         (gdk_fb_mouse_ms_packet): fix up button handling, which was
3842         completely broken except for button1.  It was checking the wrong
3843         bit in the packet for the status of the right mouse button, and
3844         wrongly assuming right == button2 rather than 3.  I fixed that and
3845         also added support for middle button (button2).
3846
3847 2000-12-08  Havoc Pennington  <hp@redhat.com>
3848
3849         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
3850         that cause a segfault on text insertion
3851
3852         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
3853         warning
3854
3855         * gtk/gtktextiter.c (test_log_attrs): use
3856         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
3857
3858         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
3859         Get log attrs for a line, using a cache stored on the buffer
3860         
3861         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
3862         reported by Jeff Franks
3863
3864 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3865
3866         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
3867         /dev/ttyS0 -> /dev/mouse
3868
3869 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3870
3871         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
3872         Added dummy gdk_fontset_load.
3873
3874 2000-12-08  Alexander Larsson  <alexl@redhat.com>
3875
3876         * docs/README.linux-fb:
3877         * docs/Makefile.am:
3878         Initial GtkFB docs.
3879         
3880         * gdk/linux-fb/Makefile.am:
3881         Define GDK_DATA_PREFIX.
3882
3883         * gdk/linux-fb/gdkmain-fb.c:
3884         Fix typo.
3885         Change default display to /dev/fb0.
3886
3887         * gdk/linux-fb/gdkpango-fb.c:
3888         Add $(prefix)/share/fonts/ to font path.
3889         
3890 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3891
3892         * gdk/linux-fb/gdkkeyboard-fb.c:
3893         New file containing the abstracted keyboard driver. Most code
3894         taken from gdkinput-ps2.c
3895
3896         * gdk/linux-fb/gdkinput-ps2.c:
3897         Removed file.
3898         
3899         * gdk/linux-fb/Makefile.am:
3900         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
3901
3902         * gdk/linux-fb/gdkcolor-fb.c:
3903         display->fb was renamed to display->fb_fd.
3904
3905         * gdk/linux-fb/gdkcursor-fb.c:
3906         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3907
3908         * gdk/linux-fb/gdkinput.c:
3909         Moved gdk_input_init here from gdkinput-ps2.c
3910
3911         * gdk/linux-fb/gdkmain-fb.c:
3912         display->fb was renamed to display->fb_fd.
3913         Now the tty and the console is opened here instead
3914         of in the keyboard driver. Also check GDK_VT to see what
3915         tty to open.
3916         Move gdk_beep () here from gdkinput-ps2.c
3917         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3918
3919         * gdk/linux-fb/gdkmouse-fb.c:
3920         Add header.
3921         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3922         Return correct keyboard modifiers.
3923         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
3924
3925         * gdk/linux-fb/gdkprivate-fb.h:
3926         Add tty and vt info to display.
3927         Add orignal modeinfo storage to display
3928         Update global functions
3929
3930         * gdk/linux-fb/gdkwindow-fb.c:
3931         Added gdk_fb_window_find_focus().
3932         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3933
3934 2000-12-07  Havoc Pennington  <hp@pobox.com>
3935
3936         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
3937         function, noticed by Alex
3938
3939 2000-12-06  Elliot Lee  <sopwith@redhat.com>
3940
3941         * configure.in: Detect freetype properly
3942
3943         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
3944         above.
3945
3946 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3947
3948         * gdk/linux-fb/Makefile.am:
3949         Add gdkmouse-fb.c
3950         
3951         * gdk/linux-fb/gdkmouse-fb.c:
3952         New file. Abstracted the mouse drivers a bit.
3953
3954         * gdk/linux-fb/gdkcursor-fb.c:
3955         The cursor hide/show functions was moved here from gdkinput-ps2.c.
3956
3957         * gdk/linux-fb/gdkinput-ps2.c:
3958         Removed old mouse handling code. Moved cursor handling code
3959         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
3960         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
3961         gdk_mouse_get_info.
3962
3963         * gdk/linux-fb/gdkmain-fb.c:
3964         Pass NULL pointers for x,y in gdk_mouse_get_info call.
3965
3966         * gdk/linux-fb/gdkprivate-fb.h:
3967         Removed public gdk_fb_find_common_ancestor, added and renamed
3968         functions for the new mouse handling code.
3969
3970         * gdk/linux-fb/gdkwindow-fb.c:
3971         Moved gdk_fb_window_send_crossing_events here. added global
3972         variable gdk_fb_window_containing_pointer. made
3973         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
3974         renamed to gdk_mouse_get_info.
3975
3976 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3977
3978         * gdk/linux-fb/gdkevents-fb.c:
3979         Update to match latest gmain/gsource changes.
3980
3981         * gdk/linux-fb/gdkinput-ps2.c:
3982         Bogus gdk_keymap_get_entries_for_keycode implementation so that
3983         it links. Will be implemented later.
3984
3985 2000-12-03  Havoc Pennington  <hp@pobox.com>
3986
3987         * gdk/Makefile.am: add gdkkeys.[hc]
3988
3989         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
3990         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
3991
3992         * acconfig.h, configure.in: add checks and command line options
3993         for XKB
3994
3995         * gdk/x11/gdkkeys-x11.c: Implement the above functions
3996         
3997         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
3998         and group in the key event
3999
4000         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
4001         field with the low-level hardware key code, and a group
4002         field with the keyboard group
4003
4004         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
4005         and declare a couple globals used for keymap handling
4006         
4007         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
4008         hold down Shift-Control and type a hex number to get a Unicode 
4009         character corresponding to the hex number
4010         (gtk_im_context_simple_get_preedit_string): Fix cursor position
4011         (return bytes not chars)
4012
4013 2000-12-05  Elliot Lee  <sopwith@redhat.com>
4014
4015         * gdk/gdkcolor.h: Make GdkColor specify element sizes
4016         to avoid waste on 64-bit platforms.
4017
4018 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
4019
4020         * INSTALL: Fix link to PNG home, remove reference
4021         to fribidi.
4022
4023         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
4024         
4025         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
4026         tested.)
4027
4028         * gtk/gtkcheckmenuitem.c: Permanently turn on
4029         always_show_toggle.
4030
4031         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
4032         be NULL. (Vladimir Klebanov, #26545)
4033
4034         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
4035         some signed/unsigned comparison problems. (#6510,
4036         David Kaelbling)
4037
4038         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
4039         return type to boolean (Oskar Liljeblad, #18648)
4040
4041 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4042
4043         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
4044         Remove bogus colormap setting.
4045
4046 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4047
4048         * gdk/linux-fb/gdkcolor-fb.c:
4049         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
4050
4051         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
4052         Must set colormap.
4053         
4054 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
4055
4056         * docs/tutorial/gtk-tut.sgml: DND updates
4057
4058 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
4059
4060         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4061         Remove old debug g_warning().
4062         (gdk_fb_draw_drawable): The src argument can be either a wrapper
4063         or an implementation, just pass the implementation to draw_drawable_2.
4064         
4065         * gdk/linux-fb/gdkprivate-fb.h:
4066         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
4067
4068         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4069         clear and invalidate area when window is destroyed.
4070         (send_map_events): Remove old commented out code.
4071
4072 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4073
4074         * gdk/linux-fb/gdkpango-fb.c:
4075         Use italic instead of oblique in font aliases.
4076         
4077         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
4078         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
4079         other unsupported functions.
4080
4081 2000-12-04  Havoc Pennington  <hp@redhat.com>
4082
4083         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
4084
4085         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
4086
4087         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
4088
4089         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
4090         hack to avoid infinite loops (synthetic expose event) - 
4091         Owen has more appropriate fixes in a branch he'll check in later.
4092
4093         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
4094         separator, CR, and CRLF as line ends
4095
4096         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
4097         into lines using pango_find_paragraph_boundary(); other bits of
4098         the widget are still going to be broken if the boundary isn't '\n'
4099         though
4100
4101 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4102
4103         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
4104         multiply.
4105
4106         * gdk/linux-fb/gdkpango-fb.c:
4107         Copied some 26.6 scaling macros from pango to clean up the rounding.
4108         (pango_fb_font_get_glyph_info): Correct sign on x value.
4109
4110         * gdk/linux-fb/gdkprivate-fb.h:
4111         Removed unreferenced external functions.
4112
4113         * modules/linux-fb/Makefile.am: Use ` instead of '.
4114
4115         * modules/linux-fb/basic.c:
4116         Remove dead code. In particular the dummy lang engine which broke all
4117         pango layouts in GtkFB. Don't include tables-big.i anymore.
4118
4119         * modules/linux-fb/tables-big.i:
4120         Upgrade to latest version from pango. Left for reference, basic_ranges
4121         moved to basic.c.
4122         
4123 2000-12-04  Havoc Pennington  <hp@redhat.com>
4124
4125         Fix bugs Alex found:
4126         
4127         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
4128         to "draw"
4129
4130         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
4131
4132         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
4133
4134         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
4135         implementation in here, apparently the expose() implementation was
4136         dead code.
4137
4138 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4139
4140         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4141         Return positive descent.
4142
4143 2000-12-02  Havoc Pennington  <hp@pobox.com>
4144
4145         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
4146         method and signal
4147         
4148         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
4149         calls gdk_window_process_updates() to push the exposes through
4150         (gtk_widget_class_init): No more draw signal, no
4151         gtk_widget_real_draw()  
4152         
4153         * gtk/gtkbin.c (gtk_bin_draw): remove
4154
4155         * gtk/gtkbox.c (gtk_box_draw): remove
4156
4157         * gtk/gtkbutton.c (gtk_button_draw): remove
4158
4159         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
4160
4161         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
4162
4163         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
4164
4165         * gtk/gtkclist.c (gtk_clist_draw): remove
4166
4167         * gtk/gtkentry.c (gtk_entry_draw): remove
4168
4169         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
4170
4171         * gtk/gtkfixed.c (gtk_fixed_draw): remove
4172
4173         * gtk/gtkframe.c (gtk_frame_draw): remove
4174
4175         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
4176
4177         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
4178
4179         * gtk/gtklayout.c (gtk_layout_draw): remove
4180
4181         * gtk/gtklist.c (gtk_list_draw): remove
4182
4183         * gtk/gtklistitem.c (gtk_list_item_draw): remove
4184
4185         * gtk/gtkmenu.c (gtk_menu_draw): remove
4186
4187         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
4188
4189         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
4190
4191         * gtk/gtknotebook.c (gtk_notebook_draw): remove
4192
4193         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
4194
4195         * gtk/gtkpacker.c (gtk_packer_draw): remove
4196
4197         * gtk/gtkrange.c (gtk_range_draw): remove
4198
4199         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
4200
4201         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
4202
4203         * gtk/gtktable.c (gtk_table_draw): remove
4204
4205         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
4206
4207         * gtk/gtktext.c (gtk_text_draw): remove
4208
4209         * gtk/gtktextview.c (gtk_text_view_draw): remove
4210
4211         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
4212
4213         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
4214
4215         * gtk/gtktree.c (gtk_tree_draw): remove
4216
4217         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
4218
4219         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
4220
4221         * gtk/gtkviewport.c (gtk_viewport_draw): remove
4222
4223         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
4224
4225         * gtk/gtkvscale.c (gtk_vscale_draw): remove
4226
4227         * gtk/gtkwindow.c (gtk_window_draw): remove
4228
4229 2000-20-01  Anders Carlsson  <andersca@gnu.org>
4230
4231         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
4232         a GtkToggleButton is both insensitive and active, it was being
4233         drawn by the GtkButton draw handler which doesn't check the
4234         state. Now it's calling gtk_toggle_button_paint instead.
4235         
4236 2000-12-01  Havoc Pennington  <hp@redhat.com>
4237
4238         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
4239         dangling pointers to the appearance attributes from the 
4240         line display
4241
4242         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
4243         width/height to mean "full width/height of drawable"
4244
4245         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
4246         click to select word/line
4247         
4248         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
4249         when getting log attrs. Get a slice, so that pixmaps and stuff
4250         are properly handled.
4251
4252         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
4253         paste into the selection (replaces selection now, previously
4254         crashed or added to selection). Reveals longstanding btree bug -
4255         select multiple lines, middle-click on the selection, boom. This
4256         isn't related to my changes though.
4257
4258         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
4259         PangoLogAttrs changes
4260         (gtk_entry_move_backward_word): ditto
4261
4262         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
4263         functions return bool whether the iter moved onto a
4264         dereferenceable position.
4265  
4266         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
4267         functions for motion in terms of display lines.
4268
4269         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
4270         get the buffer a mark is inside
4271         
4272 2000-12-01  Alexander Larsson  <alexl@redhat.com>
4273
4274         * gdk/linux-fb/Makefile.am:
4275         * modules/linux-fb/Makefile.am:
4276         Freetype 2 final uses freetype-config
4277
4278         * gdk/linux-fb/gdkpango-fb.c:
4279         Upgrade to use Freetype 2 final.
4280         More flexible support for font aliases, this also fixes a bug with
4281         GtkFontSelector, as the aliases must be visible in the font/family list,
4282         or GtkFontSelector reads uninitialized memory.
4283
4284 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
4285
4286         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
4287         XGetIMValues to properly terminate variable argument list, and do
4288         NULL return check for ic_values and xim_styles.
4289
4290         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
4291         Restore preedit state after XmbResetIC().
4292         
4293         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
4294         XvaCreateNestedList() should take XvaNestedList, but not
4295         XvaNestedList*.
4296
4297         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
4298         preedit_draw_callback, preedit_caret_callback): Match
4299         "preedit-changed" signal name to "preedit_changed" to be
4300         consistent to the spec.
4301
4302         * gtk/gtkimcontextsimple.c (check_table):
4303         Match "preedit-changed" to "preedit_changed" to be consistent
4304         to the spec.
4305
4306 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
4307
4308         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
4309         gc->clip_region == NULL>
4310
4311 2000-11-30  Tor Lillqvist  <tml@iki.fi>
4312
4313         Changes by Hans Breuer:
4314         
4315         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
4316         Dont't use negative width and height as max_hints. This fixes
4317         Owen's recent testgtk changes for win32.
4318
4319         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
4320         gdk_win32_hdc_release): These are exported and may be called with
4321         other drawable types than our GdkDrawableImplWin32 (?).
4322
4323         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
4324         so always #define USE_BACKING_STORE.
4325
4326         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
4327         of printf for debugging output.
4328
4329         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
4330         
4331         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
4332
4333         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
4334         declaration.
4335
4336         * gtk/gtktexttypes.h: Ditto.
4337
4338         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
4339         (GDK_VoidSymbol) also if in case of arg check failure.
4340
4341         * gtk/gtkimcontextsimple.c
4342         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
4343         position to the pointer, but to the variable it points to.
4344
4345         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
4346
4347         * gtk/gtk.def: Updates.
4348
4349 2000-11-29  Elliot Lee  <sopwith@redhat.com>
4350
4351         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
4352         GTK_TYPE_TREE_MODEL.
4353
4354 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4355
4356         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
4357         Set the size of the font from the description.
4358         (gdk_text_width): Gross hack that calculates the width
4359         of text by text_length * size/2. This is necessary because
4360         GtkLabel does some ugly gtk_string_width call to calculate
4361         an good size.
4362         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
4363
4364 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
4365
4366         * docs/tutorial/gtk-tut.sgml: DND updates
4367
4368 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4369
4370         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
4371         If you pass width or height == 0 to gdk_window_clear_area they
4372         should be calculated from the window size.
4373
4374 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4375
4376         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
4377         a grab, but no grab-cursor, use the cursor from the grabbed
4378         window. (gdk_fb_window_send_crossing_events): Send normal
4379         enter/leave notifications if grab and owner_events == TRUE.
4380
4381 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4382
4383         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4384         Do implicit button grabs, even if the window doesn't
4385         want the event.
4386         (gdk_fb_window_send_crossing_events): If there is a
4387         grab, only the grabbed window gets normal enter/leave
4388         notifications. On ungrab go from grabbed window to current.
4389         Don't send any notification to b when propagating from c -> b.
4390         If setting a grab on window, don't set prev_window.
4391         (handle_mouse_input): Send enter/leave events to the window the
4392         mouse is over, not the grabbed one.
4393         
4394 2000-11-28  Elliot Lee  <sopwith@redhat.com>
4395
4396         * gdk/gdkregion-generic.c: Zap warning.
4397         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
4398         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
4399
4400 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
4401
4402         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
4403         The cursor should be hidden if it is part of either the
4404         source or destination region. Not only if it is in both.
4405         (gdk_window_set_transient_for): Silence warnings.
4406
4407 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4408
4409         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
4410         The default mode in X is Pie Arcs, therefore that is
4411         what Gtk+ uses.
4412
4413 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4414
4415         * gdk/linux-fb/gdkinput-ps2.c:
4416         Implement correct EnterNotify/LeaveNotify:
4417         (gdk_fb_window_send_crossing_events): New function that sends
4418         all GdkCrossingEvents from the last mouse-window to the specified
4419         destination.
4420         (gdk_fb_window_visibility_crossing): Removed function.
4421         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
4422         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
4423         instead of gdk_window_get_pointer() for better readability.
4424
4425         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
4426         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
4427
4428         * gdk/linux-fb/gdkprivate-fb.h:
4429         removed gdk_fb_window_visibility_crossing, added
4430         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
4431
4432         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
4433         New function that finds the least common ancestor of two windows.
4434         (gdk_window_show, gdk_window_hide):
4435         Use gdk_fb_window_send_crossing_events.
4436         (gdk_fb_window_move_resize): Send configure events to toplevel
4437         windows. Use gdk_fb_window_send_crossing_events.
4438
4439 2000-11-27  Havoc Pennington  <hp@redhat.com>
4440
4441         * gtk/gtkprivate.h (enum): Remove a trailing comma
4442
4443 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
4444
4445         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
4446         the "changed" callback of the adjustment.  We need to redraw the
4447         spin button's arrows when the adjustment's range changes.
4448         (adjustment_changed_cb): Draw the arrows.
4449         (gtk_spin_button_value_changed): Draw the arrows.
4450
4451 2000-11-23  Alexander Larsson  <alexl@redhat.com>
4452
4453         * gdk/linux-fb/gdkselection-fb.c:
4454         Initial selection implementation.
4455
4456         * gtk/gtkselection.c:
4457         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
4458         requestor in gtk_selection_request.
4459         
4460         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
4461         Added gdk_selection_property atom.
4462
4463         * gdk/linux-fb/gdkprivate-fb.h:
4464         Export _gdk_selection_window_destroyed.
4465         Removed mask_off_x/y from GdkCursorPrivateFB.
4466         Removed hbearing, added top, left to PangoFBGlyphInfo.
4467
4468         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4469         Call _gdk_selection_window_destroyed
4470         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
4471         the root window has been created.
4472         (static_dx_hack, static_dy_hack, compare_draw_rects,
4473         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
4474         in region. They are already sorted. Instead just traverse them in
4475         reverse if draw_direction < 0.
4476         
4477         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4478         Double-clicks must be sent after the normal button_press.
4479         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
4480         
4481         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
4482         Pass _gdk_fb_screen_gc instead of NULL.
4483
4484         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
4485         Initialize gdk_selection_property.
4486         (gdk_event_make): Remove unused code.
4487
4488         * gdk/linux-fb/gdkcursor-fb.c:
4489         Make the pixmap for the cursor the same size as the mask. Also remove
4490         the mask_off_x/y fields in GdkCursorPrivateFB and combine
4491         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
4492         Now the whole cursor is visible.
4493
4494         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4495         Fix bug where xdest+height instead of ydest+height was used
4496         to calculate if the source and dest overlapped. This fixes the
4497         redraw bug when the main window in testgtk was scrolled when
4498         partially covered by a tall window.
4499         Copy rectangles in region in order depending on draw_direction.
4500         Also moved the draw_direction flipping of start_y and end_y into
4501         the gc functions, as this might not be what all of them want.
4502         (gdk_fb_draw_lines): Support dashed lines.
4503         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
4504         so that the text is positioned correctly (was 1 pixel high).
4505
4506         gdk/linux-fb/gdkgc-fb.c:
4507         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
4508         all lines were drawn a pixel to short. Also checked the default of
4509         the rest of the values, and they're the same as X now.
4510
4511         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
4512         Clean up pixel positioning of the glyphs. Just use bgy->top and
4513         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
4514         to all divisions to get correct rounding behaviour.
4515
4516         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
4517         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
4518         Moved start_y/end_y flip into draw_drawable implementations.
4519         Flip also x rendering when draw_direction < 0.
4520         Remove unneccesary multiply with draw_direction.
4521
4522 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
4523
4524         * docs/tutorial/gtk-tut.sgml:
4525           - get rid of gtk_toggle_button_toggled FUD
4526           - start DND section - needs work - based on:
4527                 http://wolfpack.twu.net/docs/gtkdnd/
4528
4529 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4530
4531         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4532         Correct calculation of font metrics. Now GtkEntrys have sane
4533         size.
4534
4535 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4536
4537         * gdk/gdktypes.h:
4538         Add new type GdkSpan
4539         
4540         * docs/reference/gdk/gdk-sections.txt,
4541         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
4542         gdk/gdkregion.h:
4543         Implement and document gdk_region_spans_intersect_foreach.
4544
4545         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
4546         Add new file gdkrender-fb.c which contains all core
4547         rendering code.
4548         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
4549         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
4550         (optimized rectangle fillers).
4551
4552         * gdk/linux-fb/gdkdrawable-fb2.c:
4553         Move all rendering code to gdkrender-fb.c.
4554         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
4555         Use the new span intersection functions in gdk_fb_fill_spans.
4556         gdk_fb_draw_rectangle() clips filled rectangles and calls
4557         gc->fill_rectangle with the result.
4558         gdk_fb_fill_spans() gets extra argument "sorted".
4559
4560         * gdk/linux-fb/gdkevents-fb.c:
4561         Remove unused includes and defines.
4562         New function gdk_fb_get_time() to get correct time for events.
4563
4564         * gdk/linux-fb/gdkinput-ps2.c:
4565         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
4566         Make sure to set the time of all events.
4567
4568         * gdk/linux-fb/gdkmain-fb.c:
4569         Use gdk_fb_get_time ().
4570
4571         * gdk/linux-fb/gdkprivate-fb.h:
4572         New virtual GC calls: fill_span & fill_rectangle.
4573         Export gdk_fb_get_time().
4574         gdk_fb_fill_spans() gets extra argument "sorted".
4575
4576         * gdk/linux-fb/mi*.c:
4577         Use GdkSpan instead of GdkRectangle.
4578         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
4579         from XFree 4 source)
4580         
4581 2000-11-22    <jrb@redhat.com>
4582
4583         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
4584         reversing the order in an if statement will do.  Doing so managed
4585         to make the treemodelsort half work.  Other half will follow after
4586         I get the insert function fully fixed.
4587
4588 2000-11-21  Elliot Lee  <sopwith@redhat.com>
4589         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
4590         more than 2 bits. Besides, I need to implement an evil hack. :)
4591
4592 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
4593
4594         * docs/tutorial/gtk-tut.sgml: minor corrections
4595
4596 2000-11-20  Jonathan Blandford <jrb@redhat.com>
4597         * gtk/gtktreemodelsort.h: Add convertion functions to let you
4598           convert to and from relative path's and iters.
4599
4600         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
4601           testing sorting functions a bit better.  Currently broken -- will
4602           fix in morning.
4603
4604 2000-11-20  Havoc Pennington  <hp@redhat.com>
4605
4606         * gtk/gtkwidget.c: Documented a bunch of functions in here
4607         (gtk_widget_realize): Warn if you try to realize
4608         a widget with no parent that isn't a toplevel
4609         (gtk_widget_intersect): return a gboolean
4610
4611 2000-11-20  Havoc Pennington  <hp@redhat.com>
4612
4613         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
4614         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
4615         scrolling to be implemented in GDK to finish. Also, right now
4616         we just size_allocate all children on every layout change,
4617         which is pretty lame. Test commented out of testtext.c, 
4618         until it works better.
4619
4620 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
4621
4622         * gdk/linux-fb/gdkdrawable-fb2.c:
4623         Removed unused arguments from gdk_fb_drawable_get_pixel().
4624
4625         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
4626         Renamed fidur specific mouse packet data in MouseDevice to
4627         generic. Used it in ps2 mouse handling code to avoid blocking
4628         reads.
4629
4630 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
4631
4632         * demos/gtk-demo/main.c: Changed to have the list become
4633         non-italic when the demo window is destroyed through an external
4634         event (like a close button).  Doing so found three bugs in the
4635         widget.
4636
4637         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
4638
4639         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
4640         we actually set the cell.
4641
4642         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
4643
4644         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
4645         free a leaked path.  Thanks memprof.
4646
4647 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
4648
4649         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
4650         off-by-one error when destroying allocated segments
4651         on failure. (Elliot)
4652
4653 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
4654
4655         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
4656         memleaks found by Evan Martin.
4657
4658 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
4659
4660         * Released 1.3.2
4661         
4662         * NEWS: Updates for 1.3.2
4663
4664 2000-11-17  Tor Lillqvist  <tml@iki.fi>
4665
4666         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
4667         but in general for window system specific events.
4668
4669         * gtk/gtk.def
4670         * gtk/makefile.mingw.in
4671         * gtk/makefile.msc.in: Update.
4672         
4673         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
4674
4675 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
4676
4677         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
4678         distribute gtk.immodules.
4679
4680         * gtk/Makefile.am (install-data-local): Don't install the
4681         gtk.immodules file created for the uninstalled modules;
4682         instead run gtk-query-immodules after install
4683
4684 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
4685
4686         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
4687         -rpath to the right install location.
4688
4689         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
4690         -export-dynamic.
4691
4692         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
4693         properly.
4694
4695 2000-11-15  Havoc Pennington  <hp@pobox.com>
4696
4697         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
4698         patch from Mikael Hermansson to temporarily stop blinking while
4699         the user is using the keyboard to type or navigate. 
4700
4701         Also, when blinking, stay on for longer than we stay off. Also,
4702         return from start_cursor_blink if !cursor_visible, to save
4703         checking that flag all over the place before we call
4704         start_cursor_blink.
4705
4706 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
4707
4708         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
4709         only contain a "fontset" line, which is now ignored.
4710
4711         * gtk/gtkentry.c (gtk_entry_button_release): Make 
4712         double-click-to-select-word work.
4713         
4714 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
4715
4716         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
4717         Don't move back one char when we are actually at the end of the 
4718         paragraph.
4719
4720 2000-11-15  Robert Brady  <robert@suse.co.uk>
4721
4722         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
4723         'o' < 'p'.
4724         
4725         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
4726         bind_textdomain_codeset.
4727
4728         (gtk_init_check): Make the warning about translating default:LTR
4729         sterner.
4730         
4731 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
4732
4733         * **/Makefile.am : remove unecessary rules for win32-specific
4734         config-substituted targets. If you want these rules, use
4735         --enable-maintainer-mode (called automatically by autogen.sh).
4736         Stops a lot of unneccessary make-time warnings.
4737
4738         * gtk/gtktext{layout,display}.c: Factor in total width as
4739         well as screen when figuring alignment for word-wrap as well as
4740         no wrap; this is necessary to handle lines that cannot be wrapped
4741         at all.
4742
4743 2000-11-15  Havoc Pennington  <hp@redhat.com>
4744
4745         * gtk/testtext.c: Implement essential color cycling feature
4746
4747 2000-11-15  Havoc Pennington  <hp@redhat.com>
4748
4749         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
4750         when we invalidate the main window.
4751
4752         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
4753         GtkTextView will now invalidate the side windows for us when text
4754         changes.
4755
4756 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
4757
4758         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
4759         unconditionally, since we may need to update the horizontal
4760         scrollbars even if the height didn't change.
4761
4762         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
4763         the extra attrs, since some of them affect size.
4764
4765         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
4766         x_offset correctly.
4767
4768 2000-11-15  Havoc Pennington  <hp@redhat.com>
4769
4770         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
4771         don't move the first line out into the margin, instead move the
4772         whole paragraph in order to make space for the first line within 
4773         the margin
4774
4775 2000-11-15  Havoc Pennington  <hp@redhat.com>
4776
4777         * gtk/gtktextview.c (changed_handler): offset redraw rect by
4778         xoffset in addition to yoffset, so horizontal scrolling doesn't
4779         break redraws
4780
4781 2000-11-15  Havoc Pennington  <hp@redhat.com>
4782
4783         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
4784         from the cursor
4785         (render_layout_line): fix reversed test that caused weird
4786         underlines to get drawn
4787
4788 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4789
4790         * gdk/linux-fb/gdkprivate-fb.h:
4791         Fix debug macros.
4792         
4793 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4794
4795         * gdk/linux-fb/gdkprivate-fb.h:
4796         Added virtual functions set_pixel, get_color,
4797         fill_span and draw_drawable to the GC.
4798         Added global _gdk_fb_screen_gc to use instead of
4799         NULL when drawing to the screen.
4800         Added _gdk_fb_gc_calc_state() prototype.
4801
4802         * gdk/linux-fb/gdkgc-fb.c:
4803         Call _gdk_fb_gc_calc_state() on any gc state change.
4804
4805         * gdk/linux-fb/gdkglobals-fb.c:
4806         Add _gdk_fb_screen_gc
4807                 
4808         * gdk/linux-fb/gdkdrawable-fb2.c:
4809         _gdk_fb_gc_calc_state() calculates best functions
4810         for the GC state and depth.
4811         Moved bpp specialized code to separate functions.
4812         Added optimized 24 bpp AA draw_drawable.
4813
4814         * gdk/linux-fb/gdkevents-fb.c:
4815         Silence gcc warning.
4816
4817         * gdk/linux-fb/gdkimage-fb.c:
4818         Use _gdk_fb_screen_gc
4819
4820         * gdk/linux-fb/gdkwindow-fb.c:
4821         Init and use _gdk_fb_screen_gc
4822
4823         * gdk/linux-fb/mitypes.h:
4824         Remove unused types.
4825
4826 2000-11-14  Havoc Pennington  <hp@pobox.com>
4827
4828         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
4829         to pixels
4830
4831 2000-11-14  Havoc Pennington  <hp@pobox.com>
4832
4833         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
4834
4835         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
4836         unknown char, no real reason we were using a variable. 
4837         Remove gtk_text_unknown_char variable. Fix all the text widget
4838         files accordingly.
4839
4840         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
4841         since the Unicode spec seems to prefer that character for our
4842         purposes.
4843
4844 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
4845
4846         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
4847         value of g_getenv() isn't freeable, so g_strdup it.
4848
4849         * modules/input/inuktitut.c: Inuktitut input method.
4850
4851         * modules/input/Makefile.am: Build this.
4852         
4853 2000-11-14  Elliot Lee  <sopwith@redhat.com>
4854
4855         * gtk/Makefile.am: Install gtk.immodules, needed for operation
4856         of gtk programs.
4857
4858 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
4859
4860         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
4861         reversed > that was causing Home to go to end of previous line.
4862
4863         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
4864         modified-keypresses (leave for bindings.)
4865
4866         * modules/input/Makefile.am: Remove useless -export-dynamic
4867         from module LDFLAGS.
4868
4869 2000-11-14  Havoc Pennington  <hp@redhat.com>
4870
4871         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
4872         higher.
4873
4874         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
4875         account. Also, render rise, underline, background, etc. for
4876         pixbufs as well as text. Also, draw underlines one pixel higher.
4877
4878         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
4879         PangoAttribute for the rise, so it gets drawn properly. Also,
4880         add the GtkTextAppearance attribute for pixbuf/widget segments
4881         as well; we should go ahead and have rise, underline, background,
4882         stipple work for those
4883
4884         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
4885         Pango
4886
4887 2000-11-15  Tor Lillqvist  <tml@iki.fi>
4888
4889         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
4890
4891         * gtk/gtk.def: Update.
4892
4893         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
4894         included.
4895         (gtk_rc_get_im_module_file): Use run-time installation directory
4896         on Win32.
4897
4898         * gdk/win32/rc/gdk.rc: Remove.
4899         * gdk/win32/rc/gdk.rc.in: New file.
4900         * gdk/win32/rc/Makefile.am: New file
4901         * gdk/win32/Makefile.am: Corresponding changes.
4902
4903         * gtk/gtk.rc: Remove.
4904         * gtk/gtk-win32.rc.in: New file.
4905         * gtk/Makefile.am: Corresponding changes.
4906
4907         * configure.in: Corresponding changes.
4908
4909         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
4910         has a built gtkcompat.h. Developers using CVS code on Win32 can
4911         hand-edit it from gtkcompat.h.in.
4912
4913         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
4914         gtkcompat.h from gtkcompat.h.win32.
4915
4916 2000-11-14  Havoc Pennington  <hp@redhat.com>
4917
4918         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
4919         to default to GDK_ACTION_MOVE if the drag is within a single
4920         widget. Defaults to GDK_ACTION_COPY between widgets.
4921
4922 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
4923
4924         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
4925
4926         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
4927
4928         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
4929         srcdir != builddir
4930
4931         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
4932
4933         * configure.in (GTK_VERSION): Up to 1.3.2
4934
4935         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
4936         gtkimcontextxim.h
4937
4938         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
4939         missing doc comment.
4940
4941 2000-11-14  Alexander Larsson  <alexl@redhat.com>
4942
4943         * modules/linux-fb/basic.c:
4944         Use the glib iconv wrappers.
4945
4946 2000-11-13  Havoc Pennington  <hp@pobox.com>
4947
4948         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
4949         still more bugs.
4950
4951         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
4952         scroll the GdkWindows before realization.
4953
4954 2000-11-13  Havoc Pennington  <hp@redhat.com>
4955
4956         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
4957         where GC didn't always get updated properly
4958
4959         * demos/gtk-demo/textview.c (create_tags): Use subattributes
4960         of fonts instead of setting the entire font
4961
4962         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
4963         setting entire font
4964
4965         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
4966
4967         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
4968         a bunch of individually-settable font attributes. You can still 
4969         use the "font" and "font_desc" args, they just set all the font
4970         attributes at once.
4971
4972 2000-11-13 Elliot Lee <sopwith@redhat.com>
4973
4974         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
4975
4976 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
4977
4978         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
4979         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
4980
4981         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
4982         work better.
4983
4984 2000-11-13  Havoc Pennington  <hp@redhat.com>
4985
4986         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
4987         the module file.
4988
4989         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
4990         dest->language
4991
4992         * gtk/testtext.c: Test pixels above/below/inside paragraphs
4993         settings
4994
4995         * gtk/gtktextview.c: Implement object args and setters/getters for
4996         all the aspects of the GtkTextAttributes that are not set from
4997         GtkWidget attributes. This is spacing, justification, margins,
4998         etc.
4999
5000         (gtk_text_view_set_arg)
5001         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
5002         args
5003         (gtk_text_view_class_init): Add args for justify, left_margin,
5004         right_margin, indent, and tabs
5005         
5006
5007         * gtk/gtktextlayout.c (set_para_values): fix to display indent
5008         attribute properly
5009
5010         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
5011         replace with indent attribute
5012
5013         * gtk/gtktextlayout.c (set_para_values): multiply indent by
5014         PANGO_SCALE
5015
5016         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
5017         rearranging code to do that
5018         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
5019         i.e. don't subtract the top_margin first, just to keep
5020         all margin-futzing in one place.
5021
5022         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
5023
5024         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
5025         special case of last line, Pango now handles this itself.
5026         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
5027         Y coordinate
5028         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
5029         (find_display_line_above): wasn't moving the byte index as it
5030         iterated over lines, so always returned byte 0. Also, port to use
5031         PangoLayoutIter.
5032         (find_display_line_below): same problem as
5033         find_display_line_above. Also, port to use PangoLayoutIter.
5034
5035 2000-11-13  Alexander Larsson  <alexl@redhat.com>
5036
5037         * gdk/linux-fb/*.[ch]:
5038         Massive reindent to gtk+ standard. My hands hurt.
5039
5040         * gdk/linux-fb/gdkcolor-fb.c:
5041         Move GdkColorPrivateFB from inherited to windowing_data
5042
5043         * gdk/linux-fb/gdkcursor-fb.c:
5044         _gdk_cursor_new_from_pixmap made static
5045
5046         * gdk/linux-fb/gdkdnd-fb.c:
5047         GdkDragContextPrivate moved to windowing_data
5048
5049         * gdk/linux-fb/gdkdrawable-fb2.c:
5050         Removed endian.h, use glib endianness macros instead
5051         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
5052         and GDK_DRAWABLE_IMPL_FBDATA
5053
5054         * gdk/linux-fb/gdkfont-fb.c:
5055         Add empty gdk_font_load(). Needed for linking of Gtk+.
5056
5057         * gdk/linux-fb/gdkimage-fb.c:
5058         Removed endian.h, use glib endianness macros instead
5059         Moved GdkImagePrivateFB to windowing_data
5060         gdk_image_new_bitmap didn't always allocate enough
5061         memory.
5062
5063         * gdk/linux-fb/gdkinput-ps2.c:
5064         Added semi-working support for MS serial mice.
5065
5066         * gdk/linux-fb/gdkprivate-fb.h:
5067         s/GdkWindowPrivate/GdkWindowObject/
5068         Removed GdkWindowPrivate typedef
5069         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
5070         Removed GDK_DRAWABLE_P
5071         Move GdkColorPrivateFB from inherited to windowing_data
5072         Moved GdkImagePrivateFB to windowing_data
5073
5074         * gdk/linux-fb/gdkvisual-fb.c:
5075         Removed some unused debug code.
5076
5077         * gdk/linux-fb/gdkwindow-fb.c:
5078         Use stock cursors instead of including X headers.
5079         s/GdkWindowPrivate/GdkWindowObject/
5080
5081         * gdk/linux-fb/mitypes.h:
5082         Removed unused types.
5083
5084         * modules/linux-fb/basic.c:
5085         Use the pango fribidi wrappers.
5086
5087 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5088
5089         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
5090         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
5091         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
5092         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
5093         GEqualFunc where applicable.
5094         
5095         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
5096         pango_font_description_equal as changed in pango.
5097         
5098         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
5099
5100         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
5101
5102         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
5103
5104         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
5105
5106         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
5107
5108         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
5109
5110         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
5111         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
5112
5113         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
5114         gtk_rc_styles_compare -> gtk_rc_styles_equal.
5115
5116 2000-11-12  Havoc Pennington  <hp@pobox.com>
5117
5118         * demos/gtk-demo/Makefile.am (democodedir): change demo install
5119         dir to datadir/gtk+-2.0/demo
5120
5121         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
5122         sorts of text widget and Pango font bugs. Urgh.
5123
5124         * demos/gtk-demo/Makefile.am (demos): Add textview.c
5125
5126         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
5127         tree that you should double click to see the demo. Fix 
5128         types of variables to reflect changed return values from 
5129         GtkTreeStore and GtkTreeViewColumn constructors.
5130
5131         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
5132         newly-created buffer to prepare for GObject semantics
5133
5134         * gtk/testtext.c: don't leak the buffer with GObject semantics
5135
5136         * gtk/testtextbuffer.c: ditto
5137         
5138 2000-11-12  Havoc Pennington  <hp@pobox.com>
5139
5140         Rename this testgtk to gtk-demo to avoid confusion, and 
5141         install it so people can use it as a supplement to 
5142         the documentation.
5143         
5144         * demos/gtk-demo: Moved from demos/testgtk
5145
5146         * demos/testgtk: Removed
5147
5148         * configure.in: make Makefile in gtk-demo
5149         
5150         * demos/gtk-demo/Makefile.am: Install sample source to 
5151         datadir/gtk-demo (maybe there's a better place?), and 
5152         rename the binary to gtk-demo
5153         
5154         * demos/gtk-demo/main.c (load_file): Load installed sample
5155         source if source isn't found in pwd.
5156
5157 2000-11-09  Havoc Pennington  <hp@pobox.com>
5158
5159         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
5160         argument to set the char displayed when visibility == FALSE
5161         (gtk_entry_create_layout): If !entry->visible, replace 
5162         all chars with the "invisible char"
5163
5164         * gtk/testgtk.c: Test the invisible_char deal
5165         
5166 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
5167
5168         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
5169         can't get a native font in the right encoding.
5170
5171 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
5172
5173         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
5174         respectively.
5175
5176 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
5177
5178         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
5179         Fix warning when moving between paragraphs.
5180
5181         * gtk/gtkentry.[ch]: Change move => move_cursor, 
5182         delete => delete_from_cursor, insert => insert_at_cursor
5183
5184 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
5185
5186         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
5187
5188         * modules/input/imthai-broken.c: A Thai input method for use if
5189         Thai keys are really generating Latin1 keysyms.
5190
5191         * modules/input/Makefile.am: Build these.
5192
5193 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
5194
5195         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
5196         g_filename_{to,from}_utf8 now takes an extra parameter.
5197
5198         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
5199         strftime into UTF-8.
5200
5201         (column_from_x, gtk_calendar_paint_day_names): Support RTL
5202         calendars.
5203
5204         (gtk_calendar_paint_day_names): Draw day names in the right 
5205         place.
5206         
5207 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
5208
5209         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
5210         problem with using result of g_get_charset() backwards -
5211         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
5212
5213         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
5214         negative min_width/height and max_width/height to
5215         mean "requisition"; this allows setting a window
5216         to be user-resizable in only one direction easily.
5217
5218         * gtk/testgtk.c (create_main_window): Remove hard-coded
5219         usize - set a default size in the vertical direction.
5220
5221 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
5222
5223         * gtk/gtkrange.c: Add some missing casts. Support 
5224         2 and 3 button clicks on the arrows to mean 
5225         "move by pages" and "jump to end". (Like gtkspinbutton)
5226
5227 2000-11-12 Hans Breuer <Hans@Breuer.Org>
5228
5229         * gdk/win32/makefile.msc : reflect build module changes
5230
5231         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
5232         from GdkPixmap*, cast implementation member instead.
5233
5234         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
5235         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
5236         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
5237         more Gdi functions return value checking. 
5238         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
5239         GdkImagePrivateWin32 *.
5240
5241         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
5242         menus useable again. Add #pragma message to keep reminded on this issue.
5243         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
5244         windows. This allows to enable backing store on Win32!
5245
5246         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
5247         in drawable is of impl type. Correct specific type checks appropriate.
5248  
5249         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
5250         GDK_WINDOW_DESTROYED before allocating new resources.
5251
5252         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
5253
5254         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
5255         (gdk_window_foreign_new) initialize parent handle.
5256         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
5257
5258         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
5259         Let the GDI invalidate the window on MoveWindow call to fix scrolling
5260         problems (e.g. main buttons in testgtk). 
5261
5262 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
5263
5264         * gtk/gtkentry.c (gtk_entry_key_press): Call 
5265         gtk_widget_activate for GDK_Return.
5266
5267         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
5268         of preedit cursor position.
5269
5270 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
5271
5272         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
5273         static.
5274
5275 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
5276
5277         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
5278         out support for multiple locales; that simple doesn't
5279         work reliably with current Xlib
5280
5281         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
5282         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
5283         Add support for positioning the cursor within the preedit string.
5284
5285 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
5286
5287         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
5288         at XIM input method module.
5289
5290         * gtk/gtktextview.c: Check for bindings after passing
5291         events to im context filter.
5292
5293 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
5294
5295         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
5296         empty attribute lists properly.
5297
5298 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
5299
5300         * gtk/queryimmodules.c (main): Return non-zero exit
5301         status if errors were encountered querying any
5302         modules.
5303
5304         * modules/input/Makefile.am (moduledir): remove
5305         leftover bin program target.
5306
5307         * docs/make-todo: Fix typo in error message.
5308
5309 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
5310
5311         * configure.in: Add modules/input/Makefile
5312
5313 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
5314
5315         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
5316         don't include gtkthemes.h.
5317
5318         * gtk/testgtk.c gtk/testtext.c: Set environment variables
5319         to point
5320
5321         * gtk/Makefile.am: Add new .c and .h files, build 
5322         gtk-query-immodules and use it to create a gtk.immodules
5323         file for use of test programs.
5324
5325         * gtk/gtkpreview.c: remove extra blank line.
5326
5327 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
5328
5329         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
5330         Add the ability to add extra tables beyond the default
5331         one, and also the ability to have compose sequences 
5332         that are prefixes of other compose sequences. 
5333
5334         * gtk/gtkimcontextsimple.c: Export a preedit string which
5335         consists of possible candidates for keystrokes that have
5336         been entered but not yet committed.
5337
5338         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
5339         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
5340
5341         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
5342         Add a function to add input-method switching menu items
5343         to a menu.
5344
5345         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
5346         when switching input methods.
5347
5348         * gtk/gtkimcontextsimple.[ch]: Change the format of
5349         the compose table to allow compose tables of different
5350         lengths / sequence.
5351
5352 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
5353
5354         * gtk/gtkimmodule.[ch]: Support routines for loading
5355         GtkIMContext implementations dynamically at runtime.
5356
5357         * modules/input/imcyrillic-translit.c: A sample input
5358         method (based on GtkIMContextSimple with an extra table),
5359         which demonstrates preedit strings and the module
5360         system for input modules
5361
5362         * gtk/queryimmodules.c: Program to query the available
5363         input modules and write the results into a file.
5364          
5365         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
5366         extra config options "im_module_file" (cache file for
5367         input method modules), and "im_module_path" - path
5368         to look for modules when generating cache file.
5369
5370         This doesn't scale.
5371
5372 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
5373
5374         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
5375         generic code from gtkthemes into a new abstraction
5376         GtkModule which has the logic for implementing
5377         a loadable module which implements a number of 
5378         GObject types.
5379
5380 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
5381
5382         * gtk/gtkeditable.[ch]: Convert GtkEditable from
5383         a class into an interface  
5384         
5385         * gtk/gtkoldeditable.[ch]: Move the old editable
5386         implementation into here, so legacy widgets can
5387         still rely on the implemenation. GtkOldEditable
5388         exports GtkEditable. Make selection handling
5389         code use new text conversion functions (and
5390         handle UTF-8 as a side-effect). Use GtkClipboard
5391         for CLIPBOARD.
5392
5393         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
5394         Adopt to match above changes.
5395
5396         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
5397         avoid GtkOldEditable implementation. Restructure
5398         to reduce number of places that modify state directly.
5399         Move to GtkBindingSet. Display the preedit string.
5400         Queue recomputation of PangoLayout and scroll position
5401         to improve effiency of doing complex changes naively.
5402         Add a menu with cut/copy/paste and input method selection.
5403
5404 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
5405
5406         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
5407         to set preedit string and attributes; display preedit string by
5408         inserting string and attributes at cursor when creating the
5409         GtkTextLineDisplay.
5410
5411         * gtk/gtktextlayout.c: Move all conversions between byte
5412         positions in PangoLayout and GtkTextIter into new functions
5413         line_display_iter_to_index/index_to_iter that properly
5414         handle the preedit string.
5415
5416         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
5417         it to return const char * (eventually will end up
5418         as GCONST char *, most likely.)
5419
5420         * gtk/gtktextview.[ch]: Handle the preedit string, call
5421         gtk_im_context_reset() as necessary, add a menu to switch
5422         input methods.
5423         
5424         * gtk/gtktextlayout.[ch]: Remove useless
5425         gtk_text_layout_get_log_attrs() function.
5426
5427 2000-11-11  Tor Lillqvist  <tml@iki.fi>
5428
5429         * gdk/gdk.def
5430         * gtk/gtk.def: Update.
5431
5432         * gdk/win32/*.c: Add last argument to g_type_register_static()
5433         calls.
5434
5435         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
5436
5437         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
5438         generated by older wheel mouse drivers. Get the correct y
5439         coordinate from WM_MOUSEWHEEL messages.
5440
5441         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
5442         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
5443         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
5444         Debugging functions.
5445
5446         * gdk/win32/gdkprivate-win32.h: Declare them.
5447
5448         * gdk/win32/gdkinput-win32.h: Add declaration for
5449         gdk_input_window_destroy().
5450
5451         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
5452
5453 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
5454
5455         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
5456         function to help handle keeping things in sync.
5457
5458 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
5459
5460         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
5461         BOXED marshallers.
5462
5463         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
5464         (gtk_list_store_class_init): use the new BOXED marshallers.
5465
5466         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
5467         new_with_values to new_with_types.
5468         (gtk_tree_store_get_column_type): add this.
5469         (gtk_tree_store_class_init): use the new BOXED marshallers.
5470
5471         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
5472         mirror some POINTER marshallers.
5473
5474 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
5475
5476         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
5477         allow more interesting iterators.  Also, made the lifecycle of
5478         iterators more explicit.
5479
5480         * gtk/gtktreemodelsort.[ch]: New model for sorting.
5481
5482         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
5483         types.
5484
5485 2000-11-09  Alexander Larsson  <alexl@redhat.com>
5486
5487         * demos/testgtk/menus.c:
5488         Changes to make the new testgtk compile after
5489         gtk_menu_append was removed.
5490
5491         * gdk/linux-fb/gdkdrawable-fb2.c
5492         (gdk_fb_get_depth, gdk_fb_get_visual,
5493         gdk_drawable_impl_fb_class_init): Implement
5494         these drawable functions. Now GtkImages work again.
5495
5496         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
5497
5498         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
5499         
5500         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
5501         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
5502         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
5503         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
5504
5505 2000-11-08  Havoc Pennington  <hp@pobox.com>
5506
5507         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
5508         visible_set args, don't know where these had gone, I thought they
5509         used to be there
5510
5511         * gtk/testtext.c: Add a menu item to apply invisibility tag;
5512         now we can test the feature and see that it's totally broken.
5513
5514 2000-11-08  Havoc Pennington  <hp@pobox.com>
5515
5516         Make DND copy pixbufs and tags when source and target share a 
5517         tag table.
5518         
5519         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
5520         in-process GTK_TEXT_BUFFER_CONTENTS target
5521         (gtk_text_view_drag_data_received): Paste from
5522         GTK_TEXT_BUFFER_CONTENTS if we receive it.
5523
5524 2000-11-08  Alexander Larsson  <alexl@redhat.com>
5525
5526         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
5527         API changes.
5528
5529         * gtk/gtkmenu.c: Add support for scrolling menus.
5530         Remove gtk_menu_append/prepend/insert, these have been moved to
5531         gtkcompat.h as #defines.
5532
5533         * gtk/gtkcompat.h.in:
5534         Add compatibility #defines for gtk_menu_append/prepend/insert
5535
5536         * gtk/gtkmenu.h: Add data needed for scrolling menus.
5537         GtkMenuPositionFunc gets an extra argument push_in.
5538         gtk_menu_append/prepend/insert removed.
5539         
5540         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
5541         positioning behaviour to fit to scrolling menus.
5542
5543         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
5544         into menuitem->submeny. That is wrong, and broke torn
5545         off submenus of torn off menus, since they were unrealized
5546         when the first menu was unrealized.
5547
5548         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
5549         gtk_menu_shell_select_item() since these need to be overridden in
5550         GtkMenu.
5551
5552         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
5553         positioning behaviour to fit to scrolling menus.
5554         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
5555         the current item so that it is prelighted when the menu pops up.
5556         This is a workaround to the fact that the menu doesn't get the
5557         initial enter event (due to grabs).
5558
5559         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
5560         s/gtk_menu_append/gtk_menu_shell_append/
5561
5562         * gtk/gtknotebook.c:
5563         s/gtk_menu_insert/gtk_menu_shell_insert/
5564
5565         * gtk/testgtk.c (create_menu, create_menus):
5566         Create the first menu with 50 items so that menu scrolling
5567         can be tested.
5568         
5569         
5570         Patch from Jonathan Blandford  <jrb@redhat.com>
5571
5572         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
5573         system to handle size requests.  First, we ask what the size of
5574         the toggle is.  Then, when allocating the size, we allocate the
5575         toggle_size first.  This way we can have multiple menu-item
5576         classes w/o needing a seperate class for each.
5577
5578         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
5579         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
5580
5581         * gtk/gtkcheckmenuitem.c
5582         (gtk_check_menu_item_toggle_size_request): New function to handle
5583         the toggle size-request.
5584
5585 2000-11-07  Havoc Pennington  <hp@redhat.com>
5586
5587         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
5588         Half-ass somewhat fix this function, so that scrolling to the
5589         insertion point works. Pango hacking is in the future to really
5590         fix it.
5591
5592         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
5593         length of data, no longer used.
5594
5595         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
5596         method contents in here, get rid of destroy method
5597         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
5598         that were backward. Remove debug spew.
5599         (cut_or_copy): Make the clipboard work with insert_range to
5600         preserve tags and pixbufs, not just the primary selection.
5601
5602 2000-11-07  Havoc Pennington  <hp@redhat.com>
5603
5604         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
5605         to gtk_text_mark_get_visible
5606
5607         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
5608         bug that was generating an invalid iterator
5609
5610         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
5611         ensure_char_offsets() in front of code placing the iter in an
5612         invalid state.
5613
5614         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
5615         make override_location arg const
5616         (paste): Replace the selection if we paste into the 
5617         current selection
5618
5619         * gtk/gtkselection.h: Remove "GtkSelectioData"
5620         (struct _GtkSelectionData): move the definition here.
5621
5622         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
5623         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
5624
5625         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
5626
5627         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
5628         (gtk_text_buffer_insert_range_interactive): implement
5629         (gtk_text_buffer_get_tags): Remove, replaced by
5630         gtk_text_iter_get_tags()
5631
5632         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
5633         limit parameter, to avoid infinite linear scan.
5634         (gtk_text_iter_backward_search): Add search limit
5635         (gtk_text_iter_forward_find_char): Add search limit
5636         (gtk_text_iter_backward_find_char): Add search limit
5637
5638 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
5639
5640         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5641         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
5642         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
5643         gdk/linux-fb/gdkwindow-fb.c:
5644         use g_object_new() instead of g_type_create_instance() which
5645         is a private function for fundamental type implementations.
5646
5647         * gdk/linux-fb/gdkinput-ps2.c:
5648         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
5649         instead just store the current modifier state. Add a (somewhat broken)
5650         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
5651         Rename exported function gdk_input_ps2_get_mouseinfo to
5652         gdk_input_get_mouseinfo.
5653
5654         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
5655         gdk/linux-fb/gdkwindow-fb.c:
5656         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
5657         
5658
5659 2000-11-02  Havoc Pennington  <hp@redhat.com>
5660
5661         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
5662         use stock buttons. Should be 100% source compatible, appropriate
5663         filesel fields now point to dialog->vbox and dialog->action_area.
5664         On the bizarre side, dialog->action_area and filesel->action_area
5665         are not the same widget.
5666         (gtk_file_selection_init): Put some padding around the selection
5667         entry, so it isn't touching the GtkDialog separator.    
5668
5669         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
5670         use stock buttons, etc. Should also be source compatible.
5671         Set the dialog default title in _init not _new().
5672         
5673         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
5674         Use stock buttons; don't put a button box inside the existing
5675         dialog button box. Don't bother with push/pop colormap anymore.
5676
5677         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
5678         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
5679         for message dialog, and necessary for the font selection and color
5680         selection with help and apply buttons.
5681         
5682         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
5683         to the created button widget. Set GTK_CAN_DEFAULT on the button.
5684         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
5685         between buttons, put less padding around the action area.
5686         (gtk_dialog_run): Exit on unmap rather than on destroy. 
5687         This will also exit the loop if the widget is hidden.
5688         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
5689         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
5690         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
5691         special-case delete event.
5692
5693         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
5694         formatting
5695         
5696 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
5697
5698         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
5699         button to temporarily disable position recording in the
5700         "saved position" test.
5701
5702 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
5703
5704         * gtk/gtkthemes.c: added compat code that temporarily implements
5705         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
5706         going to be revamped by owen's upcoming GtkModule patches, but
5707         untill then people want gtk to build, right? ;)
5708
5709 2000-11-04  Havoc Pennington  <hp@pobox.com>
5710
5711         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
5712         list
5713
5714         * docs/Changes-2.0.txt: Add note about
5715         gtk_container_get_toplevels()
5716
5717         * gtk/gtktextview.h: formatting
5718         
5719         * gtk/gtktextview.c: don't start descriptions with "Returns",
5720         confuses gtk-doc
5721
5722 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
5723
5724         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
5725         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
5726
5727 2000-11-03  Havoc Pennington  <hp@redhat.com>
5728
5729         * gtk/gtktexttagtable.c: Docs
5730         (gtk_text_tag_table_size): return a signed int
5731
5732         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
5733         (gtk_text_tag_event): make the event_object a GObject
5734
5735         * gtk/gtktextview.c: Write API docs for all functions.
5736
5737         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
5738         for gtk_text_view_get_window_type() called on one of the private
5739         windows.
5740
5741         * gtk/gtktextview.c: Instead of accessing text_view->buffer
5742         directly, call get_buffer() which demand-creates a default
5743         buffer. So gtk_text_view_new() can be used to create a view with a
5744         default buffer in it, if you just want an empty text box users can
5745         put data in. Useful for GUI builders also.
5746
5747 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
5748
5749         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
5750         the charset encodign portion MUST be in lowercase.
5751         * gtk/gtkrc.az: added file for Azeri language
5752
5753 2000-11-03  Havoc Pennington  <hp@redhat.com>
5754
5755         Get widgets working on the btree/buffer side. Display of them 
5756         still doesn't work.
5757         
5758         * gtk/gtktextview.c: start implementing child widget stuff
5759
5760         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
5761
5762         * gtk/gtktextlayout.c: handle embedded widgets
5763
5764         * gtk/gtktextdisplay.c: handle embedded widgets
5765
5766         * gtk/gtktextchild.c: Implement all the child anchor goo
5767
5768         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
5769         function
5770
5771         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
5772         (insert_pixbuf_or_widget_segment): abstract out common portions of 
5773         creating a child anchor or a pixbuf segment.
5774         (gtk_text_btree_create_child_anchor): new function
5775         (gtk_text_btree_unregister_child_anchor): new function
5776
5777         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
5778         allocate_child signal on GtkTextLayout
5779
5780         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
5781         values
5782         (gtk_text_iter_get_child_anchor): new function
5783
5784         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
5785         default handler for the changed signal, which calls
5786         gtk_text_buffer_set_modified(), instead of just always emitting
5787         changed then calling set_modified() manually. I guess this is
5788         maybe more flexible. It seems logical.
5789
5790 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
5791
5792         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
5793         now.
5794
5795         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
5796
5797 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
5798
5799         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
5800         been marked static.
5801
5802 2000-11-02  Havoc Pennington  <hp@redhat.com>
5803
5804         * gtk/testgtk.c (create_labels): had a test backward
5805
5806         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
5807         fields, so the dest GC ends up with the correct clip origin, 
5808         etc. Fixes a bug where colored labels didn't redraw 
5809         properly.
5810
5811 2000-11-02  Alexander Larsson  <alexl@redhat.com>
5812
5813         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5814         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
5815         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
5816         Add last argument to t_type_register_static call.
5817         
5818         * gdk/linux-fb/gdkdrawable-fb2.c:
5819         Add last argument to t_type_register_static call.
5820         export the get_image drawable virtual function.
5821
5822         * gdk/linux-fb/gdkimage-fb.c:
5823         Add last argument to t_type_register_static call.
5824         rename gtk_image_get to _gdk_fb_get_image and
5825         export it for use by gdkdrawable-fb2.
5826
5827         * gdk/linux-fb/gdkprivate-fb.h:
5828         export _gdk_fb_get_image.
5829
5830         * gdk/linux-fb/gdkselection-fb.c:
5831         Add new api call stubs.
5832
5833         * gtk/Makefile.am:
5834         Missing ( in linux-fb part.
5835
5836         * modules/linux-fb/Makefile.am:
5837         Must link with gdk_pixbuf or get unresolved symbol.
5838
5839 2000-11-01  Havoc Pennington  <hp@pobox.com>
5840
5841         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
5842         GTK_TYPE_TEXT_ITER and BOXED marshallers
5843
5844         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
5845
5846         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
5847         
5848         * gtk/gtk-boxed.defs: add GtkTextIter
5849
5850         * gtk/gtkmarshal.list: Add marshallers for text widget that 
5851         properly use OBJECT and BOXED
5852
5853 2000-11-01  Havoc Pennington  <hp@redhat.com>
5854
5855         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
5856
5857         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
5858         before returning it. 
5859         
5860 2000-11-01  Havoc Pennington  <hp@redhat.com>
5861
5862         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5863         Clip the rectangle to be rendered to the drawable, since
5864         get_from_drawable() requires a region within the drawable
5865
5866 2000-11-01  Havoc Pennington  <hp@redhat.com>
5867
5868         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
5869         from coordinates.
5870
5871 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
5872
5873         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
5874         it isn't NULL.
5875
5876 2000-11-01  Havoc Pennington  <hp@pobox.com>
5877
5878         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
5879         on a label
5880         (gtk_label_finalize): unref the attr list if any.
5881
5882         * gtk/testgtk.c (create_get_image): close test on second click
5883         (make_message_dialog): close dialog if it exists
5884
5885         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
5886
5887         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
5888         gdk-pixbuf
5889
5890         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
5891         from Pango markup format
5892         (gtk_label_set_markup_with_accel): ditto but with accelerator
5893         parsing
5894
5895         * gtk/gtkimage.c (gtk_image_expose): reformatting.
5896
5897         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
5898         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
5899         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
5900         call gdk_window_get_origin().
5901
5902         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5903         implement GDK_PIXBUF_ALPHA_FULL
5904         
5905 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
5906
5907         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
5908         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
5909         g_signal_handlers_disconnect_matched to block/unblock and disconnect
5910         multiple handlers respectively, instead of only treating the
5911         first handler found (bug reported by owen).
5912
5913 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
5914
5915         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
5916
5917         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
5918
5919         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
5920         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
5921         gtk/gtktreeviewcolumn.h: Fixed inline docs.
5922
5923         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
5924         widget.  Needs writing someday.
5925
5926         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
5927         the docs.
5928
5929 2000-10-30  Havoc Pennington  <hp@redhat.com>
5930
5931         * gtk/gtktextview.h, gtk/gtktextview.c:
5932         Rename delete_at_cursor delete_from_cursor, and 
5933         move to move_cursor.
5934
5935 2000-10-30  Havoc Pennington  <hp@redhat.com>
5936
5937         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
5938         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
5939         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
5940         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
5941         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
5942         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
5943         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
5944         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
5945         gtktexttypes.h, gtktextview.c, gtktextview.h:
5946
5947         Massive reindentation and reformatting. Arg alignment and comments
5948         still need fixing in various places.
5949
5950 2000-10-30  Havoc Pennington  <hp@redhat.com>
5951
5952         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
5953         to be named insert_at_cursor and delete_at_cursor so C++ can
5954         handle them.
5955
5956 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5957
5958         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
5959         to get a double directory separator in case the home directory
5960         ends with one. This would cause trouble especially on Windows,
5961         where the path will be confused with the syntax for an an UNC
5962         (network share) path \\server\share\path.
5963         (gtk_rc_add_initial_default_files): Ditto.
5964
5965 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
5966
5967         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
5968
5969         * gtk/gtktextview.c: Use correct marshallers.
5970
5971 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
5972
5973         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
5974         use new iter stuff, and added all the appropriate signals et al.
5975
5976         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
5977         code is internal to gtk only.
5978
5979 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5980
5981         * gtk/gtk.def
5982         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
5983         glib-genmarshal etc.
5984
5985 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
5986
5987         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
5988         parallel builds.
5989
5990 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
5991
5992         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
5993
5994 2000-10-27  Robert Brady  <robert@suse.co.uk>
5995
5996         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
5997         en_GB (British), ia (Interlingua).
5998
5999 2000-10-26  Havoc Pennington  <hp@redhat.com>
6000
6001         * gtk/gtktextiter.c (my_strrstr): fix constness warning
6002
6003         Fixed output of:
6004         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
6005         
6006         * gtk/gtktextsegment.c (char_segment_new): rename
6007         (_char_segment_new_from_two_strings): rename
6008         (_toggle_segment_new): rename
6009         
6010         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
6011         (make_clipboard_widget): make it static
6012         (text_get_func): static
6013         (text_clear_func): static
6014
6015         * gtk/gtkcolorsel.c (adjustment_changed): make this function
6016         static
6017         (hex_changed): make it static
6018         (hsv_changed): make it static
6019         (opacity_entry_changed): make it static
6020
6021         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
6022         (toggle_segment_check_func): rename with _gtk
6023
6024         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
6025         (_widget_segment_new): rename
6026         (_widget_segment_add): rename
6027         (_widget_segment_remove): rename
6028         (_widget_segment_ref): rename
6029         (_widget_segment_unref): rename
6030
6031         * gtk/gtktextmark.c (_mark_segment_new): Rename
6032         _gtk_mark_segment_new   
6033
6034 2000-10-26  Havoc Pennington  <hp@redhat.com>
6035
6036         * gtk/gtkmarshal.list: add new marshallers used by the text widget
6037         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6038         types
6039
6040         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
6041         marshaller types
6042
6043         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
6044         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
6045         license on these files.
6046
6047         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
6048         work.
6049
6050         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
6051         runtime random number different for each tree, instead of 
6052         a constant I made up.
6053
6054 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
6055
6056         * gtk/Makefile.am: buncha cleanups, kludged build sources
6057         dependencies with a Makefile: oldest-source-stamp dependancy
6058         for the moment. automake is really fighting us here, with
6059         intentionally not allowing user-defined rules or dependancies
6060         prior to it's -include $(DEP_FILES) statement. sucks rocks!
6061
6062         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
6063         to public headers. tehy have a comment stating that they are
6064         "semi-public" aren't included by gtk.h and if enums popup there,
6065         they can be /*< skip >*/-ed.
6066
6067         * gtk/gtktextlayout.h: 
6068         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
6069         added LGPL... <SIGH>
6070
6071 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
6072
6073         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
6074         GtkTreeIter.  Added iterators everywhere.
6075
6076         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
6077
6078         * gtk/gtktreeviewselection.c: Changed to use the iterators.
6079
6080         * gtk/gtktreestore.c: Changed to use the iterators.
6081
6082         * gtk/gtkliststore.c: Commented out the code.  Will convert to
6083         iterators tomorrow.
6084
6085         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
6086         iterators tomorrow.
6087
6088         * gtk/treestoretest.c: Changed to use iterators.
6089
6090         * demos/testgtk/main.c: Moved to use the new iterator system.
6091
6092 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
6093
6094         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
6095         localization misbehaviour.
6096
6097         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
6098         a useless type without copy/free.
6099
6100         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
6101         of GTK_TYPE_CTREE_NODE.
6102
6103 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
6104
6105         * gtk/gtksignal.c:
6106         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
6107         applicable.
6108
6109         * gtk/gtk-boxed.defs (GtkSelectionData): specify
6110         gtk_selection_data_copy and gtk_selection_data_free
6111         do GtkSelectionData work as params in signals.
6112
6113 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
6114
6115         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
6116         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
6117         couldn't they at least give it a non-standard name?
6118         
6119         * gtk/gtktextlayout.c: arg! yet another implementation of
6120         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
6121
6122         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
6123         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
6124         home. now i know this _is_ a conspiracy.
6125
6126         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
6127         ::state-changed.
6128
6129         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
6130         (gtk_accel_group_create_add): marshaller signature fixups.
6131
6132         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
6133         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
6134
6135         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
6136         anymore.
6137
6138 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
6139
6140         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
6141         due to the signal system changes, it wouldn't build currently. to
6142         be fixed soon.
6143
6144         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
6145
6146         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
6147         so it needs gtk_marshal_VOID__ENUM() instead of
6148         gtk_marshal_NONE__UINT().
6149
6150         * gdk/gdk*.c: adapted type registration functions.
6151
6152         * gtk/gtkbindings.c:
6153         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
6154         gone.
6155
6156         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
6157
6158         * gtk/gtkobject.c:
6159         (gtk_object_destroy):
6160         (gtk_object_shutdown): fixed recursion guards. basically we have to
6161         catch the case where any of GObject.shutdown() or gtk_object_destroy()
6162         is called during ::destroy, and avoid recursion there.
6163
6164         * gtk/gtktypeutils.c:
6165         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
6166         boxed_copy/boxed_free. this needs a more general solution based on a
6167         publically installed code-generator utility.
6168
6169         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
6170         glib's gobject has support for that now.
6171         define GtkSignalMarshaller in terms of GSignalCMarshaller.
6172
6173 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
6174
6175         * gtk/gtksignal.[hc]:
6176         * gtk/gtkmarshal.[hc]:
6177         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
6178         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
6179         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
6180         care of that.
6181
6182         * *.c: marshaller name fixups.
6183
6184         * gtk/gtkmarshal.list: added a comment briefing the format.
6185
6186 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
6187
6188         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
6189         compatibility macros here now. more specifically, most of
6190         the API is preserved (yes, _most_, nonwithstanding the
6191         following exceptions listed, the API is stil lHUGE ;)
6192         things that got removed completely:
6193         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
6194         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
6195         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
6196         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
6197         gtk_signal_remove_emission_hook().
6198         non-functional functions variants:
6199         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
6200         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
6201         not supported anymore.
6202         (gtk_signal_compat_matched): new internal function to aid
6203         implementation of the compatibility macros, it  provides
6204         functionality to block/unblock/disconnect handlers based
6205         on func/data.
6206
6207         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
6208
6209         * *.c: adaptions to new type registration API signatures.
6210
6211 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
6212
6213         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
6214
6215 2000-10-25  Robert Brady  <robert@suse.co.uk>
6216
6217         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
6218         gdk_property_delete): If window == NULL, assume the root window.
6219         (restoring the behaviour that was in 1.2).
6220         
6221         * gtk/testtext.c (save_buffer): Allow creation of new files when
6222         saving.
6223
6224         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
6225         calls to read().
6226
6227 2000-10-25  Tor Lillqvist  <tml@iki.fi>
6228
6229         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
6230
6231         * gdk/win32/gdkdrawable-win32.c
6232         * gdk/win32/gdkimage-win32.c
6233         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
6234         X11 backend.
6235
6236         * gdk/win32/gdkcc-win32.c
6237         * gdk/win32/gdkcolor-win32.c
6238         * gdk/win32/gdkfont-win32.c
6239         * gdk/win32/gdkinput-win32.c
6240         * gdk/win32/gdkmain-win32.c
6241         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
6242
6243 2000-10-24  Havoc Pennington  <hp@redhat.com>
6244
6245         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
6246         it a static function
6247
6248         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
6249         redraw text when a tag is applied to it.
6250
6251         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
6252         (gtk_text_tag_affects_nonsize_appearance): private functions to
6253         see if a tag requires various kinds of redraw/layout to be queued
6254         up.
6255
6256         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
6257
6258         * gtk/testtext.c (fill_example_buffer): Put the cursor 
6259         at the start of the buffer, so search works by default
6260
6261         * gtk/gtktextiter.c (lines_match): init match_start always
6262
6263         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
6264         function, get iter at a line + a byte index
6265
6266         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
6267         to set byte position within a line
6268         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
6269
6270 2000-10-23  Havoc Pennington  <hp@redhat.com>
6271
6272         * gtk/testtext.c: Re-enable the "find" dialog
6273
6274         * gtk/testgtk.c: Add test for gdk_drawable_get_image
6275         
6276         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
6277         the arguments to gdk_draw_drawable were in the wrong order
6278         (gdk_window_paint_init_bg): This function was ignoring the
6279         init_region, instead of clipping to it, so the entire backing
6280         pixmap was cleared on every begin_paint()
6281         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
6282         was in here again, the loop kept using the same GtkWindowPaint
6283         over and over.
6284         (gdk_window_begin_paint_region): Fix a bug where we had two
6285         x_offset instead of x_offset and y_offset
6286
6287         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
6288         before we get the image.
6289         (gdk_draw_drawable): get the composite before we draw the drawable.
6290         (gdk_drawable_real_get_composite_drawable): default
6291         get_composite_drawable implementation that returns the drawable 
6292         itself
6293
6294         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
6295         get_composite_drawable virtual function
6296
6297         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
6298         list-walking bug
6299
6300         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
6301         make this work if the source drawable is a GdkDrawableImplX11
6302         instead of a public drawable type. This is really broken; the
6303         problem is that GdkDrawable needs a virtual method get_xid(), but
6304         of course that doesn't work in practice. Enter RTTI.
6305
6306         Also, improve mismatched depth message.
6307
6308         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
6309         GdkPixmap
6310
6311         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
6312         install _gdk_x11_get_image as our implementation of get_image
6313         
6314         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
6315         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
6316
6317         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
6318         gdk_drawable_get_image
6319
6320         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
6321
6322         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
6323         get_image
6324
6325         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
6326         trailing semicolon after for loop
6327
6328 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
6329
6330         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
6331         where font_desc for widget's context lagged widget's font_desc by
6332         one step.
6333
6334 2000-10-22  Tor Lillqvist  <tml@iki.fi>
6335
6336         * gdk/win32/gdkgc-win32.c
6337         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
6338
6339         * gtk/makefile.mingw.in
6340         * gtk/gtk.def: Updates.
6341
6342         * gtk/testgtk.c: sleep() is called _sleep in MS's C
6343         library.
6344
6345         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
6346
6347         * gtk/makefile.msc: Remove
6348
6349         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
6350
6351         * gtk/Makefile.am: Add it.
6352
6353         * configure.in: Generate it.
6354
6355         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
6356         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
6357         something even if not implemented, to satisfy picky MSVC.
6358
6359         Patches by Hans Breuer:
6360         
6361         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
6362         SetBkMode() and SetTextAlign() before calling
6363         pango_win32_render().
6364
6365         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
6366         Set hcliprgn to NULL after destroying it.
6367         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
6368
6369         * gdk/win32/gdkgeometry-win32.c
6370         (_gdk_windowing_window_queue_antiexpose): More effective
6371         implementation.
6372
6373         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
6374         depth as default, not the visual's.
6375
6376         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
6377         against empty title.
6378
6379         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
6380         IMAGE_PRIVATE_DATA.
6381
6382         * gdk/win32/gdkimage-win32.c: Use it.
6383
6384 2000-10-22  Robert Brady  <robert@suse.co.uk>
6385
6386         * configure.in: Check for bind_textdomain_codeset
6387
6388         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
6389         present, make use of it.
6390
6391         Add a translatable string "default:LTR" which, if translated
6392         to "default:RTL", will cause the default direction to be
6393         Right-to-Left.
6394
6395         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
6396         direction if marked as flippable.
6397
6398         * gtk/gtkhscale.c: Mark widget as flippable.
6399         
6400 2000-10-04  Havoc Pennington  <hp@redhat.com>
6401
6402         * gtk/testgtk.c (create_buttons): create some stock buttons
6403         with the default accel group
6404         (create_image): test some new GtkImage features
6405         (make_message_dialog): test GtkMessageDialog
6406         (create_modal_window): fix someone's bizzarro indentation
6407
6408         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
6409         GTK_WIN_POS_CENTER_ON_PARENT. 
6410         Add "destroy with parent" setting, which means the window goes
6411         away with its transient parent.
6412         (gtk_window_get_default_accel_group): get the default accel group
6413         for the window.
6414         (gtk_window_set_destroy_with_parent): set/unset destroy with
6415         parent flag
6416         (gtk_window_read_rcfiles): invalidate icon set caches
6417         after reloading rcfiles 
6418
6419         * gtk/gtkenums.h (GtkWindowPosition): add
6420         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
6421         on its parent window when the dialog is mapped for the first time.
6422
6423         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
6424         a simple message dialog class
6425         
6426         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
6427         handler to emit response signal, and maybe later it would
6428         honor a hide_on_delete flag - though that isn't there yet.
6429         Set border width on the vbox to 2, so we get some padding.      
6430         Use a button box for the action area.
6431         (gtk_dialog_key_press): synthesize a delete event if Esc
6432         is pressed and the GtkWidget key press handler didn't 
6433         handle the escape key.
6434         (gtk_dialog_new_with_buttons): new function creates a dialog
6435         with some default buttons in it.
6436         (gtk_dialog_add_action_widget): add an activatable widget
6437         as a button in the dialog - you can also add a non-activatable
6438         widget by accessing the action area directly.
6439         (gtk_dialog_add_button): add a simple button - stock ID or 
6440         label - to the action area
6441         (gtk_dialog_response): emit response signal
6442         (gtk_dialog_run): block waiting for the dialog, return 
6443         the response. Override normal delete_event behavior, so that 
6444         delete_event does nothing inside gtk_dialog_run().
6445
6446         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
6447         emitted when an action widget is clicked or the dialog gets
6448         delete_event
6449
6450         * gtk/gtk.h: add gtkmessagedialog.h
6451
6452         * gtk/Makefile.am: add gtkmessagedialog.[hc]
6453
6454 2000-10-18  Havoc Pennington  <hp@redhat.com>
6455
6456         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
6457         where any number of empty lines would get skipped
6458
6459         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
6460         edge.
6461
6462         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
6463         warning about invalid iterators (explain more thoroughly)
6464         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
6465
6466         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
6467         big
6468
6469         * demos/*.c: Add error handling
6470
6471         * gtk/gtktextbuffer.c: don't modify const iterators
6472
6473         * gtk/gdk-pixbuf-loader.c: Add full error handling here
6474
6475         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
6476         on file load
6477
6478         * gtk/gtkiconfactory.c: Update to reflect addition of error
6479         handling to gdk-pixbuf loaders
6480
6481 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
6482
6483         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
6484         move to new modularized testgtk.
6485
6486 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
6487
6488         * gtk/gtktreeview.c: Draw the arrows correctly.
6489
6490         * gtk/gtktreemodel.c: Added user docs.
6491
6492         * gtk/gtk.h: remove gtktreedatalist.h.
6493
6494         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
6495         parent when generating my type.
6496
6497         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
6498         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
6499
6500 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6501
6502         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
6503         GtkTreeModel from object to interface.
6504
6505 2000-10-16  Havoc Pennington  <hp@redhat.com>
6506
6507         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
6508         compilation
6509
6510 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6511
6512         * gtk/gtktreeselection.c: Add API documentation to all public
6513         functions.
6514
6515         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
6516         functions.
6517
6518 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
6519
6520         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
6521         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
6522         docs to all public functions.
6523
6524         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
6525         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
6526         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
6527         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
6528         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
6529         issue.
6530
6531 2000-10-14  Robert Brady  <robert@suse.co.uk>
6532
6533         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
6534
6535 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
6536
6537         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
6538         values other then G_TYPE_STRING.
6539         * gtk/gtktreeselection.c: Minor commenting updates.
6540         * gtk/gtktreeview.c: Format updates.
6541
6542 2000-10-09  Tor Lillqvist  <tml@iki.fi>
6543
6544         * README.win32: Update.
6545
6546         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
6547         lines that had been deleted by mistake (?).
6548
6549         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
6550         also the case fg==white and bg==black (but still not randomly
6551         coloured cursors). Thanks to Wolfgang Sourdeau.
6552
6553         * gdk/win32/*.c: Silence gcc -Wall.
6554
6555         * gtk/gtk.def: Add missing entry points.
6556
6557         Fixes by Hans Breuer:
6558
6559         * gdk/makefile.msc
6560         * gdk/win32/makefile.msc: Update.
6561
6562         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
6563         some MSVC thing, presumably), cause breakpoint on failures. Add
6564         GDK_NOR case. Call g_log_set_always_fatal.
6565
6566         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
6567         should be pased by reference.
6568         
6569         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
6570         
6571         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
6572
6573         * gdk/win32/gdkevents-win32.c
6574         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
6575
6576         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
6577         implementation object.
6578
6579         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
6580         not just windows.
6581         
6582         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
6583         Use the wrapper object.
6584         
6585 2000-10-06  Havoc Pennington  <hp@redhat.com>
6586
6587         * Makefile.am (SRC_SUBDIRS): contrib subdir
6588
6589         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
6590         so it can be used in Xlib version
6591
6592         * demos/testpixbuf.c (update_timeout): error checking from 1.0
6593         tree
6594
6595         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
6596         change from 1.0 tree that returns first frame of animation
6597         if the loaded file is an animation.
6598
6599         * contrib: add new directory to hold stuff that comes with GTK+
6600         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
6601         
6602         * configure.in: add contrib/*
6603
6604 2000-10-05  Havoc Pennington  <hp@redhat.com>
6605
6606         * demos/testpixbuf-save.c: add pixbuf save test
6607
6608         * demos/Makefile.am: add testpixbuf-save.c
6609
6610 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
6611
6612         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
6613         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
6614         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
6615         * gtk/gtktreeselection.[ch]: Replaced
6616         "node_selected"/"node_unselected" signal with "selection_changed"
6617         signal.
6618
6619 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6620
6621         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
6622         tree widget.
6623
6624 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6625
6626         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
6627         drawing.
6628
6629 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
6630
6631         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
6632         Move list pointer forwards before removing item from
6633         list. (Crash reported by Salmaso Raffaele)
6634
6635         * gdk/gdkwindow.h: Remove spurious trailing ,
6636
6637         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
6638         dependencies on uninstalled libraries, sorry folks.
6639
6640 2000-10-04  Havoc Pennington  <hp@redhat.com>
6641
6642         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
6643         gtk/gtkiconfactory.c: Fix copyrights    
6644
6645         * demos/testpixbuf.c: add inline pixbuf test
6646         
6647 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
6648
6649         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
6650         Add gdk_window_iconify.
6651
6652         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
6653         (gdk_window_set_geometry_hints): Add win_gravity
6654         to geometry structure.
6655
6656         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
6657         Implement _NET_WM_PING.
6658
6659         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
6660         Set _NET_WM_PID on the client leader.
6661
6662         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
6663         Handle UTF-8 better.
6664
6665         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
6666         UTF-8 better, set _NET_WM_NAME as well. Only set
6667         icon name if it hasn't previously been explicitely 
6668         set.
6669
6670 2000-10-03  Havoc Pennington  <hp@redhat.com>
6671
6672         * gtk/testtextbuffer.c: clean up trailing whitespace,
6673         add extensive tests for tag toggle iteration.
6674         
6675         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
6676         distance
6677
6678         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
6679         optimize case where the tag root is on level 1
6680         (gtk_text_line_previous_could_contain_tag): attempt to implement
6681         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
6682         functionality
6683
6684         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
6685         Implement this, though not very efficiently.
6686
6687         * gtk/gtktextiterprivate.h: reformat
6688
6689         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
6690         iterator
6691
6692         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
6693         this to properly revalidate the iterators.
6694
6695         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
6696         properly at the end of the line (and therefore on empty lines)
6697
6698         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
6699         maybe we should return a value...
6700
6701 2000-10-03  Tor Lillqvist  <tml@iki.fi>
6702
6703         * config.h.win32: Guard definition of alloca(). glib.h now handles
6704         that.
6705
6706         * gdk/gdk.def
6707         * gtk/gtk.def: Add new entry points.
6708
6709         Changes just to make GTK+ build without errors on Win32. No hope
6710         of it working in its current state, though...:
6711         
6712         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
6713         some functions from the X11 backend, just to make GTK+ build.
6714
6715         * gdk/makefile.mingw.in
6716         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
6717         number. Add new object files.
6718
6719         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
6720         GetMessageTime to get timestamp (where on X11 uses
6721         gdk_x11_get_server_time()).
6722
6723 2000-10-02  Havoc Pennington  <hp@pobox.com>
6724
6725         * gtk/gtktextview.c: text_window_* weren't static and should have
6726         been.
6727         Start work on child widgets; not yet complete, syncing to 
6728         office computer.
6729
6730         * gtk/gtktextchild.h: change this to contain a public interface,
6731         starting work on child interfaces.
6732         * gtk/gtktextchildprivate.h: move private interfaces here
6733
6734         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
6735
6736         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
6737         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
6738         gtk/gtktextmark.c: copyright notices
6739
6740         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
6741         internal functions      
6742
6743         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
6744         internal function
6745
6746         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
6747         Reformatting    
6748
6749 2000-09-30  Havoc Pennington  <hp@pobox.com>
6750
6751         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
6752         NULL start/end pointers
6753
6754         * gtk/gtktextbuffer.c: Write some docs
6755         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
6756         NULL, so you can just check whether there's a selection.        
6757
6758         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
6759         cleanup_line or segments_changed ourselves, it gets done 
6760         in unlink_segment
6761
6762         * gtk/gtktextmark.h:
6763         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
6764         
6765         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
6766
6767         * gtk/gtktextmark.c: delete some more old Tk cruft
6768
6769         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
6770         mark before removing it, so we can emit MARK_DELETED with a valid
6771         pointer.
6772         (gtk_text_buffer_mark_set): hold ref across signal emission
6773
6774         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
6775         whining about attempts to delete special marks
6776
6777         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
6778         underscore, since it's internal.
6779
6780         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
6781         now implemented in terms of iterators in gtktextiter.h
6782
6783         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
6784         New function, destructively sets contents of buffer. Also 
6785         a convenient way to clear the buffer by setting text to ""
6786
6787         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
6788         multiline string literal
6789
6790         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
6791         text changes.
6792
6793         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
6794         is not dereferenceable
6795         (gtk_text_iter_forward_lines): fix return value
6796
6797 2000-09-29  Havoc Pennington  <hp@redhat.com>
6798
6799         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
6800
6801         * gtk/gtktextview.c: Implement drag thresholding; change functions 
6802         that set border window size to have nicer name
6803         (gtk_text_view_mark_set_handler):  Fix this to have the 
6804         right signature.
6805
6806         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
6807
6808         * gtk/testtext.c: Update with API changes, put line numbers on 
6809         both sides.
6810         
6811         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
6812         with this
6813
6814         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
6815         pixbuf; delete a big block of #if 0 Tk code
6816
6817         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
6818         insert_pixmap with insert_pixbuf
6819
6820 2000-09-29  Martin Baulig  <baulig@suse.de>
6821
6822         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
6823         confusion with the GdkPixbuf of the GNOME 1.x platform.
6824
6825 2000-09-29  Havoc Pennington  <hp@pobox.com>
6826
6827         * gtk/gtktextview.c: Implement the side windows.
6828
6829         * gtk/testtext.c: Implement simple line numbering in the 
6830         left side window; seems to make scrolling sloooow. Oops.
6831         Also, cursor blink is for some reason causing redraws
6832         of the line numbers. Should investigate...
6833
6834 2000-09-28  Havoc Pennington  <hp@redhat.com>
6835
6836         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
6837         scrolling child windows, and draw focus rectangle properly.
6838         
6839         (gtk_text_view_buffer_to_window_coords):
6840         Coordinate transformation to deal with all these freaking windows
6841         and offsets
6842         (gtk_text_view_window_to_buffer_coords): transform the other way
6843
6844         * gtk/testtext.c (create_buffer): Update to match Pango API change
6845
6846         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
6847         anonymous tags
6848         (foreach_unref): don't emit remove signal from finalize, just
6849         set tag's parent to NULL
6850
6851 2000-09-26  Havoc Pennington  <hp@redhat.com>
6852
6853         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
6854         Fix some warnings       
6855
6856 2000-09-26  Havoc Pennington  <hp@redhat.com>
6857
6858         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
6859         headers into the private header list
6860
6861         * Makefile.am (pkgconfig_DATA): install pkg-config files
6862
6863         * configure.in: add pkg-config files
6864
6865         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
6866
6867         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
6868         outstanding icon caches on theme change.
6869
6870         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
6871         important types:
6872
6873         (GtkIconSource): Specification for creating a pixbuf 
6874         appropriate for a direction/state/size triplet from 
6875         a source pixbuf or filename
6876
6877         (GtkIconSet): List of GtkIconSource objects that are used to
6878         create the "same" icon (e.g. an OK button icon), and cache for
6879         rendered icons
6880
6881         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
6882         up the icon set for a given stock ID.  GTK maintains a stack of
6883         GtkIconFactory to search, and applications or libraries can add
6884         additional icon factories on top of the stack
6885         
6886         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
6887         the set of GtkIconSource specified for a given stock ID into 
6888         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
6889         RcStyle, under the specified stock ID.
6890
6891         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
6892         render_icon used to derive a GdkPixbuf from a GtkIconSource.
6893         This allows people to theme how prelight, insensitive, etc. are
6894         done.
6895
6896         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
6897         icon factories for a style, and return the resulting 
6898         icon set if any.
6899
6900         (gtk_style_render_icon): Render an icon using the render_icon 
6901         method in the GtkStyleClass.
6902
6903         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
6904         Use the style for a given widget to look up a stock ID, get the
6905         icon set, and render an icon using the render_icon method 
6906         of the style
6907
6908         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
6909         (contains information about a stock item), the built-in stock item
6910         IDs, and functions to add/lookup stock items.
6911
6912         * gtk/stock-icons/*: Stock icons that come with GTK
6913
6914         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
6915         a button based on a GtkStockItem
6916         (gtk_button_new_accel): Takes a uline string and accel group, and
6917         installs the accelerator.
6918
6919         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
6920         image-display widget.
6921
6922 2000-09-25  Havoc Pennington  <hp@redhat.com>
6923
6924         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
6925
6926         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
6927         Fix a bug when removing node data, we didn't properly 
6928         re-splice the linked list after removing the data.
6929
6930         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
6931         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
6932
6933         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
6934
6935         * gtk/gtktextlayout.c (set_para_values): Set tab array 
6936         for the layout from the GtkTextTag.
6937
6938         * gtk/gtktexttypes.h: delete tab and search cruft, 
6939         remove g_convert() in favor of GLib version
6940
6941         * gtk/gtktexttypes.c: remove tab implementation from here,
6942         move to Pango
6943
6944         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
6945         tab stuff using new PangoTabArray from Pango
6946
6947         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
6948         unused border_width stuff
6949
6950 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
6951
6952         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
6953         glib) and now useless utf_to_latin1() latin1_to_utf()
6954
6955         * gtk/gtktextview.[ch]: Change ::move_insert and
6956         ::delete_text action signals to ::move and ::delete;
6957         create the signals with the right enumeration type,
6958         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
6959         C-v bindings, change Home, End to move to beginning/end
6960         of line, Add C-Home C-End to move to beginning/end
6961         of buffer. Change ::cut_text to ::cut_clipboard, etc;
6962         combine ::scroll_text into ::move; use new GtkSelectionData
6963         functions to simplify DND text handling.
6964         
6965         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
6966         deletion enumerations here, rename enumeration values to 
6967         be consistently plural.
6968
6969         * gtk/gtktextbuffer.c: Use new clipboard interfaces
6970         for cut/copy/paste and primary selection.
6971
6972         * gtk/gtktextbuffer.[ch]: Remove excess time and
6973         'interactive' arguments from cut/copy/paste;
6974         rename cut to cut_clipboard, etc; remove
6975         gtk_text_buffer_get_clipboard_contents().
6976
6977         * gtk/gtktextlayout.[ch]: Add 
6978         gtk_text_layout_move_iter_to_line_end() to move the iter to 
6979         line ends.
6980
6981         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
6982         Functions to set or get a UTF-8 string on the selection
6983         data.
6984
6985         * gtk/gtkclipboard.[ch]: New, simplified selection handling
6986         interfaces.
6987
6988         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
6989         created widgets - one of these is useless if we don't.
6990
6991         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
6992         a public function clear all targets registered for the
6993         widget.
6994
6995         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
6996         Never call gtk_widget_realize() - that was just asking
6997         for bizarre side-effects.
6998
6999         * gtk/gtkselection.c (gtk_selection_owner_set): Call
7000         gdk_selection_owner_set even if the widget is the
7001         same so that we reliably update the timestamp on
7002         the server.
7003
7004         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
7005         gdk_x11_get_server_time() function.
7006         
7007         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
7008         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
7009         Add some tricky filtering on serial numbers for
7010         selection clear events to fix up long-standard
7011         race condition FIXME's in gtkselection.c.
7012
7013         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
7014         routines to convert from utf8 to compound text or
7015         STRING and from a text property to UTF-8.
7016
7017         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
7018         a convenience function gdk_get_current_event_time().
7019
7020         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
7021         and free selection_data->data properly
7022
7023 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
7024
7025         * gtk/gtkthemes.c: Remove some unecessary includes.
7026
7027 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
7028
7029         * gtk/gtktextdisplay.c
7030         * gtk/gtktextlayout.c
7031         * gtk/gtktexttag.c
7032         * gtk/gtktexttag.h
7033         * gtk/testtext.c: Change the overstrike property to strikethrough,
7034         to closer match pango.
7035
7036 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
7037
7038         * gtk/gtktextview.c: Fix up visibility so that focus,
7039         cursor_visible and blink interact properly.  Reenable cursor blink
7040         which had been roughly disabled. Make blink and focus
7041         properly per-view.
7042
7043         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
7044         Add a flag for whether to display insertion cursor and
7045         a function to set the flag.
7046
7047         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
7048         get_line_y() to get_line_yrange(), to be a bit more generally
7049         useful.
7050
7051 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
7052
7053         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
7054           do stop_navigating_submenu, to clear last timeout properly.
7055           Also in gtk_menu_motion_notify move ignore_enter above
7056           the conditional to make it always happen as suggested by Owen
7057
7058 2000-09-07  Tor Lillqvist  <tml@iki.fi>
7059
7060         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
7061
7062         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
7063         w32api headers.
7064
7065         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
7066         declarations.
7067
7068         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
7069         (gdk_win32_get_colormap): A line had been deleted by mistake.
7070
7071         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
7072         (gdk_event_translate): Handle more virtual keycodes to be able to
7073         generate GDK events for Control-comma, Control-period, etc.
7074
7075         * gtk/gtk.def: Add some missing entry points.
7076
7077 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
7078
7079         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
7080         Doc comment fixing. (Mostly non-matching parameter names.)
7081
7082         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
7083         comments a little to avoid looking like a doc comment.
7084
7085         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
7086         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
7087         conversions be changed to GError?)
7088
7089         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
7090         Move private #defines into .c file.
7091
7092         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
7093         order of argument addition, remove duplicates.
7094
7095         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
7096         parent class is FrameClass, not BinClass.
7097
7098         * gtk/gtk.h: Add gtkinvisible, which was missing.
7099         (It's occasionalyl useful for client apps, if seldom.)
7100
7101         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
7102         #define.
7103
7104 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
7105
7106         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
7107         coordinates when creating window, instead of GDK-space
7108         coordinates. (Avoid BadValue on too large windows.)
7109
7110 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7111
7112         * configure.in (use_mmx_asm): Remove conftest* after use along the
7113         lines of AC_TRY_COMPILE.        
7114         
7115         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
7116         of g_dirname, which is deprecated.
7117         (gtk_rc_parse_any): Removed calls to
7118         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
7119
7120         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
7121         Removed calls to g_hash_table_{freeze,thaw}, as they are
7122         deprecated now.
7123
7124         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
7125         instead of g_basename.
7126         
7127 2000-09-04 Elliot Lee <sopwith@redhat.com>
7128         
7129         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
7130         ANSI warning.
7131
7132 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
7133
7134         * gtk/gtkwidget.h:  Add some documenting comments about 
7135           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
7136           just as owen said on irc.
7137
7138         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
7139           set HAS_DEFAULT.  Only set it if there isn't another window
7140           holding it (a focus window which RECEIVES_DEFAULT) and only unset
7141           it if the widget is not the focused window with RECEIVES_DEFAULT.
7142           This fixes weird double default bugs in dialogs which has things
7143           call gtk_window_set_default at times.
7144
7145 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
7146
7147         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
7148         Nils Barth and David Santiago to improve submenu
7149         navigation. The patch does this by creating a triangular
7150         region from the point where the pointer leaves the
7151         menu to the submenu.  While the pointer is in
7152         that region and a timeout has not expired, events 
7153         that would cause the active submenu to change are
7154         ignored.
7155
7156 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
7157
7158         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
7159         moving a toplevel window immediately after sizing it would
7160         result in it being sized back to the old size since 
7161         impl->width, impl->height aren't updated until we hear
7162         back from the server. There is still a (longstanding) bug
7163         here that gdk_window_get_size() will give the wrong size
7164         until we do hear back.
7165
7166 2000-08-31  Havoc Pennington  <hp@redhat.com>
7167
7168         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
7169         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
7170         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
7171         Rename GtkTextStyleValues to GtkTextAttributes
7172
7173 2000-08-31  Havoc Pennington  <hp@pobox.com>
7174
7175         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
7176         for rapid testing whether an iterator is the end iterator
7177         (gtk_text_btree_new): init end line cache
7178         (gtk_text_line_is_last): use fast cached line to 
7179         see if we're the last line.
7180         (get_last_line): use cached line here too, should 
7181         speed up some random unrelated code.
7182         
7183 2000-08-30  Havoc Pennington  <hp@pobox.com>
7184
7185         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
7186         signals.
7187
7188         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
7189         delete_text signals. This allows the signals to be used for
7190         implementing undo.
7191
7192         * gtk/gtktextbuffer.c: Change signal handler signatures; 
7193         provide "interactive" argument when emitting insert_text or
7194         delete_text signal.
7195         
7196 2000-08-30  Havoc Pennington  <hp@pobox.com>
7197
7198         * gtk/gtktextbuffer.c: Docs
7199
7200 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
7201
7202         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
7203         from switch statements, since Tor removed the enumeration
7204         value.
7205         
7206         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7207         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
7208
7209 2000-08-29 Elliot Lee <sopwith@redhat.com>
7210         * */*.h: Use G_GNUC_CONST.
7211
7212 2000-08-27  Havoc Pennington  <hp@pobox.com>
7213
7214         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
7215         minor indentation fixes, inserted some FIXME about stuff I
7216         realized was broken while documenting it.
7217         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
7218         GTK convention  
7219
7220 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
7221
7222         * gtk/testgtk.c (create_styles): Fix double free of
7223         font desc.
7224
7225 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7226
7227         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
7228         
7229         * gtk/testgtk.c (create_styles): Add a test for modifying
7230         the style through gtk_widget_modify_*.
7231
7232         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
7233         a function to get the current modifier style.
7234
7235         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
7236         of the passed in GtkRcStyle instead of ref'ing it.
7237
7238         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
7239
7240 2000-08-20  Tor Lillqvist  <tml@iki.fi>
7241
7242         * gdk/gdkimage.h
7243         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
7244         shared memory image+pixmap GdkImage type, or
7245         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
7246         I am dropping that.
7247
7248         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
7249         actually call gtk_init_abi_check(), passing also
7250         sizeof(GtkWindow). Ditto for gtk_init_check(). 
7251
7252         * gtk/gtk.def
7253         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
7254         New functions, used to check that the GTK+-using code has been
7255         compiled using the correct compiler and switches. In particular,
7256         with gcc one has to use the -fnative-struct switch as GTK+ is
7257         compiled with that.
7258
7259 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
7260
7261         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
7262         ->prev fields when merging lists. (Found simultaneously
7263         by Pawel Salek and Jakub Jelinek)
7264
7265 2000-08-12  Tor Lillqvist  <tml@iki.fi>
7266
7267         * gdk/gdk.def
7268         * gtk/gtk.def: Add missing entries.
7269
7270         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
7271         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
7272
7273         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
7274         function. Dummy implementation at this point.
7275
7276         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
7277         rules. Undefine GTK_COMPILATION when compiling the test programs.
7278         
7279         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
7280
7281 2000-08-11  Tor Lillqvist  <tml@iki.fi>
7282
7283         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
7284         to convert back and forth from UTF-8 and the "system" (or "current
7285         locale") charset when necessary. Indentation/spacing cleanup.
7286
7287 2000-08-10  Havoc Pennington  <hp@redhat.com>
7288
7289         * Makefile.am (snapshot): Change the format of the snapshot
7290         version to match glib
7291
7292         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
7293         from EXTRA_DIST since it doesn't seem to exist
7294
7295 2000-08-10  Tor Lillqvist  <tml@iki.fi>
7296
7297         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
7298         version of the directory name (not the UTF-8 one) when building
7299         the path name to stat().
7300
7301 2000-08-03  Elliot Lee  <sopwith@redhat.com>
7302
7303         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
7304         PANGO_ATTR_SHAPE set.
7305
7306 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
7307
7308         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
7309         Peter Osterlund to simplify the code while keeping the
7310         functionality the same.
7311
7312 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
7313
7314         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
7315         is_viewable() test further inside the function, since removing the 
7316         window from the redraw list without clearing ->update_area
7317         was also very broken.
7318
7319 2000-08-02  Tor Lillqvist  <tml@iki.fi>
7320
7321         * configure.in: Check for <unistd.h>.
7322
7323 2000-08-01  Martin Baulig  <baulig@suse.de>
7324
7325         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
7326         to display the message that this is a development version of GTK+.
7327
7328 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
7329
7330         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
7331         was depending on widget->allocation instead of the width of text_area,
7332         which was incorrect for subclasses like GtkSpinButton.
7333
7334         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
7335         with width == 1 tests that should be width == -1.
7336
7337 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
7338
7339         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
7340         (broken, Elliot, every single window blank on X) custom code with call
7341         to gdk_window_is_viewable() which a) prevents code duplicate and
7342         b) works. 
7343
7344 2000-07-31  Elliot Lee  <sopwith@redhat.com>
7345
7346         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
7347         to get the GDK_PARENT_ROOT() macro to work.
7348         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
7349         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
7350         of, windows that aren't shown.
7351         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
7352         pointer grab stuff.
7353
7354 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
7355
7356         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
7357           s/gtk_main_iteration/g_main_iteration/
7358
7359           Did this already in change:
7360                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
7361           don't know how it got reverted.
7362
7363 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
7364
7365         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
7366         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
7367
7368         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
7369         not gdk_pixbuf.
7370
7371 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
7372
7373         * configure.in,po/{sp,sr}.po: Added Serbian files
7374
7375 2000-07-30  Tor Lillqvist  <tml@iki.fi>
7376
7377         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
7378
7379         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
7380         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
7381         GIOChannel implementation.
7382
7383         * gdk/win32/gdkinput.c
7384         * gdk/win32/gdkpango-win32.c: Update license name here, too.
7385
7386         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
7387         definition to match prototype.
7388
7389         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
7390
7391 2000-07-27  Elliot Lee  <sopwith@redhat.com>
7392
7393         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
7394         function, to allow handling image formats that cannot be detected
7395         by looking at content alone.
7396
7397 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
7398
7399         * docs/tutorial/*.gif *.jpg *.eps
7400           Update these to the same look-n-feel.
7401           Why does including images in DocBook suck so badly?
7402
7403 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
7404
7405         * gtk/gtktable.c: applied patch from Phil Thompson
7406         <phil@river-bank.demon.co.uk> that enables space settings for
7407         the last row/columns as well.
7408
7409 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
7410
7411         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
7412         updates the license headers to the GNU Lesser General Public License,
7413         as well as updating the copyright year to 2000.
7414
7415 2000-07-26  Robert Brady  <rwb197@zepler.org>
7416
7417         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
7418           and po/Makefile, was installing and looking for them under gtk20
7419           and gtk2 respectively.
7420
7421 2000-07-25  Havoc Pennington  <hp@redhat.com>
7422
7423         * gtk/testtext.c: Comment out some stuff that depends on the rest
7424         of my patches.
7425
7426 2000-07-25  Havoc Pennington  <hp@redhat.com>
7427
7428         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
7429         buffer
7430
7431 2000-07-25  Havoc Pennington  <hp@redhat.com>
7432
7433         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
7434         widget changes.
7435
7436         * gtk/gtktextview.h: To be consistent with usage of "line"
7437         throughout the API to mean "newline-terminated thingy", change
7438         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
7439         to MOVEMENT_LINE.
7440
7441         (GtkTextView): Add flags for default editability, and whether to
7442         show the cursor. Add functions to get/set that. Add 
7443
7444         (gtk_text_view_get_iter_location): new function
7445
7446         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
7447         gtktextlayout.h
7448         (g_convert): Add g_convert temporarily, will go in glib in a bit
7449         
7450         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
7451         GtkTextTagTableForeach instead of brokenly using GHFunc.
7452         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
7453
7454         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
7455         moved to public header.
7456
7457         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
7458         "invisible", since "elide" was a bad name.
7459         (gtk_text_tag_get_priority): Added
7460
7461         (GtkTextStyleValues): put this in public header, along with
7462         functions to use it.
7463
7464         * gtk/gtktextmarkprivate.h: Include more headers, since we no
7465         longer include gtktextbtree.h.
7466
7467         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
7468         gtk_text_mark_deleted
7469
7470         * gtk/gtktextlayout.h: Don't include the "really private" headers,
7471         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
7472         to make this possible. Now we only need to install
7473         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
7474         (However the Makefile.am isn't changed yet because of the
7475         logistics of merging gtk-hp-patches piecemeal)
7476
7477         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
7478         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
7479         gtk_text_iter_get_line is now used in the public API for a
7480         different purpose.
7481
7482         * gtk/gtktextiter.h: Clean up function names to be more
7483         consistent. Always call char offset "offset" and byte index
7484         "index". A "line" is always a line number. 
7485
7486         (gtk_text_iter_is_last): new function, more efficient than 
7487         the existing way to check
7488         (gtk_text_iter_is_first): new function, also more efficient
7489
7490         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
7491
7492         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
7493         gtk_text_iter_forward_char, etc.
7494
7495         (gtk_text_iter_forward_to_tag_toggle): Renamed from
7496         forward_find_tag_toggle, since this isn't a linear search
7497
7498         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
7499
7500         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
7501         New functions, search for a buffer substring.
7502
7503         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
7504         interactive and default editable (since we need to store that info
7505         until we receive the selection data).
7506
7507         Remove all the _at_char and at_line etc. versions of functions;
7508         only have iterator versions.
7509
7510         Add _interactive() versions of functions, that consider the
7511         editability of text. (FIXME add interactive flag to the 
7512         insert/delete signals per Darin's suggestion)
7513
7514         (gtk_text_buffer_get_tag_table): new function, demand-creates the
7515         tag table if necessary
7516
7517         Remove declaration of gtk_text_buffer_get_iter_from_string
7518
7519         (_gtk_text_buffer_get_btree): private/internal function, added.
7520         
7521
7522         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
7523         (gtk_text_line_is_last): new function
7524
7525 2000-07-25  Havoc Pennington  <hp@redhat.com>
7526
7527         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
7528         using GtkProgressBar. See Changes-2.0.txt for details.
7529
7530         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
7531         "pulse_step" which are the equivalent of
7532         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
7533         Implement new API.
7534         
7535         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
7536         (use_text_format) to mark whether text set on the progress bar is
7537         a format string. Deprecate entire GtkProgress interface.
7538
7539         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
7540         (gtk_progress_build_string): make this a no-op if use_text_format
7541         is FALSE
7542
7543         * docs/Changes-2.0.txt: Describe progress bar changes.
7544
7545 2000-07-25  Tor Lillqvist  <tml@iki.fi>
7546
7547         * Makefile.am: Include the build directory.
7548
7549         * configure.in: Generate build/Makefile, build/win32/Makefile,
7550         gdk/, gdk/win32/, and gtk/makefile.mingw.
7551
7552         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
7553         Add GETTEXT_PACKAGE.
7554         
7555         * gdk/gdk.def
7556         * gtk/gtk.def: Updates.
7557
7558         * gdk/gdkfont.h
7559         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
7560         need them any longer.
7561
7562         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
7563
7564         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
7565         PANGOWIN32_LIBS and gdk_pixbuf.
7566
7567         * gdk/win32: Compiles, but no doubt doesn't work at all.
7568
7569         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
7570
7571         * gdk/win32/gdkinput.c: New file, temporarily.
7572         
7573         * gdk/win32/gdkinput-win32.h: New file
7574
7575         * gdk/win32/gdkinputprivate.h: Remove.
7576
7577         * gdk/win32/gdkpango-win32.c: New file.
7578
7579         * gtk/makefile.mingw.in: New file
7580
7581         * gtk/makefile.cygwin: Removed
7582         
7583         * gtk/Makefile.am: Update accordingly.
7584
7585         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
7586         made externally visible.
7587
7588         * gtk/gtkmain.c: Use it.
7589         
7590         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
7591         is enough.
7592
7593         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
7594
7595 2000-07-24 Elliot Lee <sopwith@redhat.com>
7596         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
7597         individual backends already.
7598         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
7599         again. Yes, there really is a good reason for this, if you are using the gdkregion
7600         internals, and if you're not, why do you care?
7601         * gdk/gdkwindow.c: Fix inverted condition
7602         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
7603         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
7604         * gtk/gtkrange.c: Redraw trough when moving.
7605         * gtk/gtktypeutils.c: Fix warning by adding const cast.
7606         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
7607
7608 2000-07-23  Tor Lillqvist  <tml@iki.fi>
7609
7610         * configure.in: Check for mkstemp and sigsetjmp. Output
7611         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
7612
7613         More work on GDK for Win32. Still in an intermediate state.
7614
7615         * gdk/makefile.cygwin
7616         * gdk/win32/makefile.cygwin: Removed.
7617         
7618         * gdk/makefile.mingw.in
7619         * gdk/win32/makefile.mingw.in: New files.
7620
7621         * gdk/Makefile.am
7622         * gdk/win32/Makefile.am: Generate and distribute them.
7623
7624         * gdk/win32/gdkwindow-win32.h
7625         * gdk/win32/gdkdrawable-win32.h
7626         * gdk/win32/gdkpixmap-win32.h: New files.
7627
7628         * gdk/win32/gdkcolor-win32.c
7629         * gdk/win32/gdkcursor-win32.c
7630         * gdk/win32/gdkdrawable-win32.c
7631         * gdk/win32/gdkgc-win32.c
7632         * gdk/win32/gdkimage-win32.c
7633         * gdk/win32/gdkprivate-win32.h
7634         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
7635         Rename fields and variables called xcursor, xid, etc (these names
7636         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
7637
7638 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
7639
7640         * gtk/gtkentry.[ch]: Fix some problems with vertical
7641         alignment.
7642
7643         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
7644         char/byte confusion.
7645
7646 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
7647
7648         * gtk/gtktextview.c (changed_handler): Fix bug where
7649         redraw wasn't being done properly when height of
7650         dirty region changed.
7651
7652         * demos/Makefile.am: Remove various references to
7653         -lgmodule
7654
7655 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
7656
7657         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
7658         PangoAttrShape to reserve space for pixmaps, add 
7659         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
7660         in the display functions.
7661         
7662         * gtk/testgtk.c (create_layout): Set some more exotic
7663         scrolled window options
7664
7665         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
7666         Add function to set the shadow type of a window, to allow
7667         putting a shadow around widgets such as GtkLayout or GnomeCanvas
7668         which don't draw their own frame.
7669
7670 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
7671
7672         * docs/tutorial/package-db-tutorial.sh: New file for
7673           packaging DocBook format tutorial
7674
7675 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
7676
7677         * docs/tutorial/gtk-tut.sgml: Minor updates
7678
7679         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
7680
7681 2000-07-19  Tor Lillqvist  <tml@iki.fi>
7682
7683         * gtk/gtksignal.c: Fix C++ comment.
7684
7685         * gtk/gtkimmulticontext.c
7686         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
7687         don't return value from void functions.
7688
7689         * gtk/gtk.def: Add gtk_rc_style_unref.
7690
7691 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7692
7693         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
7694         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
7695         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
7696         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
7697         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
7698         gtk/gtktypeutils.h: Include files outside of the extern "C"
7699         block. Makes some C++ compiler happy. Reported by Denis Vakatov
7700         <vakatov@peony.nlm.nih.gov>.
7701
7702 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
7703
7704         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
7705           Completes first pass. Hurrah!
7706
7707 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
7708
7709         * docs/tutorial/gtk-tut.sgml: More clean ups.
7710
7711 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
7712
7713         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
7714         paint the background of the text area which was accidentally
7715         removed at some point.
7716
7717         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
7718           
7719          - Move most of the functionality from the theme vtable
7720            into GtkRcStyleClass and GtkStyleClass. The moved
7721            vtable functions were changed a bit in the move to
7722            work better in their new home.
7723
7724          - Get rid of the engine and engine_data fields from
7725            GtkRcStyle and GtkStyle; instead the theme
7726            engine derives theme-specific subclasses of GtkRcStyle
7727            and GtkStyle
7728
7729          - Add extra dlsym() found entry point to themes,
7730            theme_create_rc_style().
7731
7732         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
7733         in gtk_style_real_copy.
7734
7735         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
7736         to register a type associated with an engine. (The engine
7737         won't be unloaded as there is an instance of the type.)
7738
7739
7740 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
7741
7742         * docs/tutorial/gtk-tut.sgml: Clean ups.
7743
7744 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
7745
7746         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
7747           of cleaning up to do.
7748
7749 2000-07-15  Tor Lillqvist  <tml@iki.fi>
7750
7751         * gdk/testgdk.c: New file, quick hack to test backends for
7752         pixel-by-pixel correctness of the most simple graphic operations.
7753
7754 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
7755
7756         * Really release 1.3.1
7757         
7758         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
7759         include structure.
7760
7761 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
7762
7763         * Released 1.3.1
7764
7765 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
7766
7767         * gtk/gtktextlayout.c: use FALSE for size_only most
7768         of the time when calling gtk_text_layout_get_line_display()
7769         to avoid causing double reshapes when a redraw follows
7770         immediately after.
7771
7772 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
7773
7774         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
7775         appropriate region and gdk_window_process_updates() so trough
7776         updating doesn't lag behind the window being scrolled.
7777
7778         * gdk/gdkgc.c: Make parent_class pointer static.
7779          
7780 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
7781
7782         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
7783         include <string.h>.
7784          
7785         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
7786         cut-and-paste error in computing memory offset for 4 channels.
7787
7788 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
7789
7790         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
7791         gtk_rc_append_default_pixmap_path(), since it wasn't
7792         adding an interesting path and we don't have a meaningful
7793         default for this value.
7794
7795 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
7796
7797         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
7798         gtk-config to gtk-config-2.0 move gtk_.m4 to
7799         gtk-2.0.m4
7800
7801         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7802         gdk/Makefile.am demos/Makefile.am: Change 
7803         library names to libgtk-1.3.la, etc, so that we
7804         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
7805
7806         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7807         gdk/Makefile.am gdk/x11/Makfile.am
7808         Move include files into /usr/include/gtk-2.0, 
7809         /usr/lib/gtk-2.0/include/
7810          
7811         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
7812         gtk/gtkintl.h: Change package for gettext from 
7813         gtk+ to gtk20. Put hack in autogen.sh to modify
7814         po/Makefile.in.in after gettextize to make this
7815         possible.
7816
7817         * gtk+.spec: Some updates, not tested.
7818
7819         * gdk-pixbuf/Makefile.am: Move loaders into
7820         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
7821
7822         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
7823         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
7824         to THEMENAME/gtk-2.0/. Move engine directory  to
7825         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
7826         
7827 2000-07-12  Tor Lillqvist  <tml@iki.fi>
7828
7829         Win32 changes, still doesn't build though.
7830
7831         * gdk/makefile.cygwin
7832         * gdk/win32/makefile.cygwin
7833         * gtk/makefile.cygwin: Updates.
7834
7835         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
7836         default values for fg and bg pixel as X11 does (0 and 1), not
7837         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
7838         Use 0 for pen width by default (treated as 1 anyway later, but for
7839         apps that might check the value in the GdkGC).
7840         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
7841         interface to gdk_gc_predraw and _postdraw.
7842
7843         * gdk/win32/gdkwin32.h
7844         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
7845
7846         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
7847         extraneous semicolon.
7848
7849         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
7850
7851         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
7852         not the Win32 bitspixel value.
7853
7854         * gdk/win32/gdkcc-win32.c:
7855         * gdk/win32/gdkcolor-win32.c 
7856         * gdk/win32/gdkprivate-win32.h
7857         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
7858         GDK object structure.
7859
7860 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
7861
7862         * docs/tutorial/gtk_tut_12.es.sgml (name): 
7863         * docs/tutorial/gtk_tut_it.sgml (name): 
7864         * docs/tutorial/gtk_tut_fr.sgml (name): 
7865         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
7866         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
7867
7868 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
7869
7870         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
7871           small changes.
7872
7873 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
7874
7875         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
7876         a bug here, never been here and never fixed anything ;(
7877         (don't segfault if tree->root_tree is NULL, which happens prior
7878         to widget realization, but puke instead).
7879
7880 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
7881
7882         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
7883         add the necessary tokens.
7884
7885         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
7886         (gtk_rc_style_to_style): copy thicknesses.
7887         (gtk_rc_init_style): apply thicknesses.
7888         (gtk_rc_parse_style): parse xthickness and ythickness.
7889
7890         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
7891
7892         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
7893         (gdk_window_new): 
7894         (_gdk_windowing_window_init): 
7895         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
7896         (gdk_pixmap_create_from_data): 
7897         (gdk_bitmap_create_from_data): 
7898         (gdk_pixmap_new): 
7899         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7900         (gdk_image_new): 
7901         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
7902         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
7903         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
7904         (gdk_colormap_get_system): 
7905         (gdk_colormap_new): 
7906         * gdk/gdkwindow.c (gdk_window_init): 
7907         * gtk/gtkstyle.c (gtk_style_new):
7908         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
7909         * gdk/gdkpixmap.c (gdk_pixmap_init): 
7910         * gtk/gtkrc.c (gtk_rc_style_new):
7911         use g_object_new() instead of g_type_create_instance() which
7912         is a private function for fundamental type implementations.
7913
7914 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
7915
7916         * configure.in: Add check for db2html
7917
7918 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
7919
7920         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
7921         hack to set glib_debug_objects based on gtk_debug_flags.
7922
7923 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
7924
7925         * INSTALL.in: Update the Prerequisites section.
7926
7927         * Makefile.am demos/Makefile.am docs/Makefile.am
7928         docs/tutorial/Makefile.am gdk/x11/Makefile.am
7929         gdk/linux-fb/Makefile.am: Dist fixes
7930
7931 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
7932
7933         * NEWS: 10,000 foot view of 1.3.1 changes.
7934
7935 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
7936
7937         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
7938         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
7939         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
7940         gdk/x11/gdkmain-x11.c: 
7941
7942         Patch from George Lebl to add a GdkGrabStatus enumeration to use
7943         as a return value of gdk_*_grab(). Previously, we just
7944         returned the X11 values directly.
7945
7946 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
7947
7948         * gdk/x11/Makefile.am: Patch from George Lebl to 
7949         install all the headers in the right place.
7950
7951 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
7952
7953         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
7954           initial conversion to DocBook.
7955
7956 2000-07-04  Tor Lillqvist  <tml@iki.fi>
7957
7958         * README.win32: Improve a bit.
7959
7960         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
7961         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
7962         Alt+0nnn on the numpad (used to enter characters by numeric code
7963         from current DOS or ANSI codepage) working correctly, as in other
7964         Windows apps.
7965
7966         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
7967         same argument validity tests as in X11 version.
7968         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
7969
7970         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
7971         definitions in case missing from headers.
7972
7973         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
7974         destroy the window-specific cursor.
7975         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
7976         calling GetModuleHandle(NULL).
7977         (gdk_window_set_cursor): Reworked to always copy the passed cursor
7978         with CopyCursor before setting it as the window-specific
7979         cursor. It is OK for the caller to destroy the GdkCursor (and thus
7980         also its Windows cursor) after calling this function. Destroy any
7981         previous window-specific cursor.
7982
7983 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
7984
7985         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
7986         font charset is iso8859-1, not iso-8859-1.
7987
7988 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
7989
7990         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
7991         Use g_get_charset() instead of g_get_codeset().
7992
7993         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
7994         Comment out some strdup'ing functions to keep timj
7995         happy until we finish fighting this out.
7996
7997 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
7998
7999         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
8000         <= width or height.
8001
8002         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
8003         from 1.2 for parent/child states.
8004
8005         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
8006         of typos.
8007
8008         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
8009         event structures, replace with a generic axes field. Replace 
8010         deviceid/sourec with GdkDevice *device.
8011
8012         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
8013         to extract particular axis use value from event. (Also
8014         can be used for normal X/Y.)
8015
8016         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
8017         allow for arbitrary number of axes, namespace everything
8018         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
8019         everywhere.
8020
8021         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
8022         Get rid of the gdk_input_vtable setup if favor of simply
8023         defining the functions in gdkinput-none/gxi/xfree.c in
8024         a similar fashion to the way that the port structure is 
8025         done.
8026
8027         * gtk/gtkdnd.c: Fix fields of synthesized button press event
8028         for new event structures. 
8029
8030         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
8031         new device interfaces.
8032
8033 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
8034
8035         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
8036         set the initial text.
8037
8038         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
8039         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
8040         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
8041         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
8042
8043         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8044         pango_layout_set_font_description to simplify.
8045
8046 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
8047
8048         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8049         pango_layout_set_font_description to simplify.
8050
8051 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
8052
8053         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
8054         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
8055         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
8056
8057         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
8058         PANGO_PIXELS() macro.
8059
8060 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
8061
8062         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
8063         that returns a PangoContext owned by the widget and updated to
8064         match future changes in the widget. Also, make 
8065         gtk_widget_create_pango_layout() use this context. If we ever
8066         add a ::changed signal to PangoContext, this will make things
8067         much more convenient. 
8068
8069         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
8070         in the appropriate places instead of destroying the layouts and
8071         creating new ones.
8072
8073         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
8074         in a few strategic places.
8075
8076 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
8077
8078         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
8079         gtk_widget_size_request() on reparented child, if one. Otherwise,
8080         queue_resize() on the child never results in it getting size-requested
8081         at all.
8082
8083         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
8084         in option menus, so that (with luck) people won't copy it into
8085         their apps in the future.
8086
8087         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
8088         to gtk_option_menu_calc_size. This isn't perfect, but should fix
8089         a lot of problems with changing the size of the menu's menu
8090         items after adding it to the option menu.
8091
8092         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
8093
8094         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
8095         the text direction for a widget changes.
8096
8097         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
8098         ::direction_changed to get rid of various hacks.
8099
8100 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
8101
8102         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
8103         name.
8104
8105 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
8106
8107         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
8108         flag to the structure. Do not call XFreePixmap on pixmaps created
8109         by gdk_pixmap_foreign_new().
8110
8111 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
8112
8113         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
8114         value using GdkRGB functionality given GdkColormap and GdkColor.
8115         (name not final, waiting for inspiration.)
8116         
8117         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
8118         set the foreground/background of a GC using the GC's colormap
8119         and GdkRGB. (name not final, waiting for inspiration.)
8120
8121         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
8122         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
8123
8124         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
8125         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
8126         purely a function of the corresponding colormap. Make
8127         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
8128
8129         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
8130         gdk_pixbuf_*create_from_xpm_* in terms of
8131         gdk_pixbuf_new_from_xpm_data(), move into platform independent
8132         code.
8133
8134         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
8135         advantage of the new draw_rgb_32_image_dithalign.
8136
8137         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
8138
8139         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
8140         on each created GC.
8141
8142         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
8143
8144         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
8145         which we initialize from the drawable when the GC is created,
8146         if the drawable has a colormap.
8147
8148         * gdk/x11/gdkgc-x11.c: include string.h for memset.
8149
8150         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
8151
8152         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
8153
8154 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
8155
8156         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
8157         actually returning expose events, make sure to set
8158         the count field properly.
8159
8160         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
8161         accidentally reintroced bug which always cleared
8162         the graphics_exposures value. 
8163
8164 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
8165
8166         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
8167
8168 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
8169
8170         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
8171
8172 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
8173
8174         * docs/faq/gtk-faq.sgml: Start of Section 6.
8175
8176 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
8177
8178         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
8179         
8180         (Fixes problem with drawing childless frames. Pointed out
8181         by and a first patch from Anders)
8182         
8183         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
8184         compute a child_allocation, even if we don't have a child.
8185
8186         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
8187         Always chain to the parent's impl, even if we don't have a child.
8188
8189 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8190
8191         * gdk/gdkrgb.c: If possible, create only a single shm segment and
8192         use multiple parts of it instead of creating a bunch of separate
8193         segments, since the maximum number of segments per system is not
8194         large. (This might be worth backporting to GTK+-1.2.x if we make a
8195         new release )
8196
8197         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
8198         structure in preparation for per-colormap GdkRGB.
8199
8200         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
8201         to False when we get EINVAL from shmget so that the caller of
8202         gdk_image_new can retry with a smaller segment size.
8203
8204 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
8205
8206         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
8207
8208 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
8209
8210         * configure.in: make the current version number 1.3.1 (binary age 0,
8211         interface age 0).
8212         
8213         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
8214         gtkcompat.h is all we want.
8215
8216         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
8217         GLib primitive types. fixed g_type_register_fundamental() argument
8218         ordering.
8219
8220         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
8221         compiles.
8222
8223         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
8224         object code cleanup, comment trigraph fixes, etc...
8225
8226 2000-06-23  Havoc Pennington  <hp@redhat.com>
8227
8228         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
8229         instead of making up a bogus name for first_para_mark
8230
8231         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
8232         0 as a context ID
8233
8234 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
8235
8236         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
8237
8238 2000-06-21  Havoc Pennington  <hp@pobox.com>
8239
8240         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
8241         we didn't check window->bg_pixmap != GDK_NO_BG.
8242
8243         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
8244         gdk-pixbuf
8245
8246 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
8247
8248         * docs/faq/gtk-faq.sgm: Move file to here.
8249           TODO: Update Makfile.am 
8250
8251 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
8252
8253         * docs/gtk-faq.sgm: Add Section 2
8254
8255 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
8256
8257         * docs/gtk-faq.sgm: New file. Start of DocBook
8258           version of the FAQ.
8259
8260 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
8261
8262         * configure.in (GDK_PIXBUF_MAJOR): Define version
8263         numbers for GDK_PIXBUF_*, as they get substituted
8264         into a header file. Need to consider versioning
8265         for gdk-pixbuf more carefully later.
8266
8267 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
8268
8269         Work with srcdir != builddir.   
8270         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
8271         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
8272         * demos/testpixbuf.c: Likewise.
8273         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
8274         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
8275         <gdk/x11/gdkx.h>.
8276         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
8277         "gdk-pixbuf.h".
8278         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
8279
8280 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
8281
8282         * TODO.xml: Change 1.4 version numbers to 2.0.
8283
8284 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
8285
8286         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
8287         fixups to GTK+ standard.
8288
8289 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
8290
8291         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
8292         gdk-pixbuf.
8293
8294         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
8295         fixups for GObject.
8296
8297         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
8298         gdk-pixbuf with GDK dependencies moved into GDK.
8299         
8300         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
8301         move gdk-pixbuf-loader here until GObject has signals.
8302
8303         * demos/: New directory of demos. Move demos from
8304         gdk-pixbuf here.
8305
8306         * demos/pixbuf-init.c: Small bit of code to check for
8307         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
8308         set GDK_PIXBUF_MODULEDIR appropriately.
8309
8310         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
8311         define which no longer makes sense.
8312
8313 2000-06-21  Havoc Pennington  <hp@redhat.com>
8314
8315         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
8316         gtk_get_default_language
8317
8318         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
8319         new function to get the default language
8320
8321         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
8322         s/gtk_text_view_style_values/gtk_text_style_values/
8323
8324         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
8325         Add a "language" field to tags.
8326
8327         (gtk_text_tag_set_arg): Fix bug in setting
8328         "bg_full_height_set" tag.
8329
8330 2000-06-21  Havoc Pennington  <hp@redhat.com>
8331
8332         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
8333         in the interfaces
8334
8335         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
8336         stuff instead when possible.
8337
8338         * gtk/gtktexttypes.h: Delete some unused constants
8339
8340         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
8341         testtextbuffer.c: use glib instead of custom unicode routines
8342
8343 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
8344
8345         * docs/es/: Removed mistakenly added generated sgml
8346
8347         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
8348         Remove outdated info files.
8349
8350         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
8351         Moved tutorial files into subdir
8352
8353         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
8354         subdir.
8355
8356         * docs/man/gtk_button.pod: Remove. (contents will be
8357         integrated into gtk-reference button page.)
8358
8359         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
8360         docs/faq/Makefile.am: Adjust for new organization
8361
8362 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
8363
8364         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
8365         not $(MKINSTALLDIRS)
8366
8367 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
8368
8369         * gtk/testgtk.c (create_text): Finish the job Elliot started
8370         of removing font setting test for text widget. (Since text widget
8371         and GdkFont are not deprecated, and cause portability problems.)
8372
8373 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
8374
8375         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
8376         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
8377         Remove use of libunicode in favor of new GLib functions.
8378
8379         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
8380         nano-x, framebuffer. The X11 include is just a hack until we get
8381         the necessary functions in gdkcolor.h, so there is no reason to
8382         add other includes of platforms.
8383
8384         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
8385         window bigger than the screen change.
8386
8387         * gtk/testgtk.c: Revert some random changes from Elliot
8388         that had no particular point and were causing testgtkrc
8389         not to function correctly.
8390         
8391         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
8392         because GdkSegment and GdkRegionBox have the same fields,
8393         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
8394         results in clearer code.
8395
8396         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
8397         gdk_input_translate_coordinates): Fix missed GdkObjectification
8398
8399 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8400
8401         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
8402         * gtk/gtk{plug,socket}.h: Missed commits from previous.
8403
8404 2000-06-20  Havoc Pennington  <hp@redhat.com>
8405
8406         * modules/linux-fb/Makefile.am: Make this compile
8407         without framebuffer enabled
8408
8409         * gdk/linux-fb/Makefile.am: Add conditional to not build
8410         framebuffer unless specified in configure
8411
8412         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
8413         the size of the target instead of source if -1 was passed for
8414         width/height
8415
8416         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
8417         width/height confusion.
8418
8419 2000-06-19  Havoc Pennington  <hp@redhat.com>
8420
8421         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
8422         GDK_DRAWABLE_XID. In the future, we probably want to make it
8423         faster with G_DISABLE_CHECKS turned on.
8424
8425 2000-06-14  Havoc Pennington  <hp@redhat.com>
8426
8427         * gdk/Makefile.am: add gdkpixmap.c
8428
8429         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
8430         s/gdk_image_init/_gdk_windowing_image_init
8431
8432         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
8433         ref/unref
8434
8435         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
8436
8437         * gdk/gdkcompat.h: remove GdkWindowType compat, since
8438         GdkWindowType is now non-deprecated; 
8439         change gdk_window_get_type() compat to be
8440         gdk_window_get_window_type().
8441
8442         * gdk/gdkdnd.h: make GdkDragContext a GObject.
8443
8444         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
8445         virtual GObject. Make all functions call into the vtable.
8446         Move gdk_image_put() guts in here. Remove GdkDrawableType
8447         and gdk_drawable_get_type(), these are now GdkWindow-specific.
8448         draw_image, get_depth, get_size, set_colormap, get_colormap,
8449         get_visual added to the vtable.
8450         
8451         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
8452         GObject. Virtualize everything. 
8453         (gdk_gc_new_with_values): remove check for destroyed window,
8454         because now GdkWindow::create_gc will check this.
8455         (gdk_gc_set_values): New function to set GC values, this 
8456         was already implemented but wasn't in the header
8457
8458         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
8459
8460         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
8461         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
8462         remove _gdk_window_class; add _gdk_window_impl_get_type() and
8463         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
8464         _gdk_windowing_window_init, rename gdk_image_init to
8465         _gdk_windowing_image_init.
8466         
8467         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
8468         (gdk_draw_layout): Remove check for destroyed window, 
8469         because all the drawable methods already check it.
8470         
8471         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
8472         Add gdkpixmap.c which contains implementation of GdkDrawable
8473         virtual table (by chaining to a platform-specific implementation
8474         object).
8475         
8476         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
8477         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
8478         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
8479         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
8480         GdkColormapPrivate. 
8481
8482         * gdk/gdktypes.h: #include <glib-object.h>
8483
8484         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
8485         Move most functionality to platform-specific implementation
8486         object. GdkWindow itself now handles the backing store, then
8487         chains to the platform-specific implementation.
8488         (gdk_window_get_window_type): return GdkWindowType of the window.
8489         (gdk_window_peek_children): New routine, returns the children of 
8490         a GdkWindow
8491         (gdk_window_get_children): Was in X11-specific code and did 
8492         XQueryTree. Changed to simply return a copy of window->children; 
8493         so it can go in cross-platform code.
8494         
8495         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
8496
8497         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
8498         GdkColormap; just changed to use the new private data instead
8499         of casting to GdkColormapPrivate.
8500
8501         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
8502         gdk_cursor_new().
8503
8504         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
8505         (private data member in the GObject). 
8506         (xdnd_manager_source_filter): Function had broken 
8507         error handling, fix it (use gdk_error_trap_push).
8508
8509         * gdk/x11/gdkdrawable-x11.c: This file now implements
8510         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
8511         base class is purely for the convenience of the X port,
8512         and not part of the interface to cross-platform GDK.
8513
8514         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
8515         
8516         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
8517         specific to X, and returned by the create_gc virtual method
8518         of GdkDrawableImplX11. 
8519         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
8520         rather than gchar, this was also changed in the GdkGC vtable.
8521         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
8522         mask is 0, return immediately, instead of checking every flag.
8523         This is faster, and keeps us from segfaulting if values is NULL
8524         and the mask contains some nonzero flags.
8525
8526         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
8527         GdkWindow.
8528
8529         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
8530         GdkWindowPrivate is gone.
8531
8532         * gdk/x11/gdkim-x11.c: rename things that got renamed.
8533
8534         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
8535         remove the image_put stuff that got transferred to GdkDrawable.
8536         
8537         * gdk/x11/gdkinput.c: renamings
8538
8539         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
8540
8541         * gdk/x11/gdkpixmap-x11.c: GObject conversion
8542
8543         * gdk/x11/gdkprivate-x11.h: indentation fixes
8544
8545         * gdk/x11/gdkproperty-x11.c: renamings
8546
8547         * gdk/x11/gdkselection-x11.c: renamings
8548
8549         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
8550         implements the platform-specific "impl" object.
8551         Moved gdk_window_get_children to gdk/gdkwindow.c
8552
8553         * gdk/x11/gdkx.h: Remove all the private structs and private datas
8554         that no longer exist. Add declaration of GdkGCX11 object here.
8555         Fix all the macros to still work. 
8556
8557         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
8558         GdkDragContext from the boxed types since they are now GObjects.
8559
8560         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
8561         moved xthickness/ythickness into the instance. GtkStyleClass
8562         functions are now in the standard vtable for GtkStyle, so you have
8563         to create a GObject subclass to write a theme engine.
8564         (gtk_style_copy): fixed a leaked PangoFontDescription
8565         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
8566         can be the standard GObject function.
8567         
8568         * Throughout GTK:
8569         s/style->klass->[xy]thickness/style->[xy]thickness
8570         s/pango_layout_unref/g_object_unref/
8571
8572         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
8573         
8574         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
8575         accessing GDK internals.
8576
8577         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
8578         accessing GDK internals.
8579
8580 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8581
8582         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
8583
8584         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
8585         problem by calculating event position relative to the trough
8586         rather than the slider.
8587         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
8588
8589         * gdk/gdkgc.h: Add GDK_NOR.
8590
8591         * configure.in, Makefile.am: Add modules top level dir
8592         * configure.in: Only use pangox library if building x11 target.
8593         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
8594
8595 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8596
8597         * gtk/gtkcolorsel.c: Change private class member to be named
8598         private_data throughout the file.
8599
8600         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
8601         private_data to avoid clashing with keyword.
8602
8603 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8604
8605         * gdk/gdkdnd.h: Add comment to remove warning.
8606
8607 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
8608
8609         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
8610         Byelorussian language; changed the Makefile and file names 
8611         to reflect that.
8612
8613 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
8614
8615         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
8616         rather than gdk_window_hide; this makes things work
8617         correctly if the window is programmatically hidden while
8618         iconified.
8619
8620 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
8621
8622         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
8623         cut and paste typo where wrong pixmap was being
8624         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
8625
8626 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
8627
8628         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
8629         Add helper function to compute format / bytes 
8630         relationship. Use in a couple places to fix up
8631         errors which assume 8 * format.
8632
8633         * gtk/gtkselection.c (gtk_selection_request): Use 32
8634         rather than 8 * sizeof (GdkAtom), to work correctly
8635         on Alpha.
8636
8637 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
8638
8639         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
8640         libgtk.la
8641         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
8642         versions
8643
8644         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
8645         checking macros return NULL since the function has a return value.
8646
8647 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
8648
8649         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
8650         GTK+ from building at all.
8651
8652         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
8653
8654 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
8655
8656         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
8657         gtk/Makefile.am: make it possible to configure gtk for different
8658         targets on the same platform. The library name is now 
8659         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
8660         flag. Only the x11 target compiles right now.
8661         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
8662         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
8663         * gdk/nanox/gdk*generic*: delete generic region code.
8664         * gdk/linux-fb/gdk*generic*: delete generic region code.
8665         * README.nanox: update information.
8666         
8667 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
8668
8669         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
8670         prepend not append. (Pointed out by Brett Hall.)
8671
8672 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
8673
8674         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
8675
8676 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
8677
8678         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
8679         need this later, and this makes sure that the atexit for
8680         glib gets called after that for GDK, so atexits are
8681         properly ordered for object leak checking.
8682
8683         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
8684
8685         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
8686         pango_x_shutdown_display()
8687
8688         * gtk/simple.c (main): Close window on destroy.
8689
8690 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
8691
8692         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
8693         to treat initial creation different from setting with 
8694         regards to the graphics-exposures parameter, so add a parameter
8695         indicating whether this is initial or not.
8696
8697 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
8698
8699         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
8700         to sort of work by adding an extra return_exposes arg
8701         to gdk_event_translate() - it might be better to simply
8702         deprecate the function altogether and force people to rewrite
8703         without it. gdk_window_scroll() handles most of it, and where
8704         gdk_window_scroll() doesn't work, simply redrawing more does.
8705
8706         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
8707         assertion.
8708
8709         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
8710
8711         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
8712         bunch of pretty much useless /* Print debugging info */ comments 
8713         which had drifted away from the code they were commenting.
8714
8715 2000-06-02  Havoc Pennington  <hp@pobox.com>
8716
8717         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
8718         is in working order.
8719         
8720         * gtk/testtext.c: Change to reflect anonymous mark API
8721
8722         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
8723
8724         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
8725         field, which was unused.
8726
8727         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
8728         saves some typing.
8729
8730         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
8731
8732         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
8733         flag on the insertion point and selection bound
8734
8735         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
8736         make mark-manipulation functions take a GtkTextMark* instead of a
8737         mark name.
8738         
8739         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
8740         GtkTextMarkBody; will be used to detect attempts to delete
8741         the permanent marks (insert and selection bound)
8742
8743         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
8744
8745 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
8746
8747         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
8748         flag to on.
8749
8750         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
8751         Honor DOUBLE_BUFFRED_FLAG
8752
8753         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
8754         function to set the DOUBLE_BUFFERED flag.
8755
8756         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
8757         or not exposes done on the widget should be double-buffered.
8758
8759         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
8760         to be what would be expected. (Fixes problem with a
8761         g_return_if_fail() validating a TextDirection enumeration)
8762
8763 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
8764
8765         * gtk/gtkwidget.c: Remove all references to 
8766         offscreen flag which was no longer used.
8767
8768         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
8769
8770         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
8771         for non-null label_widget->parent.
8772
8773         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
8774         which no longer was used.
8775
8776         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
8777
8778         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
8779         for null arguments.
8780
8781         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
8782         check for destroyed windows.
8783
8784 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
8785
8786         * gtk/gtkimmulticontext.c: Add a finalize method and unref
8787         the slave context there.
8788
8789         * gtk/gtkinvisible.[ch]: Make reference counting behavior
8790         identical to GtkWindow.
8791
8792 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
8793
8794         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
8795         pangox to here, so we can write them independent of rendering
8796         system, using GDK primitives.
8797
8798         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
8799         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
8800         since we have a rendering-system independent implementation in
8801         terms of draw_glyphs().
8802         
8803         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
8804         function to render a single line.
8805
8806         * gdk/x11/gdkpango.c: Move the guts of this file mostly
8807         into ../gdkpango.c, which simplifies things, since we
8808         don't have to deal with raw X gc's.
8809
8810 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
8811
8812         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
8813         get the logical attributes for a given GtkTextLine.
8814
8815 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
8816
8817         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
8818         g_locale_get_codeset() to g_get_codeset() change.
8819
8820 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
8821
8822         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
8823         descriptions.
8824
8825         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
8826         the entry.
8827
8828         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
8829         redoing (vastly simplifying) for Pango. Still needs quite
8830         a bit of work. (Size selection is currently poor. List of 
8831         predefined sizes is not a good idea, since all of these
8832         sizes won't necessarily be distinct.)
8833
8834 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
8835
8836         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
8837         CODESET results for LANG=C.
8838
8839 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
8840
8841         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
8842         which takes a stringized pango font description;
8843         ignore the older 'font' and 'fontset' declarations.
8844
8845         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
8846         field with a GdkFont derived via gdk_font_from_description(),
8847         for compatibility. (Should we just remove it entirely?
8848         Probably too much compatibility breakage, but people
8849         should be migrating to the new Pango stuff as quickly
8850         as possible.)
8851
8852 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
8853
8854         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
8855
8856 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
8857
8858         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
8859         redoing; there are some bugs in size allocation right
8860         now, the semi-existant distinction between header / day
8861         fonts was removed, but, with Pango, could actually
8862         be made functional in a nice way.
8863         
8864         * gtk/testcalender: Move calender from examples into this
8865         directory as a test program. (We really need to restrcture
8866         testgtk into a whole directory full of tests for every
8867         widget or functionality group, separated into multiple .c
8868         files.)
8869
8870 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
8871
8872         * gtk/testgtk.c (file_exists): Fix stupid typo that
8873         was keeping RC file from being loaded.
8874
8875         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
8876         RC file font code.
8877
8878 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
8879
8880         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
8881         Add function to load a GdkFont from a PangoFontDescription.
8882
8883 2000-05-29  Tor Lillqvist  <tml@iki.fi>
8884
8885         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
8886         variable should be of type GdkEventPrivate.
8887
8888 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
8889
8890         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
8891         to have any widget for the label, use a GtkLabel widget
8892         to display the text. (Based partially on a patch from
8893         Anders Carlson.)
8894
8895         (Quite a bit of code reorganization - strip 90% of the
8896         guts out of gtkaspectframe and add a single virtual
8897         func to GtkFrameClass - compute_child_allocation.)
8898
8899 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
8900
8901         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
8902         (Removed clist->row_center_offset field because caching
8903         it wasn't saving time or code, added private function
8904         _gtk_clist_create_cell_layout()).
8905
8906 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
8907
8908         * gtk/gtkaccellabel.c: Pangoized.
8909
8910         * gtk/[hv]ruler.c: Pangoized
8911
8912 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
8913
8914         * gtk/gtkfilesel.c (gtk_file_selection_init):
8915         Use gtk_clist_set_column_auto_resize() to remove need
8916         need for manual column width computations.
8917
8918 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
8919
8920         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
8921         ensuring Pango correctness, and considerably simplifying the
8922         code.
8923         
8924         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
8925
8926         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
8927         getting of numbers of lines.
8928
8929         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
8930         to the actual requested width of the lable, not to the wrap
8931         width we set.
8932
8933         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
8934
8935         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
8936           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
8937
8938         * gtk/gtktextview.c: Fix structure inheritance.
8939
8940         * gtk/gtkprogressbar.c: Pangoize.
8941
8942 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
8943
8944         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
8945         in a function.
8946
8947         * gtk/gtktextlayout.c (find_display_line_above): Fixed
8948         bug with computing line tops.
8949
8950         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
8951
8952 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8953
8954         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
8955         and y_offset coordinates to do what we need now. (The offset between
8956         buffer and layout coordinates has been reintroduced, but is a 
8957         bit different than before.)
8958
8959         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
8960         handle the adjustments ourselves, and scroll as necessary using
8961         the new gdk_window_scroll().
8962         
8963         The advantage of this is that when we are incrementally revalidating,
8964         we are essentially rearranging things around the visible portion
8965         of the screen. With the old setup, the visible portion of the
8966         screen was moved around in the layout, so scrolling and redrawing
8967         to track that caused jumping of the display. Since we now
8968         control the scrolling ourselves, we can suppress this and
8969         only redraw when things actually change.
8970
8971 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
8972
8973         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
8974         the region not just redisplay it after-all, since we store the
8975         cursors in the LineDisplay. (Ugly interactions here between
8976         GtkLayout and GtkTextBTree here.)
8977         
8978         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
8979
8980 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
8981
8982         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
8983         Added function to scroll contents of a window while keeping the
8984         window constant. Works by XCopyArea or guffaw-scrolling depending
8985         on the details of how the window is set up. (guffaw-scrolling
8986         still needs to be filled in.)
8987
8988 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
8989
8990         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
8991         move the debugging that was tied to a global variable
8992         to that.
8993
8994         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
8995
8996         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
8997         validated flag, in line data instead of setting height/width to
8998         -1. This allows us to perform operations with partially invalid
8999         buffer (using the old size for invalid lines) and thus to do
9000         incremental vaidation. Keep height/width aggregates up to date
9001         when deleting text and rebalancing the tree.
9002
9003         * gtk/gtktextbtree.[ch]: Add functions validate a line
9004         (gtk_text_btree_validate_line), and to validate up
9005         to a number of pixels (gtk_text_btree_validate).
9006
9007         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
9008         that indicates that something is changed and a revalidation
9009         pass is needed. Change ::need_repaint to ::changed, and
9010         make it take old and new yranges instead of a rectangle.
9011
9012         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
9013         the line_data_destroy() function from 
9014         gtk_text_btree_add_view() to a virtual function in 
9015         GtkTextLayout
9016
9017         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
9018         since we are handling partial repaints in a different fashion
9019         now.
9020
9021         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
9022         of the selection instead of queueing a repaint on the
9023         entire widget.
9024
9025         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
9026         get_selection_bounds() down to btree, make the function
9027         in buffer a wrapper around the btree function.
9028
9029         * gtk/gtktextlayout.[ch]: Add functions to check if the
9030         layout is valid and to recompute either a range of pixels
9031         aroudn a line or a certain total number of pixels.
9032
9033         * gtk/gtktextlayout.[ch]: Cache a single line display;
9034         now that we only redraw the needed portions, the hit rate
9035         for this cache is quite high.
9036         
9037         * gtk/gtktextview.[ch]: Keep track of the first paragraph
9038         on the screen so that when re-laying-out the buffer, we can
9039         keep the same place. This requires connecting to ::value_changed
9040         on the adjustments
9041
9042         * gtk/gtktextview.[ch]: Add idle functions to revalidate
9043         the buffer after we receive an ::invalidated signal.
9044         
9045 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
9046
9047         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
9048         to max of allocation and layout size, not just to the
9049         layout size.
9050
9051         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
9052         Invalidate window so it gets redrawn properly.
9053
9054         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
9055         to mean the entire window.
9056
9057         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
9058         into public header.
9059
9060 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
9061
9062         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
9063         to get the name of a mark.
9064
9065         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
9066         to find the paragraph from a y position.
9067
9068 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
9069
9070         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
9071         nodes have width/height >= 0, not > 0.
9072
9073 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
9074
9075         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
9076         Add a size_only flag, so when we only need the size, we don't create
9077         useless appearance attributes.
9078
9079         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
9080         duplicate setting of font description.
9081
9082         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
9083
9084 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9085
9086         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9087         EXTRA_DIST. It does not work well when the file that
9088         everything depends on is not in the tarball.
9089
9090 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9091
9092         * gtk/testgtk.c: Some hacks and fixes so that it basically
9093         works when not sitting in the GTK+ build tree.
9094
9095 2000-05-03  Havoc Pennington  <hp@redhat.com>
9096
9097         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9098         Properly determine the ordering of the tag root and the current
9099         line within the tree. Previous algorithm only worked if the tag
9100         root's immediate parent was the common root of both the current
9101         line and the tag root.
9102
9103 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
9104
9105         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
9106         alignment.
9107
9108         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
9109         the widget text directional dynamically.
9110
9111         * gtk/gtktextview.[ch]: Added functions to get and set default
9112         wrap mode.
9113
9114 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
9115
9116         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
9117         in cursor location computation.
9118
9119 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
9120
9121         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
9122         vadjusment values properly when layout gets smaller.
9123
9124         * gtk/gtktextview.c (need_repaint_handler): Areas being
9125         passed in are far completely inaccurate, and sometimes
9126         too small, so, for now, just queue a redraw on the
9127         whole visible region.
9128
9129 2000-04-25  Havoc Pennington  <hp@redhat.com>
9130
9131         * gtk/gtktextbtree.c (summary_destroy): new function to 
9132         destroy tag summary nodes
9133         (gtk_text_line_next_could_contain_tag): this function was 
9134         totally broken if the line passed in wasn't below the tag
9135         root. Fix it.
9136         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
9137         "wildcard" case, we have to do a linear scan. Blah.
9138         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
9139         we have to do the linear scan
9140         (tag_removed_cb): When a tag is removed from the tag table, 
9141         remove the GtkTextTagInfo node from the btree.
9142         (gtk_text_btree_spew): Implement the spew function, for 
9143         our debugging pleasure.
9144
9145 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
9146
9147         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
9148         a problem with referring to the wrong buffer.
9149
9150         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
9151
9152         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
9153         font description to gtk_style_new() - otherwise things
9154         don't work without a .gtkrc file.
9155
9156         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
9157         tags table if we create it ourself, too.
9158
9159         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
9160         it was conflicting with XKB modifiers.
9161
9162         * gtk/gtktextview.[ch]: Add simple support for 
9163         GtkIMContext.
9164
9165 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
9166
9167         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
9168         with deletion from last commit.
9169
9170 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
9171
9172         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
9173         in the context from the current locale.
9174         
9175         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
9176         context, not hardcoded value.
9177
9178         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
9179         not logical.
9180
9181 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9182
9183         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
9184         attributes - that doesn't handle partial-glyph selection
9185         properly. Instead use new pango_layout_line_get_x_ranges()
9186         functionality to draw the selection.
9187
9188         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
9189         now properly handles out-of-range coordinates.
9190
9191         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
9192
9193         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
9194         public.
9195
9196         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
9197         for paragraphs opposite to the base direction of the widget.
9198
9199         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
9200
9201         * gtk/gtktextlayout.c: Don't split segments on marks, since that
9202         causes Arabic words to reshape as you cursor through.
9203
9204         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
9205         cursor position when moving vertically with the arrow keys and
9206         scrolling with page-up/page-down. (Arrow keys save only the X,
9207         scrolling saves both X and Y.)
9208
9209         This means you can line-up / line-down or page-up / page-down
9210         without losing your place, and also that moving vertically
9211         with the cursor keys keeps the same X position, not the same
9212         character count:
9213
9214         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
9215         arrow keys move by display lines, not paragraphs.
9216
9217 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9218
9219         * gtk/gtklayout.c: Make sure that the bin window is at least
9220         as big as the allocation. (Should we also make sure that the
9221         bin window is big enough to completely cover widget->window?)
9222
9223         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
9224         function to get the onscreen rectangle.
9225
9226         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
9227         for offsets in window coordinates.
9228
9229 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
9230
9231         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
9232         confusion.
9233
9234         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
9235         from the widget direction.
9236
9237         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
9238         Add a "direction" attribute.
9239
9240         * gtk/gtktextview.c: global s/tkxt/text_view/.
9241
9242         * gtk/testtext.c: Added long block of text in Arabic, to test out
9243         the direction attributes. (Some problems with the shaping system
9244         for arabic become obvious - like the fact the cursor splits words
9245         into unjoined pieces.)
9246
9247 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
9248
9249         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
9250
9251         * gtk/gtktextlayout.c: Fix up alignment.
9252
9253         * gtk/testtext.c: Add some tests for centering, wrapping.
9254
9255 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
9256
9257         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9258         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
9259         If we wrote GTK+-specific layout-render function this could just replace
9260         the draw_layout() operation in the vtable.
9261
9262         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
9263         pango_layout_get_cursor_pos() and use that function.
9264
9265         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
9266         is a non-static symbol.
9267
9268         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
9269         with gtk_text_btree_find_line_by_y()
9270
9271         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
9272         renderer that handles GtkTextAppearance attributes.
9273
9274         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
9275
9276           - Move the values in the style that don't affect geometry into a
9277             GtkTextAppearance structure.
9278           - Change underline to take a PangoUnderline and "font" a string
9279             representation of a font description
9280           - Add a "font_desc" attribute which takes a FontDescription structure.
9281
9282         * gtk/gtktextlayout.[ch]:
9283
9284           - Get rid of the display-line list per each line. Instead, we
9285             generate, on demand, a GtkTextLineDisplay structure which]
9286             contains a PangoLayout * and other necesary information
9287             (offsets, cursor locations) for displaying a paragraph.
9288           - Get rid of the code to wrap lines, create display chunks,
9289             etc. Instead, we just go through a paragraph and convert
9290             it into the necessary inputs to a PangoLayout.
9291           - Implement a new attribute type, GtkTextAttrAppearance. This
9292             holds a GtkTextAppearance, and is used to pass colors, 
9293             stipple, etc, through from the layout to the display without
9294             having to use lots and lots of individual attributes.
9295           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
9296             in terms of PangoLayout functions.
9297         
9298         * gtk/gtktextview.c: 
9299          
9300           - Handle passing the necessary PangoContext to the layout
9301           - Some fixups in painting to deal with the automatic backing store
9302             and offsetting of GTK+-1.4
9303           - Add a style_set handler so that the default style reacts
9304             properly to theme changes.
9305         
9306         * gtk/gtktext?*.[ch]: Random code-style fixes.
9307
9308         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
9309
9310 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
9311
9312         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
9313         in original form preparatory to Pango-ization and gdkimcontext-ization.
9314
9315 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
9316
9317         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
9318         so that we can derive from gtkimcontext in language bindings properly.
9319
9320 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
9321
9322         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
9323         Add a compose table including (almost) all the compose combinations
9324         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
9325         data in the XIM implementation.
9326
9327         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
9328         Moved functions to convert keyvalues from and to unicode here from
9329         the win32 port and made them public.
9330
9331 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9332
9333         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
9334
9335 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
9336
9337         * gtk/gtkimcontext.[ch]: Base class for new input context system
9338
9339         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
9340         the real input context implementation to be loaded from modules
9341         and switched on the fly.
9342
9343         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
9344         context that just does direct keysymbol => unicode translation.
9345
9346         * gtk/gtkentry.[ch]: Start switching editing over to using
9347         GtkInputContext. (No handling of preedit yet.)
9348
9349 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
9350
9351         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
9352         many substitutions. (klass should not be subsituted.)
9353
9354 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
9355
9356         * configure.in: Add checks for Pango
9357
9358         * configure.in docs/Makefile.am: Add test for sgml2html
9359         and allow 'make dist' without building html, but print out
9360         warnings in that case. (For making snapshots)
9361
9362         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
9363         Add Pango libraries and C flags
9364
9365         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9366         Add function (gdk_draw_layout) to draw a pango layout.
9367
9368         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
9369         for getting Pango contexts for GDK.
9370
9371         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
9372
9373         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
9374         editing.
9375
9376         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
9377         keysym => unicode translations. More languages can be added
9378         here, but real input-method support is needed.
9379
9380         * docs/Changes-1.4.txt: Added note about entry behavior.
9381         
9382         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
9383         to set the reading direction for a widget and the global direction.
9384         Add test which allows toggling the global direction. Two private
9385         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
9386
9387         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
9388           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
9389
9390         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
9391
9392         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
9393         underlining now handled by Pango.
9394
9395         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
9396         to RCStyle and Style. (Having both this and the old font name and GdkFont 
9397         is temporary.)
9398
9399         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
9400         convenience functions for creating contexts and layouts for widgets.
9401
9402         * gtk/testgtk.c: Enhance label tests with multilingual labels.
9403
9404 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
9405
9406         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
9407         titles to be active, even if they aren't visible.
9408         (gtk_clist_column_titles_passive):  Ditto.
9409
9410 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
9411
9412         * gtkmenu.c:
9413         * gtkmenu.h:
9414         * gtktypeutils.h: Spelling/grammar fixes in comments.
9415
9416 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
9417
9418         * gdk/nanox/*.h: add missing header files.
9419
9420 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
9421
9422         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
9423         send_event to TRUE.
9424         (gtk_drawing_area_size): queue a resize.
9425
9426 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
9427
9428         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
9429         the handlers, also invalidate them. bug nailed down by Karl Nelson
9430         <kenelson@ece.ucdavis.edu>.
9431
9432 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
9433
9434         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
9435         "(nil)" foundries, patch from Grigorios Magklis.
9436
9437         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
9438         on non-available fonts, based on a patch by Grigorios Magklis
9439         <maglis@cs.rochester.edu>.
9440
9441 2000-05-18  Elliot Lee  <sopwith@redhat.com>
9442
9443         * gdk/x11/gdkregion-generic.c: If a region does not have any
9444         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
9445         instead of GDK_OVERLAP_RECTANGLE_IN.
9446
9447 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
9448
9449         * gtk/gtklayout.c (gtk_layout_map): Remove references to
9450         OFFSCREEN, as it is no longer necessary.
9451
9452 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
9453
9454         * gtk/gtkcolorsel.c: Patch from David Santiago
9455         <mrcooger@cyberverse.com> to change things so that the 
9456         indicator of the active palette entry is done independently,
9457         not via the focus, since it should always be visible.
9458
9459 2000-05-17  Tor Lillqvist  <tml@iki.fi>
9460
9461         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
9462         refcount leaks as in the X11 backend.
9463
9464         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
9465         cosmetics.
9466
9467         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
9468         backend. Add _gdk_windowing_window_destroy().
9469
9470         * gtk/gtkcolorsel.c: Include correct backend-specific header.
9471         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
9472         either, but these probably do exist on nanox?)
9473         
9474         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
9475         which isn't necessarily defined by <math.h>.
9476
9477         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
9478         ancestry past GtkObject.
9479
9480         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
9481         from DLL on Win32.
9482
9483         * gtk/gtk.def: Update corresponding to recent changes.
9484
9485         * gtk/makefile.{cygwin,msc}: Updates.
9486
9487 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
9488
9489         * docs/Changes-1.4.txt: A bit of editing.
9490
9491         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
9492         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
9493         to clear the update area for the window, and clear it
9494         when hiding a window.
9495
9496         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
9497         if window destroyed.
9498
9499         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
9500
9501         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
9502         gdk_window_destroy() to the generic code, since there was a lot of 
9503         window-system-independent logic it in. Add a function:
9504         
9505          _gdk_window_destroy() 
9506
9507         to the internal API to destroy a window without unreferencing it.
9508         Add a function:
9509
9510          _gdk_windowing_window_destroy()
9511
9512         That does the windowing-system-dependent part of destroying 
9513         the window.
9514
9515 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
9516
9517         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
9518
9519 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
9520
9521         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
9522         Make gtk_widget_shape_combine_mask() keep a reference count on
9523         the pixmap since it keeps it around.
9524
9525 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
9526
9527         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
9528         leak.
9529
9530         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
9531         leak with event filters.
9532
9533 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
9534
9535         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
9536         signal handlers with the right data arguments. (Fixes
9537         some warnings when a widget was repeatedly set as a drag
9538         destination.)
9539
9540         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
9541         window so we can avoid avoid setting the DND properties on the
9542         toplevel window repeatedly.
9543
9544 2000-05-13  Tor Lillqvist  <tml@iki.fi>
9545
9546         * gdk/win32/gdkwin32.h: Define more message types missing from
9547         mingw headers.
9548
9549         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
9550         call gdk_window_destroy_notify(). It was never called. This
9551         probably meant that the GdkWindow was never freed. Thanks Owen for
9552         noticing (!).
9553
9554         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
9555         window as destroyed before calling DestroyWindow(). DestroyWindow()
9556         causes a call to the window procedure (gdk_WindowProc), which
9557         calls gdk_event_translate(), which calls
9558         gdk_window_destroy_notify(), which gets confused unless the window
9559         is set as destroyed.
9560
9561         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
9562         this function to indicate it's win32 only. Put inside #ifdef
9563         G_ENABLE_DEBUG.
9564
9565         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
9566         debugging function. (gdk_event_translate:) Add a default branch
9567         that uses the above function to print debug messages with all
9568         Windows messages symbolically.
9569
9570         * gdk/win32/gdkprivate-win32.h: Declare it, and
9571         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
9572
9573 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
9574
9575         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
9576         public header file.
9577
9578 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
9579
9580         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
9581
9582         * gtk/gtktext.c: made the adjustments no-construct args, simply
9583         provide default adjustments.
9584         (gtk_text_destroy): release adjustments.
9585
9586         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
9587         adjustment argument non-construct.
9588
9589         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
9590         instead of in finalize.
9591         (gtk_progress_get_text_from_value): 
9592         (gtk_progress_get_current_text): 
9593         (gtk_progress_set_value): 
9594         (gtk_progress_get_percentage_from_value): 
9595         (gtk_progress_get_current_percentage): 
9596         (gtk_progress_set_percentage): 
9597         (gtk_progress_configure): ensure an adjustment is present.
9598
9599 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
9600
9601         * gtk/gtkcolorsel.[hc]:
9602         * gtk/gtkcolorseldialog.[hc]:
9603         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
9604         their parent implementation, use bit fields for boolean values, don't
9605         create unused widgets, usage of glib types, braces go on their own
9606         lines, function argument alignment, #include directives etc. etc. etc..
9607
9608         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
9609
9610 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
9611
9612         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
9613
9614         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
9615         of NULL.
9616
9617         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
9618         to freed data.
9619         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
9620
9621         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
9622         to NULL when the toplevel is getting destroyed.
9623         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
9624         (gtk_menu_destroy): 
9625         (gtk_menu_init): store the information of whether we have to
9626         readd the initial child ref_count during destruction in a new
9627         GtkMenu field needs_destruction_ref_count.
9628
9629         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
9630         here, those reading: learn from my mistake! ;)
9631         in order for set_?adjustment to support a default adjustemnt if
9632         invoked with an adjustment pointer of NULL, the code read (pseudo):
9633         if (v->adjustment) unref (v->adjustment);
9634         if (!adjustment) adjustment = adjustment_new ();
9635         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
9636         now imagine the first unref to actually free the old adjustment and
9637         adjustment_new() creating a new adjustment from the very same memory
9638         portion. here, the latter comparision will unintendedly fail, and
9639         all hell breaks loose.
9640         (gtk_viewport_set_hadjustment):
9641         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
9642         after unreferencing it.
9643
9644         * gtk/gtkcontainer.[hc]: removed toplevel registration
9645         functions: gtk_container_register_toplevel(),
9646         gtk_container_unregister_toplevel() and
9647         gtk_container_get_toplevels() which had wrong semantics
9648         anyways: it didn't reference and copy the list.
9649
9650         * gtk/gtkwindow.c: we take over the container toplevel registration
9651         bussiness now. windows are registered across multiple destructions,
9652         untill they are finalized. the initial implicit reference count
9653         users are holding on windows is removed with the first destruction
9654         though.
9655         (gtk_window_init): ref & sink and set has_user_ref_count, got
9656         rid of gtk_container_register_toplevel() call. add window to
9657         toplevel_list.
9658         (gtk_window_destroy): unref the window if has_user_ref_count
9659         is still set, got rid of call to
9660         gtk_container_unregister_toplevel().
9661         (gtk_window_finalize): remove window from toplevel list.
9662         (gtk_window_list_toplevels): new function to return a newly
9663         created list with referenced toplevels.
9664         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
9665
9666         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
9667         adjustment a non-construct arg.
9668         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
9669         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
9670         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
9671
9672         * gtk/gtkrange.c: added some realized checks.
9673         (gtk_range_destroy): get rid of the h/v adjustments in the
9674         destroy handler instead of finalize. remove timer.
9675         (gtk_range_get_adjustment): demand create adjustment.
9676
9677         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
9678         we simply create them on demand now and get rid of them in
9679         the destroy handler.
9680         (gtk_viewport_destroy): get rid of the h/v adjustments in the
9681         destroy handler instead of finalize.
9682         (gtk_viewport_get_hadjustment): 
9683         (gtk_viewport_get_vadjustment): 
9684         (gtk_viewport_size_allocate): demand create h/v adjustment
9685         if required.
9686
9687         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
9688         gtk_widget_real_destroy () functionality.
9689         (gtk_widget_real_destroy): reinitialize with a new style, instead
9690         of setting widget->style to NULL.
9691
9692 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
9693
9694         * gtk/gtkcalendar.c:
9695         * gtk/gtkbutton.c: ported _get_type() implementation over to
9696         GType, either to preserve memchunks allocation facilities,
9697         or because Gtk+ 1.0 GtkTypeInfo was still being used.
9698
9699         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
9700         over. prepare for ::destroy to be emitted multiple times.
9701         removed reference tracer magic. chain into GObjectClass.shutdown()
9702         to emit ::destroy signal.
9703
9704         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
9705         fundamental.
9706
9707         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
9708         cludge.
9709
9710         * gtk/gtksocket.c:
9711         * gtk/gtkplug.c:
9712         * gtk/gtklayout.c:
9713         * gtk/gtklabel.c:
9714         * gtk/gtkargcollector.c:
9715         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
9716         not being a fundamental anymore, and to work with the new
9717         type system (nuked fundamental type varargs clutter).
9718
9719         * gtk/*.c: install finalize handlers in the GObjectClass
9720         part of the class structure.
9721         changed direct GTK_OBJECT()->klass accesses to
9722         GTK_*_GET_CLASS().
9723         changed direct object_class->type accesses to GTK_CLASS_TYPE().
9724
9725         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
9726         GType. made most of the GTK_*() type macros and Gtk* typedefs
9727         simple wrappers around macros and types provided by GType.
9728         most notably, a significant portion of the old API vanished:
9729         GTK_TYPE_MAKE(),
9730         GTK_TYPE_SEQNO(),
9731         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
9732         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
9733         GTK_TYPE_ARGS,
9734         GTK_TYPE_CALLBACK,
9735         GTK_TYPE_C_CALLBACK,
9736         GTK_TYPE_FOREIGN,
9737         GtkTypeQuery,
9738         gtk_type_query(),
9739         gtk_type_set_varargs_type(),
9740         gtk_type_get_varargs_type(),
9741         gtk_type_check_object_cast(),
9742         gtk_type_check_class_cast(),
9743         gtk_type_describe_tree(),
9744         gtk_type_describe_heritage(),
9745         gtk_type_free(),
9746         gtk_type_children_types(),
9747         gtk_type_set_chunk_alloc(),
9748         gtk_type_register_enum(),
9749         gtk_type_register_flags(),
9750         gtk_type_parent_class().
9751         replacements, where available are described in ../docs/Changes-1.4.txt.
9752         implemented compatibility functions for the remaining API.
9753
9754         * configure.in: depend on glib 1.3.1, use gobject module.
9755
9756 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
9757
9758         * TODO.xml: Various updates to current status.
9759
9760 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
9761
9762         * gtk.m4: Print out version when test succeeds.
9763
9764 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
9765
9766         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
9767         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
9768         
9769         (Original triangle color selector from Simon Budig
9770         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
9771         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
9772         Santiago <mrcooger@cyberverse.com>)
9773
9774         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
9775         out into a separate widget.
9776
9777         * gtk/testgtk.c: Add some checkbuttons for toggling palette
9778         and opacity controls.
9779
9780 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
9781
9782         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
9783         snuck in prematurely.
9784
9785 2000-05-07  Tor Lillqvist  <tml@iki.fi>
9786
9787         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
9788         had deleted a ! operator by mistake, which caused
9789         GDK_SELECTION_CLEAR events never to be generated, which caused
9790         only the first copy to the clipboard from an gtkeditable to
9791         actually cause a copy to the Windows clipboard.
9792
9793 2000-05-06  Tor Lillqvist  <tml@iki.fi>
9794
9795         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
9796         compilation, too. Current mingw gcc distributions include the
9797         necessary headers. Also the necessary IIDs are now in mingw
9798         headers/libraries, and own definitions unnecessary.
9799
9800         More hacking on OLE2 DND, still doesn't work though, and thus
9801         ifdeffed out.
9802
9803         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
9804         here, too.
9805
9806 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
9807
9808         * gdk/nanox/*: nano-X port work in progress.
9809         * gdk/simple.c: simple test for Gdk.
9810         * README.nanox: notes about the port: read this first!
9811         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
9812         with nano-X.
9813
9814 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
9815
9816         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
9817         gdk_window_clear() into common code, implement in terms of
9818         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
9819         not redirected to the backing rectangle.
9820
9821 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9822
9823         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9824         EXTRA_DIST. It does not work well when the file that
9825         everything depends on is not in the tarball.
9826
9827 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
9828
9829         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
9830         with recursion where process_updates() is called from
9831         an expose handler. (GtkTextView is highly broken in
9832         doing this, but it should work, so it is a nice test
9833         case.)
9834
9835 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9836
9837         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
9838         handle the case where updates are queued during processing of
9839         updates.
9840
9841 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9842
9843         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
9844         window is on gdk_display - use that instead of segfaulting.
9845
9846 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
9847
9848         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
9849         broken and require an empty arg, give it to them.
9850
9851 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
9852
9853         * gtk/gtklabel.h: indentation fixes.
9854
9855 2000-05-02  Tor Lillqvist  <tml@iki.fi>
9856
9857         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
9858         draw too narrow or too low arcs, they seem to fail, at least with
9859         some display drivers.
9860
9861         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
9862
9863         Large changes to the Win32 backend, partially made necessary by
9864         the changes to the backend-independent internal
9865         structures. Attempts to implement similar backing store stuff as
9866         on X11. The current (CVS) version of the Win32 backend is *not* as
9867         stable as it was before the no-flicker branch was merged. A
9868         zipfile with that version is available from
9869         http://www.gimp.org/win32/. That should be use by "production"
9870         code until this CVS version is usable. (But note, the Win32
9871         backend has never been claimed to be "production quality".)
9872
9873         * README.win32: Add the above comment about versions.
9874
9875         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
9876
9877         * gdk/gdk.def: Update.
9878
9879         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
9880         presumably be replaced by some more better mechanism as 1.4 gets
9881         closer to release shape.
9882
9883         * gdk/makefile.{cygwin,msc}: Update.
9884
9885         * gdk/win32/*.c: Correct inclusions of the backend-specific and
9886         internal headers. Change code according to changes in these. Use
9887         gdk_drawable_*, not gdk_window_* where necessary.
9888
9889         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
9890         our old DND.
9891
9892         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
9893         to interpret single characters as UTF-8. Thanks to Hans Breuer.
9894         Use correct function name in warning messages.
9895
9896         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
9897         GSourceFuncs gdk_event_prepare and gdk_event_check.
9898         (gdk_event_get_graphics_expose): Do implement, use
9899         PeekMessage. Thanks to Hans Breuer.
9900         (event_mask_string): Debugging function to print an GdkEventMask.
9901         (gdk_pointer_grab): Use it.
9902
9903         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
9904         (old) book I used claimed was Hangul actually is CJK Unified
9905         Ideographs Extension A. Also, Hangul Syllables were missing.
9906         Improve logging.
9907
9908         * gdk/win32/gdkgc-win32.c: Largish changes.
9909
9910         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
9911         g_win32_getlocale() from GLib, and not setlocale() to get current
9912         locale name.
9913
9914         * gdk/win32/gdkprivate-win32.h
9915         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
9916         gdkwin32.h, similarily as in the X11 backend.
9917
9918         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
9919         assignment was used instead of equals in if test. Thanks to Hans
9920         Breuer.
9921
9922         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
9923         the X11 version.
9924
9925         * gdk/win32/makefile.{cygwin,msc}
9926         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
9927         path to the Win32 headers that works also with the mingw compiler.
9928
9929         * gtk/gtkstyle.c: Include <string.h>.
9930
9931 2000-04-26  Havoc Pennington  <hp@redhat.com>
9932
9933         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
9934         replacing the broken gtk_label_get ()
9935
9936 2000-04-15  Havoc Pennington  <hp@pobox.com>
9937
9938         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
9939         this keeps scanner scripts from getting confused.
9940
9941         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
9942         data, rather than void
9943
9944 2000-04-15  Tor Lillqvist  <tml@iki.fi>
9945
9946         * gtk/gtkclist.c (gtk_clist_motion)
9947         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
9948         with is_hint FALSE, get x and y from the event. They used to be
9949         used uninitialised. The Win32 backend never sends motion events
9950         marked as hints. This for instance fixes the annoying file and
9951         font selector behaviour in the Win32 version.
9952
9953 2000-04-14  Tor Lillqvist  <tml@iki.fi>
9954
9955         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
9956         gtk_private_n_signals variables, they are used by some software,
9957         sigh.
9958
9959         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
9960         installation directory from the Registry, where the installer
9961         should have put it.
9962
9963 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
9964
9965         * gdk/x11/Makefile.am: Fix problem with installation directory for
9966         gdkx.h
9967
9968         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
9969         <mrcooger@cyberverse.com> so that when selecting menus with the
9970         mouse, the first item will not be selected, but when selecting
9971         with an accelerator, or navigating left-right on a menubar with
9972         the menus popped up, the first item will be selected.
9973
9974 2000-04-05  Dan Damian  <dand@dnttm.ro>
9975
9976         * configure.in: Added "ro" to ALL_LINGUAS.
9977
9978 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
9979
9980         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
9981         indentation.
9982
9983         * Makefile.am (EXTRA_DIST): Fix typo.
9984
9985         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
9986         to catch gdkconfig.h
9987
9988         * gtk/gtkitemfactory.c: Added FIXME.
9989
9990 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
9991
9992         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
9993         s/return_if_fail/return_val_if_fail/g and add a return value.
9994
9995 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9996
9997         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
9998         merge slipup.
9999
10000         * gdk/gdkinput.h: Fix missing line from merge.
10001
10002 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
10003
10004         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
10005         instead of gdkprivate.h.
10006
10007 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
10008
10009         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
10010         parent class to correctly be GtkDialogClass.
10011
10012 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
10013
10014         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
10015         toplevel windows and their immediate children by their parents,
10016         since the size of toplevel windows is out of our immediate
10017         control and we don't get any real benefit from trying to track
10018         this size for clipping.
10019
10020         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
10021         for input_only windows.
10022
10023         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
10024         to fix some hacks and make sure that we don't try to set the
10025         background of input only windows.
10026
10027 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
10028
10029         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
10030         the _really_ internal stuff, and leave gdkprivate.h for the fake private
10031         stuff that we've traditionally exposed.
10032
10033         * gdk/**.c: Use gdkinternals.h where appropriate.
10034
10035         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
10036         not include gdkprivate-x11.h, move all stuff of conceivable public
10037         interest into gdkx.h; keep all really private stuff in
10038         uninstalled header gdkprivate-x11.h.
10039
10040         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
10041         image->image_put on windows through a new function _gdk_window_draw_image()
10042         to allow us to do backing store for images. (Sort of ugly)
10043
10044         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
10045         contexts locally so that we can offset them properly when drawing 
10046         onto backing pixmaps.
10047
10048         * gdk/gdkinput.h: Reindented
10049
10050         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
10051         pixmap or color for the window, so we can properly initialize
10052         our double-buffer pixmaps, and also so that we temporarily set
10053         a background of None while scrolling.
10054
10055         * gdk/gdkregion.h: Revise region boolean operators to have an
10056         interface that is actually convenient - switch from creating new
10057         regions on every op, to "methods" that modify existing regions
10058         (A = A OP B). 3 argument forms which allow dest == src, would also
10059         be possible, but the current interfaces seem to map nicely
10060         onto what needs to be done. (There is quite a lot of region
10061         code in GDK now.)
10062
10063         * gdk/gdkregion.h: Add constructor from rectangle and a copy
10064         operator.
10065
10066         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
10067         gdkpoly-generic.h: Copy region code from Xlib, switch it over
10068         to 32 bit coordinates, modify it to be mostly GTK+ style
10069         and to have interfaces that match gdkregion.h.
10070
10071         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
10072         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
10073         create a backing pixmap and redirect all drawing to
10074         that backing pixmap until a matching gdk_window_end_paint().
10075
10076         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
10077         Create a special drawable class for GtkWindow's that 
10078         redirects the drawing to the backing pixmap as necessary
10079         and then calls the real operations in _gdk_windowing_window_class.
10080
10081         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
10082         Store invalid region for each window. Generate expose events for invalid
10083         region in an idle. This replaces both the expose compression
10084         and the redrawing queuing in GTK+. It is both more efficient and
10085         simpler than either one individually and far more so then the
10086         combination.
10087
10088         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
10089         Emulate 32 bit coordinates for windows with 16 bit coordinates
10090         by offsetting drawing, guffaw scrolling techniques and
10091         mapping/unmapping child windows as necessary.
10092
10093         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
10094         where, when invalid regions are processed, the region is stored,
10095         and if expose events come in that are detectably duplicate
10096         the processed exposes (by comparison of event serial numbers),
10097         the stored region is subtracted out of those exposes.
10098
10099         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
10100         regions newly exposed when scrolling or resizing windows.
10101         This, combined with forcing processesing of queued invalidated
10102         regions, gives nice flicker-free scrolling.
10103
10104         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
10105         invalidated regions after every scroll.
10106
10107         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
10108         emulation in GDK. Its, for all practical purposes just a
10109         GtkViewport/GtkFixed hybrid now.
10110
10111         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
10112         (16-bit) structures as necessary instead of just casting.
10113
10114         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
10115         in terms of the structures from gdkregion-generic.c, using appropriate
10116         offsets from GDK to X11 coordinates. Cache clip mask and
10117         origin and ts origin locally and only flush to the server
10118         when drawing, to avoid constantly setting and resetting these
10119         values when offsetting GC's for scrolling and backing pixmaps.
10120
10121         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
10122
10123         * gtk/gtkcontainer.c: Call process_all_updates at end
10124         of resizing to reduce flicker. (Avoids having redraw
10125         lag arbitrarily behind resize under some circumstances)
10126
10127         * gtk/gtkentry.c: Remove old backing store code, and simply take
10128         advantage of the new backing store capabilities of GDK.
10129
10130         * gtk/gtkmain.c: Simple implementation of widget backing
10131         store - simply push a paint while handling each expose.
10132         (Should really be configurable widget for widget.)
10133         
10134         * gtk/gtkwidget.c: Remove all the old complicated redraw
10135         code, and simply invalidate the GDK windows from
10136         gdk_window_queue_clear(), etc. (Sigh, so much carefully
10137         debugged complexity ... gone to the winds.)
10138
10139         Remove all the code for suppressing expose events while
10140         resizes are pending; this isn't needed since the invalid
10141         areas won't be processed until after the resizes are
10142         processed, since they are in a lower priority idle.
10143
10144 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
10145
10146         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
10147         and height of dest rectangle for non-intersecting rectangles.
10148
10149 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
10150
10151         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
10152         for GdkRectangle.
10153
10154 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
10155
10156         * gdk/gdk{events,image,private,types,window}.h
10157          gdk/x11/gdkinputprivate.h: Change all coordinates
10158          from int16 to int. Also, Change width and height from
10159          unsigned to signed to avoid all the stupid C 
10160          signedness bugs.
10161
10162 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
10163
10164         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
10165         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
10166         Add some more detailed checking.
10167
10168         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
10169         New function to retrieve the depth of a drawable.
10170
10171         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
10172         field, reorder fields to save memory. 
10173
10174 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
10175
10176         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
10177         of the background image instead of scaling the background down to
10178         a line.
10179
10180         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
10181         which temporarily set slider to wrong size.
10182
10183         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
10184         queue_clear().
10185
10186 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
10187
10188 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
10189
10190         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
10191
10192 2000-03-17  Tor Lillqvist  <tml@iki.fi>
10193
10194         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
10195         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
10196
10197         * gdk/win32/gdkfont-win32.c
10198         * gdk/win32/gdkproperty-win32.c
10199         * gdk/win32/gdkselection-win32.c
10200         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
10201         now declared such.
10202
10203 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
10204
10205         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
10206
10207 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
10208
10209         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
10210         is called without trapping X errors.
10211
10212 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
10213
10214         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
10215         way into the fontset lists.
10216
10217 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
10218
10219         * gtk/gtkthemes.h: add extern "C" scope.
10220
10221 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
10222
10223         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
10224         to make appends to the list constant. (gtk-guy-990901-0.patch)
10225
10226 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
10227
10228         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
10229         for the typename hash table.
10230
10231 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
10232
10233         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
10234         to make sure we never divide by zero. 
10235         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
10236
10237 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
10238
10239         * gtk/gtkfontsel.c: Apply patch from
10240         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
10241         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
10242
10243         Also, some cleanups in atom handling.
10244
10245 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
10246
10247         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10248         not GtkWidget.
10249
10250 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
10251
10252         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
10253         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
10254         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
10255         more guint wrap-around bugs before going to bed.
10256
10257 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
10258
10259         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
10260         guint wrap arounds in allocation.width.
10261
10262         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
10263         process untill we fit the allocation given.
10264
10265 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
10266
10267         * gtk/gtkwidget.c:
10268         (gtk_widget_unrealize): guard widget access with ref/unref
10269         around signal emission.
10270         (gtk_widget_hide): same here, but also check its destroyed
10271         state before queueing a resize.
10272
10273 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
10274
10275         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
10276         of gtk_default_insensitive_bg as insensitive base color.
10277
10278         * gtk/gtktext.c (gtk_text_style_set): set the background color according
10279         to the widget's state.
10280         (gtk_text_realize): same here.
10281         (gtk_text_state_changed): same here.
10282         (draw_bg_rect): compare background color against base[] from
10283         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
10284
10285 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
10286
10287         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
10288         grabs are active, unless a delete event is send to the toplevel
10289         of the currently grab holding widget.
10290
10291 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
10292
10293         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
10294         debugging g_print's.
10295
10296 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
10297
10298         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
10299         ever make the scrolled-window requisition ever depend on the 
10300         visibility state of the scrollbars for the AUTOMATIC policy. 
10301         This breaks the GTK+ requisition model, and causes loops.
10302
10303 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
10304
10305         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
10306         the default font to avoid problems with XFree86-4.0 where the
10307         default charset is iso10646-1, not iso8859-1.
10308
10309 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
10310
10311         * acinclude.m4
10312         * config.guess
10313         * config.sub
10314         * ltconfig
10315         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
10316
10317         * gtk/Makefile.am: minor cosmetic consistency tweak
10318
10319 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
10320
10321         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
10322         the activate_time to 0, so that we handle a quick
10323         press/release press/release properly and don't suppress
10324         the second release. (Red Hat bug #7545)
10325
10326 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
10327
10328         * gtk/gtkctree.c (row_delete):
10329         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
10330         bugs with destruction notifier, *always* update internal
10331         structures *before* calling user code.
10332
10333 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
10334
10335         A few more fixes for bug #5487, #2051, #2677.
10336         * gtk/gtkclist.c : 
10337         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
10338         not GDK_BUTTON_PRESS.
10339         (resync_selection): resync only if selection_mode is
10340         GTK_SELECTION_EXTENDED
10341         * gtk/gtkctree.c (resync_selection): same here
10342
10343 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
10344
10345         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
10346         gdk_drag_get_selection() and gtk_menu_detach().
10347
10348         [ From Jeroen Ruigrok/Asmodai ]
10349
10350 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
10351
10352         * gtk/gtknotebook.c (gtk_notebook_size_request): 
10353         page->tab_label can be NULL.
10354
10355 2000-01-25  Havoc Pennington  <hp@pobox.com>
10356         
10357         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
10358         arg is boolean
10359
10360         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
10361
10362         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
10363
10364         * gdk/gdkproperty.c (gdk_property_get): return boolean
10365
10366         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
10367
10368         * gdk/gdkim.c (gdk_im_ready): return boolean
10369
10370         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
10371
10372         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
10373         glib clash, should fix glib)
10374
10375         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
10376         (gdk_get_show_events): return gboolean, and canonicalize 
10377         to TRUE/FALSE
10378
10379         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
10380         colormap is private
10381         (gdk_colors_alloc): gboolean whether to be contiguous
10382         (gdk_color_equal): return gboolean since we are a predicate
10383         and not a qsort() (this looks semi-wrong due to glib breakage,
10384         IMO glib should be fixed)
10385         
10386         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
10387         (gdk_get_use_xshm): return gboolean
10388         (gdk_pointer_is_grabbed): return gboolean
10389
10390         * gdk/gdk.h: Change prototypes to match all the above changes,
10391         and re-run egtk-format-protos as required.
10392
10393 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
10394
10395         * gtk/gtkctree.c (resync_selection): 
10396         * gtk/gtkclist.c (resync_selection):
10397
10398         Return immediately if clist->drag_pos < 0. This is a workaround
10399         for the corrupt state that the clist gets into when a
10400         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
10401
10402         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
10403         
10404         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
10405         variable from recent commit.
10406
10407 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
10408
10409         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
10410
10411 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
10412
10413         * gtk/Makefile.am: prefix all autogenerated source that get build in
10414         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
10415         in builddir. since we subsequently cd into srcdir for autogeneration,
10416         the paths have to be stripped from the target file names, thusly we
10417         use $(@F) as target names now.
10418         put a comment about configure.in's --disable-rebuilds option,
10419         which can be used for non-writable source directories, for development
10420         setups though, srcdir has to be *writable*.
10421
10422 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
10423
10424         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
10425           Finish the job of allowing event to be NULL.
10426           (Fixes bug #4283, reported by Chris Blizzard)
10427
10428         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
10429           things so that the cursor appears on screen, properly
10430           take into account INNER_BORDER.
10431           (Fixes bug #4754, reported by Antonio Campos)
10432
10433 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
10434
10435         * gtk/gtknotebook.c (gtk_notebook_map): Don't
10436           show the tab_label unless it itself is visible.
10437
10438           gtk/gtknotebook.c (gtk_notebook_size_request):
10439           Do a better job of making sure that the visibility
10440           of the tab label corresponds to whether it should
10441           be mapped or not.
10442
10443 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
10444
10445         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
10446           Use the requisition, not the allocation, since the
10447           allocation has not necessarily been computed yet.
10448           (Pointed out by Eugene Osintsev)
10449
10450 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
10451
10452         * gtk/gtkstyle.c (gtk_style_new): Dont' set
10453           style/base[GTK_STATE_INSENSITIVE] both to
10454           gtk_default_insensitive_bg!
10455           (Bug #2187, reported by Jonathan Blandford)
10456
10457         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
10458           Add Alt_L, Alt_R to list of invalid accelerators.
10459           (Bug #3736, reported by Vlad Harchev)
10460
10461 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
10462
10463         * gtk/gtkfilesel.c (open_ref_dir): Fix several
10464         bugs which occured after an attempt to open 
10465         invalid home directory left cmpl_state->reference_dir == NULL.
10466
10467          - completion on files in home directory didn't work
10468          - completion on an empty string caused  segfault
10469
10470          (Bug #3678, reported by Steve Ratcliffe)
10471
10472         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
10473         cut and paste error that was causing scales to
10474         be incorrectly positioned.
10475         (Bug #2956,
10476          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
10477
10478 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
10479
10480         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
10481         when checking for dcgettext, if we've found we needed
10482         it for dgettext.
10483 +
10484 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
10485
10486         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10487         queue_clear on NO_WINDOW widgets during a reparent,
10488         since at that point the window and widget heirarchies
10489         are out of sync. This stops crashing in some cases
10490         (the scrolled window reparent test, for instance), and
10491         _probably_ won't cause drawing errors.
10492
10493         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
10494         test do what it was supposed to do and be robust against
10495         window closings, etc. (Bug #2443)
10496
10497 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
10498
10499         * gtk/gtkentry.c: Fix return values on mouse events.
10500         (Bug #2686, Sky <seb_sky@yahoo.com>)
10501
10502         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
10503         (pointed out by George Lebl)
10504
10505         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
10506         (From Ettore Perazzoli  <ettore@helixcode.com>)
10507  
10508 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
10509
10510         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
10511         clicks between rows or outside calender area correctly.
10512         (Patch from Damon Chaplin)
10513
10514         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
10515         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
10516           Call destroy function when overwriting existing data. 
10517           (Pointed out by Damon Chaplin)
10518
10519 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
10520
10521         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
10522           which was causing problems on various systems with Xmu.
10523           This hasn't been needed for a very long time.
10524           (Fixes #1185 3167)
10525
10526 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
10527
10528         * gdk/gdki18n.h: Include <ctype.h> when defining
10529           gdk_isw* in terms of is* as a fallback.
10530           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
10531
10532 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
10533
10534         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
10535           realize the widget when it is size allocated!
10536           (old, old bug)
10537
10538         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
10539           Removed unused call to gdk_window_get_size() that
10540           showed up when the above was fixed.
10541
10542 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
10543
10544         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
10545           fix up widget->window when the widget is a
10546           NO_WINDOW container widget.
10547
10548 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
10549
10550         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
10551           to account for the fact that feof() does _not_ 
10552           return TRUE on errors, and thus avoid infinite loops
10553           when trying to use gdk_pixmap_create_from_xpm()
10554           on unreadable values.
10555
10556 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
10557
10558         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
10559
10560 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
10561
10562         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
10563           gdk_gc_set_dashes to take gint8 instead of gchar to
10564           make it clearer that it is _not_ a NULL terminated string.
10565
10566         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
10567           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
10568           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
10569           arguments.
10570
10571 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
10572
10573         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
10574         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
10575         background size relative to our allocation, guard against small
10576         allocations, we may have not yet been size allocated.
10577
10578 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
10579
10580         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
10581         not just version == 3. We implement all 3 + most of 4 - 
10582         (we don't support matching text/plain;charset=iso-8859-1
10583         to a dest that expects text/plain). We'll still advertise
10584         3 to be safe, but any client implementing version >= 3
10585         must interoperate with 3.
10586         
10587 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10588
10589         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
10590         background and gc members, add a warning in gtk_tooltips_set_color()
10591         indicating that this function is deprecated.
10592
10593 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
10594
10595         * docs/gtkfaq.sgml: FAQ Update:
10596           - Minor cleanups (Emmanuel, me)
10597           - New questions:
10598                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
10599                 How can I retrieve the text from a GtkMenuItem? (timj)
10600                 How do I validate/limit/filter the input to a GtkEntry? (me)
10601                 Memory does not seem to be released when I free the list
10602                         nodes I've allocated (timj)
10603
10604 2000-03-07  Tor Lillqvist  <tml@iki.fi>
10605
10606         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
10607         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
10608         for which it is no use to call GetLastError onWin9x.
10609         (gdk_other_api_failed) New function, for general error
10610         reporting without calling GetLastError.
10611         (gdk_win32_api_failed) OTOH, this function always calls
10612         GetLastError. (gdk_win32_last_error_string) Remove this function,
10613         GLib has the equivalent now.
10614
10615         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
10616         call them with function name, file name and line number in the
10617         arguments.
10618
10619         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
10620         functions.
10621         
10622         * gtk/gtk.def: Add some missing entry points.
10623
10624         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10625         gtk_paned_set_gutter_size, which don't exist any longer, as void.
10626         
10627         Fixes by Hans Breuer:
10628
10629         * gdk/makefile.msc: Update for debugging.
10630
10631         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
10632         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
10633         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
10634         in the dash_list.
10635
10636         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
10637         the x11 backend.
10638
10639         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
10640
10641         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
10642
10643 2000-03-04  Tor Lillqvist  <tml@iki.fi>
10644
10645         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
10646         just pixel value of background colour.
10647
10648         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
10649         containing code snippet previously duplicated in a couple of
10650         places.
10651         
10652         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
10653         gdk_colormap_color.
10654
10655         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
10656         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
10657         events for autorepeated Shift, Control and Alt keys. Use
10658         gdk_colormap_color.
10659
10660         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
10661         pointer is inside the window the cursor of which we are setting,
10662         call SetCursor immediately.
10663
10664         * gdk/win32/makefile.cygwin
10665         * gtk/makefile.cygwin: If we don't have the build number stamp
10666         file, use zero.
10667
10668         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10669         gtk_paned_set_gutter_size as empty.
10670
10671         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
10672         
10673 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
10674
10675         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
10676           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
10677           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
10678           docs/gtk_tut.sgml docs/gtk.texi TODO:
10679
10680           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
10681
10682 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
10683
10684         * gtk/gtkcalendar.c: Implement num_marked_dates,
10685           and don't emit mutiple day_selected signals on
10686           month_prev.
10687
10688 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
10689
10690         * docs/make-todo (lineno): let title and logo be configurable so
10691         that GNOME can use this script too.
10692
10693         * TODO.xml: added logourl and a title
10694
10695 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
10696
10697         * TODO.xml: Added some UI items, and an explanatory
10698         comment at the top of the file.
10699
10700 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
10701
10702         * TODO.xml: some updates, added abunch of new entries.
10703         a note for those fiddeling with this file, when done
10704         with it, invoke:
10705         $ ./docs/make-todo TODO.xml >/dev/null
10706         and correct output errors before comitting changes.
10707
10708 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
10709
10710         * TODO.xml: Added XML-structured TODO file.
10711         * docs/make-todo: python script to turn TODO.xml into
10712           pretty XML output. 
10713
10714 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
10715
10716         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
10717         the function to let it draw the seven dots, instead of the old,
10718         much maligned, method.
10719         (draw_dot): New function to draw a dot.
10720
10721         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
10722         to draw the handle inside the border width as opposed to outside.
10723         Use paint function instead of gdk_draw_point.
10724
10725         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
10726         to draw the handle inside the border width as opposed to outside.
10727         Use paint function instead of gdk_draw_point.
10728
10729         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
10730         Change indenting to be more GTK like.
10731
10732 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
10733
10734         * docs/gtk_tut.sgml: New section on GtkCalendar
10735         * examples/calendar: Update example code
10736
10737 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
10738
10739         * docs/gtkfaq.sgml: FAQ Update
10740
10741 2000-02-19  Anders Carlsson  <andersca@gnu.org>
10742
10743         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
10744         to prevent the scroll event to be propagated upwards.
10745
10746 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10747
10748         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
10749         OwnerGrabButtonMask from button entries for
10750         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
10751
10752         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
10753         to the event mask (which will result in button/press release
10754         being added to the event mask on Unix) so scrolling works
10755         for layouts in scroll windows.
10756
10757         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
10758
10759         Patch from Anders Carlsson  <andersca@gnu.org> to add
10760         a scroll event.
10761
10762         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
10763         scrolling to the "Test Scrolling" part of testgtk.
10764  
10765         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
10766  
10767         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
10768         it against GDK_SCROLL.
10769  
10770         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
10771         way of mouse wheel scrolling.
10772  
10773         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
10774  
10775         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
10776  
10777         * gtk/gtkmain.c: Removed previous mouse wheel hack.
10778  
10779         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
10780         gdk_event_mask_table.
10781  
10782         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
10783         GdkEventScroll handler.
10784  
10785         * gdk/gdkevents.h: Added GdkEventScroll structure.
10786  
10787 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
10788
10789         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
10790         and Anders Carlsson to change the Paned widgets so that they
10791         can be dragged from anywhere along the length. Also change
10792         the way that this is drawn to make this apparent.
10793
10794         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
10795         from George Lebl to check that option_menu->menu is present
10796         before getting history.
10797
10798 2000-02-14  Tor Lillqvist  <tml@iki.fi>
10799
10800         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
10801         before the assertion for non-NULL segment list.
10802
10803         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
10804         Seems that pattern brushes *must* be 8x8 pixels! At least on my
10805         machine, but it might be display driver dependent. Sigh, so make
10806         sure the stipple is that size. Does Windows suck or what?
10807
10808         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
10809         places.
10810
10811 2000-02-13  Havoc Pennington  <hp@pobox.com>
10812
10813         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
10814         refcount to 1
10815         (gdk_cursor_new): init refcount to 1
10816
10817         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
10818
10819 2000-02-13  Tor Lillqvist  <tml@iki.fi>
10820
10821         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
10822         so that we don't have to do unnecessary settings to the HDC.
10823
10824         * gdk/win32/gdkdrawable-win32.c
10825         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
10826         gdk_gc_predraw.
10827
10828         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
10829         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
10830         GDI paths, call WidenPath to get the outline of the stroken path,
10831         and then fill the outline (with the brush that was built from the
10832         stipple).
10833
10834         * gdk/win32/gdkgc-win32.c: Factor out common code from
10835         _gdk_win32_gc_new and gdk_win32_gc_set_values into
10836         gdk_win32_gc_values_to_win32values. Use correct colour for
10837         SetBkColor() (Until now the code actually used a random colour in
10838         the call to SetBkColor()... but that didn't show up as not many
10839         GDI APIs use the background colour. Pattern (opaque stippled)
10840         brushes do.)
10841
10842         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
10843         gdk_win32_api_failed): New functions for error logging.
10844
10845         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
10846         WIN32_API_FAILED to call them, passing function or file name and
10847         line number.
10848
10849         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
10850
10851         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
10852         GdkColor for foreground and background in GdkGCWin32Data.
10853
10854         * gdk/makefile.cygwin: Link in the resource object separately.
10855
10856         * gdk/win32/rc/gdk.rc
10857         * gtk/gtk.rc (New file)
10858         * gdk/win32/makefile.cygwin
10859         * gtk/makefile.cygwin: Update build number in DLLs automatically,
10860         as in GLib.
10861
10862 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
10863
10864         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
10865         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
10866         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
10867         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
10868         parameters given and cursor->ref_count. coding style fixups.
10869
10870         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10871         not GtkWidget.
10872         
10873         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
10874         fix up widget macros and add _GET_CLASS() variant.
10875         
10876         * gtk/*.c: some GtkType fixups.
10877
10878 2000-02-09  Tor Lillqvist  <tml@iki.fi>
10879
10880         * gdk/win32/gdkproperty-win32.c
10881         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
10882         were reversed.
10883
10884 2000-02-04  Tor Lillqvist  <tml@iki.fi>
10885
10886         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
10887         g_filename_to_utf8 to convert the font names Windows gives us from
10888         whatever is the default codepage to UTF-8.
10889         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
10890         in the other direction.
10891
10892         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
10893         error in debugging output.
10894
10895 2000-02-02  Tor Lillqvist  <tml@iki.fi>
10896
10897         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
10898         and height parameters to gdk_window_clear_area(). Not minus one.
10899
10900 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
10901
10902         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
10903         checks if the widget passed to gtk_drag_get_data() was not the
10904         dest widget.
10905
10906 2000-02-01  Tor Lillqvist  <tml@iki.fi>
10907
10908         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
10909         g_filename_from_utf8 functions (which were added a moment ago to
10910         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
10911         size buffers.
10912
10913         gtk_file_selection_get_filename returns the filename in the C
10914         runtime encoding. It calls g_filename_from_utf8, but copies the
10915         returned string to a static buffer, which is returned. I think
10916         this is better than returning the result from g_filename_from_utf8
10917         directly, which would mean all apps that use it would have to free
10918         the return value. Or should this function care about this issue at
10919         all? Maybe a new function with clearly defined semantics.
10920
10921         * gtk/gtkfilesel.h: Add comment about
10922         gtk_file_selection_get_filename returning the filename in the C
10923         runtime's encoding.
10924
10925         * README.win32
10926         * gdk/gdk.def
10927         * gdk/makefile.{cygwin,msc}
10928         * gtk/gtk.def: Updates.
10929
10930         * gdk/gdkcursor-win32.c: Initialise refcount.
10931
10932 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
10933
10934         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
10935
10936 2000-01-30  Havoc Pennington  <hp@pobox.com>
10937
10938         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
10939         destroy
10940
10941         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
10942
10943         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
10944         implemented in platform-specific code
10945
10946         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
10947
10948         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
10949         underscore in front
10950
10951         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
10952         put an underscore in front
10953
10954         * gdk/gdkcursor.c: new file, implements
10955         gdk_cursor_ref/gdk_cursor_unref
10956
10957         * gdk/gdkcursor.h: Refcount GdkCursor
10958
10959         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
10960
10961 2000-01-29  Tor Lillqvist  <tml@iki.fi>
10962
10963         * gdk/gdkwindow.h
10964         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
10965
10966 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10967
10968         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
10969         structures to properly inherit from GtkWidget not GtkBin.
10970
10971 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
10972
10973         * gtk+.spec.in: Added lib/gtk+/include/* to %files
10974         (bug #5178 - Peter Wainright)
10975         
10976         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
10977         so that it will be installed.
10978         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
10979
10980 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
10981
10982         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
10983         for the GtkStyleClass vtable const.
10984
10985         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
10986         take a const string argument like GtkTranslateFunc. This will
10987         require changes in use code.
10988
10989 2000-01-19  Tor Lillqvist  <tml@iki.fi>
10990
10991         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
10992         semantics (to mimic the X11 backend, which just calls XClearArea)
10993         is to check for zero width (and height), and in that case use the
10994         window's width minus x (height minus y). This fixes for instance
10995         some redraw problems with gtkclist, which were easily noticeable
10996         in the gtk file selection widget.
10997
10998         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
10999         windows.
11000
11001 2000-01-13  Tor Lillqvist  <tml@iki.fi>
11002
11003         * configure.in
11004         * gdk/Makefile.am
11005         * gdk/x11/Makefile.am
11006         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
11007         (bug #5177).
11008         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
11009         out later.
11010
11011 2000-01-09  Tor Lillqvist  <tml@iki.fi>
11012
11013         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
11014         WM_MOVE for iconified or invisible windows. This fixes various
11015         problems when minimising windows. Thanks to Bernd Herd.
11016
11017 2000-01-05  Tor Lillqvist  <tml@iki.fi>
11018
11019         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
11020         backend's draw_lines method, not draw_points.
11021
11022 2000-01-02  Tor Lillqvist  <tml@iki.fi>
11023
11024         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
11025         before Owen's reorganisation: Don't have queued_events and
11026         queued_tail statics in this file, but use gdk_queued_events and
11027         gdk_queued_tail. This makes exposure event compression work again.
11028
11029         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
11030         seem to be needed?
11031
11032 1999-12-30  Tor Lillqvist  <tml@iki.fi>
11033
11034         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
11035         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
11036         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
11037         doesn't do anything.
11038
11039         * gdk/gdk.def: Add gdk_xid_table_insert.
11040
11041         * gdk/win32/gdkprivate-win32.h
11042         * gdk/win32/gdkevents-win32.c
11043         * gdk/win32/gdkinput-win32.c
11044         
11045         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
11046         extension_events field in the GdkWindowWin32Data struct. Use only
11047         the extension_events field in GdkWindowPrivate. Previously one was
11048         set, and the other one tested, which broke tablet
11049         functionality. Thanks to Keishi Suenaga for pointing this out.
11050
11051 1999-12-18  Tor Lillqvist  <tml@iki.fi>
11052
11053         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
11054         When handling a single character (text length == 1), don't handle
11055         it as if it was UTF-8.
11056
11057 1999-12-11  Tor Lillqvist  <tml@iki.fi>
11058
11059         * Makefile.am: Distribute README.win32.
11060         
11061         * gdk/Makefile.am
11062         * gdk/win32/Makefile.am: Distribute Win32 files.
11063
11064         * gdk/makefile.msc: New file.
11065
11066         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
11067         after label).
11068
11069         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
11070         gdk_error_code as GDKVAR, as they are referred outside GDK.
11071
11072         * gdk/win32/makefile.msc: Update.
11073
11074         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
11075         tweaks. Check only if at least one of those Unicode subrange bits
11076         we care for is set. If no code page bits are set, guess (wildly)
11077         based on the charset.
11078
11079         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
11080
11081         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
11082         non-NULL.
11083
11084         * gtk/gtkdnd.c
11085         * gtk/gtklayout.c
11086         * gtk/gtkplug.c
11087         * gtk/gtkselection.c
11088         * gtk/gtksocket.c
11089         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
11090         appropriate. There must be a cleaner way to handle this?
11091
11092         * gtk/gtkrc.c: Must include windows.h on Win32.
11093
11094         * gtk/testgtk.c: No need to include gdkx.h.
11095
11096         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
11097
11098 1999-12-07  Tor Lillqvist  <tml@iki.fi>
11099
11100         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
11101         the rbearing is set to the same as the width, but this should be
11102         fixed.
11103
11104 1999-12-06  Tor Lillqvist  <tml@iki.fi>
11105
11106         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
11107         function. If Windows doesn't tell us what Unicode subranges a font
11108         covers, guesstimate based on the codepages it covers. This will
11109         hopefully help those Windows versions or fonts that don't give us
11110         any useful Unicode subrange information with GetTextCharsetInfo.
11111         Call this function in gdk_font_load_internal.
11112
11113         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
11114         minor changes.
11115
11116 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
11117
11118         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
11119         New function, long needed.
11120
11121 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
11122
11123         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
11124         only_if_exists argument of gdk_atom_intern to
11125         bool.
11126
11127 1999-11-25  Tor Lillqvist  <tml@iki.fi>
11128
11129         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
11130         Fix two copy&paste errors.
11131
11132         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
11133         win32 has changed.
11134
11135         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
11136         GdkWin32SingleFont struct.
11137
11138         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
11139         subranges of loaded fonts. Clear font signature first, in case
11140         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
11141         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
11142
11143         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
11144         Unoffset clip region.
11145
11146 1999-11-23  Tor Lillqvist  <tml@iki.fi>
11147
11148         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
11149         event->any.window before calling filter functions.
11150
11151 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
11152
11153         * gtk/gtkgamma.h: Adapt cast macros to standard.
11154
11155 [ Merges from 1.2 ]
11156
11157 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
11158
11159         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
11160         If translation does not include a '/', use entire
11161         translation instead of crashing.
11162
11163 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
11164
11165         * docs/gtk_tut.sgml:
11166         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
11167
11168 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
11169
11170         * gtk/gtkselection.c (gtk_target_list_remove): Use
11171         g_list_remove_link, not g_list_remove.
11172
11173         [ From Geert Bevin <gbevin@thunderstorms.org> ]
11174         
11175 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
11176
11177         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
11178         statement upon unselection (how the heck did that slip in?).
11179
11180 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
11181
11182         * gtk/gtktext.c (gtk_text_freeze): 
11183         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
11184         in frozen state (and aparently crashes). patch provided by Anders
11185         Melchiorsen <and@kampsax.dtu.dk>.
11186
11187 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
11188
11189         * fix insensitive default/focus widget activation,
11190         reported by Matt Goodall <mgg@isotek.co.uk>.
11191
11192         * gtk/gtkwindow.c (gtk_window_key_press_event): 
11193         (gtk_window_activate_default):
11194         (gtk_window_activate_focus):
11195         return handled=FALSE for actiavtion of insensitive default
11196         widgets. return handled=TRUE for activation of insensitive
11197         focus widgets. don't activate in either case.
11198
11199 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
11200
11201         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
11202         and $glib_cflags to match library order and in the
11203         theory that an old version of GLib is more likely to
11204         be in the include directory for X then vice-versa.
11205         (Bug #2776)
11206
11207 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11208
11209         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
11210         to determine the locale for fontsets, not LC_MESSAGES;
11211         the user may want English messages with a handling
11212         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
11213         will still be broken) (Bug #2891)
11214
11215 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11216
11217         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
11218
11219 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11220
11221         * gtk/gtkrc.ko: Changed the Korean default fontset.
11222
11223 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
11224
11225         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
11226         where when scrolling to the left or top double exposes
11227         were done, causing major slowdowns.
11228
11229 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
11230
11231         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
11232         names to lowercase and alphanumeric, before looking
11233         them up.
11234
11235         * gtk/Makefile.am: Install codeset variant gtkrc files
11236         with normalized names.
11237
11238 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
11239
11240         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
11241         popup menus when the menu is already visible, but its parent
11242         is still hidden, (happens after tornoff window got hidden).
11243
11244 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
11245
11246         * gtk/Makefile.am (install-data-local): Fix
11247         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
11248         deleted, causing error messages on install.
11249
11250 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
11251
11252         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
11253         the handle as well, since we now sometimes ignore
11254         exposes on the handle while resizing.
11255
11256 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
11257
11258         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
11259         extra g_free introduced in one of the last one or two 
11260         commits.
11261
11262 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
11263
11264         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
11265         consistent, put each style that a gtkrc.* file creates
11266         in a unique namespace, remove old files before installing.
11267
11268 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
11269
11270         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
11271         gtk_rc_init is called multiple times. (Yes, people who
11272         do that have bugs in their code.)
11273
11274 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
11275
11276         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
11277         Remove it since it's generated by the Makefile anyway
11278
11279 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
11280
11281         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
11282         device->info.axes for core pointer.
11283
11284 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
11285
11286         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
11287         idle_id, to deal with obsolete, broken C libraries.
11288
11289 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
11290
11291         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
11292         allocation->x/y twice!
11293
11294         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
11295         consistent with gtk_vscale_pos_trough().
11296
11297 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
11298
11299         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
11300         be queueing a resize on a toplevel container between
11301         the time we show it and when we map it. So, we need
11302         to test GTK_WIDGET_VISIBLE() for toplevels, and only
11303         use GTK_WIDGET_DRAWABLE() for child windows.
11304
11305 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
11306
11307         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
11308         (fixes bug #2144)
11309
11310 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
11311
11312         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
11313         container DRAWABLE (instead of VISIBLE), so we don't queue
11314         resizes on non-toplevel containers.
11315
11316 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
11317
11318         * gtk/gtkselection.[ch]: Make the data argument
11319         const guchar *.
11320
11321 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
11322
11323         * gtk/gtkwindow.c: Try to behave sensibly if 
11324         the focus widget is the window itself. (Should
11325         we allow this at all?)
11326
11327 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11328
11329         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
11330         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
11331         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
11332         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
11333         in prototypes and implementations consistent (Tomas Ogren).
11334
11335         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
11336         before the widget is unparented (reported by damon).
11337
11338         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
11339         since we provide unsigned data anyways.
11340
11341 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
11342
11343         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
11344         the call to gtk_tooltips_layout_text() until later.
11345
11346         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
11347         Call gtk_widget_ensure_style() before using the style.
11348
11349 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
11350
11351         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
11352         for old widgets that don't propagate draws to all
11353         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
11354
11355 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
11356
11357         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
11358         for a redraw but just the widget that requested the resize.
11359
11360 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
11361
11362         * gtk/gtkcontainer.c: added new widget level method
11363         gtk_container_set_reallocate_redraws() and a GtkContainer flag
11364         reallocate_redraws : 1 to reflect the setting, exported this through
11365         the argument system as a boolean ::reallocate_redraws.
11366
11367         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
11368         on the widget because the allocation changes, do so as well for
11369         widget->parent if the parent has reallocate_redraws set to TRUE.
11370         with that containers requesting reallocation redraws get automatically
11371         redrawn if their children changed allocation (this unfortunately
11372         affects also other children that didn't change allocation, but we
11373         cannot work around that before 1.3).
11374
11375 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11376
11377         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
11378         _and_ height are >0 (not _or_).
11379
11380         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
11381         instead of gtk_container_queue_resize(), which is a core gtk internal
11382         function (must have been on crack when i queued that).
11383
11384         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
11385         we can check more reliably if we want to discard expose events.
11386         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
11387         flag.
11388         
11389         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
11390         we simply trust these events. for deciding whether to discard exposes,
11391         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
11392         
11393 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
11394
11395         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11396         queues of areas that are completely off screen.
11397
11398         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
11399         logic for handleboxes.
11400
11401         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
11402         check on width/height.
11403
11404 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
11405
11406         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
11407         we are fine with using $@ the way we do (if we actually encounter
11408         brokeness with $@ in VPATH builds because of additional path prefixes,
11409         we need to use $(@F) actually).
11410
11411 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
11412
11413         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
11414         short lived bugs, that would allow language bindings to do surgeries
11415         to our guts.
11416
11417 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
11418
11419         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
11420         where comparison was being done against an uninitialized
11421         value causing intermittant results depending on
11422         compiler flags. Also make it clearer that we aren't
11423         ever initializing the child as 0x0 (though this will
11424         be caught in gtk_widget_size_allocate())
11425
11426 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
11427
11428         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
11429         gtk_window_unset_transient_for() call after we do checks
11430         involving the old transient parent.
11431         [ From Lance Capser <lmc@cyberhighway.net> ]
11432
11433 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
11434
11435         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
11436         an empty file.
11437
11438 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
11439
11440         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
11441         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
11442
11443 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
11444
11445         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
11446         `$@' is valid only in the build dir, not after we've done 
11447         `cd $srcdir'.  Also use `test -f' instead of less portable
11448         `test -e'.
11449
11450 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
11451
11452         * gtk/gtktext.c (correct_cache_insert): Rewrite
11453          for simplicity, and hopefully correctness.
11454          (Fixes bug #1322, which was a segfault when
11455           on some insertions with the properties around
11456           the insertion set up just wrong.)
11457
11458         * gtk/gtktext.c (gtk_text_adjustment): When we receive
11459          a "changed" signal, clamp the new value to the adjustment
11460          bounds to avoid segfaulting if someone tries to change
11461          the adjustment to a bogus value. (Bug #1795)
11462
11463 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11464
11465         * gtk/gtkmain.c: Ignore unexpected destroy notifies
11466         for children, for toplevel windows handle them
11467         like delete_event.
11468
11469         * gtk/gtkplug.c: Add an unrealize handler so that
11470         we unref plug->socket_window when we are done
11471         with it.
11472
11473 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
11474
11475         * gtk/gtktext.c (clear_area): Fix stupid signedness
11476          problem that was causing background to sometimes
11477          be misaligned.
11478
11479 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
11480
11481         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
11482         
11483         * gtk/gtkmenu.c (gtk_menu_position): Make
11484          sure we never position menus with negative x, y,
11485          since gtk_widget_set_uposition() can't handle that.
11486
11487         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
11488          Modify the positioning code a bit so that we always
11489          put the top-left corner onscreen. (This is for
11490          UI reasons, gtk_menu_position() now takes care of
11491          gtk_widet_set_uposition() brokeness.)
11492
11493 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
11494
11495         * gtk/Makefile.am: fixed up things for -jx, x > 1.
11496
11497 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
11498
11499         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
11500           RC style that is passed in. The lack of the ref
11501           before was a bug. If people worked around this
11502           bug, this will introduce a slight memory leak
11503           in their code. The code should typically look like:
11504
11505             rc_style = gtk_rc_style_new ();
11506             [...]
11507             gtk_widget_modify_style (widget, rc_style);
11508             gtk_rc_style_unref (rc_style);
11509
11510         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
11511           the style if it was already set.
11512
11513         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
11514           style if it was set before.
11515
11516 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11517
11518         * gtk/testgtk.c (main): Add a check to see if we
11519           are being run from the correct directory and
11520           to quit nicely if we are not.
11521
11522         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
11523           static.
11524
11525 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
11526
11527         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
11528
11529         * gtk/gtkwindow.c:
11530         queue resizes unconditionally (gtk_widget_queue_resize will figure
11531         what to do if the window is not realized).
11532         (gtk_window_move_resize): only recenter the window
11533         for GTK_WIN_POS_CENTER_ALWAYS.
11534         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
11535         the same way as GTK_WIN_POS_CENTER.
11536
11537 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
11538
11539         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
11540         with (!(info->last_flags & GDK_HINT_POS)) instead of
11541         (!info->last_flags & GDK_HINT_POS).
11542
11543         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
11544         new_height unconditionally, because we use these values even if
11545         !default_size_changed && !hints_changed.
11546         comented the (default_size_changed || hints_changed) case with
11547         respect to resize rejects from the window manager.
11548
11549         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
11550         in the zvt condition hack, since this includes the window hints, set
11551         the hints after the handling_resize case.
11552
11553         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
11554         window is initially shown with to the geometry.
11555
11556 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
11557
11558         * gtk/gtkwindow.c (gtk_window_move_resize):
11559         s/size_changed/default_size_changed/g so i know what's
11560         really going on (frying brain on smaller flame now).
11561
11562 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
11563
11564         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
11565         we have size_changed upon handling_resize. this is a gross
11566         workaround for the broken zvt widget and should be removed in
11567         1.3 again (search for FIXME).
11568         Owen provided an accurate comment for this:
11569
11570         /* We could be here for two reasons
11571          *  1) We coincidentally got a resize while handling
11572          *     another resize.
11573          *  2) Our computation of size_changed was completely
11574          *     screwed up, probably because one of our children
11575          *     is broken. It's probably a zvt widget.
11576          *
11577          * For 1), we could just go ahead and ask for the
11578          * new size right now, but doing that for 2)
11579          * might well be fighting the user (and can even
11580          * trigger a loop). Since we really don't want to
11581          * do that, we requeue a resize in hopes that
11582          * by the time it gets handled, the child has seen
11583          * the light and is willing to go along with the
11584          * new size. (this happens for the zvt widget, since
11585          * the size_allocate() above will have stored the
11586          * requisition corresponding to the new size in the
11587          * zvt widget)
11588          *
11589          * This doesn't buy us anything for 1), but it shouldn't
11590          * hurt us too badly, since it is what would have
11591          * happened if we had gotten the configure event before
11592          * the new size had been set.
11593          */
11594
11595 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
11596
11597         * gtk/gtkrc.c: deal properly with the fact that RC
11598           style lists may include rc styles more than once.
11599
11600         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
11601           unused static function.
11602
11603         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
11604           stack of directories of RC files currently being
11605           parsed and implicitely add them to pixmap path.
11606           
11607           This fixes a bug where the directory would get
11608           appended then overwritten by pixmap_path declarations.
11609
11610           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
11611
11612         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
11613           theme's exit function. (Patch from Peter Wainwright,
11614           bug #1454)
11615
11616         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
11617           Add a destroy() handler to take care of removing
11618           group for menu item. (Fixes bug #1197)
11619
11620         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
11621           in warning message.
11622
11623 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
11624
11625         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
11626         roundtrip to figure window's width and height, since we know that
11627         anyways from widget->allocation.
11628
11629 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
11630
11631         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
11632           the hints after we request the new size.
11633
11634 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
11635
11636         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
11637           GTK_WIDGET_REALIZED() assertion - we can compute the
11638           hints before we are realized.
11639
11640         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
11641           hint changing so that we have a value of hints_changed
11642           when we decide whether to constrain the window size.
11643
11644         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
11645
11646         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
11647         change back to G_MAXINT.
11648
11649 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
11650
11651         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
11652         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
11653         contain uncluttered values.
11654         (gtk_window_compute_hints): simply assert that window is realized
11655         and that geometry_info is valid, since we rely on this anyways.
11656         (gtk_window_constrain_size): major cleanups to the code.
11657         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
11658         for the base size, instead of the minimums. use 32767 as max width
11659         and height (like in gtkwindow.c) instead of G_MAXINT.
11660
11661 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
11662
11663         * cleaned up the GtkContainer.need_resize flag handling mess, we
11664         only need to force resize requests when we were prematurely
11665         realized, or our widget tree was modified when we were temporarily
11666         hidden. handling these cases directly upon showing the window (i.e.
11667         while the GdkWindow is still unmapped) avoids the need to wait for
11668         a configure event response and therefore makes the GUI more snappier
11669         and avoids blank windows during the roundtrip.
11670
11671         * gtk/gtkwidget.c:
11672         (gtk_widget_hide): 
11673         (gtk_widget_show): don't queue resizes on toplevels, they know how
11674         to deal with matters.
11675
11676         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
11677         flag directly for not visible resize containers and spare us unecessary
11678         signal emissions.
11679
11680         * gtk/gtkwindow.c:
11681         (gtk_window_realize): if we need to enforce premature size allocation,
11682         queue a container resize so we are correctly resized later on.
11683         (gtk_window_init):
11684         (gtk_window_size_request):
11685         don't freak around with the ->need_resize flag,
11686         gtk_container_queue_resize() will care about that.
11687         (gtk_window_show):
11688         handle initial resizing issues here, we can handle matters better in
11689         this place, especially since we know that our GdkWindow is still
11690         unmapped.
11691         (gtk_window_move_resize):
11692         don't care about ->need_resize at all.
11693         handle size changes properly that occoured while we waited for a
11694         configure event.
11695
11696 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
11697
11698         * gtk/gtkwidget.c (gtk_widget_set_uposition):
11699         * gtk/gtkwindow.[hc] (gtk_window_reposition):
11700         Move the hint setting code from gtk_widget_set_uposition
11701         to here; set the hints so that we respect any previously
11702         set geometry hints.
11703
11704         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
11705         change the window hints here or move the window here,
11706         let that happen in gtk_window_move_resize().
11707
11708 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
11709
11710         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
11711         to already queued resizes (and therefore redraws) on a widget, check
11712         its anchestry as well.
11713
11714         * gtk/gtkcontainer.c:
11715         (gtk_container_queue_resize): clear resize widgets for resize
11716         containers before aborting prematurely. this is especially important
11717         for toplevels which may need imemdiate processing or their resize
11718         handler to be queued.
11719         (gtk_container_dequeue_resize_handler): added new internal function for
11720         gtkwindow.c.
11721
11722         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
11723         configure event, take possible changes in window position into account
11724         as well.
11725         if we request a new window size, queue up a resize handler that will
11726         last until the configure event response arrives.
11727         combined the ->need_resize case (initial show) with the general size
11728         (hints) changed case and added even more comments.
11729         if !auto_shrink, only revert to the old allocation if the new size
11730         is smaller than the current allocation.
11731
11732 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
11733
11734         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
11735                            gtk_window_set_geometry_hints
11736                            gtk_window_set_default_size):
11737         When hints are set, queue a resize so that the hints will
11738         be eventually reset on the toplevel.
11739
11740         * gtk/gtkwindow.c (gtk_window_show): Use
11741         gtk_window_compute_default_size(). Clear the need_resize flag
11742         on the initail map so that we don't unnecessarily trigger the
11743         resize code.
11744
11745         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
11746         into separate functions. Compare the hints we are setting
11747         with what we set last time so that we can accurately
11748         tell when we need to reset the hints.
11749
11750         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
11751         function to figure out the size from requisition
11752         and default_size.
11753
11754         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
11755         from fvwm to constrain a size to the geometry hints.
11756
11757         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
11758         to compare two sets of geometry hints.
11759
11760         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
11761         from gtk_window_set_hints(), just compute the hints,
11762         don't set them.
11763
11764         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
11765         code from gtk_window_move_resize() to separate function,
11766         rationalize a bit.
11767
11768 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
11769
11770         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
11771         structure into a new private structure.
11772
11773         * gtkrc.c: Split GtkRcStyle into public/private.
11774         In the private part, add a list of pointers to the
11775         RcStyle lists this RcStyle participates in.
11776
11777         * gtkrc.c: When a RcStyle is free, remove all
11778         lists referencing it from the 
11779         realized_style_ht hash, and free those lists.
11780         
11781         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
11782         gtk_rc_init(), since that adds the default styles
11783         to the list of parsed RC files again.
11784
11785         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
11786         
11787 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
11788
11789         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
11790         checks that ensure that a widget's allocation is at least 1 in width
11791         and height. (GNOME note: this doesn't affect old panel code anymore,
11792         because GtkSocket will request width and height of at least 1 since
11793         Fri Jul 23).
11794
11795         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
11796         allocated yet (happens if the user realizes the window prematurely),
11797         size request and allocate it.
11798         (gtk_window_size_allocate): guard against guint underflows.
11799
11800 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
11801
11802         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
11803         in gtk_built_sources, so gtk.defs gets built prior to all other
11804         sources.
11805
11806 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11807
11808         * gtk/Makefile.am:
11809         invoke indent on gtkmarshal.*. 
11810         rewrote source generation rules, use COPYING as oldest source tag for
11811         a piggyback rule to generate all sources from (don't touch it ;).
11812         major cleanups, strip spaces on build rules for GNU Make.
11813
11814         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
11815         source and target files from commandline arguments. don't invoke indent.
11816
11817 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11818
11819         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11820         notebook after switch to avoid drawing problems.
11821         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11822         
11823         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11824         show them instead. 
11825         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11826
11827 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11828
11829         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11830         notebook after switch to avoid drawing problems.
11831         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11832         
11833         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11834         show them instead. 
11835         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11836
11837 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
11838
11839         * gtk/gtkwindow.c:
11840         we use window->need_resize from configure_event now, to indicate that
11841         the gtkwindow should keep its allocation (e.g. because the user resized
11842         the window through window manager handles). resize_count is now reliably
11843         used to figure whether we got the allocation we requested from the
11844         window manager.
11845         configure events get queued as resizes now, the real stuff (size
11846         computation and allocation) now only goes on in gtk_window_move_resize().
11847         GtkWindow's requisition now contains its *real* requisition (like all
11848         other widgets), *not* taking usize into account.
11849         geometry_info->last_{width|height} is now updated from set_hints() only
11850         so it always contains the last hints we set for the window manager.
11851         made some event handlers return TRUE instead of FALSE.
11852         the overall code should be much more straight forward now, and the
11853         significant code portions are accompanied by comments now.
11854         (gtk_window_set_hints):
11855         removed requisition argument and made it
11856         fetch the requisition through gtk_widget_get_child_requisition.
11857         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
11858         does that now.
11859         (gtk_window_show):
11860         ensure that the widget is realized before calling 
11861         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
11862         ensure that we got properly size requested and allocated before
11863         realization.
11864         (gtk_window_configure_event):
11865         ignore plain window moves, or reallocate the widget tree through the
11866         resize queue otherwise.
11867         (gtk_window_move_resize):
11868         mostly rewrote this function to figure window manager hints more
11869         reliably, coalesce window moves and resizes to reduce configure events
11870         and do actuall size allocations.
11871
11872 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11873
11874         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
11875         that have a resize pending, because a redraw is already queued for them.
11876
11877         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
11878         hack to clear resize_widgets.
11879
11880         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
11881         for resize containers prior to size allocation. (this is also a bit
11882         ugly, but avoids side effects for stopped emissions and is thus more
11883         reliable).
11884         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
11885
11886         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
11887         function from gtk_tooltips_expose, as we connect to ::expose_event
11888         *and* ::draw now.
11889
11890 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11891
11892         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
11893         checks.
11894         (gtk_target_list_unref): Likewise.
11895
11896         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
11897
11898 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
11899
11900         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
11901         guard against division by zero. (Fixes bug #1339)
11902
11903 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
11904
11905         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
11906         Prevent the trivial leak of information of allowing
11907         word motion when the entry is not visible.
11908
11909 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
11910
11911         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
11912         modality to error dialog as well as confirmation dialogs.
11913         (Bug #1803, reported by Rosanna Wing Sze Yuen)
11914
11915 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11916
11917         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
11918         tree->view_lines.
11919         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
11920
11921         * gtk/Makefile.am (install-data-local): Solaris apparently
11922         has various troubles with ln -f; use rm first instead.
11923         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
11924
11925 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
11926
11927         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
11928         use `cp' followed by `rm' (the `rm' was already there).
11929
11930 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11931         
11932         * configure.in: Fix autoconf warnings about cross compilation by
11933         trying to provide sane defaults for AC_TRY_RUN.
11934         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
11935         put them into $(srcdir) when generated. Also add a dependency of
11936         gtksignal.h on gtkmarshal.h for -j builds. 
11937         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
11938
11939 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
11940
11941         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
11942         GDK_THREADS_{LEAVE,ENTER} pair.
11943         (From Paul Fisher <pnfisher@redhat.com>)
11944
11945 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
11946
11947         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
11948         width and height are always >0 (owen).
11949
11950 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
11951
11952         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
11953         change that assured that a widget's allocated with and height are
11954         always >1, since this breaks *buggy* panel code. unfortunately this
11955         back-breaks the gimp's color selector.
11956
11957         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
11958         allocation is always >0 in width and height, before sending the
11959         configure event; this is a *gross* hack to get the gimp back to work.
11960         
11961         * marked both cases with TODO-1.3
11962
11963 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
11964
11965         * gtk/gtktext.c: Don't display wrap indicators when
11966         text is not editable and word wrap is on.
11967
11968 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
11969
11970         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
11971         option menus here as they are not derived from menu shell, assure that
11972         the option menu has a menu we can add items to.
11973
11974 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
11975
11976         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
11977         width/height to (gint) before calculations and check against < 0 to
11978         avoid guint wraparounds.
11979
11980 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
11981
11982         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
11983         width and height is never zero. sanity check both dimensions against
11984         32767 and issue a warning if the allocation is greater than that.
11985
11986 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
11987
11988         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
11989         to g_main_pending() as well.
11990
11991 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
11992
11993         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
11994         call to g_main_iteration() - since that will regrab
11995         GTK+ lock to process events.
11996
11997 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
11998
11999         * gtk/gtkwindow.c
12000         - Regularize with the rest of GTK+ by making widget->requisition
12001           not reflect the set_usize()
12002         - Always recompute geometry hints, then check if they
12003           changed before sending them to the X server. The
12004           previous checks for changes would fail in a number
12005           of circumstances. 
12006
12007 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
12008
12009         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
12010
12011 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
12012
12013         * gtk/gtkdnd.c:
12014         - Code cleanups
12015         - Instantaneously update on modifier key presses
12016         - Allow cancellation of the drag with Escape.
12017
12018 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
12019
12020         * gtk/testgtk.c (create_handle_box): Set the policy
12021         to auto_shrink - otherwise the appearance is rather
12022         strange when flipping between horizontal and vertical.
12023
12024 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
12025
12026         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
12027         (gtk_window_set_default_size): don't change a value if it's < 0.
12028         queue a resize.
12029
12030 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
12031
12032         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
12033
12034 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
12035
12036         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
12037         add an extra "/" when concating "/" + filename.
12038         (From Matt Grossman <mattg@oz.net>)
12039
12040 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
12041
12042         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
12043         for fg_gc if we set it for drawing pixmap.
12044
12045 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
12046
12047         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
12048         
12049         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
12050         already set, call old engine's destroy function and
12051         unref the old engine.
12052
12053 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
12054
12055         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
12056
12057 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
12058
12059         * gtk/gtkaccelgroup.h: mark certain functions as internal.
12060
12061 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
12062
12063         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
12064         expand behaviour changed.
12065
12066         * gtk/gtklabel.c (gtk_label_set_pattern):
12067         (gtk_label_set_justify):
12068         (gtk_label_set_line_wrap):
12069         don't bother invoking queue_clear, the reallocation does
12070         that for us, always free_words so the upcoming resize will
12071         relayout the label's contents.
12072
12073 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
12074
12075         * applied argument implementation patches from Elena Devdariani
12076         <elena@cogent.ca>.
12077
12078         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
12079         ::space_style, ::relief
12080         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
12081         * gtk/gtkpreview.c: ::expand
12082         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
12083         * gtk/gtknotebook.c: ::homogeneous
12084         * gtk/gtklabel.c: ::wrap
12085         * gtk/gtklist.c: ::selection_mode
12086         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
12087         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
12088         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
12089         * gtk/gtkclist.c: ::sort_type
12090         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
12091         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
12092
12093 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
12094
12095         * gtk/gtkstyle.c: Removed ill-thought-out part of last
12096         comment.
12097
12098 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
12099
12100         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
12101         counting right when we have to attach a new style
12102         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
12103
12104         * gtk/gtkstyle.c: Documented the refcounting
12105         peculularities of gtk_style_attach.
12106
12107 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12108
12109         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
12110         window types.
12111
12112         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
12113         of GTK_TOPLEVEL for creating the window.
12114
12115 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12116
12117         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
12118         the last argument (reported by Per Winkvist).
12119         
12120 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
12121
12122         Fixes for invisible XOR lines (Frank Loemker
12123         <floemker@TechFak.Uni-Bielefeld.DE>)
12124         
12125         * gtk/gtkclist.c (gtk_clist_realize): Always use
12126         a non-zero pixel for GDK_XOR.
12127
12128         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
12129         Use GDK_INVERT instead of GDK_XOR.
12130
12131 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
12132
12133         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
12134         signals if h/voffsets differ from adjustment values.
12135         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
12136
12137 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
12138
12139         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
12140         ::selection-done emissions up to the topmost menu shell.
12141
12142 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
12143
12144         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
12145         the user data on the window before destroying it.
12146
12147         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
12148         unrealize handler to take care of destroying 
12149         notebook->panel properly. 
12150         (Bug #1198 - Morten Welinder <terra@diku.dk>)
12151
12152         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
12153         of g_new and g_realloc to stop memory leak. (Actually,
12154         we could just use g_realloc(), but I'm not 100% sure
12155         that is portable).
12156         (Bug #1196 - Morten Welinder <terra@diku.dk>)
12157
12158 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12159
12160         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
12161
12162         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12163         for fontsets.
12164
12165         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
12166         with bin/button confusion.
12167
12168 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
12169
12170         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
12171         and show how preselection of radio items is done.
12172
12173 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
12174
12175         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
12176         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
12177         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
12178         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
12179         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
12180         * gtk/gtktable.c (gtk_table_attach): 
12181         * gtk/gtklist.c (gtk_list_insert_items): 
12182         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
12183         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
12184         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
12185         * gtk/gtkbin.c (gtk_bin_add): 
12186         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
12187         * gtk/gtkfixed.c (gtk_fixed_put): 
12188         * gtk/gtklayout.c (gtk_layout_put):
12189         general fixups to container_add logic. always realize child if
12190         child->parent is realized, only map the child and queue a resize
12191         if child and child->parent are both visible.
12192
12193 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
12194
12195         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
12196         instead of gtk_container_foreach to walk and unrealize children, so
12197         composite children get also unrealized.
12198         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
12199         (gtk_widget_map): assert that the widget is visible (basic constrain).
12200         (gtk_widget_real_map): assert that the widget is realized (basic
12201         constrain).
12202
12203 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
12204
12205         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
12206
12207 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
12208
12209         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
12210         file for iso-8859-2 locales.
12211
12212         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
12213
12214 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
12215
12216         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
12217          (Pointed out by andy@rz.uni-karlsruhe.de and others).
12218          Remove some suspicious and useless lines. 
12219
12220 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
12221
12222         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
12223         width,height = 0, 0 to mean - here to edge of window,
12224         instead of -1, -1, since the former is all we support.
12225
12226 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
12227
12228         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
12229         when removing from quit_functions list.
12230
12231 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
12232
12233         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
12234
12235 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
12236
12237         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
12238          When redrawing characters on non-visible entry, use appropriate
12239          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
12240
12241 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
12242
12243         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
12244         from drag coordinates.
12245         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
12246         use drag_dest_cell.
12247
12248         * gtk/gtktree (drag_dest_cell)
12249         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
12250         (Bug #1129)
12251
12252 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
12253
12254         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
12255         translate_* fields.
12256         (gtk_item_factory_finalize): invoke translate_notify independant from
12257         translate_data.
12258         (gtk_item_factory_set_translate_func): likewise.
12259         (gtk_item_factory_destroy): only remove ifactory pointer from those
12260         widgets that belong to us (stupid me).
12261
12262 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
12263
12264         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
12265         rc_style list when lookup succeeeds.
12266
12267 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
12268
12269         * gtk/gtkctree.c (resync_selection): 
12270         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
12271         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
12272         bug.
12273
12274 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
12275
12276         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
12277         Add some missing GDK_THREADS_ENTER()/LEAVE around
12278         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
12279
12280 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
12281
12282         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
12283         rather than emit_by_name.
12284
12285         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
12286         on the widget across multiple signal emissions.
12287         (gtk_editable_delete_text): same here.
12288         (gtk_editable_class_init): set widget_class->activate_signal after
12289         editable_signals[ACTIVATE] has been created.
12290
12291 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
12292
12293         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
12294         position here prematurely -- we might not have the
12295         right ->min_position and ->max_position yet.
12296
12297 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12298
12299         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
12300         Add error traps so if the other end of the connection
12301         dies, we survive.
12302
12303         * gtk/gtkselection.c (gtk_selection_notify): Clean
12304         up properly when selection property retrieval fails.
12305         
12306         * gtk/gtkselection.c (gtk_selection_request): Correctly
12307         reject SelectionRequest notifies where the handler
12308         returns no data.
12309
12310 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12311
12312         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
12313         when we've previously highlighted.
12314
12315         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
12316         emit two "drag_leave" signals for Motif drops.
12317
12318         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
12319         back the correct status messages when dropping from
12320         Motif onto a proxy window that is rejecting the
12321         drop.
12322
12323 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
12324
12325         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
12326         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
12327         to compare two argument values. added gtk_arg_to_valueloc() to set a
12328         variable from an arg through its location (pointer).
12329
12330         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
12331         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
12332         as gfloat*, uchars are collected as guchar*, ints are collected as
12333         gint*, etc...
12334
12335 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
12336
12337         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
12338         Include <string.h> instead of <strings.h>.
12339
12340         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
12341         (actually, a lot more duplicate includes occur if
12342          you trace through the sequence of #include's)
12343         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
12344         
12345 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12346
12347         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12348         gtk-a-higuti-990322-[0-3]
12349
12350         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12351         that was causing -DX_LOCALE not to work.
12352
12353         * gtk/gtkrc.c (gtk_rc_init):
12354         X_LOCALE will never have LC_MESSAGES defined
12355
12356 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
12357
12358         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
12359         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
12360
12361         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
12362         left/right as well (gtk-michael-980726-0.patch.gz).
12363
12364         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
12365         for pointer values, use gchar instead of char. fixed uline allocation
12366         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
12367         chunks instead of G_ALLOC_ONLY.
12368         (gtk_label_size_request): always alter requisition as passed and leave
12369         widget->requisition alone.
12370         (gtk_label_set_text): allow NULL strings.
12371         (gtk_label_new): likewise.
12372
12373 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
12374
12375         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
12376
12377 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
12378
12379         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
12380         *and* mapped (i.e. drawable).
12381         (gtk_bin_expose): only send exposes to drawable children.
12382
12383         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
12384         (gtk_box_expose): only send exposes to drawable children.
12385
12386         * gtk/gtkhscale.c (gtk_hscale_draw): 
12387         * gtk/gtkvscale.c (gtk_vscale_draw):
12388         hm, this is an ugly one. we first compute the size of our trough area
12389         here (window relative) and then check intersection with the draw_area
12390         which is parent relative because we're a NO_WINDOW widget, so we need
12391         to offset the trough area by allocation.x and allocation.y before the
12392         check. (this must not be done for the background area though, since
12393         that's already computed parent relative).
12394
12395 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
12396
12397         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
12398         unrealize title buttons.
12399
12400 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
12401
12402         * gtk/gtkclist.c (gtk_clist_column_title_passive)
12403         (gtk_clist_column_title_active): 
12404         only connect/disconnect to GtkWidgetClass::event to block mouse events.
12405
12406         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
12407         zero initialize event, removed superfluous gdk_window_get_pointer call
12408
12409         * gtk/gtklist.c (gtk_list_vertical_timeout)
12410         (gtk_list_horizontal_timeout): removed superfluous
12411         gdk_window_get_pointer call
12412
12413 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12414
12415         * plugging problems reported by "Bruce Mitchener, Jr."
12416         <bruce@puremagic.com> due to a purify session.
12417
12418         * gtk/gtkstyle.c:
12419         (gtk_style_ref): 
12420         (gtk_style_unref): assert ref_count to be > 0.
12421
12422         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
12423         the requisition.
12424         (gtk_clist_set_shift): likewise.
12425
12426         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
12427         adjustments.
12428
12429         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
12430         event before sending it and set send_event to TRUE (which needs to
12431         be done for *all* synthesized events).
12432         (gtk_list_vertical_timeout): likewise.
12433
12434         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
12435         leaks.
12436
12437         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
12438         to TRUE when synthesizing events.
12439
12440 [ *** end of merges from 1.2 *** ]      
12441         
12442 1999-11-21  Tor Lillqvist  <tml@iki.fi>
12443
12444         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
12445         (or copied from gdkconfig.h.win32 on Win32, sigh).
12446
12447         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
12448
12449         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
12450
12451         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
12452
12453         * gdk/gdkconfig.h.win32: New file.
12454
12455         * gdk/win32/makefile.cygwin: Build just a static archive here.
12456
12457         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
12458         for the DLL from the static archive built above.
12459
12460         * gdk/gdk.def: Moved here from the win32 subdirectory.
12461
12462         * gdk/win32/*: Adapt for the changed private struct organisation.
12463
12464         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
12465
12466 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
12467
12468         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
12469         for wheel mice (buttons 4 and 5).
12470
12471 1999-11-18  Tor Lillqvist  <tml@iki.fi>
12472
12473         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
12474         drawables use just the pixel field in the foreground and
12475         background GdkColor of the GdkGC.
12476
12477         gdk_gc_set_{fore,back}ground() are called in the GIMP with
12478         GdkColors containing uninitialized (red,green,blue) fields, and
12479         just the pixel field filled in, and furthermore in the
12480         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
12481         It thus turns out that we really don't need to have the full
12482         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
12483         it later to have just the pixel values.
12484
12485 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
12486
12487         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
12488
12489 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
12490
12491         * docs/gtkfaq.sgml: threads example from Erik Mouw.
12492         New question on GtkLabel background colors.
12493
12494         * docs/gtk_tut.sgml:
12495           - Correct the example code callback
12496             function definitions.
12497           - Update the gtkdial example code, from Frans van Schaik.
12498           - Update setselection.c to current API.
12499
12500         * examples/Makefile examples/*/*.c: Update to code
12501         listed in tutorial.
12502
12503 1999-11-10  Tor Lillqvist  <tml@iki.fi>
12504
12505         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
12506         subrange table (from the "Developing International Software for
12507         WIndows 95 and Windows NT" book) was missing the Hangul syllable
12508         block... Get the loaded font's charset correctly.
12509
12510         (Note that this, and the other *-win32.c files, still really are
12511         the old ones, the win32 subdirectory is not ready for compilation
12512         yet after the reorg.)
12513
12514 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
12515
12516         * gtk/gtkclist.c: Fix off-by-one bug in parameter
12517         check.
12518
12519 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
12520
12521         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
12522         on results of XQueryDeviceState().
12523
12524 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
12525
12526         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
12527         we need to accesss only ->children. We need an accessor
12528         for the children.
12529
12530         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
12531         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
12532         to get rid of gdkx.h include.
12533         
12534         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
12535         and random references to 'None'.
12536
12537         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
12538         Get rid of unused #include <gdk/gdkx.h>
12539
12540         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
12541         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
12542         gdkconfig.h.
12543
12544 1999-11-08  Tor Lillqvist  <tml@iki.fi>
12545
12546         * gdk/win32/gdkdraw.c
12547         * gdk/win32/gdkfont.c
12548         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
12549         following yesterday's changes. (Unrelated to Owen's reorg.)
12550
12551 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
12552
12553         * gdk/x11/gdkinput-gxi.c: Add missing include,
12554           fix GdkWindowPrivate => GdkDrawablePrivate.
12555
12556         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
12557
12558         * gdk/x11/Makefile.am (xinput_sources): Add missing
12559         backslash to fix building with --with-xinput=none
12560
12561 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
12562
12563         Move all X specific code into the x11/ directory.
12564         Aside from shuffling things around, did the following:
12565
12566        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
12567          gdk_arg_context_* - a simple argument parsing system
12568          in the style of popt.
12569
12570        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
12571          gdk/x11/gdkprivate-x11.h:
12572          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
12573          add ->klass and ->klass_data fields. The klass_data
12574          field points to an auxilliary structure that is
12575          windowing system dependent.
12576
12577        * gdk/gdkfont.c: Make most of the measurement functions
12578          simply wrappers around gdk_text_extents().
12579
12580        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
12581          _gdk_font_strlen() function that hides the weird
12582          behavior in gtk+-1.[02] where a string is interpreted
12583          differently for 8-bit and 16-bit fonts.
12584
12585        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
12586          to store common code for synthesizing double/triple
12587          press events.
12588         
12589        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
12590          Make all the function that modify an existing GC
12591          simply wrappers around gdk_gc_set_values().
12592          
12593        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
12594          for throwing out later.
12595
12596        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
12597          GdkImagePrivate and GdkColormapPrivate to have a
12598          windowing system dependent part (GdkFontPrivateX etc.)
12599          that "derives" from the system-independent part.
12600
12601        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
12602          Got rid of the included-source-files for XInput in
12603          favor of automake conditionals. (Which didn't exist
12604          when XInput support was originally added.)
12605
12606        * gdk/gdkrgb.c: Remove the visual id from the debugging
12607          statements since that is X11 specific; print out
12608          type/depth info instead.
12609          
12610
12611 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
12612
12613         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
12614         loading duplicates of hashed fonts.
12615
12616         * gdk/gdk.c (gdk_keysym_convert_case): rename
12617         gdk_XConvertCase to gdk_keysym_convert_case, allow
12618         results to be NULL in the GTK+ style.
12619
12620         * gdk/gdkcompat.h: Started compatibility header
12621         for renames.
12622
12623 1999-11-07  Tor Lillqvist  <tml@iki.fi>
12624
12625         * gdk/win32/gdkprivate.h: New font private structures, related to
12626         fontsets.
12627
12628         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
12629         gdk_font_list_free(). On X11, will just be wrappers to
12630         XListFonts() and XFreeFontNames(). On Win32, the code previously
12631         in gtkfontsel.c is now here.
12632
12633         New function gdk_font_xlfd_create(). On X11 will get the FONT
12634         property of the font (for GDK_FONT_FONTs), or call
12635         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
12636         builds a XLFD style name from the font information in the LOGFONT
12637         struct(s).
12638
12639         New function gdk_font_xlfd_free(), which correspondingly frees the
12640         string returned by gdk_font_xlfd_create().
12641
12642         Implement fontsets on Win32. Add a function that iterates over a
12643         wide char string and calls a callback function for each substring
12644         of wide chars from the same Unicode subrange (and thus probably
12645         available in the same real font).
12646
12647         Improve the XLFD emulation a bit.
12648
12649         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
12650
12651         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
12652         Beta3, WM_IME_CHAR messages don't seem to contain the composed
12653         multi-byte char as with the Active IMM on Win9x. Oh well, handle
12654         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
12655         ImmGetCompositionStringW() to get the composed Unicode chars.
12656
12657         * gdk/win32/gdkgc.c
12658         * gdk/win32/gdkdraw.c: Changes needed because of the font private
12659         struct changes.
12660
12661         * gdk/win32/gdk.def: Add the new functions.
12662
12663 1999-11-04  Tor Lillqvist  <tml@iki.fi>
12664
12665         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
12666         get the Platform SDK to get <dimm.h>.
12667
12668         * gdk/win32/gdkevents.c: More event handling fixes and
12669         simplification. Never generate motion events with is_hint true. We
12670         used to do that on bogus grounds earlier. Windows sends
12671         WM_MOUSEMOVE messages on button events even if the mouse hasn't
12672         moved, ignore these.
12673
12674         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
12675
12676         * gdk/win32/gdkglobals.c
12677         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
12678         the TrackMouseEvent function, and use it.
12679
12680         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
12681         char before calling WideCharToMultiByte in order to get a string
12682         for the window title.
12683
12684         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
12685
12686         * gdk/win32/gdk.def: Remove obsolete functions.
12687
12688         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
12689         /nodefaultlib and /defaultlib switches.
12690
12691         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
12692
12693 1999-10-31  Tor Lillqvist  <tml@iki.fi>
12694
12695         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
12696         EuroSign).
12697
12698         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
12699         same type as GdkWChar, especially on Win32.
12700
12701         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
12702
12703         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
12704         before passing to Windows GDI for drawing etc. Convert to the
12705         system default codepage before passing to Windows as window
12706         titles.
12707
12708         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
12709         support changing input locale on the fly.
12710
12711         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
12712         on-the-fly changes. Convert incoming characters from the current
12713         codepage to Unicode (and then to a UTF-8 multi-byte string) based
12714         on the current input language. Use keysym<->Unicode mapping tables
12715         and functions borrowed from xterm sources.
12716
12717         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
12718         editions of Win9x, use the ActiveX-based Active IMM (Input Method
12719         Manager) if available. IMEs and the Active IMM are available under
12720         the disguise of Chinese, Korean and Japanese support for IE and
12721         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
12722         support is present in all editions (as long as you install it).
12723
12724         Call DispatchMessage from gdk_events_queue() (and thus
12725         gdk_WindowProc()), instead of duplicating the code in
12726         gdk_WindowProc().
12727
12728         Reworked the grab handling and propagation code, factored out
12729         duplicated code snippets into separate functions. Other cleanups,
12730         too.
12731
12732         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
12733         the <dimm.h> header describing the Active IMM.
12734
12735         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
12736         just do the same as for "single" fonts.
12737
12738         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
12739         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
12740         the new keysyms from gdkkeysyms.h.
12741
12742         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
12743         fontset, so that gtkentry uses wide characters.
12744
12745         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
12746         GTk+'s system directory "gtk+", not "gtk".
12747
12748 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
12749
12750         * docs/gtkfaq.sgml: FAQ update
12751
12752 1999-10-21  Tor Lillqvist  <tml@iki.fi>
12753
12754         * gdk/win32/gdkprivate.h: Add more font private data.
12755
12756         * gdk/win32/gdkfont.c
12757         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
12758         fonts and strings. Now works much better. You still have to
12759         have a correct font selected, though. No fontset emulation yet.
12760
12761 1999-10-19  Tor Lillqvist  <tml@iki.fi>
12762
12763         * gtk/maketypes.awk: Use G_OS_WIN32.
12764
12765         * gtk/gtk.def: Add some missing entry points. Also some non-public
12766         ones, but PyGTK porter claims to need them.
12767
12768         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
12769         built-in type generation.
12770
12771 1999-10-14  Tor Lillqvist  <tml@iki.fi>
12772
12773         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
12774         GDK_FONT_FONT fonts (which is all we have for now, we don't
12775         emulate fontsets). The X11 version uses plain XDrawString in that
12776         case, too. The string passed to gdk_draw_text_wc seems to be in
12777         fact (at least, when used by gtkentry and gtktext) either in a
12778         single-byte charset, or a DBCS. Not Unicode.
12779
12780         This fixes the problem in gtkfontsel, where even if you had
12781         selected a font with a non-Latin1 charset (windows-greek, for
12782         instance), the preview still used Latin-1 glyphs.
12783
12784         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
12785         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
12786         (gdk_font_load): Recognize the demibold etc weights, even if we
12787         don't have the corresponding constants in the headers.
12788         (gdk_font_hash_insert): Use same hash mechanism as in the X11
12789         version. Should save font resources a bit, when we don't have
12790         multiple HFONTs for the same font.
12791
12792         * gdk/win32/gdkprivate.h: Add the names field as in the X11
12793         version.
12794
12795 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
12796
12797         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
12798         X values
12799
12800 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
12801
12802         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
12803         layout support (as mentioned on
12804         http://www.jcinteractive.com/gnome-ui/software/widgets/)
12805
12806 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
12807
12808         * gtk/fnmatch.c
12809         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
12810
12811 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
12812
12813         * configure.in (ALL_LINGUAS): Added Galician (gl)
12814
12815 1999-10-05  Tor Lillqvist  <tml@iki.fi>
12816
12817         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
12818
12819         * gdk/win32/gdkcompat.c: New file, actually provide an
12820         implementation for the deprecated functions. (Just temporarily.)
12821
12822         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
12823
12824         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
12825
12826         * gdk/win32/gdk.def gtk/gtk.def: Updates.
12827
12828 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
12829
12830         * configure.in: Added "uk" to ALL_LINGUAS.
12831         
12832 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
12833
12834         * configure.in: correct checking for BeOS check
12835
12836         * gdk/gdktypes.h
12837         * gtk/fnmatch.c
12838         * gtk/gtkfilesel.c
12839         * gtk/gtkitemfactory.c
12840         * gtk/gtkmain.[ch]
12841         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
12842
12843 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12844
12845         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
12846         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
12847         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
12848         by Bulgarian). 
12849
12850 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
12851
12852         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
12853         Fix a reference to window_private->destroyed.   
12854
12855         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
12856         (ugly) setting of an internal GdkWindow member to use
12857         a _slightly_ cleaner macro.
12858
12859         * gdk/gdkprivate.h: Split GdkWindowPrivate into
12860         GdkDrawablePrivate and GdkWindowPrivate.
12861         Add extra macros for accessing GDK_DRAWABLE_ components.
12862
12863         * *.[ch]: Massive adjustments for the above, use the
12864         new macros in a lot of places.
12865
12866 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
12867
12868         * gdk/gdktypes.h: Make GdkDrawable the base type,
12869         not GdkWindow.
12870
12871 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
12872
12873         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
12874
12875 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
12876
12877         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
12878
12879 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
12880
12881         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
12882         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
12883
12884         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
12885
12886         * docs/gtk-config.1: Now autogenerated.
12887         * docs/Changes-1.4.txt: started
12888         
12889 1999-10-03  Tor Lillqvist  <tml@iki.fi>
12890
12891         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
12892         to #ifdef also here.
12893
12894         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
12895         Owen did to the X11 backend.
12896
12897         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
12898         ScrollWindowEx when blitting inside a window, it can't be correct
12899         in the general case.
12900
12901         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
12902         WM_GETMINMAXINFO is easier.
12903
12904         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
12905         depth equal to the bitspixel value, not the visual's depth.
12906
12907         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
12908         to 24 even if the bitspixel value is 32.
12909
12910         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
12911         need to check for depth==32 when bpp==32, depth will always be 24.
12912
12913 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
12914
12915         * docs/Changes-1.4.txt: Started
12916         
12917         * gtk/Makefile.am (gdk_headers): Include all the new headers.
12918
12919         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
12920         
12921         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
12922         into C file.
12923         
12924         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
12925         header to gdkinputprivate.h.
12926
12927         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
12928         unused since before 1.2.
12929
12930 1999-09-30  Tor Lillqvist  <tml@iki.fi>
12931
12932         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
12933         expand possible hex escapes in the font family (put there by
12934         logfont_to_xlfd if the font name isn't a legal XLFD font family,
12935         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
12936         On Win32, add hex escapes here, too.
12937
12938 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
12939
12940         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
12941         to #ifdef GDK_WINDOWING_X11.
12942
12943 [ Merges from gtk-1-2 ]
12944
12945 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
12946
12947         * configure.in: fixed "GNU Make" check to pass with new make version
12948         3.77.95.
12949
12950 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
12951
12952         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
12953         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
12954         AM_PATH_GTK() macros don't get confused by the -pre1.
12955
12956 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12957
12958         * configure.in (REBUILD): Change check for perl5
12959           to check explicitely for v >= 5.002. (5.001
12960           does not work with our scripts.)
12961
12962 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
12963
12964         * configure.in: evaluate $PERL for the perl version check. added
12965         --disable-rebuilds to give the user an option to completely disable
12966         any source autogeneration rules.
12967
12968 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
12969
12970         * configure.in: evaluate $ac_make when checking for GNU Make.
12971
12972 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12973
12974         * docs/Makefile.am: added generation.txt.
12975
12976         * Makefile.am: require automake 1.4, build README from README.in and
12977         INSTALL from INSTALL.in in dist-hook.
12978         
12979         * README.in:
12980         * INSTALL.in: new files to autogenerate README and INSTALL from.
12981
12982         * configure.in: figure whether we have GNU Make
12983
12984         * docs/generation.txt: minor additions/corrections.
12985
12986 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12987
12988         * docs/gtkfaq.sgml: FAQ Update
12989
12990 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12991         
12992         * configure.in: Fix autoconf warnings about cross compilation by
12993         trying to provide sane defaults for AC_TRY_RUN.
12994
12995 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
12996
12997         * ltconfig
12998         * ltmain.sh: upgrade to libtool 1.3.3
12999
13000 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
13001
13002         * INSTALL: Indicate that the --with-glib= configure
13003         time flag is unsupported.
13004
13005 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
13006
13007         * docs/generation.txt: Added a file that gives
13008         documenation about the autogeneration process for
13009         various autogenerated files.
13010         
13011 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13012
13013         * configure.in (LIBS): Look for libgmodule in the
13014         right location.
13015
13016 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
13017
13018         * docs/gtk_tut.sgml: Removed references to
13019         code examples in my directory on gtk.org as
13020         they should all be in the tutorial now.
13021
13022         * docs/gtk_tut.sgml: Added sources for dial-test
13023         and scribble-xinput programs that were previously
13024         missing.
13025
13026 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
13027
13028         * TODO: Added entry about menu keyboard navigation, removed
13029         some finished items.
13030
13031 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
13032
13033         * acinclude.m4: Standardize on func_dgettext
13034         not func_gettext, so that the checks for dgettext
13035         actually are paid attention to.
13036
13037 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
13038
13039         * configure.in (LIBS): Add $INTLLIBS into $LIBS
13040         directly, rather than repeating the checks for
13041         gettext.
13042
13043         * INSTALL: Added information about gettext and
13044         NLS support.
13045
13046         * acinclude.m4 (LIBM): Check for dgettext, not
13047         just gettext. This should hopefully fix things wrt
13048         systems with old versions of GNU gettext installed.
13049
13050 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13051
13052         * configure.in (LIBS): Look for libgmodule in the
13053         right location.
13054
13055 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13056
13057         * autogen.sh: add --enable-maintainer-mode
13058
13059         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
13060
13061 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
13062
13063         * docs/gtk-config.1.in:
13064           docs/Makefile.am:
13065           configure.in: gtk-config is now generated.
13066
13067         * docs/gtk-config.1: Removed, now generated.
13068
13069 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
13070
13071         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
13072         handle CreateNotify itself, still put out a debuging message for
13073         --gdk-debug=events. made the ReparentNotify debugging message more
13074         verbose.
13075         wrap xcoords translation for ConfigureEvents into an error trap,
13076         a destroy event may already be pending, and in that case, the
13077         actuall coordinate values are not at all critical.
13078
13079 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
13080
13081         * gdk/gdkcc.c: Stop leaking the color_hash all over
13082         the place. Simplify and improve the logic.
13083
13084 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13085
13086         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
13087         for prototypes and function implementations consistent (reported
13088         by Tomas Ogren).
13089
13090 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
13091
13092         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
13093         send_event set in debugging output.
13094         (gdk_compress_exposures): default initialize the event so we don't
13095         operate on bogus values (namely send_event).
13096
13097 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13098
13099         * gdk/gdkwindow.c: When we receive an unexpected
13100         destroy notify on one of our windows, don't just
13101         warn about it, also mark our windows as destroyed.
13102
13103 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
13104
13105         * gdk/gdkfont.c (gdk_font_hash_insert): Add
13106           name => font and name => fontset hashes. The 
13107           name => fontset hash is a _big_ win since we
13108           weren't previously caching fontsets at all and loading
13109           fontsets is expensive. The name => font hash
13110           is less of a win, but it does save us from doing
13111           repeated XQueryFont calls on the same font.
13112
13113         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
13114           list so we can remove font/fontset from hash.
13115
13116 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13117
13118         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
13119           and slightly confusing test. [ XInternAtom (,,TRUE)
13120           will never return None ].
13121
13122 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
13123
13124         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
13125           gdk/gdkwindow.c (gdk_window_set_hints):
13126
13127         Don't omit setting the properties if flags == 0 -
13128         there may be an existing set of properties there
13129         already. (Very old bug. Would it be better to
13130         delete the property instead?)
13131
13132         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
13133           spelling error in comment.
13134
13135 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
13136
13137         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
13138           to avoid stomping over gdk_error_warnings.
13139
13140         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
13141           as (bits_per_pixel + 7) / 8. This gives the same
13142           result as before for multiples of 8, but actually
13143           a "reasonable" value for 1bit or 4bit displays.
13144
13145 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13146
13147         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
13148         GNU Make.
13149
13150 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13151
13152         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
13153         discarding configure events.
13154
13155 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13156
13157         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
13158         refcount is greater than zero.
13159
13160         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
13161
13162         * gdk/gdkfont.c (gdk_font_unref): Likewise.
13163
13164         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
13165
13166         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
13167
13168 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13169
13170         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
13171         that format 32 => sizeof(item) == 4. It really is
13172         sizeof(long).
13173
13174 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
13175
13176         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
13177         core dump at all on X IO errors, only core dump
13178         if --enable-debug for X errors.
13179
13180 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
13181
13182         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
13183         unknown window:" message. disabled ConfigureNotify discarding code,
13184         because it led to events being processed out of order.
13185
13186 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
13187
13188         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
13189
13190         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
13191         we export this function, supress error warnings and don't reset the
13192         error code in the first half of this function.
13193
13194         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
13195         code (instead of just -1) so gdk_error_trap_pop() reveals something
13196         actually informative about the error that happened.
13197
13198         * gdk/*.c:
13199         don't rely on gdk_error_code being -1 if an error occoured, but just
13200         gdk_error_code != 0.
13201
13202 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
13203
13204         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
13205         pointer *before* invoking the filter function, so we at least don't
13206         crash if a filter is removed that is currently executed. window filters
13207         *really* need to be made truely reentrant at some point.
13208
13209 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
13210
13211         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
13212         PropertyNotify debug messages.
13213
13214 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
13215         
13216         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
13217         
13218         * gdk/gdkim.c: Fix cut-and-paste errors for 
13219         x/y and PreeditAttributes/StatusAttributes.
13220
13221 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13222
13223         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
13224         G_MAXINT to 2^16 to alleviate overflow problems in
13225         various window managers.
13226
13227 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13228
13229         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13230         for fontsets.
13231
13232 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
13233
13234         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
13235         Initialize size_hints.x and size_hints.y because kwm
13236         brokenly pays attention to them.
13237         (Bug #1181 -  Lars Heete <hel@admin.de>)
13238
13239 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
13240
13241         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
13242         return value of gdk_list_visuals(). 
13243         (Bug #1193 - Morten Welinder <terra@diku.dk>)
13244
13245 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
13246
13247         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
13248         XSetIMValues to (void *) when comparing to NULL, to workaround
13249         the problem of some compilers barfing since older X headers don't
13250         have the prototype for it.
13251
13252 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
13253
13254         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
13255         for pseudocolor where colormap->colors was double
13256         allocated.
13257
13258         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
13259         color value in the hash table with the pixel filled
13260         in so when we do later hash table lookups, the color
13261         value is correct.
13262         
13263 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
13264
13265         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
13266         making the call
13267
13268 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
13269
13270         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
13271         pointed out by Morten Welinder <terra@diku.dk>.
13272
13273 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13274
13275         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13276           default filter from the list
13277
13278 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13279
13280         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13281           default filter from the list
13282
13283 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
13284
13285         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
13286
13287         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
13288         g_strdup_printf instead of calcing the length separately
13289
13290 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
13291
13292         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
13293         that we don't do in many other places. (Fixing duplicate 
13294         #include of config.h)
13295
13296         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
13297         Otherwise, #ifndef XINPUT_NONE check in the latter
13298         doesn't work. (Bug #546)
13299
13300 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
13301
13302         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
13303         "None" case insensitive.
13304
13305 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13306
13307         * gdk/gdkselection.c: 
13308         Add error traps so if the other end of the connection
13309         dies, we survive.
13310
13311 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13312
13313         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
13314         dest_xid field into two fields - one for the window
13315         to send in messages, one to indicate the last looked
13316         up window for caching purposes. This is needed, so
13317         that Leave messages get the correct window.
13318
13319 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
13320
13321         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
13322         Fix warning created by people mucking around
13323         with the gsource API.
13324
13325         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
13326         Change mapping between GIOCondition and GdkInputCondition
13327         to match the way the Linux kernel does it. This should
13328         fix problems where closed pipes were no longer signalling
13329         GDK_INPUT_READ on systems with a native poll().
13330
13331 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
13332
13333         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
13334         explicitly for the string "None" - it is in the XPM
13335         spec and some servers treat unknown colors in odd ways
13336         (like asking the user!)
13337
13338 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13339
13340         * gdk/gdkevents.c: made "->" into a "." of previous change so
13341         it compiles
13342
13343 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
13344
13345         * gdk/gdkevents.c (gdk_compress_exposures): Set the
13346         window field of the event structure before calling
13347         user filters.
13348
13349 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13350
13351         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
13352         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
13353
13354 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
13355
13356         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
13357         intermediate text property - prevents major memory
13358         leak when gdk_use_mb.
13359         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
13360
13361 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13362
13363         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13364         gtk-a-higuti-990322-[0-3]
13365
13366         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
13367         sizeof(wchar_t) != sizeof (GdkWChar)
13368
13369         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13370         that was causing -DX_LOCALE not to work.
13371
13372         * gtk/gtkrc.c (gtk_rc_init):
13373         X_LOCALE will never have LC_MESSAGES defined
13374
13375         * gdk/gdk.c (gdk_init_check):
13376         Remove --xim-preedit and --xim-status from argv properly.
13377
13378         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
13379         that the client window is present on the X server
13380         before we pass it to the input method.
13381
13382 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13383
13384         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
13385         if --display is specified on the command line, than
13386         the drag window will not be created on that display.
13387         
13388 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
13389
13390         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
13391         lookups with only_if_exists == TRUE were inserting
13392         bogus values into the atom cache.
13393
13394 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13395
13396         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
13397         then reset it to NULL.
13398
13399         * gdk/gdkcolor.c:
13400         (gdk_colors_free): 
13401         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
13402         key for g_hash_table_remove() in both functions, this prevents us
13403         from accessing possibly uninitialized portions of a GdkColor structure
13404         where we are only interested in its pixel value.
13405
13406 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13407
13408         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13409         font hash table, if we have a GdkFontPrivate entry for this font
13410         already, simply increment its reference count, provided by Olaf Dietsche
13411         <olaf.dietsche+list.gtk@netcologne.de>.
13412
13413 1999-09-21  Tor Lillqvist  <tml@iki.fi>
13414
13415         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
13416         just to be sure.
13417
13418         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
13419         unused variables, leftovers from the X11 version.
13420
13421         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
13422
13423         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
13424         downcase fields on X11.
13425
13426 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13427         
13428         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
13429         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
13430
13431 1999-09-17  Tor Lillqvist  <tml@iki.fi>
13432
13433         * gdk/win32/gdk.def: Add gdk_threads_mutex.
13434
13435         * gtk/makefile.msc: Correct path to libintl.
13436
13437         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
13438         use of gint vs. int, and gint vs. gboolean in headers and
13439         definitions. Use GtkType for the *_get_type functions. Note that
13440         these changes preserve binary compatibility.
13441
13442         * gdk/gdk.c
13443         * gdk/win32/gdk.c
13444         * gdk/gdk.h: Fix inconsistencies: gint vs int.
13445
13446         * gtk/gtkmain.c
13447         * gtk/gtkclist.c
13448         * gtk/gtkmenufactory.c
13449         * gtk/gtknotebook.c
13450         * gtk/gtkwidget.c: Fix inconsistencies, also gint
13451         vs. gboolean.
13452
13453         * gtk/gtkcolorsel.[ch]
13454         * gtk/gtkcombo.[ch]
13455         * gtk/gtkdrawingarea.[ch]
13456         * gtk/gtkgamma.[ch]
13457         * gtk/gtkhandlebox.[ch]
13458         * gtk/gtkhpaned.[ch]
13459         * gtk/gtkhruler.[ch]
13460         * gtk/gtkplug.[ch]
13461         * gtk/gtkpreview.[ch]
13462         * gtk/gtkruler.[ch]
13463         * gtk/gtksocket.[ch]
13464         * gtk/gtkstatusbar.[ch]
13465         * gtk/gtktoolbar.[ch]
13466         * gtk/gtkvbbox.[ch]
13467         * gtk/gtkvpaned.[ch]
13468         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
13469         functions.
13470
13471         * gtk/gtkgamma.h: Fix bug, missing () in call of
13472         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
13473
13474 1999-09-14  Tor Lillqvist  <tml@iki.fi>
13475
13476         * gdk/gdkcolor.c (gdk_colormap_new)
13477         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
13478         colormap->colors was allocated twice.
13479
13480         * gdk/win32/gdk.c: Remove some unused stuff.
13481
13482         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
13483         colormap.
13484
13485         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
13486         * gtk/gtklabel.h (gtk_label_get_type)
13487         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
13488         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
13489         in a couple of places, not guint.
13490
13491 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13492
13493         * configure.in,po/et.po: added Estonian language file
13494
13495 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13496
13497         * configure.in,po/da.po: added Danish file
13498
13499 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
13500
13501         * docs/gtkfaq.sgml: Minor FAQ Update
13502
13503 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
13504
13505         * docs/gtkfaq.sgml: FAQ update
13506
13507 1999-08-27  Tor Lillqvist  <tml@iki.fi>
13508
13509         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
13510         way to get window contents continually refreshed while resizing. I
13511         didn't like the effects myself, so it's not on by default.
13512
13513         * gdk/win32/gdkprivate.h: New flag variable
13514         gdk_event_func_from_window_proc, FALSE by default.
13515
13516         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
13517         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
13518         are passed --gdk-event-func-from-window-proc.
13519
13520         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
13521         and we have am event_func, call it instead of enqueing the event.
13522
13523 1999-08-23  Tor Lillqvist  <tml@iki.fi>
13524
13525         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
13526         Kelley: Set expose_count in GdkEventExposes correctly.
13527
13528         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
13529         MULTIPLE_WINDOW_CLASSES).
13530
13531         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
13532         for bug in NT, apparently NT *does* draw the end pixel, too, in
13533         LineTo with a one-pixel pen, so we don't have to do it ourselves.
13534
13535 1999-08-21  Tor Lillqvist  <tml@iki.fi>
13536
13537         Improvements by Hans Breuer: 
13538
13539         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
13540
13541         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
13542         CS_?REDRAW flags as they cause lots of (late) redraws when "show
13543         window contents while dragging" is turned on. Allocate at least
13544         one unique class for every GdkWindowType. If support for single
13545         window-specific icons is ever needed (eg. Dialog specific), every
13546         such window should get its own class.
13547
13548 1999-08-19  Tor Lillqvist  <tml@iki.fi>
13549
13550         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
13551         error that caused crashes.
13552
13553 1999-08-17  Tor Lillqvist  <tml@iki.fi>
13554
13555         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
13556         window, use ScrollWindowEx, and call UpdateWindow. This prevents
13557         bugs when for instance part of the window was outside the
13558         display. Thanks to Philippe Colantoni for finding and fixing this.
13559
13560 1999-08-16  Tor Lillqvist  <tml@iki.fi>
13561
13562         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
13563         endpoint calculations which were totally wrong. (A little RTFMing
13564         helps a lot ;-)
13565
13566         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
13567         from a separate directory, not from gettext, because of licensing
13568         issues (we want to use the LGPL version).
13569
13570         * README.win32: Mention the intl from glibc vs from gettext issue.
13571
13572 1999-08-13  Tor Lillqvist  <tml@iki.fi>
13573
13574         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
13575         in the key event handling: Now AltGr chars work again. Also,
13576         now Alt-digits are passed up as well as Control-digits.
13577         Pass keypad plus and minus as normal plus and minus.
13578
13579 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13580
13581         * docs/gtkfaq.sgml: FAQ Update
13582
13583 1999-07-25  Tor Lillqvist  <tml@iki.fi>
13584
13585         * README.win32
13586         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
13587         the Wintab SDK.
13588
13589         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
13590         OK, but getting closer. Guard against bogus tilt data from Wacom
13591         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
13592         enable easier building without Wintab.
13593
13594         * gdk/win32/gdkinput.h
13595         * gdk/win32/gdkevents.c 
13596         * gdk/win32/gdkwindow.c: Minor changes related related to above.
13597         
13598         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
13599         code. As we have just one visual on Win32, no sense to have it in a
13600         table, and no need for the hash table.
13601
13602         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
13603         better on white background.
13604
13605 1999-07-21  Tor Lillqvist  <tml@iki.fi>
13606
13607         * README.win32: Update gcc build instructions. Mention gettext is
13608         GPL.
13609
13610         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
13611         supported cursor size with GetSystemMetrics.
13612
13613         * gdk/win32/gdkfont.c
13614         * gtk/gtkfontsel.c: Guard against some font weight and charset
13615         symbols being undefined (in mingw32 headers).
13616
13617         * gdk/win32/makefile.cygwin
13618         * gtk/makefile.cygwin
13619         * gtk/gtkthemes.c: No longer need to have differently named
13620         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
13621
13622 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
13623
13624         * docs/gtkfaq.sgml: Long awaited FAQ update.
13625
13626 1999-07-15  Tor Lillqvist  <tml@iki.fi>
13627
13628         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
13629         it. Obscure bit manipulation needed.
13630
13631         * gdk/win32/gdkevents.c: Logging.
13632         
13633         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
13634         style (file name include compiler name) for theme engines.
13635
13636 1999-07-13  Tor Lillqvist  <tml@iki.fi>
13637
13638         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
13639
13640         * gdk/win32/gdkevents.c: Fix long-standing bug in key
13641         events. The key.string wasn't zero-terminated, still we strdup'ed
13642         it in gdk_event_copy(). Synthesize crossing events for button
13643         events before possible propagation.
13644
13645         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
13646
13647         * gdk/win32/makefile.cygwin
13648         * gtk/makefile.cygwin: Use new DLL naming style for the
13649         GCC-compiled ones.
13650
13651         * gdk/win32/makefile.msc
13652         * gtk/makefile.msc: Cosmetics mostly.
13653
13654         * gtk/gtk.def: Add missing entry points.
13655
13656         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
13657
13658 1999-07-09  Tor Lillqvist  <tml@iki.fi>
13659
13660         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
13661         or height is zero. Don't print a warning if Pie or Arc fails, they
13662         always fail (?) for very narrow ellipses.
13663
13664         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
13665         the part or the destination window corresponding to source area
13666         outside of the source drawable's boundary.
13667
13668         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
13669         anything if less than two points.
13670
13671         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
13672         return NULL. Gtk cut-and-paste inside a single program works
13673         better this way. (It always gets the clipboard contents from
13674         Windows, not from its own copy, which is cleared anyway. I can't
13675         say I fully understand what happens... Emulating the X selection
13676         and property stuff is a bit of a mess.)
13677
13678         * gdk/win32/gdkevents.c
13679         * gdk/win32/gdkproperty.c: A bit more verbose logging.
13680
13681         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
13682         that never got deleted). Revamp gdk_region_shrink.
13683
13684         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
13685         after use.
13686
13687         * gtk/gtk.def: Add some missing entry points.
13688
13689         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
13690         component.
13691
13692 1999-07-04  Tor Lillqvist  <tml@iki.fi>
13693
13694         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
13695         Control-digits specially.
13696
13697 1999-07-03  Tor Lillqvist  <tml@iki.fi>
13698
13699         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
13700
13701 1999-06-28  Tor Lillqvist  <tml@iki.fi>
13702
13703         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
13704         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
13705         finding this.)
13706
13707 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
13708
13709         * gtk+.spec.in: Corrected some typos in files section.
13710         
13711 1999-06-15  Tor Lillqvist  <tml@iki.fi>
13712
13713         * README.win32: Mention using GNU gettext.
13714         * config.h.win32: Enable NLS stuff.
13715         * gtk/makefile.msc: Use GNU gettext.
13716         * gdk/win32/gdkdnd.c: Minor header reorg.
13717         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
13718         cosmetics.
13719         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
13720         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
13721
13722 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
13723
13724         * acinclude.m4
13725         * config.guess
13726         * config.status
13727         * ltconfig
13728         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
13729
13730 1999-05-30  Tor Lillqvist  <tml@iki.fi>
13731
13732         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
13733         SafeAdjustWindowRectEx. Don't override all calls to
13734         AdjustWindowRectEx by it, but use it only in two places: When
13735         creating a new top-level window and when moving a top-level
13736         window.
13737
13738         Use screen coordinate rectangle, not client rectangle, in
13739         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
13740         when we try to place a window so that the decoration (mainly,
13741         title bar) isn't visible.
13742
13743         These changes fix the bug that showed up for instance as the
13744         GIMP's saved top-level windows moving right and down (by an amount
13745         equal to the window decoration) for each session. This bug showed
13746         up also in testgtk's "Saved Position".
13747
13748         gdk_window_resize also redone a bit.
13749
13750 1999-05-25  Tor Lillqvist  <tml@iki.fi>
13751
13752         * gtk/testgtkrc: Add (commented out) Windows-style theme
13753         include line.
13754
13755         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
13756
13757 1999-05-18  Tor Lillqvist  <tml@iki.fi>
13758
13759         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
13760         gdkx.h to a gdk subdirectory, so that applications can include
13761         these with <gdk/*.h> without trouble.
13762
13763         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
13764         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
13765         have their bitmap destroyed.
13766
13767         * gdk/win32/gdk.def: Add gdk_root_parent.
13768
13769 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
13770
13771         * configure.in
13772           gtk-config.in
13773           ltconfig
13774           ltmain.sh     
13775           gtk/Makefile.am: changes to compile nicely (with xlib) 
13776           on BeOS
13777
13778 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
13779
13780         * acinclude.m4
13781         * config.guess
13782         * config.sub
13783         * ltconfig
13784         * ltmain.sh: upgrade to libtool 1.3
13785
13786 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
13787
13788         * gtk/gtkclist.c:
13789         * gtk/gtkctree.c: merges from gtk-1-2
13790
13791 1999-04-25  Tor Lillqvist  <tml@iki.fi>
13792
13793         Support added for building using a GNU toolchain on Win32,
13794         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
13795
13796         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
13797         * config.h.win32: Changes for gcc.
13798         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
13799         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
13800         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
13801         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
13802         Protect shl stuff unavaiilable with mingw32 headers.
13803         * gdk/win32/gdkevents.c: Fix typo.
13804         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
13805         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
13806         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
13807         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
13808         the mingw32 headers.
13809         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
13810         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
13811         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
13812         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
13813         Test for NATIVE_WIN32, not _MSC_VER.
13814         * gtk/gtkmain.c: No use warning about developer version on Win32,
13815         there aren't any non-developer versions anyhow.
13816         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
13817         * gtk/makefile.msc: Use pthread from another directory. Minor other
13818         changes. 
13819
13820 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13821
13822         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13823           default filter from the list
13824
13825 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
13826
13827         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
13828          when gtk_widget_grab_default() is called for a widget that
13829          is not within a GtkWindow.
13830
13831 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
13832
13833         * docs/gtk_tut.sgml, examples/clist.c: use a
13834           scrolled window in the clist example. Minor
13835           tutorial fixes.
13836
13837 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
13838
13839         * docs/gtk_tut.sgml: Style check from David King
13840           <dking@youvegotmail.net>
13841
13842 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
13843
13844         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
13845         compile with unknown value of GDK_WINDOWING
13846
13847 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
13848
13849         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
13850         after the rule is fired.
13851         (install-exec-local): Install gdkconfig.h only if the contents are
13852         different from the currently installed gdkconfig.h.
13853
13854 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
13855
13856         * gdk/Makefile.am (configexecincludedir): Rename from 
13857         configincludedir so that gdkconfig.h will be installed 
13858         as part of `make install-exec'. 
13859
13860 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
13861
13862         * acinclude.m4
13863         * config.guess
13864         * config.sub
13865         * ltconfig
13866         * ltmain.sh: upgrade to libtool 1.2f
13867
13868         * autogen.sh: libtool is not required to autogen gtk+
13869
13870         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
13871         needed)
13872
13873 1999-03-18  Tor Lillqvist  <tml@iki.fi>
13874
13875         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
13876         declaring gdk variables exported/imported from the DLL. New image
13877         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
13878         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
13879         GDK_DRAG_PROTO_OLE2.
13880
13881         * gdk/gdk.h: Merge in Win32 version: Two new functions,
13882         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
13883         declared only for the Win32 version, but could be in the X11
13884         version as well. (Needed for a Xlib-less gdk_imlib.)
13885         gdk_color_hash should have only one parameter. Declare
13886         gdk_threads_mutex with GDKVAR.
13887         
13888         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
13889         just one parameter.
13890
13891         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
13892         per pixel, not bits.
13893
13894         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
13895         Fetch bpp (which means bits-per-pixel here) from another place on
13896         Win32. Accept also depth==32 (which we might get on Win32) with
13897         bpp==32.
13898
13899         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
13900         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
13901         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
13902         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
13903         in the backend-dependent directory, not in the common gdk
13904         directory.
13905
13906         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
13907         headers.
13908
13909 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
13910
13911         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
13912         want to use the Gtk+ devel version (which is true, and yes - even i am
13913         currently working with the 1.2.x branch). so everyone reading this, you
13914         probably want to issue
13915         cvs checkout -r glib-1-2 glib
13916         and
13917         cvs checkout -r gtk-1-2 gtk+
13918         as your next two comands.
13919
13920 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
13921
13922         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
13923         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
13924
13925         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
13926         file. strongly deprecated the GTK_HAVE_* macros, we provide
13927         GTK_CHECK_VERSION() for people that need to check for certain
13928         Gtk+ versions.
13929
13930         * gtk/gtkcompat.h: removed this from CVS.
13931         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
13932         idea right from the start, it just didn't seem like that back then.
13933
13934 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
13935
13936         * merges from gtk-1-2:
13937
13938 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
13939
13940         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
13941         item factory class has been created.
13942         (gtk_item_factory_parse_rc): likewise.
13943
13944         * gtk/gtkmenu.c:
13945         keep proper references for old_active_menu_item.
13946         (gtk_menu_reparent): unset the usize of the new parent,
13947         so the menu can sanely be size requested and we don't get nasty screen
13948         artefacts upon next reparentation.
13949         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
13950         enter notify. only synthesize enter notifies if the pointer really is
13951         inside the event window.
13952         (gtk_menu_popdown): use gtk_menu_shell_deselect().
13953         (gtk_menu_popup): move the background setting stuff into
13954         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
13955
13956         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
13957         gtk_menu_shell_select_item() to select the new item.
13958         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
13959         do the right thing for deselection as well.
13960
13961 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
13962
13963         * gtk/gtkwidget.[hc]:
13964         (gtk_widget_accelerators_locked): return whether a widget's accelerators
13965         are locked.
13966
13967         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
13968         existing accelerators if the widget's accelerators are locked.
13969
13970 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
13971
13972         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
13973
13974         * gtk/gtkmenu.c: truely forward key press and key release events to
13975         the menu widget from the toplevel or tearoff window. we can't simply
13976         connect to that, we need to stop further processing of the events as
13977         well.
13978
13979 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
13980
13981         * gtk/gtkmenu.c:
13982         (gtk_menu_key_press): pass event->keyval, event->state to
13983         gtk_accelerator_valid, instead of event->keyval twice.
13984         refuse to install single letter accelerators for menus that use
13985         single letter shortcuts.
13986
13987         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
13988         gtk_menu_ensure_uline_accel_group().
13989
13990         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
13991         which will always return an uline accel group, made
13992         gtk_menu_get_uline_accel_group() return NULL if the group isn't
13993         yet created.
13994
13995 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
13996
13997         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
13998
13999         * gtk/gtkclist.c (gtk_clist_column_title_passive):
14000         Leave button sensitive, trap  button_press, button_release,
14001         motion_notify, enter_notify and leave_notify events instead.
14002         (gtk_clist_column_title_active): disconnect event handler.
14003         (gtk_clist_drag_data_get): fixed memory leak. Reported by
14004         Guillaume Laurent <glaurent@worldnet.fr>
14005
14006 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
14007
14008         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
14009         width/height mixups.
14010
14011         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
14012         if needed.
14013
14014 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
14015
14016         * gtk/testgtk.c (create_item_factory): unref the item factory after
14017         window's destruction.
14018
14019         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
14020         count on the menu shell around the menu item's activation, since the
14021         signal emission may cause menu shell destruction.
14022
14023         * gtk/gtkitemfactory.c:
14024         the previous code leaked one accel group per menu. we use
14025         gtk_menu_get_uline_accel_group() now to fix that, and with that
14026         also create the underline accelerator group of the menus only if
14027         required (i.e. an underline accelerator has been specified).
14028         (gtk_item_factory_construct):
14029         (gtk_item_factory_create_item): removed code that would create an
14030         extra accel group for the menu (and leak references).
14031         (gtk_item_factory_create_item): adapted the underline accelerator
14032         installation code to properly feature gtk_menu_get_uline_accel_group().
14033
14034         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
14035         menu->accel_group, this may return NULL if the accelerator group
14036         hasn't been set yet.
14037         added gtk_menu_get_uline_accel_group() to retrive the underline
14038         accelerator group of the menu, this will be created on demand
14039         and proper care is taken about its reference count.
14040
14041         * gtk/gtkitemfactory.h:
14042         * gtk/gtkitemfactory.c:
14043         dumped the approach of keeping a widgets by action list on the
14044         factory since the factory<->widget destroy negotiation didn't work
14045         and would be hard to get going at all. instead we keep a list of
14046         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
14047         persistant throughout a program's life time).
14048         also, i removed the static const gchar *key_* variables, and made
14049         them inline strings (they weren't actually used anyways).
14050         (gtk_item_factory_add_item): update ifactory->items.
14051         (gtk_item_factory_destroy): destroy ifactory->items (and remove
14052         the item factory pointer from the remaining ifactory widgets).
14053         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
14054         list to find the widget.
14055         (gtk_item_factory_get_item): new function that works around
14056         gtk_item_factory_get_widget() limitations, this function will only
14057         return menu items, even for <Branch> entries.
14058
14059 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14060
14061         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14062         font hash table, if we have a GdkFontPrivate entry for this font
14063         already, simply increment its reference count, provided by Olaf Dietsche
14064         <olaf.dietsche+list.gtk@netcologne.de>.
14065
14066         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14067         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14068
14069 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
14070
14071         * gtk/gtkcontainer.c:
14072         (gtk_container_add_with_args):
14073         (gtk_container_addv):
14074         (gtk_container_add): before adding a child to a conatiner, make sure
14075         it is (default) constructed, this is neccessary because under certain
14076         circumstances the child will get relized and mapped immediatedly, in
14077         which case it has to be constructed already.
14078
14079 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
14080
14081         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
14082         values > 1 as TRUE also.
14083
14084 1999-03-16  Tor Lillqvist  <tml@iki.fi>
14085
14086         * README.win32: New file.
14087                 
14088         * configure.in: Check for lstat.
14089
14090         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
14091         completeness.
14092
14093         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
14094
14095         * gtk/gtk.def: Removed CRs.
14096
14097         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
14098         ..\gdk\win32).
14099
14100         * gdk/win32/makefile.msc: Correct upwards relative paths.
14101         
14102 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
14103
14104         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
14105           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
14106           it was connecting a void function to expose_event and the int
14107           returning function to the draw signal
14108
14109 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
14110
14111         * configure.in:
14112         Use correct path to libgmodule.la when ref'ing uninstalled copy
14113         of glib.  (Already in stable branch, Bug #417)
14114
14115 1999-03-15  Tor Lillqvist  <tml@iki.fi>
14116
14117         Win32 merge and general portability stuff:
14118                 
14119         * acconfig.h,configure.in: Check for <sys/time.h>.
14120
14121         * gdk/win32: New directory (actually, been there for a while).
14122         
14123         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
14124         NATIVE_WIN32, and use these. Always case fold on Win32. No
14125         backslashed escapes on native Win32.
14126
14127         * gtk/{gtk.def,makefile.msc}: New files.
14128
14129         * gtk/Makefile.am: Add above new files.
14130         
14131         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
14132         instead of <strings.h>.
14133
14134         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
14135         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
14136         <unistd.h> appropriately.
14137
14138         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
14139         Use ABS() (from <glib.h>) instead of abs().
14140         
14141         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
14142         of gtk (and thus glib) headers, so that WIN32 will be
14143         defined. With MS C, include <direct.h> for mkdir prototype.
14144
14145         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
14146         some casts, needed by MS C.
14147
14148         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
14149         implemented).
14150
14151         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
14152         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
14153         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
14154
14155         * gtk/gtkmain.h: Mark variables for export/import on Win32.
14156                 
14157         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
14158         the event is not a hint, or its window is not the slider. Needed
14159         on Win32, at least.
14160
14161         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
14162         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
14163         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
14164         a subdirectory of the Windows directory as gtk system
14165         configuration directory.
14166
14167         * gtk/gtkselection.c: No chunks on Win32.
14168
14169         * gtk/gtksocket.c: Not implemented on Win32.
14170
14171         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
14172
14173         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
14174
14175         * gtk/maketypes.awk: Declare variables with a macro that expands to
14176         necessary export/import magic in the case of Win32.
14177                 
14178         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
14179
14180 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
14181
14182         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
14183         since those were meant only for gdki18n.h.  
14184         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
14185         for widechar tests.
14186         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
14187
14188 1999-03-13  Tor Lillqvist  <tml@iki.fi>
14189
14190         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
14191         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
14192
14193         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
14194         installed) to CFLAGS.
14195
14196         * gdk/Makefile.am: Add rules for gdkconfig.h.
14197
14198         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
14199         APIs.
14200
14201         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
14202         gdkx.h anyway when compiling for X11.
14203         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
14204         general): Merge in Win32 version.
14205         
14206         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
14207         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
14208         expansion (if we don't have HAVE_PWD_H), allow for drive
14209         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
14210         included code from Craig Setera's port to Win32 (the one that uses
14211         X11, and the cygwin dll), even if it probably will be abandoned.
14212
14213         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
14214         the user entered one herself.  This way one can complete *.h and
14215         don't get matches on any .help files, for instance.
14216         
14217 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14218
14219         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14220         font hash table, if we have a GdkFontPrivate entry for this font
14221         already, simply increment its reference count, provided by Olaf Dietsche
14222         <olaf.dietsche+list.gtk@netcologne.de>.
14223
14224         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14225         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14226
14227 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14228
14229         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
14230         the number of calls to gdk_draw_point() (and thus to X) by
14231         clipping the points by hand.
14232
14233         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
14234         the clip parameter.
14235         (gtk_handle_box_paint): Only paint the handle if the expose area
14236         intersects it.
14237
14238 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14239
14240         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
14241
14242 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
14243
14244         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
14245         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
14246
14247 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14248
14249         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
14250          textmode (O_TEXT) for OS/2 version.
14251
14252 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
14253
14254         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
14255         GtkSpinButton, "input" and "output", to make the output more flexible.
14256         The user has to provide a mapping between adjustment->value and the
14257         output string (and vice versa, if the spin button is editable). 
14258         See testgtk for examples.
14259
14260 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
14261
14262         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
14263         new one.
14264         
14265         * configure.in: set gtk+ version to 1.3.0.