]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-6
b397d00f479a59bcbba379626b35aef8db102c1a
[~andy/gtk] / ChangeLog.pre-2-6
1 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
2
3         * gtk/testgtk.c: re-enabled event watcher emission hooks.
4
5 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
6
7         * *.c: added accumulator data argument to g_signal_newc()
8         functions.
9
10         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
11         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
12         * gtk/treestoretest.c (make_window):
13         s/g_signal_connect/g_signal_connectc/.
14
15         * gtk/gtktextbuffer.c: completed signal arg fixups,
16         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
17
18 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
19
20         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
21         G_CONST_RETURN.
22
23         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
24         ::hierarchy-changed signal when a widget changes
25         from anchored to unanchored or vice versa.
26         (anchored means 
27          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
28         Use a private flag to keep track of this efficiently.
29
30 2001-03-07  Havoc Pennington  <hp@redhat.com>
31
32         * gtk/testgtk.c (create_spins): uglify so that size request gets
33         tested.
34
35         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
36         request on values for upper/lower, completes #6152
37
38 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
39
40         * Makefile.am: Remove gtk-config-2.0 again.
41         (Grrrr, pkg-config. And stops make loops.)
42
43 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
44
45         * gtk/gtksignal.[hc]: removed old emission hook API.
46         
47         * docs/Changes-2.0.txt: fixed sections.
48         
49         * gtk/gtktextbuffer.c: signal arg fixups.
50
51 2001-03-07  Havoc Pennington  <hp@redhat.com>
52
53         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
54
55         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
56         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
57         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
58         validation and the redraw which is higher priority than the
59         validation.
60
61 2001-03-07  Havoc Pennington  <hp@redhat.com>
62
63         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
64         (gtk_entry_set_property): remove trailer
65
66         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
67         (gtk_entry_get_width_chars): new functions, to set size request to 
68         a given number of characters
69
70         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
71
72         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
73         (gtk_dialog_get_has_separator): new function
74         (run_delete_handler): fix to not emit "response" signal
75         because we already did in the delete event handler installed
76         at dialog creation time.
77         
78         * gtk/gtkdialog.h: add a has_separator property,
79         add GTK_DIALOG_NO_SEPARATOR flag
80
81 2001-03-07  Havoc Pennington  <hp@redhat.com>
82
83         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
84         off decorations for a window.
85
86         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
87         changes
88
89         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
90         to get location of PangoLayout inside the label, closes #51198
91
92         * gtk/testgtk.c (create_bbox): fix up button box usage
93
94         * gtk/testcalendar.c (create_calendar): fix up button box usage
95
96         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
97
98         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
99
100         * gtk/gtkhbbox.h: deprecations
101
102         * gtk/gtkvbbox.h: deprecations
103
104         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
105         emulate deprecated gtk_button_box_get_spacing
106
107         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
108         the "set global default" functions
109         (struct _GtkButtonBox): remove "spacing" field, use the one from 
110         GtkBox base class
111
112         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
113
114         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
115         render the icon, return the missing image icon.
116
117         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
118         image icon if the load fails.   
119
120         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
121         when no image is found; should be the Netscape "missing image"
122         icon eventually but for now is a random image
123
124         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
125         role for the session manager
126
127         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
128
129         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
130         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
131
132         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
133
134 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
135
136         * gtk/*.c: marshaller fixes.
137         
138         * gtk/gtkmarshal.list: extreme cleanup.
139
140         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
141         param spec for now.
142
143         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
144         where appliable.
145
146         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
147         special cased autogenerated boxed types from gtktypebuiltins_ids.c
148         which are not reference counted:
149         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
150         PangoFontDescription, GtkTreeIter and GtkTreePath.
151
152 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
153
154         * gtk/gtktreeselection.h: 
155         * gtk/gtktreemodel.c:
156         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
157         file should be included directly, and gobject/gmarshal.h
158         as well as gtk/gtkmarshal.h even can't be included directly.
159
160         * Makefile.am: grr, install gtk-config-2.0.
161
162         * gtk/testgtk.c:
163         * gtk/simple.c:
164         * gtk/gtkmenu.c:
165         * gtk/gtkitemfactory.c: use g_object_connect() instead of
166         passing "*signal*::*" args to gtk_widget_set().
167         
168         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
169         
170         * gtk/*.c: removed trailer arg from property setters and getters.
171         macro fixups.
172
173 2001-03-07  Alexander Larsson  <alexl@redhat.com>
174
175         * gtk/gtklabel.c (set_markup): Removed warning
176
177 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
178
179         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
180         field to allow you to hide cell renderers.
181
182         * gtk/gtkcellrenderer.c: Add support for invisible cells.
183
184         * gtk/gtktreeview.c: Add support for invisible cells.
185
186 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
187
188         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
189         Add "clicked" signal back to columns.
190
191         * ChangeLog: remove conflict markers.
192
193 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
194
195         * gtk/gtkbutton.c: Add animation of activation by, on 
196         activate, pressing the button, and adding a timeout that 
197         releases the button after 250ms or on key release and
198         emits ::clicked. (#51501)
199
200         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
201         action area, we connect to ::clicked instead of ::activate
202         so the dialog stays up through the animation.
203
204 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
205
206         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
207         check the ignore_enter flag for the menu shell that
208         the item is actually a child of, not for attached
209         submenus. (#51536)
210
211 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
212
213         * gtk/gtkmain.c (gtk_propagate_event): Only do special
214         special key-press grab handling for widgets within
215         GtkWindows. Otherwise, fall through to normal case.
216
217         This prevents key events being sent twice to GtkInvisible
218         widgets, which can cause all sorts of mischief.
219
220 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
221
222         * gtk/gtkmain.c (gtk_propagate_event): When a grab
223         widget is in effect, give the grab widget a first
224         crack at KEY_PRESS/RELEASE events. (#424)
225
226 2001-03-06  James Henstridge  <james@daa.com.au>
227
228         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
229         offset for the window_state_event to point at window_state_event
230         rather than no_expose_event.
231
232 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
233
234         * gtk/gtkimmodule.h: fix busted /* comment */
235
236 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
237
238         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
239         object properties.
240
241 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
242
243         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
244         add object properties.
245
246         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
247         to add object properties.
248
249         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
250         object properties.
251
252         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
253         add object properties.
254
255         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
256         object properties.
257
258 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
259
260         * gtk/gtktreemodel.c: renamed "child_toggled" to
261         "has_child_toggled".
262
263         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
264         handle new signal name.
265
266         * gtk/gtktreestore.c: Updated to handle new signal name.
267         * gtk/gtklisttore.c: Updated to handle new signal name.
268         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
269
270 2001-03-05  Alexander Larsson  <alexl@redhat.com>
271
272         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
273         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
274
275 2001-03-05  Michael Natterer  <mitch@gimp.org>
276
277         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
278         pixbuf-engine coincidentially also failed to make one of it's
279         parent_class pointers static, causing overwriting of GtkLabel's
280         parent_class pointer in pixbuf_style_class_init().
281         (Will commit the fix to the pixbuf-engine too).
282
283 2001-03-05  Alexander Larsson  <alexl@redhat.com>
284
285         * gdk/gdkwindow.h:
286         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
287         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
288         gdk_window_set_icon_list for net wmspec functionality.
289
290         * gdk/x11/gdkwindow-x11.c:
291         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
292         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
293         gdk_window_set_icon_list.
294         Added gdk_wmspec_change_state helper function and used it in the code.
295         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
296
297         * gtk/gtkdialog.c (gtk_dialog_init):
298         Set GDK_WINDOW_TYPE_HINT_DIALOG.
299
300         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
301         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
302
303         * gtk/gtkwindow.c:
304         new function gtk_window_set_type_hint.
305         On realize, set type hint and modal hint.
306
307         * gtk/gtkwindow.h:
308         Added type_hint field and gtk_window_set_type_hint.
309
310 2001-03-05  Alexander Larsson  <alexl@redhat.com>
311
312         * gtk/gtklabel.[ch]:
313         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
314         New function gtk_label_get_accel_keyval () to get the underline accelerator
315         of the label. Setting the label pattern overrides other attributes.
316
317 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
318
319         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
320         Added missing initializers to gtk_rc_style_init().
321
322 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
323
324         * gtk/gtktextview.c: fixed bug #51097 about setting 
325         gtk_text_view_set_border_window_size() if the widget is 
326         already realized.
327
328 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
329
330         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
331
332         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
333         comment. Won't do to have duplicated doc comments between
334         the platform subdirs.
335
336 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
337
338         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
339           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
340
341         Detectable auto-repeat - make a repeating key generate
342         press/press/press/release instead of press/release pairs.
343
344         If we have Xkb and XkbSetDectableAutoRepeat supports
345         that, we do it that way. Otherwise, when we get
346         a release event, we check ahead with XPending to see
347         if the next key is a KeyPress with the same keycode
348         and timestamp. (Not 100% reliable, but pretty close.)
349           
350 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
351         
352         * gtk/gtkmain.c (gtk_propagate_event): Only do special
353         special key-press grab handling for widgets within
354         GtkWindows. Otherwise, fall through to normal case.
355  
356         This prevents key events being sent twice to GtkInvisible
357         widgets, which can cause all sorts of mischief.
358  
359 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
360  
361         * gtk/gtkmain.c (gtk_propagate_event): When a grab
362         widget is in effect, give the grab widget a first
363         crack at KEY_PRESS/RELEASE events. (#424)
364  
365 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
366
367         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
368         to extend the selection. (Roughly based on patch
369         from Jay Cox, #50939)
370
371         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
372         to properly handle previous GDK_BUTTON_PRESS. 
373         (Patch from Jay Cox, #50938)
374
375         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
376         '\0' back along with the deleted text. (#51148)
377
378 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
379
380         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
381         the group when extracting it from the X keyboard event.
382
383         * modules/input/Makefile.am modules/input/imipa.c: 
384         Simple module for entering IPA. (Do we need a 
385         gtk-stupid-input-tricks CVS module?)
386
387 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
388
389         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
390         const.
391
392         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
393
394         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
395         is no focus widget for the dialog currently, grab the focus as well
396         as the default.
397
398         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
399         the action area's children to iterate through, not the
400         dialog's children.
401
402 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
403
404         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
405         Add plug-socket tests. (Won't work worth a darn until I commit
406         the rest of the plug-socket changes, but no reason these
407         can't go into CVS now.)
408
409 2001-03-02  Havoc Pennington  <hp@redhat.com>
410
411         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
412         _gdk_region_get_xrectangles()
413
414         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
415
416         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
417
418         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
419         function, contributed by Ron Steinke    
420
421         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
422         gdk_net_wm_supports
423
424         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
425         New function, contributed by Ron Steinke
426
427         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
428         used to line up the text in the entry when using the entry for
429         editable sheet cell hacks
430
431         * gtk/testgtk.c (create_entry): test the activate_default setting
432         on GtkEntry
433
434         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
435         cause the entry to activate the default button for a dialog when 
436         activated
437         (gtk_entry_get_activates_default): new function
438
439 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
440
441         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
442         Hwang to move call to sync_selection() up a few lines
443         to before the row list is modified, to fix crash when
444         removing rows in the undo_selection list.
445
446         (Test case provided by Daniel Elstner:
447
448         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
449
450 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
451
452         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
453         of tree->root_tree in parent_set rather than _map(), 
454         fixing #50892 in a bit better manner.
455
456 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
457
458         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
459
460 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
461
462         * gtk/gtkstyle.c : Remove duplicate fwd decl for
463         gtk_default_draw_shadow.
464
465 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
466
467         * gdk/gdkimage.c (gdk_image_new): Remove excess 
468         warning, make warnings more verbose, treat a error
469         in shmat as permanent, and don't try again.
470         (#51163, Ed Randall.)
471
472 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
473
474         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
475         delay for the first click before starting to scroll.
476         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
477
478         * gtk/gtktext.c: GtkText should have I-beam cursor. 
479         (based on gtk-enf-990513-1.patch, Eric Fisher.)
480
481 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
482
483         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
484         cleanup to remove some references to unused
485         ->xoffset, ->yoffset.
486
487 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
488
489         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
490         mask. (#51039, fix from Martin Maierhofer)
491
492 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
493
494         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
495         for unshifted + and shifted = for non-us keyboards.
496         Make <Control>+ and <Control>- work as well as 
497         <Control>KP_Plus, <Control>KP_Minus for recursive
498         open/close.  (#2682, René Seindal)
499
500 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
501
502         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
503         the active menu item before deactivating the menu,
504         so gtk_menu_popdown doesn't change the history. (#50964)
505         
506 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
507
508         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
509         draw lines with text_gc rather than black_gc.
510         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
511
512 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
513
514         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
515         Move handling of buttons fully in gtktreeviewcolumn.  This code is
516         less interrelated then it was, but it still requires the
517         GtkTreeView to map it.
518
519         * test/testtreecolumn.c: Now I can add a column to one view,
520         remove it, add it to the another view, remove it, then re-add it
521         to the first.  Nifty.
522
523 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
524
525         * docs/tutorial/gtk-tut.sgml: Minor corrections
526
527 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
528
529         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
530         GtkRowReference.
531
532 2001-02-28  Havoc Pennington  <hp@redhat.com>
533
534         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
535         draw_default
536         (gtk_widget_draw_focus): remove this function; we could instead
537         make it just gtk_widget_draw(), but in most cases I think the
538         result would be broken user code, so think it's better to have
539         that code not compile and get fixed
540         (gtk_widget_draw_default): ditto
541
542         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
543         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
544         
545         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
546         widgets lose/get the default, instead of calling draw_default
547         
548         * docs/Changes-2.0.txt: note about all this
549
550         Then fixed every widget in GTK, I won't list all the filenames.
551
552 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
553
554         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
555         _gtk_tree_row_reference_deleted.
556         (inserted_callback): Proxy out to
557         _gtk_tree_row_reference_inserted.
558         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
559         get around signal emission ordering problem.
560
561         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
562         fix to work with SINGLE 
563         (_gtk_tree_selection_internal_select_node): Major sanitization on
564         selections.  SINGLE now seems to work.
565
566         * tests/Makefile.am: add testtreecolumn.c:
567
568         * tests/testtreecolumn.c: New test.  Mostly points out selection
569         bugs currently, but will test columns later.
570
571         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
572         selection bug.  I hate touching this code -- it's scary.
573
574 2001-02-26  Havoc Pennington  <hp@redhat.com>
575
576         * gtk/testgtk.c: test the window state stuff
577
578         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
579         window come to the user's attention as if it were just created
580         (gtk_window_iconify): new function
581         (gtk_window_deiconify): new function
582         (gtk_window_stick): new function
583         (gtk_window_unstick): new function
584         (gtk_window_maximize): new function
585         (gtk_window_unmaximize): new function
586
587         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
588
589         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
590
591         * gdk/x11/gdkevents-x11.c: create window state events when
592         appropriate
593         (gdk_wmspec_supported): new function
594
595         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
596         iconification before showing the window
597         (gdk_window_deiconify): new function
598         (gdk_window_stick): new function
599         (gdk_window_unstick): new function
600         (gdk_window_maximize): new function
601         (gdk_window_unmaximize): new function
602
603         * gdk/gdkwindow.c: store the window state in the window; 
604         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
605         window->mapped.
606         (gdk_window_get_state): return the current window state
607
608         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
609         (gdk_event_get_state): handle GDK_WINDOW_STATE
610         (gdk_synthesize_window_state): function to create the window state
611         events
612
613         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
614         event, for changes to "window state" such as maximized, sticky, 
615         etc.
616         
617         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
618         focuses a window
619
620         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
621         finds out if we support a given WM spec hint
622
623 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
624
625         * docs/faq/gtk-faq.sgml: New question re memory leaks.
626
627 2001-02-25  Hans Breuer  <hans@breuer.org>
628
629         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
630         cause we want to loose those prototypes only in the latter case
631
632         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
633         GdkPixmapImplWin32 because it itsn't derived from it. Use the
634         impl member variable instead
635
636         * gtk/gtk.def : updated
637
638         * gtk/gtklist.c : 
639         * gtk/gtkmenus.c : include <string.h> for memset ()
640
641         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
642         for everthing built here, but for gtk-x.x.dll only. This solves
643         problem of indifferent gtk type definitions
644
645 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
646
647         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
648
649 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
650
651         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
652         column that is exposed.
653
654         (_gtk_tree_view_update_size): Changed name from set_size, and
655         changed function to do more work, and not force people calling it
656         to figure out the size.  Simplifies a lot of code elsewhere.
657
658 2001-02-23  Alexander Larsson  <alexl@redhat.com>
659
660         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
661         return solid masks for xpms that have no transparent color.
662         This makes the ..._create_from_xpm... API backwards
663         compatible.
664
665 2001-02-23  Tor Lillqvist  <tml@iki.fi>
666
667         * README.win32: Update. Mention the gtk-1-3-win32-production
668         branch.
669
670         * gdk/win32/bdfcursor.c: New file. A program that generates
671         xcursors.h. Thanks to Stefan Ondrejicka.
672
673         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
674         compact format.
675
676         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
677
678         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
679         function, uses xcursors.h.
680         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
681         cursor from inline data instead of using LoadCursor() to generate
682         it from a resource.
683
684         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
685         event, must check the Windows message for mouse button state, as
686         the GDK event state might not have been built if it is
687         undelivered. Remove one goto.
688
689         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
690         SetCursor() if the current cursor as returned by GetCursor() is
691         the window's previous cursor. The ChildWindowFromPoint() test
692         apparently didn't work correctly.
693
694         * gdk/win32/rc/*.cur: Remove.
695
696         * gdk/win32/rc/gdk.rc.in: Remove cursors.
697
698         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
699
700         * gtk/makefile.{mingw,msc}.in: Updates.
701
702 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
703
704         * gtk/gtktreemodel.h: add functions for signal emission.
705
706         * gtk/gtktreestore.c: move to use above functions instead of
707         g_signal_emit.
708
709         * gtk/gtkliststore.c: ditto
710
711 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
712
713         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
714         GObject instead of GtkObject.
715
716         * gtk/gtkliststore.c: ditto.
717
718         * gtk/gtktreemodelsort.c: ditto.
719
720         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
721         GtkTreeModelIface, instead of in each model.
722
723 2001-02-21  Havoc Pennington  <hp@redhat.com>
724
725         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
726         unbreak this function
727
728         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
729         properties
730
731         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
732         properties
733
734         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
735         properties
736
737         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
738         mean unset the max length
739
740 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
741
742         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
743         Changed name to be set_cell_data_func to make it clear what
744         the functino does.  Close bug #51069.
745
746 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
747
748         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
749         have memory actually freed.  Keeps box running longer.
750
751 2001-02-21  Alexander Larsson  <alexl@redhat.com>
752         
753         * gtk/gtkseparatormenuitem.[ch]:
754         Added new menu separator item. The drawing and size handling
755         is still done in GtkMenuItem, but the API is a bit more sane.
756         
757         * gtk/Makefile.am:
758         Add gtkseparatormenuitem.[ch].
759
760         * gtk/gtk.h:
761         Add gtkseparatormenuitem.h.
762         
763         * gtk/gtkentry.c:
764         * gtk/gtkmenufactory.c:
765         * gtk/gtktextview.c:
766         Use the new API for menu separators.
767         
768         * demos/gtk-demo/menus.c (create_menu):
769         Add some GtkSeparatorMenuItem demo code.
770
771 2001-02-20  Havoc Pennington  <hp@redhat.com>
772
773         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
774         Lee Mallabone
775
776         * gtk/gtkarrow.c: Convert to new property API, patch from 
777         Lee Mallabone
778
779 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
780
781         * tests/testtreeview.c (toggled_callback): fix to reflect change
782         in GtkTreeModelStore.
783
784 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
785
786         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
787         function to create an icon set from a pixbuf.
788
789 2001-02-20  Alexander Larsson  <alexl@redhat.com>
790
791         * gtk/gtkcellrenderertext.[ch]:
792         Add a "markup" property.
793
794         * gtk/treestoretest.c:
795         Use the markup property, remove some leftover stuff from
796         GtkTreeModelMapping.
797
798 2001-02-20  Alexander Larsson  <alexl@redhat.com>
799
800         * gtk/gtklabel.c (gtk_label_set_selectable):
801         Queue a redraw if the selectable setting was changed.
802
803 2001-02-20  Alexander Larsson  <alexl@redhat.com>
804
805         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
806         Actually copy the whole gc, not just the public parts.
807         
808         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
809         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
810         labels.
811
812 2001-02-19  Havoc Pennington  <hp@pobox.com>
813
814         * gdk/gdkwindow.c: docs
815
816         * gdk/gdkrgb.c: docs
817
818         * gdk/gdkregion-generic.c: docs
819
820         * gdk/gdkgc.c (gdk_gc_set_values): docs
821
822         * gdk/gdkdraw.c: docs
823
824         * gdk/gdkdrawable.h: deprecate drawable get/set data
825
826 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
827
828         * demos/gtk-demo/dialog.c: Add simple new demo.
829
830 2001-02-19  Havoc Pennington  <hp@redhat.com>
831
832         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
833         insert_child_anchor signal, bug #50245
834
835         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
836         from create_child_anchor, so the anchor is passed in
837
838         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
839         (_gtk_widget_segment_new): have the child anchor object passed in, 
840         instead of creating it.
841
842         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
843         to gtk_text_buffer_get_modified
844
845 2001-02-19  Havoc Pennington  <hp@redhat.com>
846
847         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
848         changed GLib without fixing GTK
849
850         * gtk/gtkrange.h: Rename all the stupid implementation detail 
851         functions to have an underscore in front. Most of them should 
852         probably just go away, but for starters don't export them.
853         Bug #50482
854
855 2001-02-19  Havoc Pennington  <hp@redhat.com>
856
857         * gdk/gdkcolor.h: test was backward, so deprecated functions were
858         excluded by default
859
860         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
861         clean up the old code a bit
862
863         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
864         inconsistent state
865
866         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
867         draw inconsistent state
868
869         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
870         (create_menu): add inconsistent test
871
872         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
873         new function
874         (gtk_check_menu_item_get_inconsistent): new function
875         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
876         state (using etched in for now)
877
878         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
879         draw inconsistent state
880
881         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
882         function, used when the user has selected a range of stuff in
883         different states
884         (gtk_toggle_button_get_inconsistent): accessor for that
885         (gtk_toggle_button_paint): draw inconsistent state (etched in?
886         don't know what else to do)
887
888 2001-02-19  Hans Breuer <hans@breuer.org>
889
890         * gtk/gtk.def : updated exported symbols
891
892         * gtk/makefile.msc.in : updated
893
894         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
895         a colormap, when invoked from testgtk::entry. I'm not sure where
896         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
897         avoids immediate crashing ...
898
899         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
900         any objections ?
901
902         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
903         0 parameter. At least msvc doesn't like macros with var args. 
904         I simply removed the extra 0, was it a feature or a typo ?
905
906         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
907         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
908         because the value assignment to the internal struct wasn't working.
909         I'm not absolutely sure. The problem could have been resolved by
910         changing the "func" declartion in the struct, but was the pointer
911         to the function pointer intended ?
912
913         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
914
915         * gdk/gdk.def : updated exported symbols
916
917         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
918         only use SetDIBitsToDevice if there is a palette at the drawable
919         and the image is GDK_VISUAL_PSEUDO_COLOR
920
921         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
922
923         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
924
925         * gdk/*/makefile.msc : updated
926
927 2001-02-19  Havoc Pennington  <hp@redhat.com>
928
929         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
930         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
931
932         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
933         (gdk_key_repeat_restore): nuke
934
935         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
936         (gdk_init_check): no atexit func
937
938         * gdk/gdkrgb.h: mark some stuff deprecated
939
940         * gdk/gdkcolor.h: mark some stuff deprecated
941         
942         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
943
944         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
945
946 2001-02-16  Havoc Pennington  <hp@redhat.com>
947
948         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
949         scroll steps.
950
951         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
952         steps, and add Ctrl-arrow shortcuts for paging visually as with
953         HScale, since Page Up and Page Down move logically.
954
955         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
956         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
957         
958         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
959         steps
960         (gtk_range_scroll): handle the visual steps
961
962         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
963         scroll steps
964
965         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
966         steps, not the logical ones.
967
968         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
969         (scroll_vertical): handle up/down steps
970
971 2001-02-19 Alexander Larsson  <alexl@redhat.com>
972
973         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
974         Copy data and free data with free().
975
976         * gdk-pixbuf/gdk-pixbuf.c:
977         * gdk-pixbuf/io-jpeg.c:
978         * gdk-pixbuf/io-png.c:
979         Use g_try_malloc/g_free instead malloc/free.
980         
981         * gdk-pixbuf/test-gdk-pixbuf.c:
982         Must... initialize... gobject...
983         
984         * gdk-pixbuf/pixops/timescale.c:
985         * gtk/gtkcalendar.c:
986         Use g_malloc instead of malloc.
987         
988 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
989
990         * gtk/testgtkrc:
991         Comment out property assignments, these don't work yet.
992
993 2001-02-17  Havoc Pennington  <hp@pobox.com>
994
995         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
996         bit.
997
998 2001-02-17  Havoc Pennington  <hp@pobox.com>
999
1000         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
1001         shadowed variables that had broken size request in some cases,
1002         leading to bogus tooltips (#50996)
1003
1004 2001-02-06  Jon K Hellan  <hellan@acm.org>
1005
1006         Implement fast browsing of tooltips, bug #50619
1007         
1008         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
1009         and last_popdown
1010         
1011         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
1012         use_sticky_delay and last_popdown.
1013         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
1014         time of popdown.
1015         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
1016         is NULL.
1017         (gtk_tooltips_recently_shown): New static function.  Return true
1018         if < sticky_delay has elapsed since last popdown.
1019         (gtk_tooltips_event_handler): Display window after sticky_delay
1020         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
1021         since last popdown.
1022         
1023 2001-02-17  Havoc Pennington  <hp@pobox.com>
1024
1025         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
1026         instead of (). #6394
1027
1028         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
1029         G_CONST_RETURN, make it return by reference, #50473
1030         
1031 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
1032
1033         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
1034         generated ENTER_NOTIFY event with 0, otherwise not explicitely
1035         setup fields contain garbage (e.g. subwindow, breaking
1036         gdk_drawable_ref() upon event copy).
1037         (gtk_menu_stop_navigating_submenu_cb): same here.
1038
1039         * gtk/gtklist.c (gtk_list_vertical_timeout): 
1040         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
1041         * gtk/gtkclist.c (vertical_timeout): 
1042         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
1043         default-zero-intialization for unions to memset(,0,), as unions are
1044         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
1045         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
1046
1047         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
1048         g_closure_sink() warning.
1049
1050         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
1051         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
1052         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
1053         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
1054         
1055 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
1056
1057         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
1058         gtk_*_store_get, and moved to GtkTreeModel.
1059
1060         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
1061
1062         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
1063
1064         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
1065
1066         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
1067         set the func.
1068
1069         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1070         freeze/thaw notify between setting all the properties for a cell.
1071
1072         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
1073
1074 2001-02-15  Havoc Pennington  <hp@redhat.com>
1075
1076         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
1077         the X coordinates so they're with respect to the line, rather than 
1078         with respect to the layout.
1079
1080         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
1081         Mallabone
1082
1083         * gtk/testgtk.c (create_range_controls): add vscale tests, 
1084         and inverted test
1085
1086         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
1087         #50806
1088
1089         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
1090
1091         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
1092         gtk_text_iter_is_end
1093
1094         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
1095         rename gtk_text_buffer_get_end_iter
1096
1097         * gtk/testgtk.c (create_labels): Add test for selectable
1098
1099         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
1100         the selection stuff. This code is kind of broken since it doesn't 
1101         use the theme engine.
1102
1103         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
1104         fix infinite loop and y offset problem
1105         (gdk_draw_layout_line_with_colors): fix foreground color handling
1106
1107         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
1108         that makes the label selectable.
1109         
1110         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
1111         layout when the style is set, since fonts etc. could have changed.      
1112
1113 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
1114
1115         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
1116
1117         * gtk/gtktreemodelsimple.[ch]: removed.
1118
1119 2001-02-16  Alexander Larsson  <alexl@redhat.com>
1120
1121         * gtk/gtktreemodelmapping.[ch]:
1122         New files. Implement GtkTreeModelMapping.
1123         
1124         * gtk/Makefile.am:
1125         Add gtktreemodelmapping.[ch].
1126         
1127         * gtk/gtk.h:
1128         Add gtktreemodelmapping.h
1129
1130         * gtk/treestoretest.c:
1131         Test the GtkTreeModelMapping
1132
1133 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
1134
1135         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
1136         have a demo, we might as well pass in real values.  Thanks to
1137         clahey for pointing this out.
1138
1139 2001-02-14  Havoc Pennington  <hp@pobox.com>
1140
1141         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
1142         "static" to a private function
1143         (gtk_image_menu_item_class_init): remove destroy handler,
1144         add "image" object property
1145
1146 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
1147
1148         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
1149         Add a shortcut if the window and the current clip_region doesn't
1150         overlap. This is needed when there are a lot of windows in a
1151         window. The layout test in testgtk is a good test.
1152
1153         * gdk/linux-fb/gdkwindow-fb.c:
1154         Whitespace fix.
1155
1156 2001-02-13  Sven Neumann  <sven@convergence.de>
1157
1158         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
1159
1160 2001-02-13  Alexander Larsson  <alexl@redhat.com>
1161
1162         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
1163         Don't reference last_cursor if it is null. Fixes crash when rotating
1164         the screen before having moved the mouse.
1165
1166         * gdk/linux-fb/gdkcc-fb.c: Zapp!
1167
1168         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
1169
1170         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
1171         when using 90 or 270 degrees rotation.
1172
1173 2001-02-12  Havoc Pennington  <hp@pobox.com>
1174
1175         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
1176         it always set the foreground, even if we were only using
1177         a stipple.
1178         (gdk_draw_layout_line_with_colors): new function, allow
1179         override colors
1180         (gdk_draw_layout_with_colors): new function, allow override
1181         colors
1182         (gdk_pango_layout_line_get_clip_region): function to get the clip
1183         region for a logical text range
1184         (gdk_pango_layout_get_clip_region): get the clip region for a
1185         logical text range
1186
1187         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
1188         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
1189         the right number of arguments.
1190
1191         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
1192         enhance the function to check that node data corresponds to a 
1193         view still belonging to the tree.
1194
1195         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
1196         GtkTreePath
1197         (gtk_tree_view_inserted): ditto
1198         (gtk_tree_view_child_toggled): ditto
1199
1200         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
1201         simplify this code.
1202
1203         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
1204         a PangoAttrList
1205
1206         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
1207
1208         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
1209
1210         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
1211         size in the size request 
1212         (gtk_menu_bar_size_allocate): consider toggle size here
1213
1214         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
1215         that displays a widget in the toggle slot
1216
1217         * gtk/testgtk.c: test GtkImageMenuItem
1218
1219         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
1220         
1221         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
1222         request and allocation
1223
1224         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
1225
1226         * gtk/gtkcheckmenuitem.c
1227         (gtk_check_menu_item_toggle_size_request): ditto
1228         
1229 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
1230
1231         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
1232         reference.
1233
1234         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
1235         and refuse to initialize GTK+ if they fail.
1236
1237 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
1238
1239         * configure.in: Add check for gtk-doc version.
1240
1241 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
1242
1243         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
1244         where the xpad/ypad was only being used on one side!
1245
1246 2001-02-11  Tor Lillqvist  <tml@iki.fi>
1247
1248         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
1249         function, copied from X11 version.
1250
1251         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
1252         DestroyCursor failures. The reason for the problem (despite the
1253         inconsistent messages from GetLastError()) was that
1254         DestroyCursor() cannot be called while a cursor is set in a
1255         window. Set the new cursor first and then destroy the old one.
1256         Thanks to jpe@archaeopteryx.com.
1257
1258         * gdk/win32/gdkcc-win32.c: Remove.
1259
1260         * gdk/win32/Makefile.am: Remove from here, too.
1261         
1262         * gdk/gdk.def
1263         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
1264
1265         * gtk/gtk.def
1266         * gtk/makefile.mingw.in: Updates.
1267
1268 2001-02-08  Havoc Pennington  <hp@redhat.com>
1269
1270         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
1271         add a widget to a bin that already has a child.
1272
1273         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
1274
1275         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
1276         
1277         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
1278
1279         * gdk/gdk.h: remove gdkcc.h
1280
1281         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
1282
1283         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
1284         GdkPixbuf, since the previous implementation was GdkColorContext
1285         dependent.
1286
1287         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
1288         
1289 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
1290
1291         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
1292         a sane value!
1293
1294 2001-02-08  Havoc Pennington  <hp@redhat.com>
1295
1296         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
1297         lighten them.
1298
1299 2001-02-08  Havoc Pennington  <hp@redhat.com>
1300
1301         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
1302         validation idle
1303
1304         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
1305         cell renderer
1306
1307         * demos/pixbuf-demo.c (timeout): remove deprecated
1308         gtk_widget_draw
1309
1310         * demos/testpixbuf-save.c (main): remove deprecated
1311         gtk_drawing_area_size
1312
1313         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
1314         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
1315         at the start of the allocation.
1316         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
1317         unsetup or NULL model.
1318
1319         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
1320         even/odd/sorted cells in the tree view.
1321
1322         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1323         bugfixes
1324
1325         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
1326         backgrounds with draw_flat_box using different detail for even/odd
1327         rows.
1328
1329         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
1330         row, so we can draw the alternating colors thing
1331
1332         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
1333         property from a synonym property, notify for the synonym.
1334         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
1335         (gtk_text_tag_get_property): Always return the font, even if
1336         all its fields aren't set
1337
1338         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
1339         store the attr list; it leaves us with no way to change attributes
1340         in _render according to the render flags, and no way to implement
1341         get_property. Instead store all the specific text attributes. 
1342         Separate whether an attribute is enabled from its value. Sync all
1343         properties with GtkTextTag, make them all consistent, etc.
1344
1345         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
1346         renderers can highlight the sort row/column     
1347
1348         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
1349         accessor functions to get values; this has the side effect of
1350         showing up which accessor functions were missing. Added those.
1351
1352         * gtk/gtktreeviewcolumn.h: Replace set_justification with
1353         set_alignment, to be consistent with GtkLabel, GtkMisc
1354
1355         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
1356         arrow.
1357
1358         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
1359
1360         * gtk/gtktreesortable.h: updates in here
1361
1362 2001-02-07  Sven Neumann  <sven@convergence.de>
1363
1364         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
1365         pango dimensions after painting the background. We used to draw
1366         gigantic flat boxes here.
1367
1368 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
1369
1370         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
1371         error introduced with earlier commit) (pointed out by
1372         Ollie Lho)
1373
1374 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
1375
1376         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
1377         which are no longer necessary.
1378
1379 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
1380
1381         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
1382
1383 2001-02-04  Tor Lillqvist  <tml@iki.fi>
1384
1385         * gdk/gdk.def
1386         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
1387         Provide dummy implementations.
1388
1389 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
1390
1391         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
1392
1393         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
1394         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
1395         deprecated this function.
1396
1397         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
1398         argument.
1399
1400 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
1401
1402         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
1403
1404 2001-02-03  Havoc Pennington  <hp@pobox.com>
1405
1406         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
1407         Mikael Hermansson with patch from Mikael (if there was a toggle
1408         start one after the first character in the range, this function
1409         was broken). Bug #50380
1410
1411 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
1412
1413         * configure.in: Remove confusing comment about X11.
1414
1415 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
1416
1417         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
1418         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
1419         
1420 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
1421
1422         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
1423         it breaks things on BSD. If you want to compile GTK+ with
1424         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
1425         when configuring, since GTK+ simply can't be "pure ANSI" 
1426         in the header files it uses. (#8170, Greg Hudson)
1427
1428 2001-02-02  Havoc Pennington  <hp@redhat.com>
1429
1430         * gtk/gtkwindow.c: docs
1431
1432         * gtk/gtkwidget.c: docs
1433         (gtk_widget_set_colormap): add a reference to the colormap
1434         (gtk_widget_get_default_colormap): add a reference to the colormap
1435
1436         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
1437
1438         * gtk/gtktextiter.c: docs
1439
1440         * gtk/gtkmain.c (gtk_propagate_event): docs
1441
1442         * gtk/gtkpaned.c (gtk_paned_get_position): docs
1443         (gtk_paned_set_position): docs
1444
1445         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
1446         sort interface, no implementation yet.
1447
1448         * demos/testpixbuf.c (new_testrgb_window): replace
1449         gtk_drawing_area_size() with gtk_widget_set_usize()
1450
1451         * demos/testpixbuf-drawable.c (main): ditto
1452         
1453         * gtk/testgtk.c: remove use of GtkStatusbarMsg
1454
1455         * gtk/gtktextbuffer.c: docs
1456
1457         * gtk/gtkstock.c: docs
1458
1459         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
1460
1461         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
1462
1463         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
1464         
1465         * gtk/gtkimage.c: add some docs in here
1466         (gtk_image_size_request): change name of
1467         gtk_widget_render_stock_icon
1468         (gtk_image_get_icon_set): don't dup returned string
1469         (gtk_image_get_icon_set): don't dup returned string
1470
1471         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
1472         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
1473         and gtkiconfactory.h functions
1474
1475         * gtk/gtkiconfactory.c: add some docs in here
1476
1477         * gtk/gtkmain.c (gtk_get_default_language): document
1478         (gtk_get_current_event): document
1479         (gtk_get_current_event_state): document
1480         (gtk_get_event_widget): document
1481
1482         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
1483
1484         * gtk/gtkcontainer.c: Add some documentation
1485         (gtk_container_add): give a more explanatory warning on adding an
1486         already-parented widget, this is kind of a FAQ and also a common
1487         typo that's easier to debug with a nice warning 
1488
1489         * gtk/gtkcellrenderertoggle.c
1490         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
1491         adding this, it's useless
1492         (gtk_cell_renderer_toggle_set_active): remove
1493         (gtk_cell_renderer_toggle_get_radio): add
1494
1495         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
1496         the NULL cell renderer, that doesn't make any sense to me. 
1497
1498         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
1499         demo code should never use deprecated features.
1500
1501         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
1502         code should never use deprecated features.
1503
1504         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
1505         gtk_widget_queue_clear_area deprecated
1506
1507         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
1508         deprecated
1509
1510         * gtk/gtklabel.h: mark gtk_label_get() deprecated
1511
1512         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
1513         a GdkImage deprecated, replaced by new consistently-named
1514         functions       
1515
1516         * gtk/gtkmain.h: Mark gtk_exit() deprecated
1517
1518         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
1519
1520         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
1521         deprecated
1522
1523         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
1524         so it won't appear in docs and confuse people.
1525
1526         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
1527
1528         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
1529         macros deprecated. (can't mark the type itself deprecated, since
1530         GtkProgressBar is not deprecated and we need the type decl to use
1531         GtkProgressBar)
1532
1533         * gtk/gtkpixmap.h: Mark deprecated
1534
1535         * gtk/gtkoldeditable.h: Mark deprecated
1536
1537         * gtk/gtklist.h: Mark deprecated
1538
1539         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
1540         for anything anymore.
1541
1542         * gtk/gtkctree.h: Mark deprecated
1543
1544         * gtk/gtkclist.h: Mark deprecated
1545
1546         * gtk/gtkpreview.h: Mark deprecated
1547
1548         * gtk/gtkpacker.h: Mark deprecated
1549
1550         * gtk/gtktipsquery.h: Mark deprecated
1551
1552         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
1553
1554         * gtk/gtkvruler.h: Add comment that it will move out of GTK
1555
1556         * gtk/gtkhruler.h: Add comment that it will move out of GTK
1557
1558         * gtk/gtkruler.h: Add comment that it will move out of GTK
1559
1560         * gtk/gtkgamma.h: Add comment that it will move out of GTK
1561
1562         * gtk/gtkcurve.h: Add comment that it will move out of GTK
1563
1564 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
1565
1566         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
1567         gdk_colormap_sync private since it was never exported
1568         in a header file.
1569
1570         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
1571         colormap->colors[] for StaticGray, StaticColor colormaps.
1572
1573         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
1574         was being used as if it was image->bits_per_pixel.
1575
1576         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
1577         for the image in the GdkImage structure since it isn't
1578         reconstructable, and we need it to handle packed types
1579
1580         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
1581         the assumption that on Win32 image->bits_per_pixel == image->depth,
1582         always.
1583
1584         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
1585
1586         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
1587         warning message if no converter can be found. 
1588
1589 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
1590
1591         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
1592         chars to isupper() / tolower(). (#567)
1593
1594         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
1595         to clear up 64-bit warnings. (#567)
1596
1597 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
1598
1599         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
1600         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
1601
1602         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
1603         since some people set $(libdir) separately. (#1290, David Kaelbling)
1604
1605 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
1606
1607         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
1608         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
1609         MAXPATHLEN, but the code here depends on a fixed value.)
1610         (#4524)
1611
1612 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
1613
1614         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
1615         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
1616
1617 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
1618
1619         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
1620         viewable there is no way that moving the node will cause the 
1621         focus row to become not viewable, so omit check on the visibility
1622         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
1623
1624 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
1625
1626         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
1627         selection before inserting new text.
1628
1629 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
1630
1631         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
1632         Make the sensitivity of the reparented child track that of
1633         the original parent menu item. (#34218, David Hodson)
1634
1635         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
1636         the case where the current item is destroyed properly.
1637
1638         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
1639         some edge cases with child-less menuitems.
1640         
1641 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
1642
1643         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
1644         key pop down window. (#12074, Jon K Hellan)
1645
1646 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
1647
1648         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
1649         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
1650         The solution here isn't perfect - you get an extraneous
1651         emission of "toggle", which could conceivably confuse an app,
1652         but better than the current situation. LXR search seems to
1653         indicate that no apps in GNOME CVS connect to "toggle".
1654
1655 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
1656
1657         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
1658         gtk_public_h_sources to directly here to avoid warning when
1659         building srcdir != builddir. (#9656)
1660
1661 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
1662
1663         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
1664         handlers in gtkrange.c return the proper values (TRUE == handled)
1665         (#10316).
1666
1667         This is just the tip of the iceberg, but gtkrange.c is the
1668         most common place where the propagation is problematical,
1669         and also a place where it is almost certainly safe to change
1670         this in the stable branch.
1671
1672         (You don't want right click popups on a range control or anything...)
1673
1674 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
1675
1676         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
1677         area on focus out, even if a background pixmap isn't set.
1678         (#13941)
1679         
1680 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
1681
1682         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
1683         to deal with setting the shape properly when scrolling arrows are
1684         turned on, but not visible because there is sufficient space.
1685         (#13432)
1686
1687 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
1688
1689         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
1690         items with submenus, destroy the item along with the submenu.
1691         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
1692         properly.
1693
1694         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
1695         later.
1696
1697 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
1698
1699         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
1700         the focus widget sometimes wasn't drawn with the default if there
1701         was no default widget.
1702
1703         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
1704         unreference pixmaps. 
1705
1706         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
1707         for some extra safety.
1708
1709 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
1710
1711         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
1712         the text of a cell to the old pointer value better, by
1713         copying the new text before freeing the old text. Some code
1714         cleanup. (#8079, Karl Nelson)
1715
1716 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
1717
1718         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
1719         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
1720
1721 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
1722
1723         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
1724         item from a menu, check to see if it matches 
1725         menu->old_active_menu_item, and if so, unref and clear
1726         old_active_menu_item (Patch from Pavel Cisler)
1727
1728         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
1729         menu_shell->active_menu_item, if it is the child being
1730         removed. (Patch based on that of Gene Ragan, #50337)
1731
1732 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
1733
1734         * gdk/linux-fb/gdkselection-fb.c: 
1735         * gdk/linux-fb/gdkcolor-fb.c: 
1736         * gdk/linux-fb/gdkdrawable-fb2.c: 
1737         * gdk/linux-fb/gdkfont-fb.c: 
1738         * gdk/linux-fb/gdkim-fb.c: 
1739         * gdk/linux-fb/gdkinput.c: 
1740         * gdk/linux-fb/gdkkeyboard-fb.c: 
1741         * gdk/linux-fb/gdkmain-fb.c: 
1742         * gdk/linux-fb/gdkrender-fb.c: 
1743         A bunch of whitespace cleanup.
1744         
1745 2001-01-30  Havoc Pennington  <hp@pobox.com>
1746
1747         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
1748         #ifdef GTK_ENABLE_BROKEN.
1749
1750         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
1751         GTK_ENABLE_BROKEN just before including the broken headers.
1752         
1753         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
1754         deprecated types registered.
1755
1756         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
1757         we have to test the broken stuff.
1758
1759         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
1760         
1761 2001-01-30  Havoc Pennington  <hp@redhat.com>
1762
1763         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
1764         here where prev pointer was set to the wrong thing
1765
1766         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
1767         (gtk_tree_path_is_descendant): new function
1768
1769         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
1770         cached length
1771         (gtk_list_store_get_iter): don't modify iter if we can't get the
1772         path.
1773
1774         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
1775         
1776         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
1777         GtkTreeDragDest
1778
1779         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
1780         was causing segfault
1781
1782         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
1783         pointer to NULL
1784
1785         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
1786
1787         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
1788         on returning FALSE
1789         (gtk_list_store_iter_children): ditto
1790         (gtk_list_store_iter_nth_child): ditto
1791         (gtk_list_store_iter_nth_child): ditto
1792         (gtk_list_store_iter_parent): ditto
1793
1794         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
1795         on iter->user_data != NULL instead of silently accepting it.
1796         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
1797         we are returning TRUE.
1798         (gtk_tree_store_iter_children): ditto
1799         (gtk_tree_store_iter_nth_child): ditto
1800         (gtk_tree_store_iter_parent): ditto
1801         (gtk_tree_store_insert): remove handling of parent->user_data ==
1802         NULL, replace with parent == NULL       
1803
1804         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
1805         and a comment explaining things
1806
1807         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
1808         interface support to GtkTreeStore.
1809
1810         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
1811         FALSE if no prev, fix
1812
1813         * gtk/gtktreeview.c (set_source_row): use a row reference
1814         (set_dest_row): use a row reference
1815
1816 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
1817
1818         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
1819         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
1820         (gtk_tree_selection_select_iter): The same as above.
1821
1822 2001-01-26  Havoc Pennington  <hp@redhat.com>
1823
1824         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
1825         which holds a handle to a specific row (particular set of values
1826         in the model, i.e. pointer-identity row).
1827
1828         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
1829         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
1830         Still need to use it for the src/dest row saved on the drag context.
1831
1832 2001-01-26  Havoc Pennington  <hp@redhat.com>
1833
1834         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
1835
1836         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
1837         not offset by TREE_VIEW_HEADER_HEIGHT
1838         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
1839         TREE_VIEW_HEADER_HEIGHT
1840
1841         * configure.in (included_loaders): for me, --with-included-loaders
1842         generates the error "the specified loader yes does not exist",
1843         i.e. the arg defaults to "yes", so change test for value ""
1844         to test for value "yes", and include all loaders in that case.
1845
1846         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
1847
1848         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
1849         handle TREE_VIEW_VERTICAL_SEPARATOR
1850         (gtk_tree_view_bin_expose): fix to consider the row offset as
1851         pointing halfway into vertical separator.       
1852         (gtk_tree_view_draw_node_focus_rect): ditto
1853
1854         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
1855         --gtk-debug=updates, which causes gdk_window_set_debug_updates
1856         (TRUE) to be called.
1857
1858         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
1859         debug mode where the invalid region is colored in on invalidate,
1860         so you can see the flicker and know whether your redraw code is 
1861         doing a good job.
1862
1863         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
1864         tree window coordinates (clip rect is in tree window coords)
1865
1866         * gtk/Makefile.am: add gtktreednd.[hc]
1867
1868         * gtk/gtkliststore.c: implement gtktreednd interfaces.
1869
1870         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
1871         drag-and-drop data operations on a model (so we can set up tree
1872         drag-and-drop automatically)
1873
1874         * gtk/testgtk.c: Add a window to change sensitivity in the
1875         GtkLabel test; add a way to change the entry frame in GtkEntry
1876         test
1877
1878         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
1879         (gtk_entry_get_has_frame): new functions to remove the frame
1880         around an entry
1881         (gtk_entry_size_request): shrink requisition if no frame
1882         (gtk_entry_draw_focus): don't draw frame if no frame
1883
1884         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
1885         checks inside a cell renderer
1886         (gtk_default_draw_option): ditto for options
1887
1888         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
1889         children from the alignment, not the button
1890         (gtk_tree_view_column_init): ref/sink the column, to emulate
1891         GObject refcounting.
1892
1893         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
1894         
1895         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1896         Use theme functions to draw the toggles 
1897
1898         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
1899
1900         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
1901         GdkPangoAttrEmbossed to use in rendering insensitive text
1902
1903         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
1904
1905         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
1906         using new GDK features
1907         
1908 2001-01-24  Alexander Larsson  <alexl@redhat.com>
1909
1910         * gtk/gtkimage.c:
1911         Splitted gtk_image_clear into gtk_image_clear() and
1912         gtk_image_reset(). Call gtk_image_clear() in ::destroy
1913         to avoid leaks.
1914
1915         * gtk/gtklabel.c (set_markup):
1916         Don't leak text.
1917
1918         * gtk/gtktextlayout.c:
1919         Always free display->shaped_objects.
1920
1921         * gtk/testgtk.c (create_clist):
1922         Don't leak custom style.
1923
1924 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1925
1926         * gtk/gtkcolorsel.c (grab_color_at_mouse):
1927         Don't leak image. Simplify using gdk_colormap_query_color().
1928         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
1929
1930         * linux-fb/gdkcolor-fb.c:
1931         Implemented gdk_colormap_query_color.
1932
1933 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1934
1935         * linux-fb/gdkcursor-fb.c:
1936         Don't leak built-in cursors.
1937
1938         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
1939         Don't leak tmp_points.
1940
1941         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
1942         Don't modify desc. Don't leak font if the PangoFont
1943         isn't found.
1944         
1945         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
1946         Free dash_list.
1947
1948         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
1949         Don't leak string.
1950         
1951 2001-01-20  Havoc Pennington  <hp@pobox.com>
1952
1953         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
1954         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
1955         me, matches Pango
1956
1957 2001-01-22  Havoc Pennington  <hp@redhat.com>
1958
1959         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
1960
1961         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
1962
1963         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
1964         Remove, move back to gdk-pixbuf
1965
1966         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
1967         to all the word functions
1968
1969         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
1970         before doing anything on NULL layout or if we don't have the focus
1971
1972         * gtk/testtext.c (fill_example_buffer): "justification"
1973
1974         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
1975         to be called "justification" not "justify"
1976
1977         * demos/gtk-demo/textview.c (create_tags): "justification"
1978         
1979         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
1980
1981 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1982
1983         * gdk/gdkwindow.c (gdk_window_invalidate_region):
1984         Don't leak visible_region. Use visible_region instead of region.
1985         
1986         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1987         Don't do extra gdk_drawable_ref(). This is not X.
1988         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
1989         gdk_fb_focused_window is ref:ed.
1990         (gdk_fb_window_send_crossing_events): Watch out for destroyed
1991         windows.
1992
1993 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1994
1995         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
1996         Don't leak the PangoFontDescriptor.
1997
1998 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
1999
2000         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
2001         when not realized.
2002         (gtk_tree_view_scroll_to_cell): Make work when not realized.
2003         (gtk_tree_view_realize): add scroll_to support
2004         (gtk_tree_view_finalize): add a finalize method.  Populate.
2005         (gtk_tree_view_insert_column): ref and sink the column.
2006         (gtk_tree_view_append_column): ref and sink the column.
2007         (gtk_tree_view_queue_draw_node): New function to handle redrawing
2008         individual nodes.  Should make the code much more efficient, if
2009         actually used.
2010
2011 2001-01-19  Havoc Pennington  <hp@redhat.com>
2012
2013         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
2014         byte_offset variable was being used to mean both "offset into
2015         layout" and "offset into buffer line" which was no longer true
2016         with addition of preedit string; fix
2017
2018 2001-01-19  Havoc Pennington  <hp@redhat.com>
2019
2020         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
2021
2022         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
2023         function
2024
2025         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
2026         implement
2027
2028         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
2029         scroll_to_cell, matches TextView scroll functions better
2030         (gtk_tree_view_tree_to_widget_coords): new function
2031         (gtk_tree_view_widget_to_tree_coords): new function
2032         (gtk_tree_view_get_visible_rect): new function
2033         (gtk_tree_view_get_path_at_pos): accept negative coordinates
2034         (gtk_tree_view_draw_node_focus_rect): new function moved from
2035         draw_focus, also, use width of bin_window as width of the focus
2036         rect
2037         (gtk_tree_view_expand_row): fix bug where it didn't recognize
2038         already-expanded rows
2039         (gtk_tree_view_get_cell_rect): new function
2040         (gtk_tree_view_get_path_at_pos): return the click position
2041         relative to the passed-in cell
2042         (gtk_tree_view_set_expander_column): new function
2043
2044         * configure.in: remove gtk-config-2.0 chmod
2045
2046         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
2047         and properly handle drags with targets we don't understand
2048         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
2049         scrolling anyway
2050         (gtk_text_view_drag_drop): stop scrolling here though, and set the
2051         mark invisible
2052
2053         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
2054         function
2055         (gtk_drag_dest_get_target_list): new function
2056         (gtk_drag_dest_set_target_list): new function
2057         
2058         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
2059
2060         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
2061         related to drag-and-drop
2062
2063 2001-01-19  Alexander Larsson  <alexl@redhat.com>
2064
2065         * gdk/linux-fb/gdkprivate-fb.h:
2066         Define EMULATE_GDKFONT.
2067         Add extra pango_font stuff to GfkFontPrivate.
2068         
2069         * gdk/linux-fb/gdkdrawable-fb2.c:
2070         * gdk/linux-fb/gdkfont-fb.c:
2071         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
2072         emulation using PangoFont.
2073
2074 2001-01-17  Havoc Pennington  <hp@pobox.com>
2075
2076         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
2077         all the non-deprecated set_foo functions. Added missing object
2078         properties, and added g_object_notify() to setters. 
2079         Wrote docs.
2080         
2081 2001-01-18  Tor Lillqvist  <tml@iki.fi>
2082
2083         * gtk/gtkmain.c
2084         * gtk/gtkrc.c: (Win32) Use the new
2085         g_win32_get_package_installation_(sub)directory() functions.
2086
2087         * config.h.win32.in: New file.
2088         
2089         * config.h.win32: Removed.
2090
2091         * configure.in: Output config.h.win32.
2092
2093         * Makefile.am: Add it to EXTRA_DIST.
2094
2095         * gtk/gtk.def: Update.
2096
2097 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
2098
2099         * gtk/gtklabel.c (gtk_label_size_request): Set the
2100         attributes onto the PangoLayout even if they are newly
2101         created from label->pattern.
2102
2103 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
2104
2105         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
2106
2107         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
2108         structures in functions. Fixes bug where gtk_dataset_*
2109         was accidentally still being used in one place, causing
2110         every dest side event to be treated independently.
2111
2112         * gtk/gtkdnd.c: Remove last vestages of handling
2113         ::draw (fixes warning)
2114         
2115         * gtk/gtkentry.[ch]: Add drag and drop support.
2116
2117         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
2118         new function gtk_check_drag_threshhold() for checking
2119         to check if (dx,dy) has exceeded the threshhold for starting
2120         a drag and use it everywhere.
2121
2122 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
2123
2124         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
2125         add -I{includedir}/gtk-2.0.
2126
2127         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
2128         gdk/gdk-pixbuf.h: Doc fixups.
2129         
2130         * gtk/gtkobject.h: Remove trailing , from enum
2131
2132 2001-01-17 Alexander Larsson <alexl@redhat.com> 
2133
2134         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
2135         Doh! Mixed up x and y.
2136
2137         * gdk/linux-fb/gdkglobals-fb.c:
2138         Removed gdk_fb_pointer_grab_window_events,
2139         added _gdk_fb_pointer_grab_owner_events and
2140         _gdk_fb_keyboard_grab_owner_events.
2141
2142         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
2143         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
2144         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
2145         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
2146         Send crossing events after ungrab finished.
2147         (gdk_keyboard_grab): Set ..._owner_events
2148         (type_masks): Move out of function.
2149         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
2150         gdk_fb_keyboard_event_window): New functions, return the
2151         window an event should be targeted at. Handles grabs and
2152         event propagation. Can return NULL.
2153         (gdk_event_make): Remove event_mask checking. Now always
2154         returns an event.
2155                 
2156         * gdk/linux-fb/gdkkeyboard-fb.c:
2157         * gdk/linux-fb/gdkproperty-fb.c:
2158         * gdk/linux-fb/gdkselection-fb.c:
2159         Use new event_window/gdk_event_make() behaviour.
2160         
2161         * gdk/linux-fb/gdkmouse-fb.c:
2162         Use new event_window/gdk_event_make() behaviour.
2163         Only send motion events if in the same window.
2164         If grabbed, use cursor from window if sibling of grabbed
2165         window, and cursor from grabbed window otherwise.
2166
2167         * gdk/linux-fb/gdkprivate-fb.h:
2168         Update gdk_fb_window_send_crossing_events, gdk_event_make
2169         and grab varaible declarations. Add gdk_fb_*_event_window().
2170
2171         * gdk/linux-fb/gdkwindow-fb.c:
2172         Use new event_window/gdk_event_make() behaviour.
2173         Keep correct track of focus window.
2174         (gdk_window_set_events): Set all specific button motion masks
2175         if GDK_BUTTON_MOTION_MASK set.
2176
2177         * gtk/gtkdnd.c (gtk_drag_update):
2178         Free info->last_event if gdk_drag_motion returned FALSE.
2179
2180 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2181
2182         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
2183         Eliminate redraws when input-only windows are shown or
2184         hidden. Thanks to jpe@archaeopteryx.com.
2185
2186 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
2187
2188         * docs/faq/gtk-faq.sgml: FAQ update:
2189           - Update to bugzilla
2190           - Add GTK+ and security/SUID/SGID
2191           - Add DnD question
2192
2193 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
2194
2195         * gdk/linux-fb/gdkdnd-fb.c:
2196         Some cleanups.
2197         
2198 2001-01-15  Havoc Pennington  <hp@pobox.com>
2199
2200         * tests/testtreeview.c: add test stuff for CellRendererToggle
2201
2202         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
2203         accessor
2204
2205         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
2206         only toggle on button press (would do release like GtkButton, but
2207         we'd need implicit grab code for treeview cells)
2208
2209 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2210
2211         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
2212
2213         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
2214         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
2215
2216         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
2217         to g_{locale,filename}_{to,from}_utf8 to match current API.
2218
2219         * gtk/makefile.msc.in (gtk_OBJECTS)
2220         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
2221
2222         * gtk/gtk.def: Update.
2223
2224 2001-01-15  Tor Lillqvist  <tml@iki.fi>
2225
2226         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
2227         implementaion that more closely mimics the events that an X server
2228         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
2229         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
2230         with nested preview widgets, for instance, more responsive when
2231         you move the mouse quickly into them.
2232         (find_window_for_pointer_event): Make it actually compile.
2233         (gdk_event_translate): Set send_event to the value of
2234         InSendMessage (). This doesn't really mean the same as X11's
2235         send_event flag, but is close enough, says jpe@archaeopteryx.com
2236
2237 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2238
2239         * gdk/linux-fb/gdkdnd-fb.c:
2240         Implemented drag and drop.
2241         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
2242         when it tries to free and then copy the same event (info->last_event).
2243         I am not sure about why this happens, but will continue looking.
2244
2245 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2246
2247         * gdk/linux-fb/gdkwindow-fb.c:
2248         Use gdk_window_invalidate_rect instead of
2249         gdk_window_invalidate_rect_clear to minimise flashing.
2250         When hiding windows you need to clear the root window though.
2251
2252 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2253
2254         * gdk/linux-fb/gdkdrawable-fb2.c:
2255         For optization, add an full_shapes argument to gdk_fb_clip_region.
2256         If this is false, only the cliprects of the shapes are used.
2257
2258         * gdk/linux-fb/gdkprivate-fb.h:
2259         Export gdk_fb_window_peek_shape.
2260         Add full_shapes to gdk_fb_clip_region.
2261
2262         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2263         When moving a window, don't clear everything under the it, just the
2264         root window. Makes stuff faster and flash less.
2265         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
2266         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
2267         offset of the shape.
2268         
2269
2270 2001-01-12  Havoc Pennington  <hp@redhat.com>
2271
2272         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
2273         current invalid region, fixes redraw bug while scrolling the 
2274         text widget
2275
2276         * gtk/gtktextview.c, gtk/gtktextview.h:
2277         Rearrange the scrolling/validation/etc. code in a major way, 
2278         so it seems to make sense to me. Probably isn't genuinely that
2279         much better, but...
2280
2281         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
2282         notifies
2283
2284         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
2285
2286 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
2287
2288         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
2289         Hide mouse pointer while rotation. Show it afterwards.
2290
2291 2001-01-12  Alexander Larsson  <alexl@redhat.com>
2292
2293         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
2294         windows in consideration when generating clip region.
2295
2296         * gdk/linux-fb/gdkfb.h:
2297         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
2298
2299         * gdk/linux-fb/gdkprivate-fb.h:
2300         Add shape to GdkWindowFBDatat.
2301         exported gdk_fb_window_get_abs_shape().
2302         removed gdk_fb_draw_lines declaration.
2303
2304         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
2305         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
2306         send focus changes when there is a grabbed window.
2307         (gdk_window_get_pointer): Handle shaped windows.
2308         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
2309         (gdk_fb_window_peek_shape): Returns the shape for a window,
2310         handles GDK_FB_USE_CHILD_SHAPE.
2311         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
2312         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
2313         (gdk_window_shape_combine_mask): Implement.
2314
2315         * gtk/gtkwindow-decorate.c:
2316         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
2317         setting the shape of a window makes the window transparent.
2318
2319 2001-01-11  Havoc Pennington  <hp@redhat.com>
2320
2321         * gtk/gtktreemodelsimple.h: Oops, broke some macros
2322
2323 2001-01-10  Havoc Pennington  <hp@redhat.com>
2324
2325         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
2326         add this function, bug 40251
2327
2328         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
2329         of type macro   
2330
2331 2001-01-11  Alexander Larsson  <alexl@redhat.com>
2332
2333         * acconfig.h:
2334         Added ENABLE_SHADOW_FB
2335
2336         * configure.in:
2337         Added --disable-shadowfb
2338
2339         * gdk/linux-fb/gdkcursor-fb.c:
2340         Update shadowfb when updating cursor
2341
2342         * gdk/linux-fb/gdkdrawable-fb2.c:
2343         Added wrappers for shadowfb that calls  the normal drawable
2344         methods, but calls gdk_shadow_fb_update(bounding box) when
2345         GdkWindows are drawed to.
2346         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
2347         which also returns the bounding box.
2348
2349         * gdk/linux-fb/gdkfb.h:
2350         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
2351
2352         * gdk/linux-fb/gdkgeometry-fb.c:
2353         Update shadowfb when scrolling window.
2354
2355         * gdk/linux-fb/gdkglobals-fb.c:
2356         Add _gdk_fb_screen_angle.
2357         
2358         * gdk/linux-fb/gdkkeyboard-fb.c:
2359         Test code for screen rotation. Shift-F2 in the xlate driver
2360         rotates the screen.
2361
2362         * gdk/linux-fb/gdkmain-fb.c:
2363         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
2364
2365         * gdk/linux-fb/gdkmouse-fb.c:
2366         Use fb_width/height instead of modeinfo.xres/yres.
2367
2368         * gdk/linux-fb/gdkprivate-fb.h:
2369         Added fb_men, fb_width, fb_height & fb_stride. When using
2370         shadow fb these can differ from the framebuffer stuff.
2371         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
2372         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
2373         _gdk_fb_screen_angle. Removed CM, RP.
2374
2375         * gdk/linux-fb/gdkrender-fb.c:
2376         Added code for shadowfb handling and screen rotation using
2377         shadowfb.
2378
2379         * gdk/linux-fb/gdkwindow-fb.c:
2380         Use fb_mem, fb_stride, fb_width, fb_height.
2381         Added recompute_rowstride to reset the rowstride of all windows.
2382         Added gdk_fb_recompute_all() which recomputes rootwindow size,
2383         window abs positions and window rowstrides. Usefull when the
2384         rotation has changed.
2385
2386 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
2387
2388         * docs/faq/gtk-faq.sgml: update to make web site updating easier
2389
2390 2001-01-10  Havoc Pennington  <hp@redhat.com>
2391
2392         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
2393         where sibling == iter
2394         (gtk_tree_store_insert_after): handle sibling == iter
2395         (gtk_tree_store_prepend): remove stamp checks
2396         (gtk_tree_store_insert_before): ditto
2397         (gtk_tree_store_append): ditto
2398         (gtk_tree_store_get_path): ditto
2399         (gtk_tree_store_get_value): ditto
2400         (gtk_tree_store_iter_has_child): ditto
2401         (gtk_tree_store_iter_n_children): ditto
2402         (gtk_tree_store_iter_nth_child): ditto
2403         (gtk_tree_store_insert_after): ditto
2404         (gtk_tree_store_is_ancestor): ditto
2405         (gtk_tree_store_iter_depth): ditto
2406         (gtk_tree_store_insert_before): assert that sibling's parent is
2407         the same as the passed-in parent
2408         (gtk_tree_store_insert_after): assert that sibling's parent is
2409         the same as the passed-in parent
2410
2411         
2412         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
2413         function to get the first iterator in a model
2414         
2415         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
2416         conventionally the "root" in this sense is just NULL afaict.
2417
2418         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
2419         where sibling == iter
2420         (gtk_list_store_insert_after): handle case where sibling == iter
2421
2422         * tests/testtreeview.c (run_automated_tests): fairly lame basic
2423         automated tests for ListStore, TreeStore
2424
2425         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
2426         (gtk_list_store_insert): update tail pointer, and fix it to work
2427         (gtk_list_store_insert_before): update tail pointer, and fix it to work
2428         (gtk_list_store_append): use tail to be faster
2429         (gtk_list_store_prepend): fix it, update tail pointer
2430         (gtk_list_store_insert_after): fix it, update tail pointer
2431
2432         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
2433         the list
2434
2435 2001-01-09  Havoc Pennington  <hp@redhat.com>
2436
2437         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
2438         is NULL due to a pending resize
2439
2440         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
2441         column width to values less than 1
2442
2443         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
2444         width to be between min/max width, and still set the width 
2445         even if autosize is turned on, so the tree view can use this 
2446         function in order to autosize.
2447         (gtk_tree_view_column_init): set initial width to 1 not 0
2448
2449         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
2450         setter function to modify column width, so we get notification
2451         (gtk_tree_view_insert_iter_height): ditto
2452         (gtk_tree_view_calc_size): ditto
2453         (gtk_tree_view_check_dirty): ditto
2454
2455         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
2456         properties to change all the interesting attributes of the tree
2457         view column.
2458         (gtk_tree_view_column_set_header_clickable): rename set_clickable
2459         (gtk_tree_view_column_get_clickable): add
2460         (gtk_tree_view_column_set_cell_renderer): don't unset the current
2461         attributes; assume a cell renderer with equivalent object
2462         properties has been swapped in. Do g_object_notify().
2463         (gtk_tree_view_column_set_visible): g_object_notify
2464         (gtk_tree_view_column_get_sizing): rename from get_col_type
2465         (gtk_tree_view_column_set_sizing): g_object_notify
2466         (gtk_tree_view_column_set_width): add g_object_notify
2467         (gtk_tree_view_column_set_min_width): ditto
2468         (gtk_tree_view_column_set_max_width): ditto
2469         (gtk_tree_view_column_set_title): ditto
2470         (gtk_tree_view_column_set_clickable): ditto
2471         (gtk_tree_view_column_set_widget): ditto
2472         (gtk_tree_view_column_set_justification): ditto
2473
2474 2001-01-09  Havoc Pennington  <hp@redhat.com>
2475
2476         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
2477         there are no rows in the model
2478
2479         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
2480         NULL, then return the start of the list
2481
2482         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
2483         if we can't get any rows from an empty model 
2484
2485         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
2486         extraneous * after function pointer typedef usage
2487
2488         * Makefile.am: don't specify full path to cp and rm
2489
2490         * gtk/gtkcellrenderertextpixbuf.c
2491         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
2492         NULL before dereferencing, fixes a segfault that happened from
2493         time to time
2494
2495         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
2496         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
2497         and reindent the function
2498         (gtk_cell_renderer_pixbuf_get_size): indentation
2499
2500         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
2501         we quit it
2502         (gtk_dialog_add_buttons_valist): add g_return_if_fail
2503         (gtk_dialog_set_default_response): New function, to set default
2504         button
2505         (gtk_dialog_set_response_sensitive): New function, to set 
2506         sensitivity of buttons
2507
2508         * gtk/gtkcellrendererpixbuf.c
2509         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
2510         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
2511
2512         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
2513         handle any G_TYPE_OBJECT subclass, not just the base class, and 
2514         also boxed types.
2515         (_gtk_tree_data_list_value_to_node): ditto
2516
2517         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
2518         --gtk-debug=tree
2519
2520         * gtk/gtkmain.c: add GTK_DEBUG_TREE
2521
2522         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
2523
2524 2001-01-09  Tor Lillqvist  <tml@iki.fi>
2525
2526         * gdk/win32/gdkevents-win32.c: Implement better mouse
2527         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
2528         (find_window_for_pointer_event): New function.
2529         (gdk_event_translate): Use it when handling mouse events.
2530
2531 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
2532
2533         * configure.in:
2534         Added --with-included-loaders option
2535
2536         * gdk-pixbuf/Makefile.am:
2537         * gdk-pixbuf/gdk-pixbuf-io.c:
2538         Add support for including selected gdk-pixbuf loaders only.
2539
2540         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
2541         gtk_window_set_has_frame):
2542         Added inline documentation.
2543
2544         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
2545         * docs/reference/gdk/tmpl/windows.sgml:
2546         Added inline documentation.
2547
2548 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
2549
2550         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
2551         realizing buttons that have already been realized.
2552
2553 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
2554
2555         * tests/testtreeview.c (main): Show menu items before adding to
2556         option menu.
2557
2558         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
2559         around if we kill them.
2560
2561         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2562         Return if we pass in a NULL model.
2563
2564 2001-01-08  Havoc Pennington  <hp@redhat.com>
2565
2566         * tests/testtreeview.c: hack on this some
2567
2568         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
2569         gtk_tree_store_set_valist, v is for arrays, valist for varargs
2570         list
2571         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
2572
2573         * gtk/gtkliststore.h: Add varargs set() and get() convenience
2574         functions
2575
2576 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2577
2578         * gtk/gtkwindow-decorate.[hc]:
2579         * gtk/Makefile.am:
2580         New files. Contains an implementation of a minimal WM for
2581         linux-fb.
2582
2583         * gtk/gtkwindow.h:
2584         Add the possibility for GtkWindows to specify a frame. This
2585         is used for the window decoration code, but could concievably
2586         be used for X programs too (xmms style windows).
2587         GtkWindow->frame is the toplevel window if the window is framed.
2588         The signal frame_event gets all events that are targeted to
2589         GtkWindow->frame.
2590         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
2591         
2592         * gtk/gtkwindow.c:
2593         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
2594         Call out to gtkwindow-decorate.c for WM support in linx-fb.
2595
2596 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2597
2598         * docs/README.linux-fb:
2599         Correct filename ~/.pangoft2_aliases
2600
2601         * gdk/gdkwindow.h:
2602         Added new function gdk_window_get_decorations.
2603
2604         * gdk/linux-fb/gdkfb.h:
2605         Removed _gdk_window_get_decorations declaration.
2606         Renamed _gdk_window_set_child_handler to
2607         gdk_fb_window_set_child_handler.
2608
2609         * gdk/linux-fb/gdkwindow-fb.c:
2610         Renamed _gdk_window_set_child_handler to
2611         gdk_fb_window_set_child_handler.
2612
2613         * gdk/x11/gdkwindow-x11.c:
2614         New function gdk_window_get_mwm_hints().
2615         Implemented gdk_window_get_decorations.
2616
2617         * docs/reference/gdk/tmpl/windows.sgml:
2618         * docs/reference/gdk/gdk-sections.txt:
2619         Added gdk_window_get_decorations docs.
2620         
2621 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
2622
2623         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
2624         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
2625         gdk_fb_window_send_crossing_events):
2626         Possibly send focus events when the mouse moves from one
2627         window to another.
2628
2629 2001-01-07  Tor Lillqvist  <tml@iki.fi>
2630
2631         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
2632         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
2633         to match current API.
2634
2635         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
2636         environment variable is set, don't call g_error when on a
2637         palettized (PseudoColor) display. Some people want to use GTK+ 
2638         in 256-colour mode even though works only partially.
2639
2640         * gdk/gdk.def
2641         * gtk/gtk.def
2642         * gtk/makefile.mingw.in: Update.
2643
2644 2001-01-05  Havoc Pennington  <hp@redhat.com>
2645
2646         * tests/testtreeview.c: hack on this a bit
2647
2648         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
2649         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
2650
2651         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
2652         was spelled incorrectly
2653         (GTK_IS_TREE_MODEL_SIMPLE): ditto
2654
2655         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
2656         from gtk_tree_view_set_headers_active   
2657
2658         * gtk/gtktexttag.c:
2659         (gtk_text_tag_get_property): handle PROP_DIRECTION
2660         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
2661         properties, bug 40235
2662
2663         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
2664         forward_to_line_end
2665
2666 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
2667
2668         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
2669         modules/input/gtkimcontextxim.c: Adapt to new prototypes
2670         for unicode,locale,filename conversion functions.
2671
2672 2001-01-05  Havoc Pennington  <hp@redhat.com>
2673
2674         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
2675         broken if called on the first position in the buffer.
2676
2677         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
2678         forward_to_delimiters to be called only if we aren't already at
2679         the delimiters.
2680
2681 2001-01-05  Havoc Pennington  <hp@redhat.com>
2682
2683         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
2684
2685 2001-01-05  Alexander Larsson  <alexl@redhat.com>
2686
2687         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
2688         colormap in here. Sync from X port.
2689         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
2690         Sync from X port.
2691         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
2692         This happens now and then, and i don't think it is a bug.
2693         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
2694         != endpoint.
2695         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
2696         GDK_LINE_SOLID.
2697
2698         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
2699         some of the fields filled in at least.
2700
2701         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
2702         miLineArcD is no more, remove it from the function definition.
2703
2704 2001-01-04  Havoc Pennington  <hp@redhat.com>
2705
2706         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
2707         this
2708
2709         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
2710         user_data instead of tree_node
2711
2712         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
2713         TREE_VIEW_COLUMN_SIZE
2714
2715         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
2716         "size" field to "width" finishes bug 40061
2717
2718         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
2719         for bitfields, bug 40268
2720
2721 2001-01-04  Havoc Pennington  <hp@redhat.com>
2722
2723         Rename some stuff:
2724         
2725         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
2726
2727         s/GtkModelSimple/GtkTreeModelSimple/g;
2728         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
2729         s/gtk_model_simple/gtk_tree_model_simple/g;
2730         s/gtkmodelsimple/gtktreemodelsimple/g;
2731
2732         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
2733
2734         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
2735         s/column_set_col_type/column_set_sizing/g;
2736
2737         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
2738         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
2739
2740         s/GtkCellRendererType/GtkCellRendererState/g;
2741         
2742         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
2743         (gtk_cell_renderer_toggle_class_init): change "state" property to
2744         "active", to match GtkToggleButton
2745         (gtk_cell_renderer_toggle_get_active): new function, bug
2746         40269
2747         (gtk_cell_renderer_toggle_set_active): new function
2748         (gtk_cell_renderer_toggle_set_property): route changes to toggle
2749         state through gtk_cell_renderer_set_active
2750
2751 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
2752
2753         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
2754         temporarily until they work again.  Brought up to date with
2755         changes in the model.
2756         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
2757         model.
2758
2759 2001-01-04  Havoc Pennington  <hp@redhat.com>
2760
2761         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
2762         equal to the line length, then position iterator before paragraph 
2763         separators. Fixes crash reported by Mikael Hermansson when
2764         pressing left arrow from the start of a line.   
2765
2766         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
2767         about byte indexes off the end
2768         (iter_set_from_char_offset): add g_error about char offsets
2769         off the end
2770
2771 2001-01-03  Havoc Pennington  <hp@redhat.com>
2772
2773         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
2774
2775         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
2776         of private functions; remove inclusion of private headers.
2777
2778         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
2779         function, so we don't need private functions in gtktextdisplay.c
2780
2781         * gtk/gtktextiterprivate.h: underscore-ification
2782
2783         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
2784         to instead say "only useful to implement widgets"
2785
2786         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
2787         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
2788         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
2789
2790         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
2791         This function was completely broken
2792
2793         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
2794
2795         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
2796
2797         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
2798
2799         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
2800
2801         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
2802
2803         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
2804
2805         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
2806         gtk_paint_layout
2807
2808         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
2809         gtk_paint_layout
2810
2811         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
2812         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
2813         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
2814         which were not implemented.     
2815
2816         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
2817         insert_pixbuf signal. Rename delete_text to delete_range since it
2818         also deletes pixbufs and child anchors. This almost closes bug
2819         40245 (still need to deal with child anchors)
2820
2821         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
2822         insert_pixbuf, change signal names as appropriate, change types of
2823         signals taking marks/tags to have the specific type, not just
2824         G_TYPE_OBJECT
2825         
2826         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
2827         closes bug 40051
2828
2829         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
2830         unnecessary remove_contents() call
2831         (gtk_option_menu_class_init): add a "changed" signal, closes
2832         bug 40039
2833         (gtk_option_menu_update_contents): emit "changed" if the 
2834         active menu item changes
2835
2836         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
2837         cast to GtkObject, reported by Jonas Borgstrom
2838         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
2839         we can't do stuff with side effects in finalize. Instead, spew a
2840         warning if the loader isn't closed.
2841
2842         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
2843         colormap in here, non-X ports probably need to sync to this change
2844
2845         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
2846         assertion that colormap != NULL, you can set the colormap to NULL
2847         if you like.
2848         
2849         * Makefile.am: remove gtk-config-2.0
2850
2851         * configure.in: Use pkg-config to locate GLib. Remove
2852         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
2853         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
2854         Use pkg-config to locate Pango. Output correct Pango libs to
2855         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
2856
2857         * Makefile.am (pkgconfig_DATA): install only target-specific pc
2858         files
2859         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
2860         X11 pc files
2861
2862         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
2863         unref from here
2864
2865 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
2866
2867         * configure.in:
2868         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
2869
2870 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
2871
2872         * gtk/gtktextlayout.c
2873         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
2874         variable when moving back onto a single line.
2875
2876 2001-01-01  Havoc Pennington  <hp@redhat.com>
2877
2878         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2879
2880         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2881
2882         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
2883         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
2884
2885 2001-01-01  Havoc Pennington  <hp@redhat.com>
2886
2887         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
2888
2889         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
2890         GtkTextAttributes
2891
2892         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
2893         #40246
2894         (gtk_text_attributes_copy_values): rename from 
2895         gtk_text_attributes_copy
2896         (gtk_text_attributes_copy): a more standard GTK copy function, 
2897         which returns a new object
2898
2899 2001-01-01  Havoc Pennington  <hp@redhat.com>
2900
2901         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
2902         
2903         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
2904         don't fill in tree_view->priv->selection, kind of an unexpected
2905         side effect
2906
2907         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
2908         gtkintl.h
2909         
2910         * gtk/gtkcellrenderer.c: Remove definition of _ and include
2911         gtkintl.h
2912         (gtk_cell_renderer_get_property): remove calls to g_value_init
2913
2914         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
2915         gtkintl.h
2916
2917         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
2918         and include gtkintl.h
2919         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
2920         property names
2921
2922         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
2923         GtkTreeSelection
2924         (_gtk_tree_selection_new_from_with_view): rename, return
2925         GtkTreeSelection
2926         (_gtk_tree_selection_set_tree_view): rename with uscore
2927         (gtk_tree_selection_get_selected): fill in the "model" out param
2928         first, so it gets filled in even if we return at the top of the 
2929         function
2930         (gtk_tree_selection_real_select_all): add a comment and an else{}
2931         to clarify this a bit
2932         (gtk_tree_selection_real_unselect_all): add the same else{}
2933
2934         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
2935         set_tree_view to have underscore prefixes, move them to the
2936         private header, fix return type of new_with_tree_view
2937         (struct _GtkTreeSelection): mark struct
2938         fields private  
2939
2940         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
2941         GtkTreeModelFlags, not a guint
2942         (gtk_tree_path_prev): return gboolean not gint
2943         (gtk_tree_path_up): return gboolean not gint
2944
2945         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
2946         return GtkTreeModelFlags, not a guint
2947
2948         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
2949         that child model is non-null before unrefing it
2950         (g_value_int_compare_func): make this a qsort compare func, not 
2951         a boolean predicate
2952
2953         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
2954         (add -umn to the end), and mark it unimplemented
2955         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
2956         I don't see what it's for - doesn't the model always sort itself?
2957         (gtk_tree_model_sort_set_compare): this had the wrong signature
2958
2959         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
2960         Fix the docs to say that it destructively replaces existing
2961         attributes (previously said that it added attributes).
2962         (gtk_tree_view_column_set_visible): canonicalize bool before
2963         equality testing. Also, check for realization before
2964         hiding/showing the tree_column->window; if this window could exist
2965         before realization, then it's busted and needs fixing, we can't 
2966         create GDK resources pre-realization. Also, remove
2967         superfluous queue_resize(), since set_size() does that for us.
2968         (gtk_tree_view_column_set_col_type): check realization before 
2969         using tree_column->window
2970
2971         * gtk/gtktreedatalist.c: fix filename in copyright notice
2972
2973 2000-12-31  Havoc Pennington  <hp@pobox.com>
2974
2975         * gtk/gtktextview.c: Rearrange all the
2976         scroll-while-dragging-or-selecting code to be different, not
2977         necessarily better. ;-)
2978         (gtk_text_view_scroll_to_mark): Change this
2979         function to take within_margin as a fraction instead of a pixel
2980         value, and to take alignment arguments (indicating where to align 
2981         the mark inside the visible area)
2982         
2983         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
2984         to GtkObject
2985
2986         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
2987         behavior so that offsets past the end of the line are not 
2988         allowed, and an offset equal to the line length moves the iterator
2989         to the next line
2990         (gtk_text_iter_set_line_index): make parallel change
2991         (gtk_text_iter_get_bytes_in_line): add this function
2992         
2993         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
2994         of byte indexes off the end of the line; byte index at the end of
2995         the line now returns FALSE and doesn't fill in the requested
2996         values, byte index past the end of the line is an error.  Also,
2997         don't allow -1 offset anymore, since its meaning is unclear.
2998
2999         This change exposes some bug in visual cursor motion, where we
3000         end up with a huge invalid byte index; needs fixing. Symptom of 
3001         bug is a crash when you hit up arrow.
3002         
3003         (_gtk_text_line_char_locate): match the change to byte_locate
3004
3005         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
3006         from start of line properly. fixes bug reported by Mikael
3007         Hermansson where backspace would delete all text before the
3008         cursor.
3009
3010 2000-12-30  Tor Lillqvist  <tml@iki.fi>
3011
3012         * gdk/win32/gdkwindow-win32.c
3013         (gdk_window_impl_win32_get_visible_region): New function, as in
3014         the X11 backend.
3015         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
3016         instead of duplicating the same code here.
3017
3018         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
3019         GDK_COLORMAP macro.
3020
3021         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
3022         destroy function.
3023         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
3024         access that.
3025
3026         * gtk/gtk.def: Update.
3027
3028         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
3029
3030 2000-12-30  Havoc Pennington  <hp@pobox.com>
3031
3032         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
3033         colormap on input only windows, to avoid special cases all over
3034         the code for these windows.
3035
3036 2000-12-26  Tor Lillqvist  <tml@iki.fi>
3037
3038         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
3039         we are on a palettized display ("PseudoColor" in X11), as the code
3040         for that doesn't work anyway, and never has.
3041
3042 2000-12-22  Alexander Larsson  <alexl@redhat.com>
3043
3044         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
3045         Don't use isprint() for chars > 255.
3046
3047 2000-12-21  Havoc Pennington  <hp@redhat.com>
3048
3049         * tests/testtreeview.c: more work
3050
3051 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3052
3053         * docs/README.linux-fb:
3054         Update the docs to the new pangoft2 way.
3055
3056 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3057
3058         * configure.in:
3059         For linux-fb get the pangoft2 cflags and libs. This needs a recent
3060         pango version.
3061         Remove modules/linux-fb/Makefile.
3062
3063         * gdk/linux-fb/gdkdrawable-fb2.c:
3064         Render glyphs using freetype.
3065
3066         * gdk/linux-fb/gdkfb.h:
3067         Add new fb-specific functions needed for managing windows.
3068
3069         * gdk/linux-fb/gdkmain-fb.c:
3070         Remove gdk_font_init/fini() calls.
3071
3072         * gdk/linux-fb/gdkpango-fb.c:
3073         Remove old implementation. Use pangoft2 instead.
3074
3075         * gdk/linux-fb/gdkprivate-fb.h:
3076         Remove PangoFBFont and related stuff.
3077
3078         * gdk/linux-fb/gdkwindow-fb.c:
3079         Implement drawable->get_visible_region.
3080         Implement support for _gdk_window_set_child_handler () and
3081         _gdk_window_get_decorations().
3082
3083         * modules/Makefile.am:
3084         Remove linux-fb subdir.
3085
3086         * modules/linux-fb/*:
3087         Removed all.
3088         
3089 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
3090
3091         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
3092         calls, as they are no longer needed.
3093
3094         * gtk/gtktreemodelsort.c: Fix up the comparison code.
3095         
3096         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
3097         figure out how to emit a signal on an interface.
3098
3099 2000-12-20  Havoc Pennington  <hp@redhat.com>
3100
3101         * tests: new directory to contain tests, gtk/test* should move
3102         here sometime (with appropriate on-cvs-server hackery)
3103
3104         * tests/testtreeview.c, tests/Makefile.am: a test
3105         
3106         * configure.in (AC_OUTPUT): add tests/Makefile
3107
3108         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
3109         and "invisible_set" which were missing
3110
3111         * gtk/gtkrbtree.h: some cheesy indentation fix
3112         
3113 2000-12-20  Alexander Larsson  <alexl@redhat.com>
3114
3115         * gtk/gtkinvisible.c (gtk_invisible_realize):
3116         Attach the style to the window so that the style it is not
3117         leaked when unrealizing the window.
3118
3119 2000-12-18  Havoc Pennington  <hp@redhat.com>
3120
3121         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
3122         begin/end user action where appropriate
3123         (gtk_text_view_commit_handler): add begin/end user action
3124
3125         * gtk/gtktextbuffer.c: add begin/end user action signals, and
3126         bracket interactive operations with begin/end user action pair.
3127         
3128         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
3129         "interactive" arg from insert_text and delete_text signals.
3130         Add begin_user_action, end_user_action signals
3131         (gtk_text_buffer_begin_user_action): 
3132         (gtk_text_buffer_end_user_action): New functions to delimit 
3133         a user-visible action
3134
3135         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
3136         signals.
3137         
3138 2000-12-18  Havoc Pennington  <hp@redhat.com>
3139
3140         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
3141         was pretty non-working.
3142
3143         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
3144         by passing the length to g_utf8_validate().
3145
3146 2000-12-16  Havoc Pennington  <hp@pobox.com>
3147
3148         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
3149         Port to GObject, can go back in gdk-pixbuf after setting up 
3150         a gdk-pixbuf-marshal.h header over there.
3151
3152         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
3153         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
3154         args
3155         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
3156         set
3157         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
3158         here, do it when we create the buttons later
3159         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
3160         (gtk_tree_view_map): paranoia checks that column->button is shown 
3161         and unmapped
3162         (gtk_tree_view_size_request): only request visible children.
3163         Move header size calculation in here, for cleanliness, and 
3164         to maintain invariants for child widgets if we eventually 
3165         let users set different children inside the buttons
3166         (gtk_tree_view_map_buttons): factor out code to map buttons,
3167         since it was being called several times
3168         (gtk_tree_view_size_allocate_buttons): move_resize the drag
3169         windows instead of just moving them; their height may change 
3170         if we allow random widgets in there, or the theme changes.
3171         (gtk_tree_view_size_allocate): move button size allocation 
3172         above emitting the scroll signals, to ensure a sane state when we
3173         hit user code
3174         (gtk_tree_view_button_release): remove queue_resize after
3175         tree_view_set_size(), set_size() will handle any resize queuing
3176         that's needed
3177         (gtk_tree_view_focus_in): just queue a draw, don't fool with
3178         draw_focus goo
3179         (gtk_tree_view_focus): use gtk_get_current_event() and
3180         gdk_event_get_state()
3181         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
3182         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
3183         semicolon
3184         (gtk_tree_view_create_button): show the button here
3185         (gtk_tree_view_button_clicked): actually emit the clicked signal
3186         on the column
3187         (_gtk_tree_view_set_size): return right away if the size is
3188         unchanged, as a cheesy optimization
3189         (gtk_tree_view_setup_model): rename set_model_realized to 
3190         setup_model to match the flag that indicates whether we've 
3191         called it
3192         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
3193         exist, because set_scroll_adjustment does that and it shouldn't
3194         matter what order you call these in
3195         (gtk_tree_view_get_vadjustment): ditto
3196         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
3197         for paranoia
3198         (gtk_tree_view_set_headers_visible): call
3199         gtk_tree_view_map_buttons() instead of using cut-and-paste code
3200         (gtk_tree_view_append_column): clarify whether the return value
3201         is the count of columns before or after, and do the increment 
3202         separately from the return statement so you can tell from the code.
3203         (gtk_tree_view_remove_column): ditto
3204         (gtk_tree_view_insert_column): ditto
3205         (gtk_tree_view_get_column): remove g_return_if_fail for columns
3206         outside the existing range, the docs say that outside-range
3207         columns are allowed, so we handle them as documented. (Presumably
3208         this allows a nice loop with column != NULL as test.)
3209         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
3210         mean (left/right/center etc.).
3211         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
3212         (gtk_tree_view_expand_row): add docs
3213         (gtk_tree_view_collapse_row): add docs
3214
3215         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
3216         function to emit the clicked signal on a column
3217         
3218         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
3219         state of an event
3220         (gdk_event_get_time): don't treat GDK_SCROLL 
3221         as a button event, remove default case from switch so gcc 
3222         will whine if we don't explicitly handle all event types
3223
3224         * gtk/gtktreeselection.h: added some FIXME 
3225         
3226         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
3227         "columns" to "n_columns" and "column" to "columns" for clarity
3228
3229 2000-12-16  Havoc Pennington  <hp@pobox.com>
3230         
3231         * gtk/gtktextiter.c: General cleanup of the log attr iteration
3232         stuff. This should make e.g. the delete key work again in the
3233         text widget...
3234         (gtk_text_iter_forward_cursor_positions): handle negative count
3235         (gtk_text_iter_backward_cursor_positions): handle negative count
3236         (gtk_text_iter_forward_word_ends): handle negative count
3237         (gtk_text_iter_backward_word_starts): handle negative count
3238
3239         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
3240         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
3241         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
3242         GObject. No doubt will cause breakage.
3243
3244         * demos/gtk-demo/textview.c: remove hacks around
3245         non-GObject-ification of the text objects
3246
3247         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
3248         the text tag
3249         
3250 2000-12-14  Havoc Pennington  <hp@pobox.com>
3251
3252         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
3253         that we have Xrender
3254
3255 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
3256
3257         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
3258         Add two virtualized functions gdk_drawable_get_clip_region - to
3259         get the clip region when drawing.
3260         
3261         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
3262         use invalidate_region.
3263
3264         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
3265         region.
3266
3267         * acconfig.h configure.in: Check for Xft. For now, assume
3268         that if Xft is found, Pango was compiled with Xft support
3269         as well.
3270
3271         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
3272         gdk_colormap_query_color().
3273         
3274         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
3275         with Xft if appropriate.
3276
3277         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
3278         a pangoxft context if we have XFT and the environment
3279         variable GD_USE_XFT is set.
3280         
3281         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
3282         and also possibly an XftDraw structure.
3283
3284         * gtk/gtkfontsel.c: Handle the case where the font from the
3285         style doesn't match any of the fonts a bit better.
3286         
3287         * gtk/testgtk.c: Add tabs between directional segments for
3288         hebrew/arabic test. (Not really necessary, just a little
3289         prettier.)
3290
3291 2000-12-14  Havoc Pennington  <hp@redhat.com>
3292
3293         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
3294         reading a file
3295
3296 2000-12-14  Havoc Pennington  <hp@redhat.com>
3297
3298         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
3299         unused call to get_last_line()
3300
3301         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
3302         here until boxed is working (and maybe after that - we should
3303         really not gratuitously break old code)
3304
3305         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
3306         specific types for font_desc and tabs args, move them to
3307         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
3308         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
3309
3310         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
3311         use GTK_TYPE_POINTER for signal signatures as a hack-around
3312
3313         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
3314         PangoTabArray
3315
3316         * gtk/gtktextlayout.c (line_display_iter_to_index): 
3317         make static
3318         (line_display_index_to_iter): make static
3319
3320         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
3321         to marshal a string not a boxed
3322
3323         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
3324
3325         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
3326         since the UTF-8 isn't validated yet
3327
3328         * gtk/gtktextsegment.c (char_segment_check_func): don't require
3329         lines to end in '\n'
3330         
3331         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
3332         forward_to_delimiters, and grapheme boundaries
3333         (gtk_text_view_delete_from_cursor): properly handle non-newline
3334         delimiters, and grapheme boundaries
3335
3336         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
3337         to gtk_text_iter_forward_to_delimiters, and make it work properly
3338         if empty lines end with a character other than '\n'
3339
3340         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
3341         position
3342
3343 2000-12-15  Tor Lillqvist  <tml@iki.fi>
3344
3345         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
3346
3347         * gtk/gtk.def
3348         * gdk/gdk.def: Update.
3349
3350         * gdk/win32/gdkmain-win32.c
3351         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
3352         gdkmain-win32.c here.
3353
3354         * gdk/win32/makefile.mingw.in (all): No need to make
3355         gdk-win32res.o here, the makefile one step up will call us to make
3356         it.
3357
3358         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
3359         gdkkeys-win32.
3360
3361         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
3362
3363         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
3364         call to g_source_add().
3365
3366         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
3367         leak. Thanks to Andreas Kemnade.
3368
3369 2000-12-13  Havoc Pennington  <hp@pobox.com>
3370
3371         * gtk/gtktextbtree.h: Remove double _ in front of some functions
3372
3373         * gtk/gtktext*.[hc]: update accordingly
3374         
3375 2000-12-13  Havoc Pennington  <hp@pobox.com>
3376
3377         * gtk/gtktextbtree.h: Put _ in front of every function in this 
3378         header file
3379
3380         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
3381
3382 2000-12-13  Alex Larsson  <alexl@redhat.com>
3383
3384         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
3385         Add support for ps2 intellimouse.
3386
3387         * gdkkeyboard-fb.c:
3388         Move shift-F1 repaint handling to xlate handler only.
3389         
3390         * docs/README.linux-fb:
3391         Add imps2 to docs.
3392         Document the new refresh keys.
3393         
3394 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
3395
3396         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
3397
3398         * gtk/gtkbox.c: change property types from (u)long to (u)int for
3399         ::position and ::padding.
3400
3401         * gtk/gtkcontainer.c: make ::border_width an INT property.
3402
3403         * gtk/gtkpacker.c: make ::position an INT property.
3404
3405         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
3406         guard against NULL h/v scrollbars, since this is used at construction
3407         time.
3408
3409         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
3410         internal gtk_clist_constructor().
3411
3412         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
3413         gtk_ctree_constructor().
3414
3415         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
3416         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
3417
3418         * docs/reference/Makefile.am: fun stuff, disabled docs generation
3419         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
3420
3421         * gtk/gtkwidget.[hc]:
3422         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
3423         and gtk_widget_get().
3424         (gtk_widget_new): use g_object_new_valist().
3425         (gtk_widget_set): use g_object_set_valist().
3426
3427         * gtk/gtkobject.[hc]:
3428         removed gtk_object_arg_get_info(), gtk_object_getv(),
3429         gtk_object_query_args(), gtk_object_newv(),
3430         gtk_object_class_add_signals(),
3431         gtk_object_class_user_signal_new(),
3432         gtk_object_class_user_signal_newv(),
3433         gtk_object_arg_set(), gtk_object_arg_get(),
3434         gtk_object_args_collect(),
3435         gtk_object_default_construct(),
3436         gtk_object_constructed(),
3437         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
3438         removed nsignals, signals and n_args members from GtkObjectClass.
3439         (gtk_object_new): use g_object_new_valist().
3440         (gtk_object_set): use g_object_set_valist().
3441         (gtk_object_get): use g_object_get_valist().
3442         
3443         * gtk/gtkcompat.h: define gtk_object_default_construct().
3444         
3445         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
3446         g_object_new().
3447
3448         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
3449         fucntions, cleaned up method assignments (make sure your structures
3450         are setup properly before calling out). removed all GTK_CONSTRUCTED
3451         hacks ;)
3452
3453 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
3454
3455         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
3456         off-by-one error in checks. (Dave Lambert)
3457
3458 2000-12-12  Alexander Larsson  <alexl@redhat.com>
3459
3460         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
3461         Don't free gdk_fb_keyboard twice.
3462
3463 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
3464
3465         * gtk/testgtk.c:
3466         (create_tooltips): 
3467         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
3468         use GObject swapped_signal:: properties instead.
3469
3470         * gtk/gtkcellrenderertoggle.c: 
3471         * gtk/gtkcellrenderertextpixbuf.c: 
3472         * gtk/gtkcellrenderertext.c: 
3473         * gtk/gtkcellrendererpixbuf.c: 
3474         * gtk/gtkcellrenderer.c:
3475         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
3476         missing warnings for invalid property ids, install properties
3477         with g_object_class_install_property() now.
3478         
3479         * gtk/gtksignal.c:
3480         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
3481         
3482 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
3483         
3484         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
3485         to determine if a window is the focus widget within
3486         its toplevel.
3487
3488         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
3489         to be boolean.
3490
3491         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
3492         of the case where the container CAN_FOCUS to here instead
3493         of having it in each individual move-the-focus place.
3494
3495         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
3496         focusing to be geometric in a much more obvious sense. Arrowing
3497         around is still non-intuitive because it isn't perfect and
3498         because entries, etc, grab the arrow keys, but it at least
3499         usually will do what you expect now.
3500         
3501         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
3502         file.
3503
3504         * gtk/gtknotebook.c: Change tabs to be a single item in
3505         the focus chain. Make movement of focus on tabs with arrow
3506         keys wrap around.
3507         
3508         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
3509         CHECK_FIND_CHILD macro to give informative error messages
3510         instead of silent returns.
3511
3512         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
3513         flag since we handle GdkReturn on the tabs.
3514
3515         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
3516         windows rather than sending expose events directly.
3517
3518         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
3519         definition for GtkNotebookPage into .c file, since it is private.
3520
3521         * gtk/testgtk.c (create_notebook): Add option for 
3522         testing borderless notebook.
3523
3524         * gtk/testgtk.c (page_switch): Removed egregious poking
3525         around in GTK+ internals.
3526
3527         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
3528
3529         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
3530         properly through gtk_clist_focus. Make the title headers a
3531         single item in the tab-focus chain, and make left-right wrap
3532         around.
3533
3534         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
3535         focus method so that wrapping around works properly.
3536
3537         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
3538         that is handled for the widget now. 
3539
3540 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
3541
3542         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
3543         widgets as TOPLEVEL.
3544
3545         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
3546         TOPLEVEL widgets are containers.
3547
3548         * gtk/gtkinvisible.h: Remove useless include.
3549
3550 2000-12-11  Havoc Pennington  <hp@redhat.com>
3551
3552         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
3553         Handle chopping off \r\n and 0x2029 in addition to \n before
3554         passing to PangoLayout
3555
3556         * gtk/gtkimcontextsimple.c
3557         (gtk_im_context_simple_get_preedit_string): 
3558         return an empty string if no match is pending
3559
3560         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
3561         assertion that the returned preedit string was sane
3562
3563         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
3564         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
3565         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
3566
3567 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
3568
3569         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
3570         Fix up finalizer to chain to its parent.
3571
3572 2000-12-11  Alexander Larsson  <alexl@redhat.com>
3573
3574         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
3575         Clearified the difference between the keyboard types. Wrote a note
3576         about the magic sysrq key to get out of raw mode.
3577
3578 2000-12-09  James Henstridge  <james@daa.com.au>
3579
3580         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
3581         member to hold masks for detecting the start of a protocol packet.
3582         (mouse_devs): add packet start masks for ps2 and ms device types.
3583         Left the mask for fidmour blank, as I have no idea what it should
3584         be.
3585         (handle_mouse_io): skip bytes until we get to the start of a
3586         packet.  My Logitech mouse seems to be passing an extra NULL pad
3587         byte, and GPM does a similar thing here.
3588         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
3589         this is the ms mouse driver.
3590         (gdk_fb_mouse_ms_packet): fix up button handling, which was
3591         completely broken except for button1.  It was checking the wrong
3592         bit in the packet for the status of the right mouse button, and
3593         wrongly assuming right == button2 rather than 3.  I fixed that and
3594         also added support for middle button (button2).
3595
3596 2000-12-08  Havoc Pennington  <hp@redhat.com>
3597
3598         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
3599         that cause a segfault on text insertion
3600
3601         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
3602         warning
3603
3604         * gtk/gtktextiter.c (test_log_attrs): use
3605         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
3606
3607         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
3608         Get log attrs for a line, using a cache stored on the buffer
3609         
3610         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
3611         reported by Jeff Franks
3612
3613 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3614
3615         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
3616         /dev/ttyS0 -> /dev/mouse
3617
3618 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3619
3620         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
3621         Added dummy gdk_fontset_load.
3622
3623 2000-12-08  Alexander Larsson  <alexl@redhat.com>
3624
3625         * docs/README.linux-fb:
3626         * docs/Makefile.am:
3627         Initial GtkFB docs.
3628         
3629         * gdk/linux-fb/Makefile.am:
3630         Define GDK_DATA_PREFIX.
3631
3632         * gdk/linux-fb/gdkmain-fb.c:
3633         Fix typo.
3634         Change default display to /dev/fb0.
3635
3636         * gdk/linux-fb/gdkpango-fb.c:
3637         Add $(prefix)/share/fonts/ to font path.
3638         
3639 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3640
3641         * gdk/linux-fb/gdkkeyboard-fb.c:
3642         New file containing the abstracted keyboard driver. Most code
3643         taken from gdkinput-ps2.c
3644
3645         * gdk/linux-fb/gdkinput-ps2.c:
3646         Removed file.
3647         
3648         * gdk/linux-fb/Makefile.am:
3649         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
3650
3651         * gdk/linux-fb/gdkcolor-fb.c:
3652         display->fb was renamed to display->fb_fd.
3653
3654         * gdk/linux-fb/gdkcursor-fb.c:
3655         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3656
3657         * gdk/linux-fb/gdkinput.c:
3658         Moved gdk_input_init here from gdkinput-ps2.c
3659
3660         * gdk/linux-fb/gdkmain-fb.c:
3661         display->fb was renamed to display->fb_fd.
3662         Now the tty and the console is opened here instead
3663         of in the keyboard driver. Also check GDK_VT to see what
3664         tty to open.
3665         Move gdk_beep () here from gdkinput-ps2.c
3666         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3667
3668         * gdk/linux-fb/gdkmouse-fb.c:
3669         Add header.
3670         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3671         Return correct keyboard modifiers.
3672         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
3673
3674         * gdk/linux-fb/gdkprivate-fb.h:
3675         Add tty and vt info to display.
3676         Add orignal modeinfo storage to display
3677         Update global functions
3678
3679         * gdk/linux-fb/gdkwindow-fb.c:
3680         Added gdk_fb_window_find_focus().
3681         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3682
3683 2000-12-07  Havoc Pennington  <hp@pobox.com>
3684
3685         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
3686         function, noticed by Alex
3687
3688 2000-12-06  Elliot Lee  <sopwith@redhat.com>
3689
3690         * configure.in: Detect freetype properly
3691
3692         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
3693         above.
3694
3695 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3696
3697         * gdk/linux-fb/Makefile.am:
3698         Add gdkmouse-fb.c
3699         
3700         * gdk/linux-fb/gdkmouse-fb.c:
3701         New file. Abstracted the mouse drivers a bit.
3702
3703         * gdk/linux-fb/gdkcursor-fb.c:
3704         The cursor hide/show functions was moved here from gdkinput-ps2.c.
3705
3706         * gdk/linux-fb/gdkinput-ps2.c:
3707         Removed old mouse handling code. Moved cursor handling code
3708         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
3709         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
3710         gdk_mouse_get_info.
3711
3712         * gdk/linux-fb/gdkmain-fb.c:
3713         Pass NULL pointers for x,y in gdk_mouse_get_info call.
3714
3715         * gdk/linux-fb/gdkprivate-fb.h:
3716         Removed public gdk_fb_find_common_ancestor, added and renamed
3717         functions for the new mouse handling code.
3718
3719         * gdk/linux-fb/gdkwindow-fb.c:
3720         Moved gdk_fb_window_send_crossing_events here. added global
3721         variable gdk_fb_window_containing_pointer. made
3722         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
3723         renamed to gdk_mouse_get_info.
3724
3725 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3726
3727         * gdk/linux-fb/gdkevents-fb.c:
3728         Update to match latest gmain/gsource changes.
3729
3730         * gdk/linux-fb/gdkinput-ps2.c:
3731         Bogus gdk_keymap_get_entries_for_keycode implementation so that
3732         it links. Will be implemented later.
3733
3734 2000-12-03  Havoc Pennington  <hp@pobox.com>
3735
3736         * gdk/Makefile.am: add gdkkeys.[hc]
3737
3738         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
3739         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
3740
3741         * acconfig.h, configure.in: add checks and command line options
3742         for XKB
3743
3744         * gdk/x11/gdkkeys-x11.c: Implement the above functions
3745         
3746         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
3747         and group in the key event
3748
3749         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
3750         field with the low-level hardware key code, and a group
3751         field with the keyboard group
3752
3753         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
3754         and declare a couple globals used for keymap handling
3755         
3756         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
3757         hold down Shift-Control and type a hex number to get a Unicode 
3758         character corresponding to the hex number
3759         (gtk_im_context_simple_get_preedit_string): Fix cursor position
3760         (return bytes not chars)
3761
3762 2000-12-05  Elliot Lee  <sopwith@redhat.com>
3763
3764         * gdk/gdkcolor.h: Make GdkColor specify element sizes
3765         to avoid waste on 64-bit platforms.
3766
3767 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
3768
3769         * INSTALL: Fix link to PNG home, remove reference
3770         to fribidi.
3771
3772         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
3773         
3774         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
3775         tested.)
3776
3777         * gtk/gtkcheckmenuitem.c: Permanently turn on
3778         always_show_toggle.
3779
3780         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
3781         be NULL. (Vladimir Klebanov, #26545)
3782
3783         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
3784         some signed/unsigned comparison problems. (#6510,
3785         David Kaelbling)
3786
3787         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
3788         return type to boolean (Oskar Liljeblad, #18648)
3789
3790 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3791
3792         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
3793         Remove bogus colormap setting.
3794
3795 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3796
3797         * gdk/linux-fb/gdkcolor-fb.c:
3798         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
3799
3800         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
3801         Must set colormap.
3802         
3803 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
3804
3805         * docs/tutorial/gtk-tut.sgml: DND updates
3806
3807 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
3808
3809         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3810         Remove old debug g_warning().
3811         (gdk_fb_draw_drawable): The src argument can be either a wrapper
3812         or an implementation, just pass the implementation to draw_drawable_2.
3813         
3814         * gdk/linux-fb/gdkprivate-fb.h:
3815         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
3816
3817         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3818         clear and invalidate area when window is destroyed.
3819         (send_map_events): Remove old commented out code.
3820
3821 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3822
3823         * gdk/linux-fb/gdkpango-fb.c:
3824         Use italic instead of oblique in font aliases.
3825         
3826         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
3827         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
3828         other unsupported functions.
3829
3830 2000-12-04  Havoc Pennington  <hp@redhat.com>
3831
3832         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
3833
3834         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
3835
3836         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
3837
3838         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
3839         hack to avoid infinite loops (synthetic expose event) - 
3840         Owen has more appropriate fixes in a branch he'll check in later.
3841
3842         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
3843         separator, CR, and CRLF as line ends
3844
3845         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
3846         into lines using pango_find_paragraph_boundary(); other bits of
3847         the widget are still going to be broken if the boundary isn't '\n'
3848         though
3849
3850 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3851
3852         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
3853         multiply.
3854
3855         * gdk/linux-fb/gdkpango-fb.c:
3856         Copied some 26.6 scaling macros from pango to clean up the rounding.
3857         (pango_fb_font_get_glyph_info): Correct sign on x value.
3858
3859         * gdk/linux-fb/gdkprivate-fb.h:
3860         Removed unreferenced external functions.
3861
3862         * modules/linux-fb/Makefile.am: Use ` instead of '.
3863
3864         * modules/linux-fb/basic.c:
3865         Remove dead code. In particular the dummy lang engine which broke all
3866         pango layouts in GtkFB. Don't include tables-big.i anymore.
3867
3868         * modules/linux-fb/tables-big.i:
3869         Upgrade to latest version from pango. Left for reference, basic_ranges
3870         moved to basic.c.
3871         
3872 2000-12-04  Havoc Pennington  <hp@redhat.com>
3873
3874         Fix bugs Alex found:
3875         
3876         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
3877         to "draw"
3878
3879         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
3880
3881         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
3882
3883         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
3884         implementation in here, apparently the expose() implementation was
3885         dead code.
3886
3887 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3888
3889         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3890         Return positive descent.
3891
3892 2000-12-02  Havoc Pennington  <hp@pobox.com>
3893
3894         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
3895         method and signal
3896         
3897         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
3898         calls gdk_window_process_updates() to push the exposes through
3899         (gtk_widget_class_init): No more draw signal, no
3900         gtk_widget_real_draw()  
3901         
3902         * gtk/gtkbin.c (gtk_bin_draw): remove
3903
3904         * gtk/gtkbox.c (gtk_box_draw): remove
3905
3906         * gtk/gtkbutton.c (gtk_button_draw): remove
3907
3908         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
3909
3910         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
3911
3912         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
3913
3914         * gtk/gtkclist.c (gtk_clist_draw): remove
3915
3916         * gtk/gtkentry.c (gtk_entry_draw): remove
3917
3918         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
3919
3920         * gtk/gtkfixed.c (gtk_fixed_draw): remove
3921
3922         * gtk/gtkframe.c (gtk_frame_draw): remove
3923
3924         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
3925
3926         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
3927
3928         * gtk/gtklayout.c (gtk_layout_draw): remove
3929
3930         * gtk/gtklist.c (gtk_list_draw): remove
3931
3932         * gtk/gtklistitem.c (gtk_list_item_draw): remove
3933
3934         * gtk/gtkmenu.c (gtk_menu_draw): remove
3935
3936         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
3937
3938         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
3939
3940         * gtk/gtknotebook.c (gtk_notebook_draw): remove
3941
3942         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
3943
3944         * gtk/gtkpacker.c (gtk_packer_draw): remove
3945
3946         * gtk/gtkrange.c (gtk_range_draw): remove
3947
3948         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
3949
3950         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
3951
3952         * gtk/gtktable.c (gtk_table_draw): remove
3953
3954         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
3955
3956         * gtk/gtktext.c (gtk_text_draw): remove
3957
3958         * gtk/gtktextview.c (gtk_text_view_draw): remove
3959
3960         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
3961
3962         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
3963
3964         * gtk/gtktree.c (gtk_tree_draw): remove
3965
3966         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
3967
3968         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
3969
3970         * gtk/gtkviewport.c (gtk_viewport_draw): remove
3971
3972         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
3973
3974         * gtk/gtkvscale.c (gtk_vscale_draw): remove
3975
3976         * gtk/gtkwindow.c (gtk_window_draw): remove
3977
3978 2000-20-01  Anders Carlsson  <andersca@gnu.org>
3979
3980         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
3981         a GtkToggleButton is both insensitive and active, it was being
3982         drawn by the GtkButton draw handler which doesn't check the
3983         state. Now it's calling gtk_toggle_button_paint instead.
3984         
3985 2000-12-01  Havoc Pennington  <hp@redhat.com>
3986
3987         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
3988         dangling pointers to the appearance attributes from the 
3989         line display
3990
3991         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
3992         width/height to mean "full width/height of drawable"
3993
3994         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
3995         click to select word/line
3996         
3997         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
3998         when getting log attrs. Get a slice, so that pixmaps and stuff
3999         are properly handled.
4000
4001         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
4002         paste into the selection (replaces selection now, previously
4003         crashed or added to selection). Reveals longstanding btree bug -
4004         select multiple lines, middle-click on the selection, boom. This
4005         isn't related to my changes though.
4006
4007         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
4008         PangoLogAttrs changes
4009         (gtk_entry_move_backward_word): ditto
4010
4011         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
4012         functions return bool whether the iter moved onto a
4013         dereferenceable position.
4014  
4015         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
4016         functions for motion in terms of display lines.
4017
4018         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
4019         get the buffer a mark is inside
4020         
4021 2000-12-01  Alexander Larsson  <alexl@redhat.com>
4022
4023         * gdk/linux-fb/Makefile.am:
4024         * modules/linux-fb/Makefile.am:
4025         Freetype 2 final uses freetype-config
4026
4027         * gdk/linux-fb/gdkpango-fb.c:
4028         Upgrade to use Freetype 2 final.
4029         More flexible support for font aliases, this also fixes a bug with
4030         GtkFontSelector, as the aliases must be visible in the font/family list,
4031         or GtkFontSelector reads uninitialized memory.
4032
4033 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
4034
4035         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
4036         XGetIMValues to properly terminate variable argument list, and do
4037         NULL return check for ic_values and xim_styles.
4038
4039         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
4040         Restore preedit state after XmbResetIC().
4041         
4042         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
4043         XvaCreateNestedList() should take XvaNestedList, but not
4044         XvaNestedList*.
4045
4046         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
4047         preedit_draw_callback, preedit_caret_callback): Match
4048         "preedit-changed" signal name to "preedit_changed" to be
4049         consistent to the spec.
4050
4051         * gtk/gtkimcontextsimple.c (check_table):
4052         Match "preedit-changed" to "preedit_changed" to be consistent
4053         to the spec.
4054
4055 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
4056
4057         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
4058         gc->clip_region == NULL>
4059
4060 2000-11-30  Tor Lillqvist  <tml@iki.fi>
4061
4062         Changes by Hans Breuer:
4063         
4064         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
4065         Dont't use negative width and height as max_hints. This fixes
4066         Owen's recent testgtk changes for win32.
4067
4068         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
4069         gdk_win32_hdc_release): These are exported and may be called with
4070         other drawable types than our GdkDrawableImplWin32 (?).
4071
4072         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
4073         so always #define USE_BACKING_STORE.
4074
4075         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
4076         of printf for debugging output.
4077
4078         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
4079         
4080         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
4081
4082         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
4083         declaration.
4084
4085         * gtk/gtktexttypes.h: Ditto.
4086
4087         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
4088         (GDK_VoidSymbol) also if in case of arg check failure.
4089
4090         * gtk/gtkimcontextsimple.c
4091         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
4092         position to the pointer, but to the variable it points to.
4093
4094         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
4095
4096         * gtk/gtk.def: Updates.
4097
4098 2000-11-29  Elliot Lee  <sopwith@redhat.com>
4099
4100         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
4101         GTK_TYPE_TREE_MODEL.
4102
4103 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4104
4105         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
4106         Set the size of the font from the description.
4107         (gdk_text_width): Gross hack that calculates the width
4108         of text by text_length * size/2. This is necessary because
4109         GtkLabel does some ugly gtk_string_width call to calculate
4110         an good size.
4111         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
4112
4113 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
4114
4115         * docs/tutorial/gtk-tut.sgml: DND updates
4116
4117 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4118
4119         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
4120         If you pass width or height == 0 to gdk_window_clear_area they
4121         should be calculated from the window size.
4122
4123 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4124
4125         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
4126         a grab, but no grab-cursor, use the cursor from the grabbed
4127         window. (gdk_fb_window_send_crossing_events): Send normal
4128         enter/leave notifications if grab and owner_events == TRUE.
4129
4130 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4131
4132         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4133         Do implicit button grabs, even if the window doesn't
4134         want the event.
4135         (gdk_fb_window_send_crossing_events): If there is a
4136         grab, only the grabbed window gets normal enter/leave
4137         notifications. On ungrab go from grabbed window to current.
4138         Don't send any notification to b when propagating from c -> b.
4139         If setting a grab on window, don't set prev_window.
4140         (handle_mouse_input): Send enter/leave events to the window the
4141         mouse is over, not the grabbed one.
4142         
4143 2000-11-28  Elliot Lee  <sopwith@redhat.com>
4144
4145         * gdk/gdkregion-generic.c: Zap warning.
4146         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
4147         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
4148
4149 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
4150
4151         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
4152         The cursor should be hidden if it is part of either the
4153         source or destination region. Not only if it is in both.
4154         (gdk_window_set_transient_for): Silence warnings.
4155
4156 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4157
4158         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
4159         The default mode in X is Pie Arcs, therefore that is
4160         what Gtk+ uses.
4161
4162 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4163
4164         * gdk/linux-fb/gdkinput-ps2.c:
4165         Implement correct EnterNotify/LeaveNotify:
4166         (gdk_fb_window_send_crossing_events): New function that sends
4167         all GdkCrossingEvents from the last mouse-window to the specified
4168         destination.
4169         (gdk_fb_window_visibility_crossing): Removed function.
4170         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
4171         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
4172         instead of gdk_window_get_pointer() for better readability.
4173
4174         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
4175         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
4176
4177         * gdk/linux-fb/gdkprivate-fb.h:
4178         removed gdk_fb_window_visibility_crossing, added
4179         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
4180
4181         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
4182         New function that finds the least common ancestor of two windows.
4183         (gdk_window_show, gdk_window_hide):
4184         Use gdk_fb_window_send_crossing_events.
4185         (gdk_fb_window_move_resize): Send configure events to toplevel
4186         windows. Use gdk_fb_window_send_crossing_events.
4187
4188 2000-11-27  Havoc Pennington  <hp@redhat.com>
4189
4190         * gtk/gtkprivate.h (enum): Remove a trailing comma
4191
4192 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
4193
4194         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
4195         the "changed" callback of the adjustment.  We need to redraw the
4196         spin button's arrows when the adjustment's range changes.
4197         (adjustment_changed_cb): Draw the arrows.
4198         (gtk_spin_button_value_changed): Draw the arrows.
4199
4200 2000-11-23  Alexander Larsson  <alexl@redhat.com>
4201
4202         * gdk/linux-fb/gdkselection-fb.c:
4203         Initial selection implementation.
4204
4205         * gtk/gtkselection.c:
4206         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
4207         requestor in gtk_selection_request.
4208         
4209         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
4210         Added gdk_selection_property atom.
4211
4212         * gdk/linux-fb/gdkprivate-fb.h:
4213         Export _gdk_selection_window_destroyed.
4214         Removed mask_off_x/y from GdkCursorPrivateFB.
4215         Removed hbearing, added top, left to PangoFBGlyphInfo.
4216
4217         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4218         Call _gdk_selection_window_destroyed
4219         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
4220         the root window has been created.
4221         (static_dx_hack, static_dy_hack, compare_draw_rects,
4222         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
4223         in region. They are already sorted. Instead just traverse them in
4224         reverse if draw_direction < 0.
4225         
4226         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4227         Double-clicks must be sent after the normal button_press.
4228         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
4229         
4230         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
4231         Pass _gdk_fb_screen_gc instead of NULL.
4232
4233         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
4234         Initialize gdk_selection_property.
4235         (gdk_event_make): Remove unused code.
4236
4237         * gdk/linux-fb/gdkcursor-fb.c:
4238         Make the pixmap for the cursor the same size as the mask. Also remove
4239         the mask_off_x/y fields in GdkCursorPrivateFB and combine
4240         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
4241         Now the whole cursor is visible.
4242
4243         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4244         Fix bug where xdest+height instead of ydest+height was used
4245         to calculate if the source and dest overlapped. This fixes the
4246         redraw bug when the main window in testgtk was scrolled when
4247         partially covered by a tall window.
4248         Copy rectangles in region in order depending on draw_direction.
4249         Also moved the draw_direction flipping of start_y and end_y into
4250         the gc functions, as this might not be what all of them want.
4251         (gdk_fb_draw_lines): Support dashed lines.
4252         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
4253         so that the text is positioned correctly (was 1 pixel high).
4254
4255         gdk/linux-fb/gdkgc-fb.c:
4256         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
4257         all lines were drawn a pixel to short. Also checked the default of
4258         the rest of the values, and they're the same as X now.
4259
4260         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
4261         Clean up pixel positioning of the glyphs. Just use bgy->top and
4262         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
4263         to all divisions to get correct rounding behaviour.
4264
4265         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
4266         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
4267         Moved start_y/end_y flip into draw_drawable implementations.
4268         Flip also x rendering when draw_direction < 0.
4269         Remove unneccesary multiply with draw_direction.
4270
4271 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
4272
4273         * docs/tutorial/gtk-tut.sgml:
4274           - get rid of gtk_toggle_button_toggled FUD
4275           - start DND section - needs work - based on:
4276                 http://wolfpack.twu.net/docs/gtkdnd/
4277
4278 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4279
4280         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4281         Correct calculation of font metrics. Now GtkEntrys have sane
4282         size.
4283
4284 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4285
4286         * gdk/gdktypes.h:
4287         Add new type GdkSpan
4288         
4289         * docs/reference/gdk/gdk-sections.txt,
4290         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
4291         gdk/gdkregion.h:
4292         Implement and document gdk_region_spans_intersect_foreach.
4293
4294         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
4295         Add new file gdkrender-fb.c which contains all core
4296         rendering code.
4297         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
4298         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
4299         (optimized rectangle fillers).
4300
4301         * gdk/linux-fb/gdkdrawable-fb2.c:
4302         Move all rendering code to gdkrender-fb.c.
4303         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
4304         Use the new span intersection functions in gdk_fb_fill_spans.
4305         gdk_fb_draw_rectangle() clips filled rectangles and calls
4306         gc->fill_rectangle with the result.
4307         gdk_fb_fill_spans() gets extra argument "sorted".
4308
4309         * gdk/linux-fb/gdkevents-fb.c:
4310         Remove unused includes and defines.
4311         New function gdk_fb_get_time() to get correct time for events.
4312
4313         * gdk/linux-fb/gdkinput-ps2.c:
4314         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
4315         Make sure to set the time of all events.
4316
4317         * gdk/linux-fb/gdkmain-fb.c:
4318         Use gdk_fb_get_time ().
4319
4320         * gdk/linux-fb/gdkprivate-fb.h:
4321         New virtual GC calls: fill_span & fill_rectangle.
4322         Export gdk_fb_get_time().
4323         gdk_fb_fill_spans() gets extra argument "sorted".
4324
4325         * gdk/linux-fb/mi*.c:
4326         Use GdkSpan instead of GdkRectangle.
4327         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
4328         from XFree 4 source)
4329         
4330 2000-11-22    <jrb@redhat.com>
4331
4332         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
4333         reversing the order in an if statement will do.  Doing so managed
4334         to make the treemodelsort half work.  Other half will follow after
4335         I get the insert function fully fixed.
4336
4337 2000-11-21  Elliot Lee  <sopwith@redhat.com>
4338         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
4339         more than 2 bits. Besides, I need to implement an evil hack. :)
4340
4341 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
4342
4343         * docs/tutorial/gtk-tut.sgml: minor corrections
4344
4345 2000-11-20  Jonathan Blandford <jrb@redhat.com>
4346         * gtk/gtktreemodelsort.h: Add convertion functions to let you
4347           convert to and from relative path's and iters.
4348
4349         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
4350           testing sorting functions a bit better.  Currently broken -- will
4351           fix in morning.
4352
4353 2000-11-20  Havoc Pennington  <hp@redhat.com>
4354
4355         * gtk/gtkwidget.c: Documented a bunch of functions in here
4356         (gtk_widget_realize): Warn if you try to realize
4357         a widget with no parent that isn't a toplevel
4358         (gtk_widget_intersect): return a gboolean
4359
4360 2000-11-20  Havoc Pennington  <hp@redhat.com>
4361
4362         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
4363         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
4364         scrolling to be implemented in GDK to finish. Also, right now
4365         we just size_allocate all children on every layout change,
4366         which is pretty lame. Test commented out of testtext.c, 
4367         until it works better.
4368
4369 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
4370
4371         * gdk/linux-fb/gdkdrawable-fb2.c:
4372         Removed unused arguments from gdk_fb_drawable_get_pixel().
4373
4374         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
4375         Renamed fidur specific mouse packet data in MouseDevice to
4376         generic. Used it in ps2 mouse handling code to avoid blocking
4377         reads.
4378
4379 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
4380
4381         * demos/gtk-demo/main.c: Changed to have the list become
4382         non-italic when the demo window is destroyed through an external
4383         event (like a close button).  Doing so found three bugs in the
4384         widget.
4385
4386         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
4387
4388         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
4389         we actually set the cell.
4390
4391         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
4392
4393         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
4394         free a leaked path.  Thanks memprof.
4395
4396 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
4397
4398         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
4399         off-by-one error when destroying allocated segments
4400         on failure. (Elliot)
4401
4402 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
4403
4404         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
4405         memleaks found by Evan Martin.
4406
4407 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
4408
4409         * Released 1.3.2
4410         
4411         * NEWS: Updates for 1.3.2
4412
4413 2000-11-17  Tor Lillqvist  <tml@iki.fi>
4414
4415         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
4416         but in general for window system specific events.
4417
4418         * gtk/gtk.def
4419         * gtk/makefile.mingw.in
4420         * gtk/makefile.msc.in: Update.
4421         
4422         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
4423
4424 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
4425
4426         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
4427         distribute gtk.immodules.
4428
4429         * gtk/Makefile.am (install-data-local): Don't install the
4430         gtk.immodules file created for the uninstalled modules;
4431         instead run gtk-query-immodules after install
4432
4433 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
4434
4435         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
4436         -rpath to the right install location.
4437
4438         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
4439         -export-dynamic.
4440
4441         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
4442         properly.
4443
4444 2000-11-15  Havoc Pennington  <hp@pobox.com>
4445
4446         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
4447         patch from Mikael Hermansson to temporarily stop blinking while
4448         the user is using the keyboard to type or navigate. 
4449
4450         Also, when blinking, stay on for longer than we stay off. Also,
4451         return from start_cursor_blink if !cursor_visible, to save
4452         checking that flag all over the place before we call
4453         start_cursor_blink.
4454
4455 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
4456
4457         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
4458         only contain a "fontset" line, which is now ignored.
4459
4460         * gtk/gtkentry.c (gtk_entry_button_release): Make 
4461         double-click-to-select-word work.
4462         
4463 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
4464
4465         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
4466         Don't move back one char when we are actually at the end of the 
4467         paragraph.
4468
4469 2000-11-15  Robert Brady  <robert@suse.co.uk>
4470
4471         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
4472         'o' < 'p'.
4473         
4474         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
4475         bind_textdomain_codeset.
4476
4477         (gtk_init_check): Make the warning about translating default:LTR
4478         sterner.
4479         
4480 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
4481
4482         * **/Makefile.am : remove unecessary rules for win32-specific
4483         config-substituted targets. If you want these rules, use
4484         --enable-maintainer-mode (called automatically by autogen.sh).
4485         Stops a lot of unneccessary make-time warnings.
4486
4487         * gtk/gtktext{layout,display}.c: Factor in total width as
4488         well as screen when figuring alignment for word-wrap as well as
4489         no wrap; this is necessary to handle lines that cannot be wrapped
4490         at all.
4491
4492 2000-11-15  Havoc Pennington  <hp@redhat.com>
4493
4494         * gtk/testtext.c: Implement essential color cycling feature
4495
4496 2000-11-15  Havoc Pennington  <hp@redhat.com>
4497
4498         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
4499         when we invalidate the main window.
4500
4501         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
4502         GtkTextView will now invalidate the side windows for us when text
4503         changes.
4504
4505 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
4506
4507         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
4508         unconditionally, since we may need to update the horizontal
4509         scrollbars even if the height didn't change.
4510
4511         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
4512         the extra attrs, since some of them affect size.
4513
4514         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
4515         x_offset correctly.
4516
4517 2000-11-15  Havoc Pennington  <hp@redhat.com>
4518
4519         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
4520         don't move the first line out into the margin, instead move the
4521         whole paragraph in order to make space for the first line within 
4522         the margin
4523
4524 2000-11-15  Havoc Pennington  <hp@redhat.com>
4525
4526         * gtk/gtktextview.c (changed_handler): offset redraw rect by
4527         xoffset in addition to yoffset, so horizontal scrolling doesn't
4528         break redraws
4529
4530 2000-11-15  Havoc Pennington  <hp@redhat.com>
4531
4532         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
4533         from the cursor
4534         (render_layout_line): fix reversed test that caused weird
4535         underlines to get drawn
4536
4537 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4538
4539         * gdk/linux-fb/gdkprivate-fb.h:
4540         Fix debug macros.
4541         
4542 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4543
4544         * gdk/linux-fb/gdkprivate-fb.h:
4545         Added virtual functions set_pixel, get_color,
4546         fill_span and draw_drawable to the GC.
4547         Added global _gdk_fb_screen_gc to use instead of
4548         NULL when drawing to the screen.
4549         Added _gdk_fb_gc_calc_state() prototype.
4550
4551         * gdk/linux-fb/gdkgc-fb.c:
4552         Call _gdk_fb_gc_calc_state() on any gc state change.
4553
4554         * gdk/linux-fb/gdkglobals-fb.c:
4555         Add _gdk_fb_screen_gc
4556                 
4557         * gdk/linux-fb/gdkdrawable-fb2.c:
4558         _gdk_fb_gc_calc_state() calculates best functions
4559         for the GC state and depth.
4560         Moved bpp specialized code to separate functions.
4561         Added optimized 24 bpp AA draw_drawable.
4562
4563         * gdk/linux-fb/gdkevents-fb.c:
4564         Silence gcc warning.
4565
4566         * gdk/linux-fb/gdkimage-fb.c:
4567         Use _gdk_fb_screen_gc
4568
4569         * gdk/linux-fb/gdkwindow-fb.c:
4570         Init and use _gdk_fb_screen_gc
4571
4572         * gdk/linux-fb/mitypes.h:
4573         Remove unused types.
4574
4575 2000-11-14  Havoc Pennington  <hp@pobox.com>
4576
4577         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
4578         to pixels
4579
4580 2000-11-14  Havoc Pennington  <hp@pobox.com>
4581
4582         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
4583
4584         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
4585         unknown char, no real reason we were using a variable. 
4586         Remove gtk_text_unknown_char variable. Fix all the text widget
4587         files accordingly.
4588
4589         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
4590         since the Unicode spec seems to prefer that character for our
4591         purposes.
4592
4593 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
4594
4595         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
4596         value of g_getenv() isn't freeable, so g_strdup it.
4597
4598         * modules/input/inuktitut.c: Inuktitut input method.
4599
4600         * modules/input/Makefile.am: Build this.
4601         
4602 2000-11-14  Elliot Lee  <sopwith@redhat.com>
4603
4604         * gtk/Makefile.am: Install gtk.immodules, needed for operation
4605         of gtk programs.
4606
4607 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
4608
4609         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
4610         reversed > that was causing Home to go to end of previous line.
4611
4612         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
4613         modified-keypresses (leave for bindings.)
4614
4615         * modules/input/Makefile.am: Remove useless -export-dynamic
4616         from module LDFLAGS.
4617
4618 2000-11-14  Havoc Pennington  <hp@redhat.com>
4619
4620         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
4621         higher.
4622
4623         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
4624         account. Also, render rise, underline, background, etc. for
4625         pixbufs as well as text. Also, draw underlines one pixel higher.
4626
4627         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
4628         PangoAttribute for the rise, so it gets drawn properly. Also,
4629         add the GtkTextAppearance attribute for pixbuf/widget segments
4630         as well; we should go ahead and have rise, underline, background,
4631         stipple work for those
4632
4633         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
4634         Pango
4635
4636 2000-11-15  Tor Lillqvist  <tml@iki.fi>
4637
4638         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
4639
4640         * gtk/gtk.def: Update.
4641
4642         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
4643         included.
4644         (gtk_rc_get_im_module_file): Use run-time installation directory
4645         on Win32.
4646
4647         * gdk/win32/rc/gdk.rc: Remove.
4648         * gdk/win32/rc/gdk.rc.in: New file.
4649         * gdk/win32/rc/Makefile.am: New file
4650         * gdk/win32/Makefile.am: Corresponding changes.
4651
4652         * gtk/gtk.rc: Remove.
4653         * gtk/gtk-win32.rc.in: New file.
4654         * gtk/Makefile.am: Corresponding changes.
4655
4656         * configure.in: Corresponding changes.
4657
4658         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
4659         has a built gtkcompat.h. Developers using CVS code on Win32 can
4660         hand-edit it from gtkcompat.h.in.
4661
4662         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
4663         gtkcompat.h from gtkcompat.h.win32.
4664
4665 2000-11-14  Havoc Pennington  <hp@redhat.com>
4666
4667         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
4668         to default to GDK_ACTION_MOVE if the drag is within a single
4669         widget. Defaults to GDK_ACTION_COPY between widgets.
4670
4671 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
4672
4673         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
4674
4675         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
4676
4677         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
4678         srcdir != builddir
4679
4680         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
4681
4682         * configure.in (GTK_VERSION): Up to 1.3.2
4683
4684         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
4685         gtkimcontextxim.h
4686
4687         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
4688         missing doc comment.
4689
4690 2000-11-14  Alexander Larsson  <alexl@redhat.com>
4691
4692         * modules/linux-fb/basic.c:
4693         Use the glib iconv wrappers.
4694
4695 2000-11-13  Havoc Pennington  <hp@pobox.com>
4696
4697         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
4698         still more bugs.
4699
4700         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
4701         scroll the GdkWindows before realization.
4702
4703 2000-11-13  Havoc Pennington  <hp@redhat.com>
4704
4705         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
4706         where GC didn't always get updated properly
4707
4708         * demos/gtk-demo/textview.c (create_tags): Use subattributes
4709         of fonts instead of setting the entire font
4710
4711         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
4712         setting entire font
4713
4714         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
4715
4716         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
4717         a bunch of individually-settable font attributes. You can still 
4718         use the "font" and "font_desc" args, they just set all the font
4719         attributes at once.
4720
4721 2000-11-13 Elliot Lee <sopwith@redhat.com>
4722
4723         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
4724
4725 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
4726
4727         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
4728         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
4729
4730         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
4731         work better.
4732
4733 2000-11-13  Havoc Pennington  <hp@redhat.com>
4734
4735         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
4736         the module file.
4737
4738         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
4739         dest->language
4740
4741         * gtk/testtext.c: Test pixels above/below/inside paragraphs
4742         settings
4743
4744         * gtk/gtktextview.c: Implement object args and setters/getters for
4745         all the aspects of the GtkTextAttributes that are not set from
4746         GtkWidget attributes. This is spacing, justification, margins,
4747         etc.
4748
4749         (gtk_text_view_set_arg)
4750         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
4751         args
4752         (gtk_text_view_class_init): Add args for justify, left_margin,
4753         right_margin, indent, and tabs
4754         
4755
4756         * gtk/gtktextlayout.c (set_para_values): fix to display indent
4757         attribute properly
4758
4759         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
4760         replace with indent attribute
4761
4762         * gtk/gtktextlayout.c (set_para_values): multiply indent by
4763         PANGO_SCALE
4764
4765         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
4766         rearranging code to do that
4767         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
4768         i.e. don't subtract the top_margin first, just to keep
4769         all margin-futzing in one place.
4770
4771         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
4772
4773         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
4774         special case of last line, Pango now handles this itself.
4775         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
4776         Y coordinate
4777         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
4778         (find_display_line_above): wasn't moving the byte index as it
4779         iterated over lines, so always returned byte 0. Also, port to use
4780         PangoLayoutIter.
4781         (find_display_line_below): same problem as
4782         find_display_line_above. Also, port to use PangoLayoutIter.
4783
4784 2000-11-13  Alexander Larsson  <alexl@redhat.com>
4785
4786         * gdk/linux-fb/*.[ch]:
4787         Massive reindent to gtk+ standard. My hands hurt.
4788
4789         * gdk/linux-fb/gdkcolor-fb.c:
4790         Move GdkColorPrivateFB from inherited to windowing_data
4791
4792         * gdk/linux-fb/gdkcursor-fb.c:
4793         _gdk_cursor_new_from_pixmap made static
4794
4795         * gdk/linux-fb/gdkdnd-fb.c:
4796         GdkDragContextPrivate moved to windowing_data
4797
4798         * gdk/linux-fb/gdkdrawable-fb2.c:
4799         Removed endian.h, use glib endianness macros instead
4800         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
4801         and GDK_DRAWABLE_IMPL_FBDATA
4802
4803         * gdk/linux-fb/gdkfont-fb.c:
4804         Add empty gdk_font_load(). Needed for linking of Gtk+.
4805
4806         * gdk/linux-fb/gdkimage-fb.c:
4807         Removed endian.h, use glib endianness macros instead
4808         Moved GdkImagePrivateFB to windowing_data
4809         gdk_image_new_bitmap didn't always allocate enough
4810         memory.
4811
4812         * gdk/linux-fb/gdkinput-ps2.c:
4813         Added semi-working support for MS serial mice.
4814
4815         * gdk/linux-fb/gdkprivate-fb.h:
4816         s/GdkWindowPrivate/GdkWindowObject/
4817         Removed GdkWindowPrivate typedef
4818         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
4819         Removed GDK_DRAWABLE_P
4820         Move GdkColorPrivateFB from inherited to windowing_data
4821         Moved GdkImagePrivateFB to windowing_data
4822
4823         * gdk/linux-fb/gdkvisual-fb.c:
4824         Removed some unused debug code.
4825
4826         * gdk/linux-fb/gdkwindow-fb.c:
4827         Use stock cursors instead of including X headers.
4828         s/GdkWindowPrivate/GdkWindowObject/
4829
4830         * gdk/linux-fb/mitypes.h:
4831         Removed unused types.
4832
4833         * modules/linux-fb/basic.c:
4834         Use the pango fribidi wrappers.
4835
4836 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4837
4838         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
4839         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
4840         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
4841         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
4842         GEqualFunc where applicable.
4843         
4844         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
4845         pango_font_description_equal as changed in pango.
4846         
4847         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
4848
4849         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
4850
4851         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
4852
4853         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
4854
4855         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
4856
4857         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
4858
4859         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
4860         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
4861
4862         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
4863         gtk_rc_styles_compare -> gtk_rc_styles_equal.
4864
4865 2000-11-12  Havoc Pennington  <hp@pobox.com>
4866
4867         * demos/gtk-demo/Makefile.am (democodedir): change demo install
4868         dir to datadir/gtk+-2.0/demo
4869
4870         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
4871         sorts of text widget and Pango font bugs. Urgh.
4872
4873         * demos/gtk-demo/Makefile.am (demos): Add textview.c
4874
4875         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
4876         tree that you should double click to see the demo. Fix 
4877         types of variables to reflect changed return values from 
4878         GtkTreeStore and GtkTreeViewColumn constructors.
4879
4880         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
4881         newly-created buffer to prepare for GObject semantics
4882
4883         * gtk/testtext.c: don't leak the buffer with GObject semantics
4884
4885         * gtk/testtextbuffer.c: ditto
4886         
4887 2000-11-12  Havoc Pennington  <hp@pobox.com>
4888
4889         Rename this testgtk to gtk-demo to avoid confusion, and 
4890         install it so people can use it as a supplement to 
4891         the documentation.
4892         
4893         * demos/gtk-demo: Moved from demos/testgtk
4894
4895         * demos/testgtk: Removed
4896
4897         * configure.in: make Makefile in gtk-demo
4898         
4899         * demos/gtk-demo/Makefile.am: Install sample source to 
4900         datadir/gtk-demo (maybe there's a better place?), and 
4901         rename the binary to gtk-demo
4902         
4903         * demos/gtk-demo/main.c (load_file): Load installed sample
4904         source if source isn't found in pwd.
4905
4906 2000-11-09  Havoc Pennington  <hp@pobox.com>
4907
4908         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
4909         argument to set the char displayed when visibility == FALSE
4910         (gtk_entry_create_layout): If !entry->visible, replace 
4911         all chars with the "invisible char"
4912
4913         * gtk/testgtk.c: Test the invisible_char deal
4914         
4915 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
4916
4917         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
4918         can't get a native font in the right encoding.
4919
4920 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
4921
4922         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
4923         respectively.
4924
4925 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
4926
4927         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
4928         Fix warning when moving between paragraphs.
4929
4930         * gtk/gtkentry.[ch]: Change move => move_cursor, 
4931         delete => delete_from_cursor, insert => insert_at_cursor
4932
4933 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
4934
4935         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
4936
4937         * modules/input/imthai-broken.c: A Thai input method for use if
4938         Thai keys are really generating Latin1 keysyms.
4939
4940         * modules/input/Makefile.am: Build these.
4941
4942 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
4943
4944         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
4945         g_filename_{to,from}_utf8 now takes an extra parameter.
4946
4947         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
4948         strftime into UTF-8.
4949
4950         (column_from_x, gtk_calendar_paint_day_names): Support RTL
4951         calendars.
4952
4953         (gtk_calendar_paint_day_names): Draw day names in the right 
4954         place.
4955         
4956 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
4957
4958         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
4959         problem with using result of g_get_charset() backwards -
4960         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
4961
4962         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
4963         negative min_width/height and max_width/height to
4964         mean "requisition"; this allows setting a window
4965         to be user-resizable in only one direction easily.
4966
4967         * gtk/testgtk.c (create_main_window): Remove hard-coded
4968         usize - set a default size in the vertical direction.
4969
4970 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
4971
4972         * gtk/gtkrange.c: Add some missing casts. Support 
4973         2 and 3 button clicks on the arrows to mean 
4974         "move by pages" and "jump to end". (Like gtkspinbutton)
4975
4976 2000-11-12 Hans Breuer <Hans@Breuer.Org>
4977
4978         * gdk/win32/makefile.msc : reflect build module changes
4979
4980         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
4981         from GdkPixmap*, cast implementation member instead.
4982
4983         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
4984         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
4985         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
4986         more Gdi functions return value checking. 
4987         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
4988         GdkImagePrivateWin32 *.
4989
4990         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
4991         menus useable again. Add #pragma message to keep reminded on this issue.
4992         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
4993         windows. This allows to enable backing store on Win32!
4994
4995         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
4996         in drawable is of impl type. Correct specific type checks appropriate.
4997  
4998         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
4999         GDK_WINDOW_DESTROYED before allocating new resources.
5000
5001         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
5002
5003         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
5004         (gdk_window_foreign_new) initialize parent handle.
5005         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
5006
5007         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
5008         Let the GDI invalidate the window on MoveWindow call to fix scrolling
5009         problems (e.g. main buttons in testgtk). 
5010
5011 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
5012
5013         * gtk/gtkentry.c (gtk_entry_key_press): Call 
5014         gtk_widget_activate for GDK_Return.
5015
5016         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
5017         of preedit cursor position.
5018
5019 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
5020
5021         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
5022         static.
5023
5024 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
5025
5026         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
5027         out support for multiple locales; that simple doesn't
5028         work reliably with current Xlib
5029
5030         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
5031         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
5032         Add support for positioning the cursor within the preedit string.
5033
5034 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
5035
5036         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
5037         at XIM input method module.
5038
5039         * gtk/gtktextview.c: Check for bindings after passing
5040         events to im context filter.
5041
5042 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
5043
5044         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
5045         empty attribute lists properly.
5046
5047 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
5048
5049         * gtk/queryimmodules.c (main): Return non-zero exit
5050         status if errors were encountered querying any
5051         modules.
5052
5053         * modules/input/Makefile.am (moduledir): remove
5054         leftover bin program target.
5055
5056         * docs/make-todo: Fix typo in error message.
5057
5058 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
5059
5060         * configure.in: Add modules/input/Makefile
5061
5062 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
5063
5064         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
5065         don't include gtkthemes.h.
5066
5067         * gtk/testgtk.c gtk/testtext.c: Set environment variables
5068         to point
5069
5070         * gtk/Makefile.am: Add new .c and .h files, build 
5071         gtk-query-immodules and use it to create a gtk.immodules
5072         file for use of test programs.
5073
5074         * gtk/gtkpreview.c: remove extra blank line.
5075
5076 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
5077
5078         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
5079         Add the ability to add extra tables beyond the default
5080         one, and also the ability to have compose sequences 
5081         that are prefixes of other compose sequences. 
5082
5083         * gtk/gtkimcontextsimple.c: Export a preedit string which
5084         consists of possible candidates for keystrokes that have
5085         been entered but not yet committed.
5086
5087         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
5088         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
5089
5090         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
5091         Add a function to add input-method switching menu items
5092         to a menu.
5093
5094         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
5095         when switching input methods.
5096
5097         * gtk/gtkimcontextsimple.[ch]: Change the format of
5098         the compose table to allow compose tables of different
5099         lengths / sequence.
5100
5101 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
5102
5103         * gtk/gtkimmodule.[ch]: Support routines for loading
5104         GtkIMContext implementations dynamically at runtime.
5105
5106         * modules/input/imcyrillic-translit.c: A sample input
5107         method (based on GtkIMContextSimple with an extra table),
5108         which demonstrates preedit strings and the module
5109         system for input modules
5110
5111         * gtk/queryimmodules.c: Program to query the available
5112         input modules and write the results into a file.
5113          
5114         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
5115         extra config options "im_module_file" (cache file for
5116         input method modules), and "im_module_path" - path
5117         to look for modules when generating cache file.
5118
5119         This doesn't scale.
5120
5121 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
5122
5123         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
5124         generic code from gtkthemes into a new abstraction
5125         GtkModule which has the logic for implementing
5126         a loadable module which implements a number of 
5127         GObject types.
5128
5129 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
5130
5131         * gtk/gtkeditable.[ch]: Convert GtkEditable from
5132         a class into an interface  
5133         
5134         * gtk/gtkoldeditable.[ch]: Move the old editable
5135         implementation into here, so legacy widgets can
5136         still rely on the implemenation. GtkOldEditable
5137         exports GtkEditable. Make selection handling
5138         code use new text conversion functions (and
5139         handle UTF-8 as a side-effect). Use GtkClipboard
5140         for CLIPBOARD.
5141
5142         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
5143         Adopt to match above changes.
5144
5145         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
5146         avoid GtkOldEditable implementation. Restructure
5147         to reduce number of places that modify state directly.
5148         Move to GtkBindingSet. Display the preedit string.
5149         Queue recomputation of PangoLayout and scroll position
5150         to improve effiency of doing complex changes naively.
5151         Add a menu with cut/copy/paste and input method selection.
5152
5153 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
5154
5155         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
5156         to set preedit string and attributes; display preedit string by
5157         inserting string and attributes at cursor when creating the
5158         GtkTextLineDisplay.
5159
5160         * gtk/gtktextlayout.c: Move all conversions between byte
5161         positions in PangoLayout and GtkTextIter into new functions
5162         line_display_iter_to_index/index_to_iter that properly
5163         handle the preedit string.
5164
5165         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
5166         it to return const char * (eventually will end up
5167         as GCONST char *, most likely.)
5168
5169         * gtk/gtktextview.[ch]: Handle the preedit string, call
5170         gtk_im_context_reset() as necessary, add a menu to switch
5171         input methods.
5172         
5173         * gtk/gtktextlayout.[ch]: Remove useless
5174         gtk_text_layout_get_log_attrs() function.
5175
5176 2000-11-11  Tor Lillqvist  <tml@iki.fi>
5177
5178         * gdk/gdk.def
5179         * gtk/gtk.def: Update.
5180
5181         * gdk/win32/*.c: Add last argument to g_type_register_static()
5182         calls.
5183
5184         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
5185
5186         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
5187         generated by older wheel mouse drivers. Get the correct y
5188         coordinate from WM_MOUSEWHEEL messages.
5189
5190         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
5191         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
5192         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
5193         Debugging functions.
5194
5195         * gdk/win32/gdkprivate-win32.h: Declare them.
5196
5197         * gdk/win32/gdkinput-win32.h: Add declaration for
5198         gdk_input_window_destroy().
5199
5200         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
5201
5202 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
5203
5204         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
5205         function to help handle keeping things in sync.
5206
5207 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
5208
5209         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
5210         BOXED marshallers.
5211
5212         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
5213         (gtk_list_store_class_init): use the new BOXED marshallers.
5214
5215         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
5216         new_with_values to new_with_types.
5217         (gtk_tree_store_get_column_type): add this.
5218         (gtk_tree_store_class_init): use the new BOXED marshallers.
5219
5220         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
5221         mirror some POINTER marshallers.
5222
5223 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
5224
5225         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
5226         allow more interesting iterators.  Also, made the lifecycle of
5227         iterators more explicit.
5228
5229         * gtk/gtktreemodelsort.[ch]: New model for sorting.
5230
5231         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
5232         types.
5233
5234 2000-11-09  Alexander Larsson  <alexl@redhat.com>
5235
5236         * demos/testgtk/menus.c:
5237         Changes to make the new testgtk compile after
5238         gtk_menu_append was removed.
5239
5240         * gdk/linux-fb/gdkdrawable-fb2.c
5241         (gdk_fb_get_depth, gdk_fb_get_visual,
5242         gdk_drawable_impl_fb_class_init): Implement
5243         these drawable functions. Now GtkImages work again.
5244
5245         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
5246
5247         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
5248         
5249         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
5250         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
5251         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
5252         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
5253
5254 2000-11-08  Havoc Pennington  <hp@pobox.com>
5255
5256         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
5257         visible_set args, don't know where these had gone, I thought they
5258         used to be there
5259
5260         * gtk/testtext.c: Add a menu item to apply invisibility tag;
5261         now we can test the feature and see that it's totally broken.
5262
5263 2000-11-08  Havoc Pennington  <hp@pobox.com>
5264
5265         Make DND copy pixbufs and tags when source and target share a 
5266         tag table.
5267         
5268         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
5269         in-process GTK_TEXT_BUFFER_CONTENTS target
5270         (gtk_text_view_drag_data_received): Paste from
5271         GTK_TEXT_BUFFER_CONTENTS if we receive it.
5272
5273 2000-11-08  Alexander Larsson  <alexl@redhat.com>
5274
5275         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
5276         API changes.
5277
5278         * gtk/gtkmenu.c: Add support for scrolling menus.
5279         Remove gtk_menu_append/prepend/insert, these have been moved to
5280         gtkcompat.h as #defines.
5281
5282         * gtk/gtkcompat.h.in:
5283         Add compatibility #defines for gtk_menu_append/prepend/insert
5284
5285         * gtk/gtkmenu.h: Add data needed for scrolling menus.
5286         GtkMenuPositionFunc gets an extra argument push_in.
5287         gtk_menu_append/prepend/insert removed.
5288         
5289         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
5290         positioning behaviour to fit to scrolling menus.
5291
5292         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
5293         into menuitem->submeny. That is wrong, and broke torn
5294         off submenus of torn off menus, since they were unrealized
5295         when the first menu was unrealized.
5296
5297         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
5298         gtk_menu_shell_select_item() since these need to be overridden in
5299         GtkMenu.
5300
5301         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
5302         positioning behaviour to fit to scrolling menus.
5303         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
5304         the current item so that it is prelighted when the menu pops up.
5305         This is a workaround to the fact that the menu doesn't get the
5306         initial enter event (due to grabs).
5307
5308         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
5309         s/gtk_menu_append/gtk_menu_shell_append/
5310
5311         * gtk/gtknotebook.c:
5312         s/gtk_menu_insert/gtk_menu_shell_insert/
5313
5314         * gtk/testgtk.c (create_menu, create_menus):
5315         Create the first menu with 50 items so that menu scrolling
5316         can be tested.
5317         
5318         
5319         Patch from Jonathan Blandford  <jrb@redhat.com>
5320
5321         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
5322         system to handle size requests.  First, we ask what the size of
5323         the toggle is.  Then, when allocating the size, we allocate the
5324         toggle_size first.  This way we can have multiple menu-item
5325         classes w/o needing a seperate class for each.
5326
5327         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
5328         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
5329
5330         * gtk/gtkcheckmenuitem.c
5331         (gtk_check_menu_item_toggle_size_request): New function to handle
5332         the toggle size-request.
5333
5334 2000-11-07  Havoc Pennington  <hp@redhat.com>
5335
5336         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
5337         Half-ass somewhat fix this function, so that scrolling to the
5338         insertion point works. Pango hacking is in the future to really
5339         fix it.
5340
5341         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
5342         length of data, no longer used.
5343
5344         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
5345         method contents in here, get rid of destroy method
5346         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
5347         that were backward. Remove debug spew.
5348         (cut_or_copy): Make the clipboard work with insert_range to
5349         preserve tags and pixbufs, not just the primary selection.
5350
5351 2000-11-07  Havoc Pennington  <hp@redhat.com>
5352
5353         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
5354         to gtk_text_mark_get_visible
5355
5356         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
5357         bug that was generating an invalid iterator
5358
5359         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
5360         ensure_char_offsets() in front of code placing the iter in an
5361         invalid state.
5362
5363         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
5364         make override_location arg const
5365         (paste): Replace the selection if we paste into the 
5366         current selection
5367
5368         * gtk/gtkselection.h: Remove "GtkSelectioData"
5369         (struct _GtkSelectionData): move the definition here.
5370
5371         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
5372         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
5373
5374         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
5375
5376         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
5377         (gtk_text_buffer_insert_range_interactive): implement
5378         (gtk_text_buffer_get_tags): Remove, replaced by
5379         gtk_text_iter_get_tags()
5380
5381         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
5382         limit parameter, to avoid infinite linear scan.
5383         (gtk_text_iter_backward_search): Add search limit
5384         (gtk_text_iter_forward_find_char): Add search limit
5385         (gtk_text_iter_backward_find_char): Add search limit
5386
5387 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
5388
5389         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5390         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
5391         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
5392         gdk/linux-fb/gdkwindow-fb.c:
5393         use g_object_new() instead of g_type_create_instance() which
5394         is a private function for fundamental type implementations.
5395
5396         * gdk/linux-fb/gdkinput-ps2.c:
5397         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
5398         instead just store the current modifier state. Add a (somewhat broken)
5399         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
5400         Rename exported function gdk_input_ps2_get_mouseinfo to
5401         gdk_input_get_mouseinfo.
5402
5403         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
5404         gdk/linux-fb/gdkwindow-fb.c:
5405         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
5406         
5407
5408 2000-11-02  Havoc Pennington  <hp@redhat.com>
5409
5410         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
5411         use stock buttons. Should be 100% source compatible, appropriate
5412         filesel fields now point to dialog->vbox and dialog->action_area.
5413         On the bizarre side, dialog->action_area and filesel->action_area
5414         are not the same widget.
5415         (gtk_file_selection_init): Put some padding around the selection
5416         entry, so it isn't touching the GtkDialog separator.    
5417
5418         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
5419         use stock buttons, etc. Should also be source compatible.
5420         Set the dialog default title in _init not _new().
5421         
5422         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
5423         Use stock buttons; don't put a button box inside the existing
5424         dialog button box. Don't bother with push/pop colormap anymore.
5425
5426         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
5427         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
5428         for message dialog, and necessary for the font selection and color
5429         selection with help and apply buttons.
5430         
5431         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
5432         to the created button widget. Set GTK_CAN_DEFAULT on the button.
5433         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
5434         between buttons, put less padding around the action area.
5435         (gtk_dialog_run): Exit on unmap rather than on destroy. 
5436         This will also exit the loop if the widget is hidden.
5437         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
5438         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
5439         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
5440         special-case delete event.
5441
5442         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
5443         formatting
5444         
5445 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
5446
5447         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
5448         button to temporarily disable position recording in the
5449         "saved position" test.
5450
5451 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
5452
5453         * gtk/gtkthemes.c: added compat code that temporarily implements
5454         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
5455         going to be revamped by owen's upcoming GtkModule patches, but
5456         untill then people want gtk to build, right? ;)
5457
5458 2000-11-04  Havoc Pennington  <hp@pobox.com>
5459
5460         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
5461         list
5462
5463         * docs/Changes-2.0.txt: Add note about
5464         gtk_container_get_toplevels()
5465
5466         * gtk/gtktextview.h: formatting
5467         
5468         * gtk/gtktextview.c: don't start descriptions with "Returns",
5469         confuses gtk-doc
5470
5471 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
5472
5473         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
5474         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
5475
5476 2000-11-03  Havoc Pennington  <hp@redhat.com>
5477
5478         * gtk/gtktexttagtable.c: Docs
5479         (gtk_text_tag_table_size): return a signed int
5480
5481         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
5482         (gtk_text_tag_event): make the event_object a GObject
5483
5484         * gtk/gtktextview.c: Write API docs for all functions.
5485
5486         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
5487         for gtk_text_view_get_window_type() called on one of the private
5488         windows.
5489
5490         * gtk/gtktextview.c: Instead of accessing text_view->buffer
5491         directly, call get_buffer() which demand-creates a default
5492         buffer. So gtk_text_view_new() can be used to create a view with a
5493         default buffer in it, if you just want an empty text box users can
5494         put data in. Useful for GUI builders also.
5495
5496 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
5497
5498         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
5499         the charset encodign portion MUST be in lowercase.
5500         * gtk/gtkrc.az: added file for Azeri language
5501
5502 2000-11-03  Havoc Pennington  <hp@redhat.com>
5503
5504         Get widgets working on the btree/buffer side. Display of them 
5505         still doesn't work.
5506         
5507         * gtk/gtktextview.c: start implementing child widget stuff
5508
5509         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
5510
5511         * gtk/gtktextlayout.c: handle embedded widgets
5512
5513         * gtk/gtktextdisplay.c: handle embedded widgets
5514
5515         * gtk/gtktextchild.c: Implement all the child anchor goo
5516
5517         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
5518         function
5519
5520         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
5521         (insert_pixbuf_or_widget_segment): abstract out common portions of 
5522         creating a child anchor or a pixbuf segment.
5523         (gtk_text_btree_create_child_anchor): new function
5524         (gtk_text_btree_unregister_child_anchor): new function
5525
5526         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
5527         allocate_child signal on GtkTextLayout
5528
5529         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
5530         values
5531         (gtk_text_iter_get_child_anchor): new function
5532
5533         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
5534         default handler for the changed signal, which calls
5535         gtk_text_buffer_set_modified(), instead of just always emitting
5536         changed then calling set_modified() manually. I guess this is
5537         maybe more flexible. It seems logical.
5538
5539 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
5540
5541         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
5542         now.
5543
5544         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
5545
5546 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
5547
5548         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
5549         been marked static.
5550
5551 2000-11-02  Havoc Pennington  <hp@redhat.com>
5552
5553         * gtk/testgtk.c (create_labels): had a test backward
5554
5555         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
5556         fields, so the dest GC ends up with the correct clip origin, 
5557         etc. Fixes a bug where colored labels didn't redraw 
5558         properly.
5559
5560 2000-11-02  Alexander Larsson  <alexl@redhat.com>
5561
5562         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5563         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
5564         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
5565         Add last argument to t_type_register_static call.
5566         
5567         * gdk/linux-fb/gdkdrawable-fb2.c:
5568         Add last argument to t_type_register_static call.
5569         export the get_image drawable virtual function.
5570
5571         * gdk/linux-fb/gdkimage-fb.c:
5572         Add last argument to t_type_register_static call.
5573         rename gtk_image_get to _gdk_fb_get_image and
5574         export it for use by gdkdrawable-fb2.
5575
5576         * gdk/linux-fb/gdkprivate-fb.h:
5577         export _gdk_fb_get_image.
5578
5579         * gdk/linux-fb/gdkselection-fb.c:
5580         Add new api call stubs.
5581
5582         * gtk/Makefile.am:
5583         Missing ( in linux-fb part.
5584
5585         * modules/linux-fb/Makefile.am:
5586         Must link with gdk_pixbuf or get unresolved symbol.
5587
5588 2000-11-01  Havoc Pennington  <hp@pobox.com>
5589
5590         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
5591         GTK_TYPE_TEXT_ITER and BOXED marshallers
5592
5593         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
5594
5595         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
5596         
5597         * gtk/gtk-boxed.defs: add GtkTextIter
5598
5599         * gtk/gtkmarshal.list: Add marshallers for text widget that 
5600         properly use OBJECT and BOXED
5601
5602 2000-11-01  Havoc Pennington  <hp@redhat.com>
5603
5604         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
5605
5606         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
5607         before returning it. 
5608         
5609 2000-11-01  Havoc Pennington  <hp@redhat.com>
5610
5611         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5612         Clip the rectangle to be rendered to the drawable, since
5613         get_from_drawable() requires a region within the drawable
5614
5615 2000-11-01  Havoc Pennington  <hp@redhat.com>
5616
5617         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
5618         from coordinates.
5619
5620 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
5621
5622         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
5623         it isn't NULL.
5624
5625 2000-11-01  Havoc Pennington  <hp@pobox.com>
5626
5627         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
5628         on a label
5629         (gtk_label_finalize): unref the attr list if any.
5630
5631         * gtk/testgtk.c (create_get_image): close test on second click
5632         (make_message_dialog): close dialog if it exists
5633
5634         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
5635
5636         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
5637         gdk-pixbuf
5638
5639         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
5640         from Pango markup format
5641         (gtk_label_set_markup_with_accel): ditto but with accelerator
5642         parsing
5643
5644         * gtk/gtkimage.c (gtk_image_expose): reformatting.
5645
5646         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
5647         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
5648         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
5649         call gdk_window_get_origin().
5650
5651         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5652         implement GDK_PIXBUF_ALPHA_FULL
5653         
5654 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
5655
5656         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
5657         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
5658         g_signal_handlers_disconnect_matched to block/unblock and disconnect
5659         multiple handlers respectively, instead of only treating the
5660         first handler found (bug reported by owen).
5661
5662 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
5663
5664         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
5665
5666         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
5667
5668         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
5669         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
5670         gtk/gtktreeviewcolumn.h: Fixed inline docs.
5671
5672         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
5673         widget.  Needs writing someday.
5674
5675         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
5676         the docs.
5677
5678 2000-10-30  Havoc Pennington  <hp@redhat.com>
5679
5680         * gtk/gtktextview.h, gtk/gtktextview.c:
5681         Rename delete_at_cursor delete_from_cursor, and 
5682         move to move_cursor.
5683
5684 2000-10-30  Havoc Pennington  <hp@redhat.com>
5685
5686         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
5687         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
5688         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
5689         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
5690         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
5691         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
5692         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
5693         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
5694         gtktexttypes.h, gtktextview.c, gtktextview.h:
5695
5696         Massive reindentation and reformatting. Arg alignment and comments
5697         still need fixing in various places.
5698
5699 2000-10-30  Havoc Pennington  <hp@redhat.com>
5700
5701         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
5702         to be named insert_at_cursor and delete_at_cursor so C++ can
5703         handle them.
5704
5705 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5706
5707         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
5708         to get a double directory separator in case the home directory
5709         ends with one. This would cause trouble especially on Windows,
5710         where the path will be confused with the syntax for an an UNC
5711         (network share) path \\server\share\path.
5712         (gtk_rc_add_initial_default_files): Ditto.
5713
5714 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
5715
5716         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
5717
5718         * gtk/gtktextview.c: Use correct marshallers.
5719
5720 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
5721
5722         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
5723         use new iter stuff, and added all the appropriate signals et al.
5724
5725         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
5726         code is internal to gtk only.
5727
5728 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5729
5730         * gtk/gtk.def
5731         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
5732         glib-genmarshal etc.
5733
5734 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
5735
5736         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
5737         parallel builds.
5738
5739 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
5740
5741         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
5742
5743 2000-10-27  Robert Brady  <robert@suse.co.uk>
5744
5745         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
5746         en_GB (British), ia (Interlingua).
5747
5748 2000-10-26  Havoc Pennington  <hp@redhat.com>
5749
5750         * gtk/gtktextiter.c (my_strrstr): fix constness warning
5751
5752         Fixed output of:
5753         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
5754         
5755         * gtk/gtktextsegment.c (char_segment_new): rename
5756         (_char_segment_new_from_two_strings): rename
5757         (_toggle_segment_new): rename
5758         
5759         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
5760         (make_clipboard_widget): make it static
5761         (text_get_func): static
5762         (text_clear_func): static
5763
5764         * gtk/gtkcolorsel.c (adjustment_changed): make this function
5765         static
5766         (hex_changed): make it static
5767         (hsv_changed): make it static
5768         (opacity_entry_changed): make it static
5769
5770         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
5771         (toggle_segment_check_func): rename with _gtk
5772
5773         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
5774         (_widget_segment_new): rename
5775         (_widget_segment_add): rename
5776         (_widget_segment_remove): rename
5777         (_widget_segment_ref): rename
5778         (_widget_segment_unref): rename
5779
5780         * gtk/gtktextmark.c (_mark_segment_new): Rename
5781         _gtk_mark_segment_new   
5782
5783 2000-10-26  Havoc Pennington  <hp@redhat.com>
5784
5785         * gtk/gtkmarshal.list: add new marshallers used by the text widget
5786         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
5787         types
5788
5789         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
5790         marshaller types
5791
5792         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
5793         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
5794         license on these files.
5795
5796         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
5797         work.
5798
5799         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
5800         runtime random number different for each tree, instead of 
5801         a constant I made up.
5802
5803 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
5804
5805         * gtk/Makefile.am: buncha cleanups, kludged build sources
5806         dependencies with a Makefile: oldest-source-stamp dependancy
5807         for the moment. automake is really fighting us here, with
5808         intentionally not allowing user-defined rules or dependancies
5809         prior to it's -include $(DEP_FILES) statement. sucks rocks!
5810
5811         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
5812         to public headers. tehy have a comment stating that they are
5813         "semi-public" aren't included by gtk.h and if enums popup there,
5814         they can be /*< skip >*/-ed.
5815
5816         * gtk/gtktextlayout.h: 
5817         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
5818         added LGPL... <SIGH>
5819
5820 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
5821
5822         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
5823         GtkTreeIter.  Added iterators everywhere.
5824
5825         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
5826
5827         * gtk/gtktreeviewselection.c: Changed to use the iterators.
5828
5829         * gtk/gtktreestore.c: Changed to use the iterators.
5830
5831         * gtk/gtkliststore.c: Commented out the code.  Will convert to
5832         iterators tomorrow.
5833
5834         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
5835         iterators tomorrow.
5836
5837         * gtk/treestoretest.c: Changed to use iterators.
5838
5839         * demos/testgtk/main.c: Moved to use the new iterator system.
5840
5841 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
5842
5843         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
5844         localization misbehaviour.
5845
5846         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
5847         a useless type without copy/free.
5848
5849         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
5850         of GTK_TYPE_CTREE_NODE.
5851
5852 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
5853
5854         * gtk/gtksignal.c:
5855         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
5856         applicable.
5857
5858         * gtk/gtk-boxed.defs (GtkSelectionData): specify
5859         gtk_selection_data_copy and gtk_selection_data_free
5860         do GtkSelectionData work as params in signals.
5861
5862 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
5863
5864         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
5865         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
5866         couldn't they at least give it a non-standard name?
5867         
5868         * gtk/gtktextlayout.c: arg! yet another implementation of
5869         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
5870
5871         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
5872         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
5873         home. now i know this _is_ a conspiracy.
5874
5875         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
5876         ::state-changed.
5877
5878         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
5879         (gtk_accel_group_create_add): marshaller signature fixups.
5880
5881         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
5882         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
5883
5884         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
5885         anymore.
5886
5887 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
5888
5889         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
5890         due to the signal system changes, it wouldn't build currently. to
5891         be fixed soon.
5892
5893         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
5894
5895         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
5896         so it needs gtk_marshal_VOID__ENUM() instead of
5897         gtk_marshal_NONE__UINT().
5898
5899         * gdk/gdk*.c: adapted type registration functions.
5900
5901         * gtk/gtkbindings.c:
5902         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
5903         gone.
5904
5905         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
5906
5907         * gtk/gtkobject.c:
5908         (gtk_object_destroy):
5909         (gtk_object_shutdown): fixed recursion guards. basically we have to
5910         catch the case where any of GObject.shutdown() or gtk_object_destroy()
5911         is called during ::destroy, and avoid recursion there.
5912
5913         * gtk/gtktypeutils.c:
5914         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
5915         boxed_copy/boxed_free. this needs a more general solution based on a
5916         publically installed code-generator utility.
5917
5918         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
5919         glib's gobject has support for that now.
5920         define GtkSignalMarshaller in terms of GSignalCMarshaller.
5921
5922 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
5923
5924         * gtk/gtksignal.[hc]:
5925         * gtk/gtkmarshal.[hc]:
5926         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
5927         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
5928         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
5929         care of that.
5930
5931         * *.c: marshaller name fixups.
5932
5933         * gtk/gtkmarshal.list: added a comment briefing the format.
5934
5935 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
5936
5937         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
5938         compatibility macros here now. more specifically, most of
5939         the API is preserved (yes, _most_, nonwithstanding the
5940         following exceptions listed, the API is stil lHUGE ;)
5941         things that got removed completely:
5942         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
5943         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
5944         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
5945         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
5946         gtk_signal_remove_emission_hook().
5947         non-functional functions variants:
5948         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
5949         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
5950         not supported anymore.
5951         (gtk_signal_compat_matched): new internal function to aid
5952         implementation of the compatibility macros, it  provides
5953         functionality to block/unblock/disconnect handlers based
5954         on func/data.
5955
5956         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
5957
5958         * *.c: adaptions to new type registration API signatures.
5959
5960 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
5961
5962         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
5963
5964 2000-10-25  Robert Brady  <robert@suse.co.uk>
5965
5966         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
5967         gdk_property_delete): If window == NULL, assume the root window.
5968         (restoring the behaviour that was in 1.2).
5969         
5970         * gtk/testtext.c (save_buffer): Allow creation of new files when
5971         saving.
5972
5973         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
5974         calls to read().
5975
5976 2000-10-25  Tor Lillqvist  <tml@iki.fi>
5977
5978         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
5979
5980         * gdk/win32/gdkdrawable-win32.c
5981         * gdk/win32/gdkimage-win32.c
5982         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
5983         X11 backend.
5984
5985         * gdk/win32/gdkcc-win32.c
5986         * gdk/win32/gdkcolor-win32.c
5987         * gdk/win32/gdkfont-win32.c
5988         * gdk/win32/gdkinput-win32.c
5989         * gdk/win32/gdkmain-win32.c
5990         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
5991
5992 2000-10-24  Havoc Pennington  <hp@redhat.com>
5993
5994         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
5995         it a static function
5996
5997         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
5998         redraw text when a tag is applied to it.
5999
6000         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
6001         (gtk_text_tag_affects_nonsize_appearance): private functions to
6002         see if a tag requires various kinds of redraw/layout to be queued
6003         up.
6004
6005         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
6006
6007         * gtk/testtext.c (fill_example_buffer): Put the cursor 
6008         at the start of the buffer, so search works by default
6009
6010         * gtk/gtktextiter.c (lines_match): init match_start always
6011
6012         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
6013         function, get iter at a line + a byte index
6014
6015         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
6016         to set byte position within a line
6017         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
6018
6019 2000-10-23  Havoc Pennington  <hp@redhat.com>
6020
6021         * gtk/testtext.c: Re-enable the "find" dialog
6022
6023         * gtk/testgtk.c: Add test for gdk_drawable_get_image
6024         
6025         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
6026         the arguments to gdk_draw_drawable were in the wrong order
6027         (gdk_window_paint_init_bg): This function was ignoring the
6028         init_region, instead of clipping to it, so the entire backing
6029         pixmap was cleared on every begin_paint()
6030         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
6031         was in here again, the loop kept using the same GtkWindowPaint
6032         over and over.
6033         (gdk_window_begin_paint_region): Fix a bug where we had two
6034         x_offset instead of x_offset and y_offset
6035
6036         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
6037         before we get the image.
6038         (gdk_draw_drawable): get the composite before we draw the drawable.
6039         (gdk_drawable_real_get_composite_drawable): default
6040         get_composite_drawable implementation that returns the drawable 
6041         itself
6042
6043         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
6044         get_composite_drawable virtual function
6045
6046         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
6047         list-walking bug
6048
6049         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
6050         make this work if the source drawable is a GdkDrawableImplX11
6051         instead of a public drawable type. This is really broken; the
6052         problem is that GdkDrawable needs a virtual method get_xid(), but
6053         of course that doesn't work in practice. Enter RTTI.
6054
6055         Also, improve mismatched depth message.
6056
6057         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
6058         GdkPixmap
6059
6060         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
6061         install _gdk_x11_get_image as our implementation of get_image
6062         
6063         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
6064         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
6065
6066         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
6067         gdk_drawable_get_image
6068
6069         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
6070
6071         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
6072         get_image
6073
6074         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
6075         trailing semicolon after for loop
6076
6077 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
6078
6079         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
6080         where font_desc for widget's context lagged widget's font_desc by
6081         one step.
6082
6083 2000-10-22  Tor Lillqvist  <tml@iki.fi>
6084
6085         * gdk/win32/gdkgc-win32.c
6086         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
6087
6088         * gtk/makefile.mingw.in
6089         * gtk/gtk.def: Updates.
6090
6091         * gtk/testgtk.c: sleep() is called _sleep in MS's C
6092         library.
6093
6094         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
6095
6096         * gtk/makefile.msc: Remove
6097
6098         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
6099
6100         * gtk/Makefile.am: Add it.
6101
6102         * configure.in: Generate it.
6103
6104         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
6105         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
6106         something even if not implemented, to satisfy picky MSVC.
6107
6108         Patches by Hans Breuer:
6109         
6110         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
6111         SetBkMode() and SetTextAlign() before calling
6112         pango_win32_render().
6113
6114         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
6115         Set hcliprgn to NULL after destroying it.
6116         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
6117
6118         * gdk/win32/gdkgeometry-win32.c
6119         (_gdk_windowing_window_queue_antiexpose): More effective
6120         implementation.
6121
6122         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
6123         depth as default, not the visual's.
6124
6125         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
6126         against empty title.
6127
6128         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
6129         IMAGE_PRIVATE_DATA.
6130
6131         * gdk/win32/gdkimage-win32.c: Use it.
6132
6133 2000-10-22  Robert Brady  <robert@suse.co.uk>
6134
6135         * configure.in: Check for bind_textdomain_codeset
6136
6137         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
6138         present, make use of it.
6139
6140         Add a translatable string "default:LTR" which, if translated
6141         to "default:RTL", will cause the default direction to be
6142         Right-to-Left.
6143
6144         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
6145         direction if marked as flippable.
6146
6147         * gtk/gtkhscale.c: Mark widget as flippable.
6148         
6149 2000-10-04  Havoc Pennington  <hp@redhat.com>
6150
6151         * gtk/testgtk.c (create_buttons): create some stock buttons
6152         with the default accel group
6153         (create_image): test some new GtkImage features
6154         (make_message_dialog): test GtkMessageDialog
6155         (create_modal_window): fix someone's bizzarro indentation
6156
6157         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
6158         GTK_WIN_POS_CENTER_ON_PARENT. 
6159         Add "destroy with parent" setting, which means the window goes
6160         away with its transient parent.
6161         (gtk_window_get_default_accel_group): get the default accel group
6162         for the window.
6163         (gtk_window_set_destroy_with_parent): set/unset destroy with
6164         parent flag
6165         (gtk_window_read_rcfiles): invalidate icon set caches
6166         after reloading rcfiles 
6167
6168         * gtk/gtkenums.h (GtkWindowPosition): add
6169         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
6170         on its parent window when the dialog is mapped for the first time.
6171
6172         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
6173         a simple message dialog class
6174         
6175         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
6176         handler to emit response signal, and maybe later it would
6177         honor a hide_on_delete flag - though that isn't there yet.
6178         Set border width on the vbox to 2, so we get some padding.      
6179         Use a button box for the action area.
6180         (gtk_dialog_key_press): synthesize a delete event if Esc
6181         is pressed and the GtkWidget key press handler didn't 
6182         handle the escape key.
6183         (gtk_dialog_new_with_buttons): new function creates a dialog
6184         with some default buttons in it.
6185         (gtk_dialog_add_action_widget): add an activatable widget
6186         as a button in the dialog - you can also add a non-activatable
6187         widget by accessing the action area directly.
6188         (gtk_dialog_add_button): add a simple button - stock ID or 
6189         label - to the action area
6190         (gtk_dialog_response): emit response signal
6191         (gtk_dialog_run): block waiting for the dialog, return 
6192         the response. Override normal delete_event behavior, so that 
6193         delete_event does nothing inside gtk_dialog_run().
6194
6195         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
6196         emitted when an action widget is clicked or the dialog gets
6197         delete_event
6198
6199         * gtk/gtk.h: add gtkmessagedialog.h
6200
6201         * gtk/Makefile.am: add gtkmessagedialog.[hc]
6202
6203 2000-10-18  Havoc Pennington  <hp@redhat.com>
6204
6205         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
6206         where any number of empty lines would get skipped
6207
6208         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
6209         edge.
6210
6211         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
6212         warning about invalid iterators (explain more thoroughly)
6213         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
6214
6215         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
6216         big
6217
6218         * demos/*.c: Add error handling
6219
6220         * gtk/gtktextbuffer.c: don't modify const iterators
6221
6222         * gtk/gdk-pixbuf-loader.c: Add full error handling here
6223
6224         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
6225         on file load
6226
6227         * gtk/gtkiconfactory.c: Update to reflect addition of error
6228         handling to gdk-pixbuf loaders
6229
6230 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
6231
6232         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
6233         move to new modularized testgtk.
6234
6235 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
6236
6237         * gtk/gtktreeview.c: Draw the arrows correctly.
6238
6239         * gtk/gtktreemodel.c: Added user docs.
6240
6241         * gtk/gtk.h: remove gtktreedatalist.h.
6242
6243         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
6244         parent when generating my type.
6245
6246         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
6247         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
6248
6249 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6250
6251         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
6252         GtkTreeModel from object to interface.
6253
6254 2000-10-16  Havoc Pennington  <hp@redhat.com>
6255
6256         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
6257         compilation
6258
6259 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6260
6261         * gtk/gtktreeselection.c: Add API documentation to all public
6262         functions.
6263
6264         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
6265         functions.
6266
6267 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
6268
6269         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
6270         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
6271         docs to all public functions.
6272
6273         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
6274         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
6275         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
6276         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
6277         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
6278         issue.
6279
6280 2000-10-14  Robert Brady  <robert@suse.co.uk>
6281
6282         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
6283
6284 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
6285
6286         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
6287         values other then G_TYPE_STRING.
6288         * gtk/gtktreeselection.c: Minor commenting updates.
6289         * gtk/gtktreeview.c: Format updates.
6290
6291 2000-10-09  Tor Lillqvist  <tml@iki.fi>
6292
6293         * README.win32: Update.
6294
6295         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
6296         lines that had been deleted by mistake (?).
6297
6298         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
6299         also the case fg==white and bg==black (but still not randomly
6300         coloured cursors). Thanks to Wolfgang Sourdeau.
6301
6302         * gdk/win32/*.c: Silence gcc -Wall.
6303
6304         * gtk/gtk.def: Add missing entry points.
6305
6306         Fixes by Hans Breuer:
6307
6308         * gdk/makefile.msc
6309         * gdk/win32/makefile.msc: Update.
6310
6311         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
6312         some MSVC thing, presumably), cause breakpoint on failures. Add
6313         GDK_NOR case. Call g_log_set_always_fatal.
6314
6315         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
6316         should be pased by reference.
6317         
6318         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
6319         
6320         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
6321
6322         * gdk/win32/gdkevents-win32.c
6323         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
6324
6325         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
6326         implementation object.
6327
6328         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
6329         not just windows.
6330         
6331         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
6332         Use the wrapper object.
6333         
6334 2000-10-06  Havoc Pennington  <hp@redhat.com>
6335
6336         * Makefile.am (SRC_SUBDIRS): contrib subdir
6337
6338         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
6339         so it can be used in Xlib version
6340
6341         * demos/testpixbuf.c (update_timeout): error checking from 1.0
6342         tree
6343
6344         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
6345         change from 1.0 tree that returns first frame of animation
6346         if the loaded file is an animation.
6347
6348         * contrib: add new directory to hold stuff that comes with GTK+
6349         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
6350         
6351         * configure.in: add contrib/*
6352
6353 2000-10-05  Havoc Pennington  <hp@redhat.com>
6354
6355         * demos/testpixbuf-save.c: add pixbuf save test
6356
6357         * demos/Makefile.am: add testpixbuf-save.c
6358
6359 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
6360
6361         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
6362         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
6363         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
6364         * gtk/gtktreeselection.[ch]: Replaced
6365         "node_selected"/"node_unselected" signal with "selection_changed"
6366         signal.
6367
6368 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6369
6370         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
6371         tree widget.
6372
6373 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6374
6375         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
6376         drawing.
6377
6378 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
6379
6380         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
6381         Move list pointer forwards before removing item from
6382         list. (Crash reported by Salmaso Raffaele)
6383
6384         * gdk/gdkwindow.h: Remove spurious trailing ,
6385
6386         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
6387         dependencies on uninstalled libraries, sorry folks.
6388
6389 2000-10-04  Havoc Pennington  <hp@redhat.com>
6390
6391         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
6392         gtk/gtkiconfactory.c: Fix copyrights    
6393
6394         * demos/testpixbuf.c: add inline pixbuf test
6395         
6396 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
6397
6398         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
6399         Add gdk_window_iconify.
6400
6401         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
6402         (gdk_window_set_geometry_hints): Add win_gravity
6403         to geometry structure.
6404
6405         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
6406         Implement _NET_WM_PING.
6407
6408         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
6409         Set _NET_WM_PID on the client leader.
6410
6411         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
6412         Handle UTF-8 better.
6413
6414         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
6415         UTF-8 better, set _NET_WM_NAME as well. Only set
6416         icon name if it hasn't previously been explicitely 
6417         set.
6418
6419 2000-10-03  Havoc Pennington  <hp@redhat.com>
6420
6421         * gtk/testtextbuffer.c: clean up trailing whitespace,
6422         add extensive tests for tag toggle iteration.
6423         
6424         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
6425         distance
6426
6427         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
6428         optimize case where the tag root is on level 1
6429         (gtk_text_line_previous_could_contain_tag): attempt to implement
6430         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
6431         functionality
6432
6433         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
6434         Implement this, though not very efficiently.
6435
6436         * gtk/gtktextiterprivate.h: reformat
6437
6438         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
6439         iterator
6440
6441         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
6442         this to properly revalidate the iterators.
6443
6444         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
6445         properly at the end of the line (and therefore on empty lines)
6446
6447         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
6448         maybe we should return a value...
6449
6450 2000-10-03  Tor Lillqvist  <tml@iki.fi>
6451
6452         * config.h.win32: Guard definition of alloca(). glib.h now handles
6453         that.
6454
6455         * gdk/gdk.def
6456         * gtk/gtk.def: Add new entry points.
6457
6458         Changes just to make GTK+ build without errors on Win32. No hope
6459         of it working in its current state, though...:
6460         
6461         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
6462         some functions from the X11 backend, just to make GTK+ build.
6463
6464         * gdk/makefile.mingw.in
6465         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
6466         number. Add new object files.
6467
6468         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
6469         GetMessageTime to get timestamp (where on X11 uses
6470         gdk_x11_get_server_time()).
6471
6472 2000-10-02  Havoc Pennington  <hp@pobox.com>
6473
6474         * gtk/gtktextview.c: text_window_* weren't static and should have
6475         been.
6476         Start work on child widgets; not yet complete, syncing to 
6477         office computer.
6478
6479         * gtk/gtktextchild.h: change this to contain a public interface,
6480         starting work on child interfaces.
6481         * gtk/gtktextchildprivate.h: move private interfaces here
6482
6483         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
6484
6485         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
6486         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
6487         gtk/gtktextmark.c: copyright notices
6488
6489         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
6490         internal functions      
6491
6492         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
6493         internal function
6494
6495         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
6496         Reformatting    
6497
6498 2000-09-30  Havoc Pennington  <hp@pobox.com>
6499
6500         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
6501         NULL start/end pointers
6502
6503         * gtk/gtktextbuffer.c: Write some docs
6504         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
6505         NULL, so you can just check whether there's a selection.        
6506
6507         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
6508         cleanup_line or segments_changed ourselves, it gets done 
6509         in unlink_segment
6510
6511         * gtk/gtktextmark.h:
6512         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
6513         
6514         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
6515
6516         * gtk/gtktextmark.c: delete some more old Tk cruft
6517
6518         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
6519         mark before removing it, so we can emit MARK_DELETED with a valid
6520         pointer.
6521         (gtk_text_buffer_mark_set): hold ref across signal emission
6522
6523         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
6524         whining about attempts to delete special marks
6525
6526         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
6527         underscore, since it's internal.
6528
6529         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
6530         now implemented in terms of iterators in gtktextiter.h
6531
6532         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
6533         New function, destructively sets contents of buffer. Also 
6534         a convenient way to clear the buffer by setting text to ""
6535
6536         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
6537         multiline string literal
6538
6539         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
6540         text changes.
6541
6542         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
6543         is not dereferenceable
6544         (gtk_text_iter_forward_lines): fix return value
6545
6546 2000-09-29  Havoc Pennington  <hp@redhat.com>
6547
6548         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
6549
6550         * gtk/gtktextview.c: Implement drag thresholding; change functions 
6551         that set border window size to have nicer name
6552         (gtk_text_view_mark_set_handler):  Fix this to have the 
6553         right signature.
6554
6555         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
6556
6557         * gtk/testtext.c: Update with API changes, put line numbers on 
6558         both sides.
6559         
6560         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
6561         with this
6562
6563         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
6564         pixbuf; delete a big block of #if 0 Tk code
6565
6566         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
6567         insert_pixmap with insert_pixbuf
6568
6569 2000-09-29  Martin Baulig  <baulig@suse.de>
6570
6571         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
6572         confusion with the GdkPixbuf of the GNOME 1.x platform.
6573
6574 2000-09-29  Havoc Pennington  <hp@pobox.com>
6575
6576         * gtk/gtktextview.c: Implement the side windows.
6577
6578         * gtk/testtext.c: Implement simple line numbering in the 
6579         left side window; seems to make scrolling sloooow. Oops.
6580         Also, cursor blink is for some reason causing redraws
6581         of the line numbers. Should investigate...
6582
6583 2000-09-28  Havoc Pennington  <hp@redhat.com>
6584
6585         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
6586         scrolling child windows, and draw focus rectangle properly.
6587         
6588         (gtk_text_view_buffer_to_window_coords):
6589         Coordinate transformation to deal with all these freaking windows
6590         and offsets
6591         (gtk_text_view_window_to_buffer_coords): transform the other way
6592
6593         * gtk/testtext.c (create_buffer): Update to match Pango API change
6594
6595         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
6596         anonymous tags
6597         (foreach_unref): don't emit remove signal from finalize, just
6598         set tag's parent to NULL
6599
6600 2000-09-26  Havoc Pennington  <hp@redhat.com>
6601
6602         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
6603         Fix some warnings       
6604
6605 2000-09-26  Havoc Pennington  <hp@redhat.com>
6606
6607         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
6608         headers into the private header list
6609
6610         * Makefile.am (pkgconfig_DATA): install pkg-config files
6611
6612         * configure.in: add pkg-config files
6613
6614         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
6615
6616         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
6617         outstanding icon caches on theme change.
6618
6619         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
6620         important types:
6621
6622         (GtkIconSource): Specification for creating a pixbuf 
6623         appropriate for a direction/state/size triplet from 
6624         a source pixbuf or filename
6625
6626         (GtkIconSet): List of GtkIconSource objects that are used to
6627         create the "same" icon (e.g. an OK button icon), and cache for
6628         rendered icons
6629
6630         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
6631         up the icon set for a given stock ID.  GTK maintains a stack of
6632         GtkIconFactory to search, and applications or libraries can add
6633         additional icon factories on top of the stack
6634         
6635         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
6636         the set of GtkIconSource specified for a given stock ID into 
6637         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
6638         RcStyle, under the specified stock ID.
6639
6640         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
6641         render_icon used to derive a GdkPixbuf from a GtkIconSource.
6642         This allows people to theme how prelight, insensitive, etc. are
6643         done.
6644
6645         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
6646         icon factories for a style, and return the resulting 
6647         icon set if any.
6648
6649         (gtk_style_render_icon): Render an icon using the render_icon 
6650         method in the GtkStyleClass.
6651
6652         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
6653         Use the style for a given widget to look up a stock ID, get the
6654         icon set, and render an icon using the render_icon method 
6655         of the style
6656
6657         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
6658         (contains information about a stock item), the built-in stock item
6659         IDs, and functions to add/lookup stock items.
6660
6661         * gtk/stock-icons/*: Stock icons that come with GTK
6662
6663         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
6664         a button based on a GtkStockItem
6665         (gtk_button_new_accel): Takes a uline string and accel group, and
6666         installs the accelerator.
6667
6668         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
6669         image-display widget.
6670
6671 2000-09-25  Havoc Pennington  <hp@redhat.com>
6672
6673         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
6674
6675         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
6676         Fix a bug when removing node data, we didn't properly 
6677         re-splice the linked list after removing the data.
6678
6679         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
6680         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
6681
6682         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
6683
6684         * gtk/gtktextlayout.c (set_para_values): Set tab array 
6685         for the layout from the GtkTextTag.
6686
6687         * gtk/gtktexttypes.h: delete tab and search cruft, 
6688         remove g_convert() in favor of GLib version
6689
6690         * gtk/gtktexttypes.c: remove tab implementation from here,
6691         move to Pango
6692
6693         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
6694         tab stuff using new PangoTabArray from Pango
6695
6696         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
6697         unused border_width stuff
6698
6699 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
6700
6701         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
6702         glib) and now useless utf_to_latin1() latin1_to_utf()
6703
6704         * gtk/gtktextview.[ch]: Change ::move_insert and
6705         ::delete_text action signals to ::move and ::delete;
6706         create the signals with the right enumeration type,
6707         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
6708         C-v bindings, change Home, End to move to beginning/end
6709         of line, Add C-Home C-End to move to beginning/end
6710         of buffer. Change ::cut_text to ::cut_clipboard, etc;
6711         combine ::scroll_text into ::move; use new GtkSelectionData
6712         functions to simplify DND text handling.
6713         
6714         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
6715         deletion enumerations here, rename enumeration values to 
6716         be consistently plural.
6717
6718         * gtk/gtktextbuffer.c: Use new clipboard interfaces
6719         for cut/copy/paste and primary selection.
6720
6721         * gtk/gtktextbuffer.[ch]: Remove excess time and
6722         'interactive' arguments from cut/copy/paste;
6723         rename cut to cut_clipboard, etc; remove
6724         gtk_text_buffer_get_clipboard_contents().
6725
6726         * gtk/gtktextlayout.[ch]: Add 
6727         gtk_text_layout_move_iter_to_line_end() to move the iter to 
6728         line ends.
6729
6730         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
6731         Functions to set or get a UTF-8 string on the selection
6732         data.
6733
6734         * gtk/gtkclipboard.[ch]: New, simplified selection handling
6735         interfaces.
6736
6737         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
6738         created widgets - one of these is useless if we don't.
6739
6740         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
6741         a public function clear all targets registered for the
6742         widget.
6743
6744         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
6745         Never call gtk_widget_realize() - that was just asking
6746         for bizarre side-effects.
6747
6748         * gtk/gtkselection.c (gtk_selection_owner_set): Call
6749         gdk_selection_owner_set even if the widget is the
6750         same so that we reliably update the timestamp on
6751         the server.
6752
6753         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
6754         gdk_x11_get_server_time() function.
6755         
6756         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
6757         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
6758         Add some tricky filtering on serial numbers for
6759         selection clear events to fix up long-standard
6760         race condition FIXME's in gtkselection.c.
6761
6762         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
6763         routines to convert from utf8 to compound text or
6764         STRING and from a text property to UTF-8.
6765
6766         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
6767         a convenience function gdk_get_current_event_time().
6768
6769         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
6770         and free selection_data->data properly
6771
6772 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
6773
6774         * gtk/gtkthemes.c: Remove some unecessary includes.
6775
6776 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
6777
6778         * gtk/gtktextdisplay.c
6779         * gtk/gtktextlayout.c
6780         * gtk/gtktexttag.c
6781         * gtk/gtktexttag.h
6782         * gtk/testtext.c: Change the overstrike property to strikethrough,
6783         to closer match pango.
6784
6785 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
6786
6787         * gtk/gtktextview.c: Fix up visibility so that focus,
6788         cursor_visible and blink interact properly.  Reenable cursor blink
6789         which had been roughly disabled. Make blink and focus
6790         properly per-view.
6791
6792         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
6793         Add a flag for whether to display insertion cursor and
6794         a function to set the flag.
6795
6796         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
6797         get_line_y() to get_line_yrange(), to be a bit more generally
6798         useful.
6799
6800 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
6801
6802         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
6803           do stop_navigating_submenu, to clear last timeout properly.
6804           Also in gtk_menu_motion_notify move ignore_enter above
6805           the conditional to make it always happen as suggested by Owen
6806
6807 2000-09-07  Tor Lillqvist  <tml@iki.fi>
6808
6809         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
6810
6811         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
6812         w32api headers.
6813
6814         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
6815         declarations.
6816
6817         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
6818         (gdk_win32_get_colormap): A line had been deleted by mistake.
6819
6820         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
6821         (gdk_event_translate): Handle more virtual keycodes to be able to
6822         generate GDK events for Control-comma, Control-period, etc.
6823
6824         * gtk/gtk.def: Add some missing entry points.
6825
6826 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
6827
6828         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
6829         Doc comment fixing. (Mostly non-matching parameter names.)
6830
6831         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
6832         comments a little to avoid looking like a doc comment.
6833
6834         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
6835         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
6836         conversions be changed to GError?)
6837
6838         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
6839         Move private #defines into .c file.
6840
6841         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
6842         order of argument addition, remove duplicates.
6843
6844         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
6845         parent class is FrameClass, not BinClass.
6846
6847         * gtk/gtk.h: Add gtkinvisible, which was missing.
6848         (It's occasionalyl useful for client apps, if seldom.)
6849
6850         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
6851         #define.
6852
6853 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
6854
6855         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
6856         coordinates when creating window, instead of GDK-space
6857         coordinates. (Avoid BadValue on too large windows.)
6858
6859 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6860
6861         * configure.in (use_mmx_asm): Remove conftest* after use along the
6862         lines of AC_TRY_COMPILE.        
6863         
6864         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
6865         of g_dirname, which is deprecated.
6866         (gtk_rc_parse_any): Removed calls to
6867         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
6868
6869         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
6870         Removed calls to g_hash_table_{freeze,thaw}, as they are
6871         deprecated now.
6872
6873         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
6874         instead of g_basename.
6875         
6876 2000-09-04 Elliot Lee <sopwith@redhat.com>
6877         
6878         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
6879         ANSI warning.
6880
6881 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
6882
6883         * gtk/gtkwidget.h:  Add some documenting comments about 
6884           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
6885           just as owen said on irc.
6886
6887         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
6888           set HAS_DEFAULT.  Only set it if there isn't another window
6889           holding it (a focus window which RECEIVES_DEFAULT) and only unset
6890           it if the widget is not the focused window with RECEIVES_DEFAULT.
6891           This fixes weird double default bugs in dialogs which has things
6892           call gtk_window_set_default at times.
6893
6894 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
6895
6896         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
6897         Nils Barth and David Santiago to improve submenu
6898         navigation. The patch does this by creating a triangular
6899         region from the point where the pointer leaves the
6900         menu to the submenu.  While the pointer is in
6901         that region and a timeout has not expired, events 
6902         that would cause the active submenu to change are
6903         ignored.
6904
6905 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
6906
6907         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
6908         moving a toplevel window immediately after sizing it would
6909         result in it being sized back to the old size since 
6910         impl->width, impl->height aren't updated until we hear
6911         back from the server. There is still a (longstanding) bug
6912         here that gdk_window_get_size() will give the wrong size
6913         until we do hear back.
6914
6915 2000-08-31  Havoc Pennington  <hp@redhat.com>
6916
6917         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
6918         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
6919         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
6920         Rename GtkTextStyleValues to GtkTextAttributes
6921
6922 2000-08-31  Havoc Pennington  <hp@pobox.com>
6923
6924         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
6925         for rapid testing whether an iterator is the end iterator
6926         (gtk_text_btree_new): init end line cache
6927         (gtk_text_line_is_last): use fast cached line to 
6928         see if we're the last line.
6929         (get_last_line): use cached line here too, should 
6930         speed up some random unrelated code.
6931         
6932 2000-08-30  Havoc Pennington  <hp@pobox.com>
6933
6934         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
6935         signals.
6936
6937         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
6938         delete_text signals. This allows the signals to be used for
6939         implementing undo.
6940
6941         * gtk/gtktextbuffer.c: Change signal handler signatures; 
6942         provide "interactive" argument when emitting insert_text or
6943         delete_text signal.
6944         
6945 2000-08-30  Havoc Pennington  <hp@pobox.com>
6946
6947         * gtk/gtktextbuffer.c: Docs
6948
6949 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
6950
6951         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
6952         from switch statements, since Tor removed the enumeration
6953         value.
6954         
6955         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6956         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
6957
6958 2000-08-29 Elliot Lee <sopwith@redhat.com>
6959         * */*.h: Use G_GNUC_CONST.
6960
6961 2000-08-27  Havoc Pennington  <hp@pobox.com>
6962
6963         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
6964         minor indentation fixes, inserted some FIXME about stuff I
6965         realized was broken while documenting it.
6966         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
6967         GTK convention  
6968
6969 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
6970
6971         * gtk/testgtk.c (create_styles): Fix double free of
6972         font desc.
6973
6974 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
6975
6976         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
6977         
6978         * gtk/testgtk.c (create_styles): Add a test for modifying
6979         the style through gtk_widget_modify_*.
6980
6981         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
6982         a function to get the current modifier style.
6983
6984         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
6985         of the passed in GtkRcStyle instead of ref'ing it.
6986
6987         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
6988
6989 2000-08-20  Tor Lillqvist  <tml@iki.fi>
6990
6991         * gdk/gdkimage.h
6992         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
6993         shared memory image+pixmap GdkImage type, or
6994         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
6995         I am dropping that.
6996
6997         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
6998         actually call gtk_init_abi_check(), passing also
6999         sizeof(GtkWindow). Ditto for gtk_init_check(). 
7000
7001         * gtk/gtk.def
7002         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
7003         New functions, used to check that the GTK+-using code has been
7004         compiled using the correct compiler and switches. In particular,
7005         with gcc one has to use the -fnative-struct switch as GTK+ is
7006         compiled with that.
7007
7008 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
7009
7010         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
7011         ->prev fields when merging lists. (Found simultaneously
7012         by Pawel Salek and Jakub Jelinek)
7013
7014 2000-08-12  Tor Lillqvist  <tml@iki.fi>
7015
7016         * gdk/gdk.def
7017         * gtk/gtk.def: Add missing entries.
7018
7019         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
7020         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
7021
7022         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
7023         function. Dummy implementation at this point.
7024
7025         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
7026         rules. Undefine GTK_COMPILATION when compiling the test programs.
7027         
7028         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
7029
7030 2000-08-11  Tor Lillqvist  <tml@iki.fi>
7031
7032         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
7033         to convert back and forth from UTF-8 and the "system" (or "current
7034         locale") charset when necessary. Indentation/spacing cleanup.
7035
7036 2000-08-10  Havoc Pennington  <hp@redhat.com>
7037
7038         * Makefile.am (snapshot): Change the format of the snapshot
7039         version to match glib
7040
7041         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
7042         from EXTRA_DIST since it doesn't seem to exist
7043
7044 2000-08-10  Tor Lillqvist  <tml@iki.fi>
7045
7046         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
7047         version of the directory name (not the UTF-8 one) when building
7048         the path name to stat().
7049
7050 2000-08-03  Elliot Lee  <sopwith@redhat.com>
7051
7052         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
7053         PANGO_ATTR_SHAPE set.
7054
7055 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
7056
7057         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
7058         Peter Osterlund to simplify the code while keeping the
7059         functionality the same.
7060
7061 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
7062
7063         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
7064         is_viewable() test further inside the function, since removing the 
7065         window from the redraw list without clearing ->update_area
7066         was also very broken.
7067
7068 2000-08-02  Tor Lillqvist  <tml@iki.fi>
7069
7070         * configure.in: Check for <unistd.h>.
7071
7072 2000-08-01  Martin Baulig  <baulig@suse.de>
7073
7074         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
7075         to display the message that this is a development version of GTK+.
7076
7077 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
7078
7079         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
7080         was depending on widget->allocation instead of the width of text_area,
7081         which was incorrect for subclasses like GtkSpinButton.
7082
7083         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
7084         with width == 1 tests that should be width == -1.
7085
7086 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
7087
7088         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
7089         (broken, Elliot, every single window blank on X) custom code with call
7090         to gdk_window_is_viewable() which a) prevents code duplicate and
7091         b) works. 
7092
7093 2000-07-31  Elliot Lee  <sopwith@redhat.com>
7094
7095         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
7096         to get the GDK_PARENT_ROOT() macro to work.
7097         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
7098         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
7099         of, windows that aren't shown.
7100         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
7101         pointer grab stuff.
7102
7103 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
7104
7105         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
7106           s/gtk_main_iteration/g_main_iteration/
7107
7108           Did this already in change:
7109                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
7110           don't know how it got reverted.
7111
7112 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
7113
7114         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
7115         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
7116
7117         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
7118         not gdk_pixbuf.
7119
7120 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
7121
7122         * configure.in,po/{sp,sr}.po: Added Serbian files
7123
7124 2000-07-30  Tor Lillqvist  <tml@iki.fi>
7125
7126         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
7127
7128         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
7129         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
7130         GIOChannel implementation.
7131
7132         * gdk/win32/gdkinput.c
7133         * gdk/win32/gdkpango-win32.c: Update license name here, too.
7134
7135         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
7136         definition to match prototype.
7137
7138         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
7139
7140 2000-07-27  Elliot Lee  <sopwith@redhat.com>
7141
7142         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
7143         function, to allow handling image formats that cannot be detected
7144         by looking at content alone.
7145
7146 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
7147
7148         * docs/tutorial/*.gif *.jpg *.eps
7149           Update these to the same look-n-feel.
7150           Why does including images in DocBook suck so badly?
7151
7152 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
7153
7154         * gtk/gtktable.c: applied patch from Phil Thompson
7155         <phil@river-bank.demon.co.uk> that enables space settings for
7156         the last row/columns as well.
7157
7158 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
7159
7160         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
7161         updates the license headers to the GNU Lesser General Public License,
7162         as well as updating the copyright year to 2000.
7163
7164 2000-07-26  Robert Brady  <rwb197@zepler.org>
7165
7166         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
7167           and po/Makefile, was installing and looking for them under gtk20
7168           and gtk2 respectively.
7169
7170 2000-07-25  Havoc Pennington  <hp@redhat.com>
7171
7172         * gtk/testtext.c: Comment out some stuff that depends on the rest
7173         of my patches.
7174
7175 2000-07-25  Havoc Pennington  <hp@redhat.com>
7176
7177         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
7178         buffer
7179
7180 2000-07-25  Havoc Pennington  <hp@redhat.com>
7181
7182         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
7183         widget changes.
7184
7185         * gtk/gtktextview.h: To be consistent with usage of "line"
7186         throughout the API to mean "newline-terminated thingy", change
7187         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
7188         to MOVEMENT_LINE.
7189
7190         (GtkTextView): Add flags for default editability, and whether to
7191         show the cursor. Add functions to get/set that. Add 
7192
7193         (gtk_text_view_get_iter_location): new function
7194
7195         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
7196         gtktextlayout.h
7197         (g_convert): Add g_convert temporarily, will go in glib in a bit
7198         
7199         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
7200         GtkTextTagTableForeach instead of brokenly using GHFunc.
7201         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
7202
7203         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
7204         moved to public header.
7205
7206         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
7207         "invisible", since "elide" was a bad name.
7208         (gtk_text_tag_get_priority): Added
7209
7210         (GtkTextStyleValues): put this in public header, along with
7211         functions to use it.
7212
7213         * gtk/gtktextmarkprivate.h: Include more headers, since we no
7214         longer include gtktextbtree.h.
7215
7216         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
7217         gtk_text_mark_deleted
7218
7219         * gtk/gtktextlayout.h: Don't include the "really private" headers,
7220         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
7221         to make this possible. Now we only need to install
7222         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
7223         (However the Makefile.am isn't changed yet because of the
7224         logistics of merging gtk-hp-patches piecemeal)
7225
7226         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
7227         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
7228         gtk_text_iter_get_line is now used in the public API for a
7229         different purpose.
7230
7231         * gtk/gtktextiter.h: Clean up function names to be more
7232         consistent. Always call char offset "offset" and byte index
7233         "index". A "line" is always a line number. 
7234
7235         (gtk_text_iter_is_last): new function, more efficient than 
7236         the existing way to check
7237         (gtk_text_iter_is_first): new function, also more efficient
7238
7239         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
7240
7241         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
7242         gtk_text_iter_forward_char, etc.
7243
7244         (gtk_text_iter_forward_to_tag_toggle): Renamed from
7245         forward_find_tag_toggle, since this isn't a linear search
7246
7247         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
7248
7249         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
7250         New functions, search for a buffer substring.
7251
7252         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
7253         interactive and default editable (since we need to store that info
7254         until we receive the selection data).
7255
7256         Remove all the _at_char and at_line etc. versions of functions;
7257         only have iterator versions.
7258
7259         Add _interactive() versions of functions, that consider the
7260         editability of text. (FIXME add interactive flag to the 
7261         insert/delete signals per Darin's suggestion)
7262
7263         (gtk_text_buffer_get_tag_table): new function, demand-creates the
7264         tag table if necessary
7265
7266         Remove declaration of gtk_text_buffer_get_iter_from_string
7267
7268         (_gtk_text_buffer_get_btree): private/internal function, added.
7269         
7270
7271         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
7272         (gtk_text_line_is_last): new function
7273
7274 2000-07-25  Havoc Pennington  <hp@redhat.com>
7275
7276         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
7277         using GtkProgressBar. See Changes-2.0.txt for details.
7278
7279         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
7280         "pulse_step" which are the equivalent of
7281         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
7282         Implement new API.
7283         
7284         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
7285         (use_text_format) to mark whether text set on the progress bar is
7286         a format string. Deprecate entire GtkProgress interface.
7287
7288         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
7289         (gtk_progress_build_string): make this a no-op if use_text_format
7290         is FALSE
7291
7292         * docs/Changes-2.0.txt: Describe progress bar changes.
7293
7294 2000-07-25  Tor Lillqvist  <tml@iki.fi>
7295
7296         * Makefile.am: Include the build directory.
7297
7298         * configure.in: Generate build/Makefile, build/win32/Makefile,
7299         gdk/, gdk/win32/, and gtk/makefile.mingw.
7300
7301         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
7302         Add GETTEXT_PACKAGE.
7303         
7304         * gdk/gdk.def
7305         * gtk/gtk.def: Updates.
7306
7307         * gdk/gdkfont.h
7308         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
7309         need them any longer.
7310
7311         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
7312
7313         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
7314         PANGOWIN32_LIBS and gdk_pixbuf.
7315
7316         * gdk/win32: Compiles, but no doubt doesn't work at all.
7317
7318         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
7319
7320         * gdk/win32/gdkinput.c: New file, temporarily.
7321         
7322         * gdk/win32/gdkinput-win32.h: New file
7323
7324         * gdk/win32/gdkinputprivate.h: Remove.
7325
7326         * gdk/win32/gdkpango-win32.c: New file.
7327
7328         * gtk/makefile.mingw.in: New file
7329
7330         * gtk/makefile.cygwin: Removed
7331         
7332         * gtk/Makefile.am: Update accordingly.
7333
7334         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
7335         made externally visible.
7336
7337         * gtk/gtkmain.c: Use it.
7338         
7339         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
7340         is enough.
7341
7342         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
7343
7344 2000-07-24 Elliot Lee <sopwith@redhat.com>
7345         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
7346         individual backends already.
7347         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
7348         again. Yes, there really is a good reason for this, if you are using the gdkregion
7349         internals, and if you're not, why do you care?
7350         * gdk/gdkwindow.c: Fix inverted condition
7351         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
7352         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
7353         * gtk/gtkrange.c: Redraw trough when moving.
7354         * gtk/gtktypeutils.c: Fix warning by adding const cast.
7355         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
7356
7357 2000-07-23  Tor Lillqvist  <tml@iki.fi>
7358
7359         * configure.in: Check for mkstemp and sigsetjmp. Output
7360         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
7361
7362         More work on GDK for Win32. Still in an intermediate state.
7363
7364         * gdk/makefile.cygwin
7365         * gdk/win32/makefile.cygwin: Removed.
7366         
7367         * gdk/makefile.mingw.in
7368         * gdk/win32/makefile.mingw.in: New files.
7369
7370         * gdk/Makefile.am
7371         * gdk/win32/Makefile.am: Generate and distribute them.
7372
7373         * gdk/win32/gdkwindow-win32.h
7374         * gdk/win32/gdkdrawable-win32.h
7375         * gdk/win32/gdkpixmap-win32.h: New files.
7376
7377         * gdk/win32/gdkcolor-win32.c
7378         * gdk/win32/gdkcursor-win32.c
7379         * gdk/win32/gdkdrawable-win32.c
7380         * gdk/win32/gdkgc-win32.c
7381         * gdk/win32/gdkimage-win32.c
7382         * gdk/win32/gdkprivate-win32.h
7383         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
7384         Rename fields and variables called xcursor, xid, etc (these names
7385         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
7386
7387 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
7388
7389         * gtk/gtkentry.[ch]: Fix some problems with vertical
7390         alignment.
7391
7392         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
7393         char/byte confusion.
7394
7395 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
7396
7397         * gtk/gtktextview.c (changed_handler): Fix bug where
7398         redraw wasn't being done properly when height of
7399         dirty region changed.
7400
7401         * demos/Makefile.am: Remove various references to
7402         -lgmodule
7403
7404 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
7405
7406         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
7407         PangoAttrShape to reserve space for pixmaps, add 
7408         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
7409         in the display functions.
7410         
7411         * gtk/testgtk.c (create_layout): Set some more exotic
7412         scrolled window options
7413
7414         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
7415         Add function to set the shadow type of a window, to allow
7416         putting a shadow around widgets such as GtkLayout or GnomeCanvas
7417         which don't draw their own frame.
7418
7419 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
7420
7421         * docs/tutorial/package-db-tutorial.sh: New file for
7422           packaging DocBook format tutorial
7423
7424 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
7425
7426         * docs/tutorial/gtk-tut.sgml: Minor updates
7427
7428         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
7429
7430 2000-07-19  Tor Lillqvist  <tml@iki.fi>
7431
7432         * gtk/gtksignal.c: Fix C++ comment.
7433
7434         * gtk/gtkimmulticontext.c
7435         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
7436         don't return value from void functions.
7437
7438         * gtk/gtk.def: Add gtk_rc_style_unref.
7439
7440 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7441
7442         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
7443         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
7444         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
7445         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
7446         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
7447         gtk/gtktypeutils.h: Include files outside of the extern "C"
7448         block. Makes some C++ compiler happy. Reported by Denis Vakatov
7449         <vakatov@peony.nlm.nih.gov>.
7450
7451 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
7452
7453         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
7454           Completes first pass. Hurrah!
7455
7456 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
7457
7458         * docs/tutorial/gtk-tut.sgml: More clean ups.
7459
7460 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
7461
7462         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
7463         paint the background of the text area which was accidentally
7464         removed at some point.
7465
7466         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
7467           
7468          - Move most of the functionality from the theme vtable
7469            into GtkRcStyleClass and GtkStyleClass. The moved
7470            vtable functions were changed a bit in the move to
7471            work better in their new home.
7472
7473          - Get rid of the engine and engine_data fields from
7474            GtkRcStyle and GtkStyle; instead the theme
7475            engine derives theme-specific subclasses of GtkRcStyle
7476            and GtkStyle
7477
7478          - Add extra dlsym() found entry point to themes,
7479            theme_create_rc_style().
7480
7481         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
7482         in gtk_style_real_copy.
7483
7484         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
7485         to register a type associated with an engine. (The engine
7486         won't be unloaded as there is an instance of the type.)
7487
7488
7489 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
7490
7491         * docs/tutorial/gtk-tut.sgml: Clean ups.
7492
7493 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
7494
7495         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
7496           of cleaning up to do.
7497
7498 2000-07-15  Tor Lillqvist  <tml@iki.fi>
7499
7500         * gdk/testgdk.c: New file, quick hack to test backends for
7501         pixel-by-pixel correctness of the most simple graphic operations.
7502
7503 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
7504
7505         * Really release 1.3.1
7506         
7507         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
7508         include structure.
7509
7510 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
7511
7512         * Released 1.3.1
7513
7514 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
7515
7516         * gtk/gtktextlayout.c: use FALSE for size_only most
7517         of the time when calling gtk_text_layout_get_line_display()
7518         to avoid causing double reshapes when a redraw follows
7519         immediately after.
7520
7521 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
7522
7523         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
7524         appropriate region and gdk_window_process_updates() so trough
7525         updating doesn't lag behind the window being scrolled.
7526
7527         * gdk/gdkgc.c: Make parent_class pointer static.
7528          
7529 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
7530
7531         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
7532         include <string.h>.
7533          
7534         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
7535         cut-and-paste error in computing memory offset for 4 channels.
7536
7537 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
7538
7539         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
7540         gtk_rc_append_default_pixmap_path(), since it wasn't
7541         adding an interesting path and we don't have a meaningful
7542         default for this value.
7543
7544 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
7545
7546         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
7547         gtk-config to gtk-config-2.0 move gtk_.m4 to
7548         gtk-2.0.m4
7549
7550         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7551         gdk/Makefile.am demos/Makefile.am: Change 
7552         library names to libgtk-1.3.la, etc, so that we
7553         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
7554
7555         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7556         gdk/Makefile.am gdk/x11/Makfile.am
7557         Move include files into /usr/include/gtk-2.0, 
7558         /usr/lib/gtk-2.0/include/
7559          
7560         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
7561         gtk/gtkintl.h: Change package for gettext from 
7562         gtk+ to gtk20. Put hack in autogen.sh to modify
7563         po/Makefile.in.in after gettextize to make this
7564         possible.
7565
7566         * gtk+.spec: Some updates, not tested.
7567
7568         * gdk-pixbuf/Makefile.am: Move loaders into
7569         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
7570
7571         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
7572         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
7573         to THEMENAME/gtk-2.0/. Move engine directory  to
7574         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
7575         
7576 2000-07-12  Tor Lillqvist  <tml@iki.fi>
7577
7578         Win32 changes, still doesn't build though.
7579
7580         * gdk/makefile.cygwin
7581         * gdk/win32/makefile.cygwin
7582         * gtk/makefile.cygwin: Updates.
7583
7584         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
7585         default values for fg and bg pixel as X11 does (0 and 1), not
7586         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
7587         Use 0 for pen width by default (treated as 1 anyway later, but for
7588         apps that might check the value in the GdkGC).
7589         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
7590         interface to gdk_gc_predraw and _postdraw.
7591
7592         * gdk/win32/gdkwin32.h
7593         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
7594
7595         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
7596         extraneous semicolon.
7597
7598         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
7599
7600         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
7601         not the Win32 bitspixel value.
7602
7603         * gdk/win32/gdkcc-win32.c:
7604         * gdk/win32/gdkcolor-win32.c 
7605         * gdk/win32/gdkprivate-win32.h
7606         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
7607         GDK object structure.
7608
7609 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
7610
7611         * docs/tutorial/gtk_tut_12.es.sgml (name): 
7612         * docs/tutorial/gtk_tut_it.sgml (name): 
7613         * docs/tutorial/gtk_tut_fr.sgml (name): 
7614         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
7615         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
7616
7617 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
7618
7619         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
7620           small changes.
7621
7622 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
7623
7624         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
7625         a bug here, never been here and never fixed anything ;(
7626         (don't segfault if tree->root_tree is NULL, which happens prior
7627         to widget realization, but puke instead).
7628
7629 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
7630
7631         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
7632         add the necessary tokens.
7633
7634         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
7635         (gtk_rc_style_to_style): copy thicknesses.
7636         (gtk_rc_init_style): apply thicknesses.
7637         (gtk_rc_parse_style): parse xthickness and ythickness.
7638
7639         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
7640
7641         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
7642         (gdk_window_new): 
7643         (_gdk_windowing_window_init): 
7644         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
7645         (gdk_pixmap_create_from_data): 
7646         (gdk_bitmap_create_from_data): 
7647         (gdk_pixmap_new): 
7648         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7649         (gdk_image_new): 
7650         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
7651         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
7652         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
7653         (gdk_colormap_get_system): 
7654         (gdk_colormap_new): 
7655         * gdk/gdkwindow.c (gdk_window_init): 
7656         * gtk/gtkstyle.c (gtk_style_new):
7657         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
7658         * gdk/gdkpixmap.c (gdk_pixmap_init): 
7659         * gtk/gtkrc.c (gtk_rc_style_new):
7660         use g_object_new() instead of g_type_create_instance() which
7661         is a private function for fundamental type implementations.
7662
7663 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
7664
7665         * configure.in: Add check for db2html
7666
7667 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
7668
7669         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
7670         hack to set glib_debug_objects based on gtk_debug_flags.
7671
7672 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
7673
7674         * INSTALL.in: Update the Prerequisites section.
7675
7676         * Makefile.am demos/Makefile.am docs/Makefile.am
7677         docs/tutorial/Makefile.am gdk/x11/Makefile.am
7678         gdk/linux-fb/Makefile.am: Dist fixes
7679
7680 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
7681
7682         * NEWS: 10,000 foot view of 1.3.1 changes.
7683
7684 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
7685
7686         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
7687         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
7688         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
7689         gdk/x11/gdkmain-x11.c: 
7690
7691         Patch from George Lebl to add a GdkGrabStatus enumeration to use
7692         as a return value of gdk_*_grab(). Previously, we just
7693         returned the X11 values directly.
7694
7695 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
7696
7697         * gdk/x11/Makefile.am: Patch from George Lebl to 
7698         install all the headers in the right place.
7699
7700 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
7701
7702         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
7703           initial conversion to DocBook.
7704
7705 2000-07-04  Tor Lillqvist  <tml@iki.fi>
7706
7707         * README.win32: Improve a bit.
7708
7709         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
7710         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
7711         Alt+0nnn on the numpad (used to enter characters by numeric code
7712         from current DOS or ANSI codepage) working correctly, as in other
7713         Windows apps.
7714
7715         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
7716         same argument validity tests as in X11 version.
7717         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
7718
7719         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
7720         definitions in case missing from headers.
7721
7722         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
7723         destroy the window-specific cursor.
7724         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
7725         calling GetModuleHandle(NULL).
7726         (gdk_window_set_cursor): Reworked to always copy the passed cursor
7727         with CopyCursor before setting it as the window-specific
7728         cursor. It is OK for the caller to destroy the GdkCursor (and thus
7729         also its Windows cursor) after calling this function. Destroy any
7730         previous window-specific cursor.
7731
7732 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
7733
7734         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
7735         font charset is iso8859-1, not iso-8859-1.
7736
7737 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
7738
7739         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
7740         Use g_get_charset() instead of g_get_codeset().
7741
7742         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
7743         Comment out some strdup'ing functions to keep timj
7744         happy until we finish fighting this out.
7745
7746 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
7747
7748         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
7749         <= width or height.
7750
7751         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
7752         from 1.2 for parent/child states.
7753
7754         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
7755         of typos.
7756
7757         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
7758         event structures, replace with a generic axes field. Replace 
7759         deviceid/sourec with GdkDevice *device.
7760
7761         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
7762         to extract particular axis use value from event. (Also
7763         can be used for normal X/Y.)
7764
7765         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
7766         allow for arbitrary number of axes, namespace everything
7767         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
7768         everywhere.
7769
7770         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
7771         Get rid of the gdk_input_vtable setup if favor of simply
7772         defining the functions in gdkinput-none/gxi/xfree.c in
7773         a similar fashion to the way that the port structure is 
7774         done.
7775
7776         * gtk/gtkdnd.c: Fix fields of synthesized button press event
7777         for new event structures. 
7778
7779         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
7780         new device interfaces.
7781
7782 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
7783
7784         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
7785         set the initial text.
7786
7787         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
7788         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
7789         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
7790         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
7791
7792         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7793         pango_layout_set_font_description to simplify.
7794
7795 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
7796
7797         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7798         pango_layout_set_font_description to simplify.
7799
7800 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
7801
7802         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
7803         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
7804         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
7805
7806         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
7807         PANGO_PIXELS() macro.
7808
7809 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
7810
7811         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
7812         that returns a PangoContext owned by the widget and updated to
7813         match future changes in the widget. Also, make 
7814         gtk_widget_create_pango_layout() use this context. If we ever
7815         add a ::changed signal to PangoContext, this will make things
7816         much more convenient. 
7817
7818         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
7819         in the appropriate places instead of destroying the layouts and
7820         creating new ones.
7821
7822         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
7823         in a few strategic places.
7824
7825 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
7826
7827         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
7828         gtk_widget_size_request() on reparented child, if one. Otherwise,
7829         queue_resize() on the child never results in it getting size-requested
7830         at all.
7831
7832         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
7833         in option menus, so that (with luck) people won't copy it into
7834         their apps in the future.
7835
7836         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
7837         to gtk_option_menu_calc_size. This isn't perfect, but should fix
7838         a lot of problems with changing the size of the menu's menu
7839         items after adding it to the option menu.
7840
7841         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
7842
7843         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
7844         the text direction for a widget changes.
7845
7846         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
7847         ::direction_changed to get rid of various hacks.
7848
7849 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
7850
7851         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
7852         name.
7853
7854 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
7855
7856         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
7857         flag to the structure. Do not call XFreePixmap on pixmaps created
7858         by gdk_pixmap_foreign_new().
7859
7860 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
7861
7862         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
7863         value using GdkRGB functionality given GdkColormap and GdkColor.
7864         (name not final, waiting for inspiration.)
7865         
7866         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
7867         set the foreground/background of a GC using the GC's colormap
7868         and GdkRGB. (name not final, waiting for inspiration.)
7869
7870         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
7871         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
7872
7873         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
7874         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
7875         purely a function of the corresponding colormap. Make
7876         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
7877
7878         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
7879         gdk_pixbuf_*create_from_xpm_* in terms of
7880         gdk_pixbuf_new_from_xpm_data(), move into platform independent
7881         code.
7882
7883         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
7884         advantage of the new draw_rgb_32_image_dithalign.
7885
7886         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
7887
7888         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
7889         on each created GC.
7890
7891         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
7892
7893         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
7894         which we initialize from the drawable when the GC is created,
7895         if the drawable has a colormap.
7896
7897         * gdk/x11/gdkgc-x11.c: include string.h for memset.
7898
7899         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
7900
7901         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
7902
7903 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
7904
7905         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
7906         actually returning expose events, make sure to set
7907         the count field properly.
7908
7909         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
7910         accidentally reintroced bug which always cleared
7911         the graphics_exposures value. 
7912
7913 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
7914
7915         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
7916
7917 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
7918
7919         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
7920
7921 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
7922
7923         * docs/faq/gtk-faq.sgml: Start of Section 6.
7924
7925 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
7926
7927         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
7928         
7929         (Fixes problem with drawing childless frames. Pointed out
7930         by and a first patch from Anders)
7931         
7932         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
7933         compute a child_allocation, even if we don't have a child.
7934
7935         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
7936         Always chain to the parent's impl, even if we don't have a child.
7937
7938 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7939
7940         * gdk/gdkrgb.c: If possible, create only a single shm segment and
7941         use multiple parts of it instead of creating a bunch of separate
7942         segments, since the maximum number of segments per system is not
7943         large. (This might be worth backporting to GTK+-1.2.x if we make a
7944         new release )
7945
7946         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
7947         structure in preparation for per-colormap GdkRGB.
7948
7949         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
7950         to False when we get EINVAL from shmget so that the caller of
7951         gdk_image_new can retry with a smaller segment size.
7952
7953 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
7954
7955         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
7956
7957 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
7958
7959         * configure.in: make the current version number 1.3.1 (binary age 0,
7960         interface age 0).
7961         
7962         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
7963         gtkcompat.h is all we want.
7964
7965         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
7966         GLib primitive types. fixed g_type_register_fundamental() argument
7967         ordering.
7968
7969         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
7970         compiles.
7971
7972         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
7973         object code cleanup, comment trigraph fixes, etc...
7974
7975 2000-06-23  Havoc Pennington  <hp@redhat.com>
7976
7977         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
7978         instead of making up a bogus name for first_para_mark
7979
7980         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
7981         0 as a context ID
7982
7983 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
7984
7985         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
7986
7987 2000-06-21  Havoc Pennington  <hp@pobox.com>
7988
7989         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
7990         we didn't check window->bg_pixmap != GDK_NO_BG.
7991
7992         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
7993         gdk-pixbuf
7994
7995 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
7996
7997         * docs/faq/gtk-faq.sgm: Move file to here.
7998           TODO: Update Makfile.am 
7999
8000 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
8001
8002         * docs/gtk-faq.sgm: Add Section 2
8003
8004 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
8005
8006         * docs/gtk-faq.sgm: New file. Start of DocBook
8007           version of the FAQ.
8008
8009 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
8010
8011         * configure.in (GDK_PIXBUF_MAJOR): Define version
8012         numbers for GDK_PIXBUF_*, as they get substituted
8013         into a header file. Need to consider versioning
8014         for gdk-pixbuf more carefully later.
8015
8016 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
8017
8018         Work with srcdir != builddir.   
8019         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
8020         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
8021         * demos/testpixbuf.c: Likewise.
8022         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
8023         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
8024         <gdk/x11/gdkx.h>.
8025         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
8026         "gdk-pixbuf.h".
8027         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
8028
8029 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
8030
8031         * TODO.xml: Change 1.4 version numbers to 2.0.
8032
8033 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
8034
8035         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
8036         fixups to GTK+ standard.
8037
8038 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
8039
8040         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
8041         gdk-pixbuf.
8042
8043         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
8044         fixups for GObject.
8045
8046         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
8047         gdk-pixbuf with GDK dependencies moved into GDK.
8048         
8049         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
8050         move gdk-pixbuf-loader here until GObject has signals.
8051
8052         * demos/: New directory of demos. Move demos from
8053         gdk-pixbuf here.
8054
8055         * demos/pixbuf-init.c: Small bit of code to check for
8056         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
8057         set GDK_PIXBUF_MODULEDIR appropriately.
8058
8059         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
8060         define which no longer makes sense.
8061
8062 2000-06-21  Havoc Pennington  <hp@redhat.com>
8063
8064         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
8065         gtk_get_default_language
8066
8067         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
8068         new function to get the default language
8069
8070         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
8071         s/gtk_text_view_style_values/gtk_text_style_values/
8072
8073         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
8074         Add a "language" field to tags.
8075
8076         (gtk_text_tag_set_arg): Fix bug in setting
8077         "bg_full_height_set" tag.
8078
8079 2000-06-21  Havoc Pennington  <hp@redhat.com>
8080
8081         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
8082         in the interfaces
8083
8084         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
8085         stuff instead when possible.
8086
8087         * gtk/gtktexttypes.h: Delete some unused constants
8088
8089         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
8090         testtextbuffer.c: use glib instead of custom unicode routines
8091
8092 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
8093
8094         * docs/es/: Removed mistakenly added generated sgml
8095
8096         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
8097         Remove outdated info files.
8098
8099         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
8100         Moved tutorial files into subdir
8101
8102         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
8103         subdir.
8104
8105         * docs/man/gtk_button.pod: Remove. (contents will be
8106         integrated into gtk-reference button page.)
8107
8108         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
8109         docs/faq/Makefile.am: Adjust for new organization
8110
8111 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
8112
8113         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
8114         not $(MKINSTALLDIRS)
8115
8116 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
8117
8118         * gtk/testgtk.c (create_text): Finish the job Elliot started
8119         of removing font setting test for text widget. (Since text widget
8120         and GdkFont are not deprecated, and cause portability problems.)
8121
8122 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
8123
8124         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
8125         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
8126         Remove use of libunicode in favor of new GLib functions.
8127
8128         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
8129         nano-x, framebuffer. The X11 include is just a hack until we get
8130         the necessary functions in gdkcolor.h, so there is no reason to
8131         add other includes of platforms.
8132
8133         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
8134         window bigger than the screen change.
8135
8136         * gtk/testgtk.c: Revert some random changes from Elliot
8137         that had no particular point and were causing testgtkrc
8138         not to function correctly.
8139         
8140         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
8141         because GdkSegment and GdkRegionBox have the same fields,
8142         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
8143         results in clearer code.
8144
8145         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
8146         gdk_input_translate_coordinates): Fix missed GdkObjectification
8147
8148 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8149
8150         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
8151         * gtk/gtk{plug,socket}.h: Missed commits from previous.
8152
8153 2000-06-20  Havoc Pennington  <hp@redhat.com>
8154
8155         * modules/linux-fb/Makefile.am: Make this compile
8156         without framebuffer enabled
8157
8158         * gdk/linux-fb/Makefile.am: Add conditional to not build
8159         framebuffer unless specified in configure
8160
8161         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
8162         the size of the target instead of source if -1 was passed for
8163         width/height
8164
8165         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
8166         width/height confusion.
8167
8168 2000-06-19  Havoc Pennington  <hp@redhat.com>
8169
8170         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
8171         GDK_DRAWABLE_XID. In the future, we probably want to make it
8172         faster with G_DISABLE_CHECKS turned on.
8173
8174 2000-06-14  Havoc Pennington  <hp@redhat.com>
8175
8176         * gdk/Makefile.am: add gdkpixmap.c
8177
8178         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
8179         s/gdk_image_init/_gdk_windowing_image_init
8180
8181         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
8182         ref/unref
8183
8184         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
8185
8186         * gdk/gdkcompat.h: remove GdkWindowType compat, since
8187         GdkWindowType is now non-deprecated; 
8188         change gdk_window_get_type() compat to be
8189         gdk_window_get_window_type().
8190
8191         * gdk/gdkdnd.h: make GdkDragContext a GObject.
8192
8193         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
8194         virtual GObject. Make all functions call into the vtable.
8195         Move gdk_image_put() guts in here. Remove GdkDrawableType
8196         and gdk_drawable_get_type(), these are now GdkWindow-specific.
8197         draw_image, get_depth, get_size, set_colormap, get_colormap,
8198         get_visual added to the vtable.
8199         
8200         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
8201         GObject. Virtualize everything. 
8202         (gdk_gc_new_with_values): remove check for destroyed window,
8203         because now GdkWindow::create_gc will check this.
8204         (gdk_gc_set_values): New function to set GC values, this 
8205         was already implemented but wasn't in the header
8206
8207         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
8208
8209         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
8210         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
8211         remove _gdk_window_class; add _gdk_window_impl_get_type() and
8212         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
8213         _gdk_windowing_window_init, rename gdk_image_init to
8214         _gdk_windowing_image_init.
8215         
8216         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
8217         (gdk_draw_layout): Remove check for destroyed window, 
8218         because all the drawable methods already check it.
8219         
8220         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
8221         Add gdkpixmap.c which contains implementation of GdkDrawable
8222         virtual table (by chaining to a platform-specific implementation
8223         object).
8224         
8225         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
8226         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
8227         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
8228         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
8229         GdkColormapPrivate. 
8230
8231         * gdk/gdktypes.h: #include <glib-object.h>
8232
8233         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
8234         Move most functionality to platform-specific implementation
8235         object. GdkWindow itself now handles the backing store, then
8236         chains to the platform-specific implementation.
8237         (gdk_window_get_window_type): return GdkWindowType of the window.
8238         (gdk_window_peek_children): New routine, returns the children of 
8239         a GdkWindow
8240         (gdk_window_get_children): Was in X11-specific code and did 
8241         XQueryTree. Changed to simply return a copy of window->children; 
8242         so it can go in cross-platform code.
8243         
8244         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
8245
8246         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
8247         GdkColormap; just changed to use the new private data instead
8248         of casting to GdkColormapPrivate.
8249
8250         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
8251         gdk_cursor_new().
8252
8253         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
8254         (private data member in the GObject). 
8255         (xdnd_manager_source_filter): Function had broken 
8256         error handling, fix it (use gdk_error_trap_push).
8257
8258         * gdk/x11/gdkdrawable-x11.c: This file now implements
8259         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
8260         base class is purely for the convenience of the X port,
8261         and not part of the interface to cross-platform GDK.
8262
8263         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
8264         
8265         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
8266         specific to X, and returned by the create_gc virtual method
8267         of GdkDrawableImplX11. 
8268         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
8269         rather than gchar, this was also changed in the GdkGC vtable.
8270         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
8271         mask is 0, return immediately, instead of checking every flag.
8272         This is faster, and keeps us from segfaulting if values is NULL
8273         and the mask contains some nonzero flags.
8274
8275         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
8276         GdkWindow.
8277
8278         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
8279         GdkWindowPrivate is gone.
8280
8281         * gdk/x11/gdkim-x11.c: rename things that got renamed.
8282
8283         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
8284         remove the image_put stuff that got transferred to GdkDrawable.
8285         
8286         * gdk/x11/gdkinput.c: renamings
8287
8288         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
8289
8290         * gdk/x11/gdkpixmap-x11.c: GObject conversion
8291
8292         * gdk/x11/gdkprivate-x11.h: indentation fixes
8293
8294         * gdk/x11/gdkproperty-x11.c: renamings
8295
8296         * gdk/x11/gdkselection-x11.c: renamings
8297
8298         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
8299         implements the platform-specific "impl" object.
8300         Moved gdk_window_get_children to gdk/gdkwindow.c
8301
8302         * gdk/x11/gdkx.h: Remove all the private structs and private datas
8303         that no longer exist. Add declaration of GdkGCX11 object here.
8304         Fix all the macros to still work. 
8305
8306         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
8307         GdkDragContext from the boxed types since they are now GObjects.
8308
8309         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
8310         moved xthickness/ythickness into the instance. GtkStyleClass
8311         functions are now in the standard vtable for GtkStyle, so you have
8312         to create a GObject subclass to write a theme engine.
8313         (gtk_style_copy): fixed a leaked PangoFontDescription
8314         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
8315         can be the standard GObject function.
8316         
8317         * Throughout GTK:
8318         s/style->klass->[xy]thickness/style->[xy]thickness
8319         s/pango_layout_unref/g_object_unref/
8320
8321         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
8322         
8323         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
8324         accessing GDK internals.
8325
8326         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
8327         accessing GDK internals.
8328
8329 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8330
8331         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
8332
8333         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
8334         problem by calculating event position relative to the trough
8335         rather than the slider.
8336         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
8337
8338         * gdk/gdkgc.h: Add GDK_NOR.
8339
8340         * configure.in, Makefile.am: Add modules top level dir
8341         * configure.in: Only use pangox library if building x11 target.
8342         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
8343
8344 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8345
8346         * gtk/gtkcolorsel.c: Change private class member to be named
8347         private_data throughout the file.
8348
8349         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
8350         private_data to avoid clashing with keyword.
8351
8352 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8353
8354         * gdk/gdkdnd.h: Add comment to remove warning.
8355
8356 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
8357
8358         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
8359         Byelorussian language; changed the Makefile and file names 
8360         to reflect that.
8361
8362 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
8363
8364         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
8365         rather than gdk_window_hide; this makes things work
8366         correctly if the window is programmatically hidden while
8367         iconified.
8368
8369 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
8370
8371         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
8372         cut and paste typo where wrong pixmap was being
8373         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
8374
8375 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
8376
8377         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
8378         Add helper function to compute format / bytes 
8379         relationship. Use in a couple places to fix up
8380         errors which assume 8 * format.
8381
8382         * gtk/gtkselection.c (gtk_selection_request): Use 32
8383         rather than 8 * sizeof (GdkAtom), to work correctly
8384         on Alpha.
8385
8386 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
8387
8388         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
8389         libgtk.la
8390         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
8391         versions
8392
8393         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
8394         checking macros return NULL since the function has a return value.
8395
8396 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
8397
8398         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
8399         GTK+ from building at all.
8400
8401         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
8402
8403 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
8404
8405         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
8406         gtk/Makefile.am: make it possible to configure gtk for different
8407         targets on the same platform. The library name is now 
8408         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
8409         flag. Only the x11 target compiles right now.
8410         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
8411         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
8412         * gdk/nanox/gdk*generic*: delete generic region code.
8413         * gdk/linux-fb/gdk*generic*: delete generic region code.
8414         * README.nanox: update information.
8415         
8416 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
8417
8418         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
8419         prepend not append. (Pointed out by Brett Hall.)
8420
8421 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
8422
8423         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
8424
8425 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
8426
8427         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
8428         need this later, and this makes sure that the atexit for
8429         glib gets called after that for GDK, so atexits are
8430         properly ordered for object leak checking.
8431
8432         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
8433
8434         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
8435         pango_x_shutdown_display()
8436
8437         * gtk/simple.c (main): Close window on destroy.
8438
8439 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
8440
8441         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
8442         to treat initial creation different from setting with 
8443         regards to the graphics-exposures parameter, so add a parameter
8444         indicating whether this is initial or not.
8445
8446 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
8447
8448         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
8449         to sort of work by adding an extra return_exposes arg
8450         to gdk_event_translate() - it might be better to simply
8451         deprecate the function altogether and force people to rewrite
8452         without it. gdk_window_scroll() handles most of it, and where
8453         gdk_window_scroll() doesn't work, simply redrawing more does.
8454
8455         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
8456         assertion.
8457
8458         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
8459
8460         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
8461         bunch of pretty much useless /* Print debugging info */ comments 
8462         which had drifted away from the code they were commenting.
8463
8464 2000-06-02  Havoc Pennington  <hp@pobox.com>
8465
8466         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
8467         is in working order.
8468         
8469         * gtk/testtext.c: Change to reflect anonymous mark API
8470
8471         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
8472
8473         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
8474         field, which was unused.
8475
8476         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
8477         saves some typing.
8478
8479         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
8480
8481         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
8482         flag on the insertion point and selection bound
8483
8484         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
8485         make mark-manipulation functions take a GtkTextMark* instead of a
8486         mark name.
8487         
8488         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
8489         GtkTextMarkBody; will be used to detect attempts to delete
8490         the permanent marks (insert and selection bound)
8491
8492         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
8493
8494 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
8495
8496         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
8497         flag to on.
8498
8499         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
8500         Honor DOUBLE_BUFFRED_FLAG
8501
8502         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
8503         function to set the DOUBLE_BUFFERED flag.
8504
8505         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
8506         or not exposes done on the widget should be double-buffered.
8507
8508         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
8509         to be what would be expected. (Fixes problem with a
8510         g_return_if_fail() validating a TextDirection enumeration)
8511
8512 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
8513
8514         * gtk/gtkwidget.c: Remove all references to 
8515         offscreen flag which was no longer used.
8516
8517         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
8518
8519         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
8520         for non-null label_widget->parent.
8521
8522         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
8523         which no longer was used.
8524
8525         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
8526
8527         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
8528         for null arguments.
8529
8530         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
8531         check for destroyed windows.
8532
8533 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
8534
8535         * gtk/gtkimmulticontext.c: Add a finalize method and unref
8536         the slave context there.
8537
8538         * gtk/gtkinvisible.[ch]: Make reference counting behavior
8539         identical to GtkWindow.
8540
8541 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
8542
8543         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
8544         pangox to here, so we can write them independent of rendering
8545         system, using GDK primitives.
8546
8547         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
8548         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
8549         since we have a rendering-system independent implementation in
8550         terms of draw_glyphs().
8551         
8552         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
8553         function to render a single line.
8554
8555         * gdk/x11/gdkpango.c: Move the guts of this file mostly
8556         into ../gdkpango.c, which simplifies things, since we
8557         don't have to deal with raw X gc's.
8558
8559 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
8560
8561         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
8562         get the logical attributes for a given GtkTextLine.
8563
8564 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
8565
8566         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
8567         g_locale_get_codeset() to g_get_codeset() change.
8568
8569 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
8570
8571         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
8572         descriptions.
8573
8574         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
8575         the entry.
8576
8577         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
8578         redoing (vastly simplifying) for Pango. Still needs quite
8579         a bit of work. (Size selection is currently poor. List of 
8580         predefined sizes is not a good idea, since all of these
8581         sizes won't necessarily be distinct.)
8582
8583 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
8584
8585         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
8586         CODESET results for LANG=C.
8587
8588 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
8589
8590         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
8591         which takes a stringized pango font description;
8592         ignore the older 'font' and 'fontset' declarations.
8593
8594         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
8595         field with a GdkFont derived via gdk_font_from_description(),
8596         for compatibility. (Should we just remove it entirely?
8597         Probably too much compatibility breakage, but people
8598         should be migrating to the new Pango stuff as quickly
8599         as possible.)
8600
8601 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
8602
8603         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
8604
8605 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
8606
8607         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
8608         redoing; there are some bugs in size allocation right
8609         now, the semi-existant distinction between header / day
8610         fonts was removed, but, with Pango, could actually
8611         be made functional in a nice way.
8612         
8613         * gtk/testcalender: Move calender from examples into this
8614         directory as a test program. (We really need to restrcture
8615         testgtk into a whole directory full of tests for every
8616         widget or functionality group, separated into multiple .c
8617         files.)
8618
8619 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
8620
8621         * gtk/testgtk.c (file_exists): Fix stupid typo that
8622         was keeping RC file from being loaded.
8623
8624         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
8625         RC file font code.
8626
8627 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
8628
8629         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
8630         Add function to load a GdkFont from a PangoFontDescription.
8631
8632 2000-05-29  Tor Lillqvist  <tml@iki.fi>
8633
8634         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
8635         variable should be of type GdkEventPrivate.
8636
8637 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
8638
8639         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
8640         to have any widget for the label, use a GtkLabel widget
8641         to display the text. (Based partially on a patch from
8642         Anders Carlson.)
8643
8644         (Quite a bit of code reorganization - strip 90% of the
8645         guts out of gtkaspectframe and add a single virtual
8646         func to GtkFrameClass - compute_child_allocation.)
8647
8648 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
8649
8650         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
8651         (Removed clist->row_center_offset field because caching
8652         it wasn't saving time or code, added private function
8653         _gtk_clist_create_cell_layout()).
8654
8655 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
8656
8657         * gtk/gtkaccellabel.c: Pangoized.
8658
8659         * gtk/[hv]ruler.c: Pangoized
8660
8661 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
8662
8663         * gtk/gtkfilesel.c (gtk_file_selection_init):
8664         Use gtk_clist_set_column_auto_resize() to remove need
8665         need for manual column width computations.
8666
8667 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
8668
8669         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
8670         ensuring Pango correctness, and considerably simplifying the
8671         code.
8672         
8673         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
8674
8675         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
8676         getting of numbers of lines.
8677
8678         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
8679         to the actual requested width of the lable, not to the wrap
8680         width we set.
8681
8682         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
8683
8684         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
8685           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
8686
8687         * gtk/gtktextview.c: Fix structure inheritance.
8688
8689         * gtk/gtkprogressbar.c: Pangoize.
8690
8691 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
8692
8693         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
8694         in a function.
8695
8696         * gtk/gtktextlayout.c (find_display_line_above): Fixed
8697         bug with computing line tops.
8698
8699         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
8700
8701 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8702
8703         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
8704         and y_offset coordinates to do what we need now. (The offset between
8705         buffer and layout coordinates has been reintroduced, but is a 
8706         bit different than before.)
8707
8708         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
8709         handle the adjustments ourselves, and scroll as necessary using
8710         the new gdk_window_scroll().
8711         
8712         The advantage of this is that when we are incrementally revalidating,
8713         we are essentially rearranging things around the visible portion
8714         of the screen. With the old setup, the visible portion of the
8715         screen was moved around in the layout, so scrolling and redrawing
8716         to track that caused jumping of the display. Since we now
8717         control the scrolling ourselves, we can suppress this and
8718         only redraw when things actually change.
8719
8720 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
8721
8722         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
8723         the region not just redisplay it after-all, since we store the
8724         cursors in the LineDisplay. (Ugly interactions here between
8725         GtkLayout and GtkTextBTree here.)
8726         
8727         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
8728
8729 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
8730
8731         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
8732         Added function to scroll contents of a window while keeping the
8733         window constant. Works by XCopyArea or guffaw-scrolling depending
8734         on the details of how the window is set up. (guffaw-scrolling
8735         still needs to be filled in.)
8736
8737 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
8738
8739         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
8740         move the debugging that was tied to a global variable
8741         to that.
8742
8743         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
8744
8745         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
8746         validated flag, in line data instead of setting height/width to
8747         -1. This allows us to perform operations with partially invalid
8748         buffer (using the old size for invalid lines) and thus to do
8749         incremental vaidation. Keep height/width aggregates up to date
8750         when deleting text and rebalancing the tree.
8751
8752         * gtk/gtktextbtree.[ch]: Add functions validate a line
8753         (gtk_text_btree_validate_line), and to validate up
8754         to a number of pixels (gtk_text_btree_validate).
8755
8756         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
8757         that indicates that something is changed and a revalidation
8758         pass is needed. Change ::need_repaint to ::changed, and
8759         make it take old and new yranges instead of a rectangle.
8760
8761         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
8762         the line_data_destroy() function from 
8763         gtk_text_btree_add_view() to a virtual function in 
8764         GtkTextLayout
8765
8766         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
8767         since we are handling partial repaints in a different fashion
8768         now.
8769
8770         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
8771         of the selection instead of queueing a repaint on the
8772         entire widget.
8773
8774         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
8775         get_selection_bounds() down to btree, make the function
8776         in buffer a wrapper around the btree function.
8777
8778         * gtk/gtktextlayout.[ch]: Add functions to check if the
8779         layout is valid and to recompute either a range of pixels
8780         aroudn a line or a certain total number of pixels.
8781
8782         * gtk/gtktextlayout.[ch]: Cache a single line display;
8783         now that we only redraw the needed portions, the hit rate
8784         for this cache is quite high.
8785         
8786         * gtk/gtktextview.[ch]: Keep track of the first paragraph
8787         on the screen so that when re-laying-out the buffer, we can
8788         keep the same place. This requires connecting to ::value_changed
8789         on the adjustments
8790
8791         * gtk/gtktextview.[ch]: Add idle functions to revalidate
8792         the buffer after we receive an ::invalidated signal.
8793         
8794 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
8795
8796         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
8797         to max of allocation and layout size, not just to the
8798         layout size.
8799
8800         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
8801         Invalidate window so it gets redrawn properly.
8802
8803         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
8804         to mean the entire window.
8805
8806         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
8807         into public header.
8808
8809 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
8810
8811         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
8812         to get the name of a mark.
8813
8814         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
8815         to find the paragraph from a y position.
8816
8817 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
8818
8819         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
8820         nodes have width/height >= 0, not > 0.
8821
8822 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
8823
8824         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
8825         Add a size_only flag, so when we only need the size, we don't create
8826         useless appearance attributes.
8827
8828         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
8829         duplicate setting of font description.
8830
8831         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
8832
8833 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8834
8835         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8836         EXTRA_DIST. It does not work well when the file that
8837         everything depends on is not in the tarball.
8838
8839 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8840
8841         * gtk/testgtk.c: Some hacks and fixes so that it basically
8842         works when not sitting in the GTK+ build tree.
8843
8844 2000-05-03  Havoc Pennington  <hp@redhat.com>
8845
8846         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
8847         Properly determine the ordering of the tag root and the current
8848         line within the tree. Previous algorithm only worked if the tag
8849         root's immediate parent was the common root of both the current
8850         line and the tag root.
8851
8852 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
8853
8854         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
8855         alignment.
8856
8857         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
8858         the widget text directional dynamically.
8859
8860         * gtk/gtktextview.[ch]: Added functions to get and set default
8861         wrap mode.
8862
8863 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
8864
8865         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
8866         in cursor location computation.
8867
8868 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
8869
8870         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
8871         vadjusment values properly when layout gets smaller.
8872
8873         * gtk/gtktextview.c (need_repaint_handler): Areas being
8874         passed in are far completely inaccurate, and sometimes
8875         too small, so, for now, just queue a redraw on the
8876         whole visible region.
8877
8878 2000-04-25  Havoc Pennington  <hp@redhat.com>
8879
8880         * gtk/gtktextbtree.c (summary_destroy): new function to 
8881         destroy tag summary nodes
8882         (gtk_text_line_next_could_contain_tag): this function was 
8883         totally broken if the line passed in wasn't below the tag
8884         root. Fix it.
8885         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
8886         "wildcard" case, we have to do a linear scan. Blah.
8887         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
8888         we have to do the linear scan
8889         (tag_removed_cb): When a tag is removed from the tag table, 
8890         remove the GtkTextTagInfo node from the btree.
8891         (gtk_text_btree_spew): Implement the spew function, for 
8892         our debugging pleasure.
8893
8894 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
8895
8896         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
8897         a problem with referring to the wrong buffer.
8898
8899         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
8900
8901         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
8902         font description to gtk_style_new() - otherwise things
8903         don't work without a .gtkrc file.
8904
8905         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
8906         tags table if we create it ourself, too.
8907
8908         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
8909         it was conflicting with XKB modifiers.
8910
8911         * gtk/gtktextview.[ch]: Add simple support for 
8912         GtkIMContext.
8913
8914 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
8915
8916         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
8917         with deletion from last commit.
8918
8919 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
8920
8921         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
8922         in the context from the current locale.
8923         
8924         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
8925         context, not hardcoded value.
8926
8927         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
8928         not logical.
8929
8930 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8931
8932         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
8933         attributes - that doesn't handle partial-glyph selection
8934         properly. Instead use new pango_layout_line_get_x_ranges()
8935         functionality to draw the selection.
8936
8937         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
8938         now properly handles out-of-range coordinates.
8939
8940         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
8941
8942         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
8943         public.
8944
8945         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
8946         for paragraphs opposite to the base direction of the widget.
8947
8948         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
8949
8950         * gtk/gtktextlayout.c: Don't split segments on marks, since that
8951         causes Arabic words to reshape as you cursor through.
8952
8953         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
8954         cursor position when moving vertically with the arrow keys and
8955         scrolling with page-up/page-down. (Arrow keys save only the X,
8956         scrolling saves both X and Y.)
8957
8958         This means you can line-up / line-down or page-up / page-down
8959         without losing your place, and also that moving vertically
8960         with the cursor keys keeps the same X position, not the same
8961         character count:
8962
8963         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
8964         arrow keys move by display lines, not paragraphs.
8965
8966 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8967
8968         * gtk/gtklayout.c: Make sure that the bin window is at least
8969         as big as the allocation. (Should we also make sure that the
8970         bin window is big enough to completely cover widget->window?)
8971
8972         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
8973         function to get the onscreen rectangle.
8974
8975         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
8976         for offsets in window coordinates.
8977
8978 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
8979
8980         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
8981         confusion.
8982
8983         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
8984         from the widget direction.
8985
8986         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
8987         Add a "direction" attribute.
8988
8989         * gtk/gtktextview.c: global s/tkxt/text_view/.
8990
8991         * gtk/testtext.c: Added long block of text in Arabic, to test out
8992         the direction attributes. (Some problems with the shaping system
8993         for arabic become obvious - like the fact the cursor splits words
8994         into unjoined pieces.)
8995
8996 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
8997
8998         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
8999
9000         * gtk/gtktextlayout.c: Fix up alignment.
9001
9002         * gtk/testtext.c: Add some tests for centering, wrapping.
9003
9004 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
9005
9006         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9007         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
9008         If we wrote GTK+-specific layout-render function this could just replace
9009         the draw_layout() operation in the vtable.
9010
9011         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
9012         pango_layout_get_cursor_pos() and use that function.
9013
9014         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
9015         is a non-static symbol.
9016
9017         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
9018         with gtk_text_btree_find_line_by_y()
9019
9020         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
9021         renderer that handles GtkTextAppearance attributes.
9022
9023         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
9024
9025           - Move the values in the style that don't affect geometry into a
9026             GtkTextAppearance structure.
9027           - Change underline to take a PangoUnderline and "font" a string
9028             representation of a font description
9029           - Add a "font_desc" attribute which takes a FontDescription structure.
9030
9031         * gtk/gtktextlayout.[ch]:
9032
9033           - Get rid of the display-line list per each line. Instead, we
9034             generate, on demand, a GtkTextLineDisplay structure which]
9035             contains a PangoLayout * and other necesary information
9036             (offsets, cursor locations) for displaying a paragraph.
9037           - Get rid of the code to wrap lines, create display chunks,
9038             etc. Instead, we just go through a paragraph and convert
9039             it into the necessary inputs to a PangoLayout.
9040           - Implement a new attribute type, GtkTextAttrAppearance. This
9041             holds a GtkTextAppearance, and is used to pass colors, 
9042             stipple, etc, through from the layout to the display without
9043             having to use lots and lots of individual attributes.
9044           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
9045             in terms of PangoLayout functions.
9046         
9047         * gtk/gtktextview.c: 
9048          
9049           - Handle passing the necessary PangoContext to the layout
9050           - Some fixups in painting to deal with the automatic backing store
9051             and offsetting of GTK+-1.4
9052           - Add a style_set handler so that the default style reacts
9053             properly to theme changes.
9054         
9055         * gtk/gtktext?*.[ch]: Random code-style fixes.
9056
9057         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
9058
9059 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
9060
9061         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
9062         in original form preparatory to Pango-ization and gdkimcontext-ization.
9063
9064 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
9065
9066         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
9067         so that we can derive from gtkimcontext in language bindings properly.
9068
9069 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
9070
9071         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
9072         Add a compose table including (almost) all the compose combinations
9073         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
9074         data in the XIM implementation.
9075
9076         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
9077         Moved functions to convert keyvalues from and to unicode here from
9078         the win32 port and made them public.
9079
9080 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9081
9082         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
9083
9084 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
9085
9086         * gtk/gtkimcontext.[ch]: Base class for new input context system
9087
9088         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
9089         the real input context implementation to be loaded from modules
9090         and switched on the fly.
9091
9092         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
9093         context that just does direct keysymbol => unicode translation.
9094
9095         * gtk/gtkentry.[ch]: Start switching editing over to using
9096         GtkInputContext. (No handling of preedit yet.)
9097
9098 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
9099
9100         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
9101         many substitutions. (klass should not be subsituted.)
9102
9103 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
9104
9105         * configure.in: Add checks for Pango
9106
9107         * configure.in docs/Makefile.am: Add test for sgml2html
9108         and allow 'make dist' without building html, but print out
9109         warnings in that case. (For making snapshots)
9110
9111         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
9112         Add Pango libraries and C flags
9113
9114         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9115         Add function (gdk_draw_layout) to draw a pango layout.
9116
9117         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
9118         for getting Pango contexts for GDK.
9119
9120         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
9121
9122         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
9123         editing.
9124
9125         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
9126         keysym => unicode translations. More languages can be added
9127         here, but real input-method support is needed.
9128
9129         * docs/Changes-1.4.txt: Added note about entry behavior.
9130         
9131         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
9132         to set the reading direction for a widget and the global direction.
9133         Add test which allows toggling the global direction. Two private
9134         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
9135
9136         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
9137           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
9138
9139         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
9140
9141         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
9142         underlining now handled by Pango.
9143
9144         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
9145         to RCStyle and Style. (Having both this and the old font name and GdkFont 
9146         is temporary.)
9147
9148         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
9149         convenience functions for creating contexts and layouts for widgets.
9150
9151         * gtk/testgtk.c: Enhance label tests with multilingual labels.
9152
9153 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
9154
9155         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
9156         titles to be active, even if they aren't visible.
9157         (gtk_clist_column_titles_passive):  Ditto.
9158
9159 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
9160
9161         * gtkmenu.c:
9162         * gtkmenu.h:
9163         * gtktypeutils.h: Spelling/grammar fixes in comments.
9164
9165 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
9166
9167         * gdk/nanox/*.h: add missing header files.
9168
9169 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
9170
9171         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
9172         send_event to TRUE.
9173         (gtk_drawing_area_size): queue a resize.
9174
9175 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
9176
9177         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
9178         the handlers, also invalidate them. bug nailed down by Karl Nelson
9179         <kenelson@ece.ucdavis.edu>.
9180
9181 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
9182
9183         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
9184         "(nil)" foundries, patch from Grigorios Magklis.
9185
9186         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
9187         on non-available fonts, based on a patch by Grigorios Magklis
9188         <maglis@cs.rochester.edu>.
9189
9190 2000-05-18  Elliot Lee  <sopwith@redhat.com>
9191
9192         * gdk/x11/gdkregion-generic.c: If a region does not have any
9193         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
9194         instead of GDK_OVERLAP_RECTANGLE_IN.
9195
9196 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
9197
9198         * gtk/gtklayout.c (gtk_layout_map): Remove references to
9199         OFFSCREEN, as it is no longer necessary.
9200
9201 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
9202
9203         * gtk/gtkcolorsel.c: Patch from David Santiago
9204         <mrcooger@cyberverse.com> to change things so that the 
9205         indicator of the active palette entry is done independently,
9206         not via the focus, since it should always be visible.
9207
9208 2000-05-17  Tor Lillqvist  <tml@iki.fi>
9209
9210         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
9211         refcount leaks as in the X11 backend.
9212
9213         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
9214         cosmetics.
9215
9216         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
9217         backend. Add _gdk_windowing_window_destroy().
9218
9219         * gtk/gtkcolorsel.c: Include correct backend-specific header.
9220         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
9221         either, but these probably do exist on nanox?)
9222         
9223         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
9224         which isn't necessarily defined by <math.h>.
9225
9226         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
9227         ancestry past GtkObject.
9228
9229         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
9230         from DLL on Win32.
9231
9232         * gtk/gtk.def: Update corresponding to recent changes.
9233
9234         * gtk/makefile.{cygwin,msc}: Updates.
9235
9236 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
9237
9238         * docs/Changes-1.4.txt: A bit of editing.
9239
9240         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
9241         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
9242         to clear the update area for the window, and clear it
9243         when hiding a window.
9244
9245         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
9246         if window destroyed.
9247
9248         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
9249
9250         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
9251         gdk_window_destroy() to the generic code, since there was a lot of 
9252         window-system-independent logic it in. Add a function:
9253         
9254          _gdk_window_destroy() 
9255
9256         to the internal API to destroy a window without unreferencing it.
9257         Add a function:
9258
9259          _gdk_windowing_window_destroy()
9260
9261         That does the windowing-system-dependent part of destroying 
9262         the window.
9263
9264 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
9265
9266         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
9267
9268 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
9269
9270         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
9271         Make gtk_widget_shape_combine_mask() keep a reference count on
9272         the pixmap since it keeps it around.
9273
9274 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
9275
9276         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
9277         leak.
9278
9279         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
9280         leak with event filters.
9281
9282 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
9283
9284         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
9285         signal handlers with the right data arguments. (Fixes
9286         some warnings when a widget was repeatedly set as a drag
9287         destination.)
9288
9289         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
9290         window so we can avoid avoid setting the DND properties on the
9291         toplevel window repeatedly.
9292
9293 2000-05-13  Tor Lillqvist  <tml@iki.fi>
9294
9295         * gdk/win32/gdkwin32.h: Define more message types missing from
9296         mingw headers.
9297
9298         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
9299         call gdk_window_destroy_notify(). It was never called. This
9300         probably meant that the GdkWindow was never freed. Thanks Owen for
9301         noticing (!).
9302
9303         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
9304         window as destroyed before calling DestroyWindow(). DestroyWindow()
9305         causes a call to the window procedure (gdk_WindowProc), which
9306         calls gdk_event_translate(), which calls
9307         gdk_window_destroy_notify(), which gets confused unless the window
9308         is set as destroyed.
9309
9310         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
9311         this function to indicate it's win32 only. Put inside #ifdef
9312         G_ENABLE_DEBUG.
9313
9314         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
9315         debugging function. (gdk_event_translate:) Add a default branch
9316         that uses the above function to print debug messages with all
9317         Windows messages symbolically.
9318
9319         * gdk/win32/gdkprivate-win32.h: Declare it, and
9320         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
9321
9322 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
9323
9324         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
9325         public header file.
9326
9327 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
9328
9329         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
9330
9331         * gtk/gtktext.c: made the adjustments no-construct args, simply
9332         provide default adjustments.
9333         (gtk_text_destroy): release adjustments.
9334
9335         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
9336         adjustment argument non-construct.
9337
9338         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
9339         instead of in finalize.
9340         (gtk_progress_get_text_from_value): 
9341         (gtk_progress_get_current_text): 
9342         (gtk_progress_set_value): 
9343         (gtk_progress_get_percentage_from_value): 
9344         (gtk_progress_get_current_percentage): 
9345         (gtk_progress_set_percentage): 
9346         (gtk_progress_configure): ensure an adjustment is present.
9347
9348 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
9349
9350         * gtk/gtkcolorsel.[hc]:
9351         * gtk/gtkcolorseldialog.[hc]:
9352         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
9353         their parent implementation, use bit fields for boolean values, don't
9354         create unused widgets, usage of glib types, braces go on their own
9355         lines, function argument alignment, #include directives etc. etc. etc..
9356
9357         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
9358
9359 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
9360
9361         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
9362
9363         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
9364         of NULL.
9365
9366         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
9367         to freed data.
9368         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
9369
9370         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
9371         to NULL when the toplevel is getting destroyed.
9372         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
9373         (gtk_menu_destroy): 
9374         (gtk_menu_init): store the information of whether we have to
9375         readd the initial child ref_count during destruction in a new
9376         GtkMenu field needs_destruction_ref_count.
9377
9378         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
9379         here, those reading: learn from my mistake! ;)
9380         in order for set_?adjustment to support a default adjustemnt if
9381         invoked with an adjustment pointer of NULL, the code read (pseudo):
9382         if (v->adjustment) unref (v->adjustment);
9383         if (!adjustment) adjustment = adjustment_new ();
9384         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
9385         now imagine the first unref to actually free the old adjustment and
9386         adjustment_new() creating a new adjustment from the very same memory
9387         portion. here, the latter comparision will unintendedly fail, and
9388         all hell breaks loose.
9389         (gtk_viewport_set_hadjustment):
9390         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
9391         after unreferencing it.
9392
9393         * gtk/gtkcontainer.[hc]: removed toplevel registration
9394         functions: gtk_container_register_toplevel(),
9395         gtk_container_unregister_toplevel() and
9396         gtk_container_get_toplevels() which had wrong semantics
9397         anyways: it didn't reference and copy the list.
9398
9399         * gtk/gtkwindow.c: we take over the container toplevel registration
9400         bussiness now. windows are registered across multiple destructions,
9401         untill they are finalized. the initial implicit reference count
9402         users are holding on windows is removed with the first destruction
9403         though.
9404         (gtk_window_init): ref & sink and set has_user_ref_count, got
9405         rid of gtk_container_register_toplevel() call. add window to
9406         toplevel_list.
9407         (gtk_window_destroy): unref the window if has_user_ref_count
9408         is still set, got rid of call to
9409         gtk_container_unregister_toplevel().
9410         (gtk_window_finalize): remove window from toplevel list.
9411         (gtk_window_list_toplevels): new function to return a newly
9412         created list with referenced toplevels.
9413         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
9414
9415         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
9416         adjustment a non-construct arg.
9417         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
9418         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
9419         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
9420
9421         * gtk/gtkrange.c: added some realized checks.
9422         (gtk_range_destroy): get rid of the h/v adjustments in the
9423         destroy handler instead of finalize. remove timer.
9424         (gtk_range_get_adjustment): demand create adjustment.
9425
9426         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
9427         we simply create them on demand now and get rid of them in
9428         the destroy handler.
9429         (gtk_viewport_destroy): get rid of the h/v adjustments in the
9430         destroy handler instead of finalize.
9431         (gtk_viewport_get_hadjustment): 
9432         (gtk_viewport_get_vadjustment): 
9433         (gtk_viewport_size_allocate): demand create h/v adjustment
9434         if required.
9435
9436         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
9437         gtk_widget_real_destroy () functionality.
9438         (gtk_widget_real_destroy): reinitialize with a new style, instead
9439         of setting widget->style to NULL.
9440
9441 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
9442
9443         * gtk/gtkcalendar.c:
9444         * gtk/gtkbutton.c: ported _get_type() implementation over to
9445         GType, either to preserve memchunks allocation facilities,
9446         or because Gtk+ 1.0 GtkTypeInfo was still being used.
9447
9448         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
9449         over. prepare for ::destroy to be emitted multiple times.
9450         removed reference tracer magic. chain into GObjectClass.shutdown()
9451         to emit ::destroy signal.
9452
9453         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
9454         fundamental.
9455
9456         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
9457         cludge.
9458
9459         * gtk/gtksocket.c:
9460         * gtk/gtkplug.c:
9461         * gtk/gtklayout.c:
9462         * gtk/gtklabel.c:
9463         * gtk/gtkargcollector.c:
9464         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
9465         not being a fundamental anymore, and to work with the new
9466         type system (nuked fundamental type varargs clutter).
9467
9468         * gtk/*.c: install finalize handlers in the GObjectClass
9469         part of the class structure.
9470         changed direct GTK_OBJECT()->klass accesses to
9471         GTK_*_GET_CLASS().
9472         changed direct object_class->type accesses to GTK_CLASS_TYPE().
9473
9474         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
9475         GType. made most of the GTK_*() type macros and Gtk* typedefs
9476         simple wrappers around macros and types provided by GType.
9477         most notably, a significant portion of the old API vanished:
9478         GTK_TYPE_MAKE(),
9479         GTK_TYPE_SEQNO(),
9480         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
9481         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
9482         GTK_TYPE_ARGS,
9483         GTK_TYPE_CALLBACK,
9484         GTK_TYPE_C_CALLBACK,
9485         GTK_TYPE_FOREIGN,
9486         GtkTypeQuery,
9487         gtk_type_query(),
9488         gtk_type_set_varargs_type(),
9489         gtk_type_get_varargs_type(),
9490         gtk_type_check_object_cast(),
9491         gtk_type_check_class_cast(),
9492         gtk_type_describe_tree(),
9493         gtk_type_describe_heritage(),
9494         gtk_type_free(),
9495         gtk_type_children_types(),
9496         gtk_type_set_chunk_alloc(),
9497         gtk_type_register_enum(),
9498         gtk_type_register_flags(),
9499         gtk_type_parent_class().
9500         replacements, where available are described in ../docs/Changes-1.4.txt.
9501         implemented compatibility functions for the remaining API.
9502
9503         * configure.in: depend on glib 1.3.1, use gobject module.
9504
9505 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
9506
9507         * TODO.xml: Various updates to current status.
9508
9509 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
9510
9511         * gtk.m4: Print out version when test succeeds.
9512
9513 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
9514
9515         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
9516         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
9517         
9518         (Original triangle color selector from Simon Budig
9519         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
9520         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
9521         Santiago <mrcooger@cyberverse.com>)
9522
9523         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
9524         out into a separate widget.
9525
9526         * gtk/testgtk.c: Add some checkbuttons for toggling palette
9527         and opacity controls.
9528
9529 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
9530
9531         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
9532         snuck in prematurely.
9533
9534 2000-05-07  Tor Lillqvist  <tml@iki.fi>
9535
9536         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
9537         had deleted a ! operator by mistake, which caused
9538         GDK_SELECTION_CLEAR events never to be generated, which caused
9539         only the first copy to the clipboard from an gtkeditable to
9540         actually cause a copy to the Windows clipboard.
9541
9542 2000-05-06  Tor Lillqvist  <tml@iki.fi>
9543
9544         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
9545         compilation, too. Current mingw gcc distributions include the
9546         necessary headers. Also the necessary IIDs are now in mingw
9547         headers/libraries, and own definitions unnecessary.
9548
9549         More hacking on OLE2 DND, still doesn't work though, and thus
9550         ifdeffed out.
9551
9552         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
9553         here, too.
9554
9555 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
9556
9557         * gdk/nanox/*: nano-X port work in progress.
9558         * gdk/simple.c: simple test for Gdk.
9559         * README.nanox: notes about the port: read this first!
9560         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
9561         with nano-X.
9562
9563 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
9564
9565         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
9566         gdk_window_clear() into common code, implement in terms of
9567         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
9568         not redirected to the backing rectangle.
9569
9570 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9571
9572         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9573         EXTRA_DIST. It does not work well when the file that
9574         everything depends on is not in the tarball.
9575
9576 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
9577
9578         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
9579         with recursion where process_updates() is called from
9580         an expose handler. (GtkTextView is highly broken in
9581         doing this, but it should work, so it is a nice test
9582         case.)
9583
9584 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9585
9586         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
9587         handle the case where updates are queued during processing of
9588         updates.
9589
9590 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9591
9592         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
9593         window is on gdk_display - use that instead of segfaulting.
9594
9595 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
9596
9597         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
9598         broken and require an empty arg, give it to them.
9599
9600 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
9601
9602         * gtk/gtklabel.h: indentation fixes.
9603
9604 2000-05-02  Tor Lillqvist  <tml@iki.fi>
9605
9606         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
9607         draw too narrow or too low arcs, they seem to fail, at least with
9608         some display drivers.
9609
9610         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
9611
9612         Large changes to the Win32 backend, partially made necessary by
9613         the changes to the backend-independent internal
9614         structures. Attempts to implement similar backing store stuff as
9615         on X11. The current (CVS) version of the Win32 backend is *not* as
9616         stable as it was before the no-flicker branch was merged. A
9617         zipfile with that version is available from
9618         http://www.gimp.org/win32/. That should be use by "production"
9619         code until this CVS version is usable. (But note, the Win32
9620         backend has never been claimed to be "production quality".)
9621
9622         * README.win32: Add the above comment about versions.
9623
9624         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
9625
9626         * gdk/gdk.def: Update.
9627
9628         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
9629         presumably be replaced by some more better mechanism as 1.4 gets
9630         closer to release shape.
9631
9632         * gdk/makefile.{cygwin,msc}: Update.
9633
9634         * gdk/win32/*.c: Correct inclusions of the backend-specific and
9635         internal headers. Change code according to changes in these. Use
9636         gdk_drawable_*, not gdk_window_* where necessary.
9637
9638         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
9639         our old DND.
9640
9641         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
9642         to interpret single characters as UTF-8. Thanks to Hans Breuer.
9643         Use correct function name in warning messages.
9644
9645         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
9646         GSourceFuncs gdk_event_prepare and gdk_event_check.
9647         (gdk_event_get_graphics_expose): Do implement, use
9648         PeekMessage. Thanks to Hans Breuer.
9649         (event_mask_string): Debugging function to print an GdkEventMask.
9650         (gdk_pointer_grab): Use it.
9651
9652         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
9653         (old) book I used claimed was Hangul actually is CJK Unified
9654         Ideographs Extension A. Also, Hangul Syllables were missing.
9655         Improve logging.
9656
9657         * gdk/win32/gdkgc-win32.c: Largish changes.
9658
9659         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
9660         g_win32_getlocale() from GLib, and not setlocale() to get current
9661         locale name.
9662
9663         * gdk/win32/gdkprivate-win32.h
9664         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
9665         gdkwin32.h, similarily as in the X11 backend.
9666
9667         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
9668         assignment was used instead of equals in if test. Thanks to Hans
9669         Breuer.
9670
9671         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
9672         the X11 version.
9673
9674         * gdk/win32/makefile.{cygwin,msc}
9675         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
9676         path to the Win32 headers that works also with the mingw compiler.
9677
9678         * gtk/gtkstyle.c: Include <string.h>.
9679
9680 2000-04-26  Havoc Pennington  <hp@redhat.com>
9681
9682         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
9683         replacing the broken gtk_label_get ()
9684
9685 2000-04-15  Havoc Pennington  <hp@pobox.com>
9686
9687         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
9688         this keeps scanner scripts from getting confused.
9689
9690         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
9691         data, rather than void
9692
9693 2000-04-15  Tor Lillqvist  <tml@iki.fi>
9694
9695         * gtk/gtkclist.c (gtk_clist_motion)
9696         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
9697         with is_hint FALSE, get x and y from the event. They used to be
9698         used uninitialised. The Win32 backend never sends motion events
9699         marked as hints. This for instance fixes the annoying file and
9700         font selector behaviour in the Win32 version.
9701
9702 2000-04-14  Tor Lillqvist  <tml@iki.fi>
9703
9704         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
9705         gtk_private_n_signals variables, they are used by some software,
9706         sigh.
9707
9708         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
9709         installation directory from the Registry, where the installer
9710         should have put it.
9711
9712 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
9713
9714         * gdk/x11/Makefile.am: Fix problem with installation directory for
9715         gdkx.h
9716
9717         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
9718         <mrcooger@cyberverse.com> so that when selecting menus with the
9719         mouse, the first item will not be selected, but when selecting
9720         with an accelerator, or navigating left-right on a menubar with
9721         the menus popped up, the first item will be selected.
9722
9723 2000-04-05  Dan Damian  <dand@dnttm.ro>
9724
9725         * configure.in: Added "ro" to ALL_LINGUAS.
9726
9727 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
9728
9729         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
9730         indentation.
9731
9732         * Makefile.am (EXTRA_DIST): Fix typo.
9733
9734         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
9735         to catch gdkconfig.h
9736
9737         * gtk/gtkitemfactory.c: Added FIXME.
9738
9739 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
9740
9741         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
9742         s/return_if_fail/return_val_if_fail/g and add a return value.
9743
9744 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9745
9746         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
9747         merge slipup.
9748
9749         * gdk/gdkinput.h: Fix missing line from merge.
9750
9751 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
9752
9753         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
9754         instead of gdkprivate.h.
9755
9756 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
9757
9758         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
9759         parent class to correctly be GtkDialogClass.
9760
9761 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
9762
9763         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
9764         toplevel windows and their immediate children by their parents,
9765         since the size of toplevel windows is out of our immediate
9766         control and we don't get any real benefit from trying to track
9767         this size for clipping.
9768
9769         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
9770         for input_only windows.
9771
9772         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
9773         to fix some hacks and make sure that we don't try to set the
9774         background of input only windows.
9775
9776 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
9777
9778         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
9779         the _really_ internal stuff, and leave gdkprivate.h for the fake private
9780         stuff that we've traditionally exposed.
9781
9782         * gdk/**.c: Use gdkinternals.h where appropriate.
9783
9784         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
9785         not include gdkprivate-x11.h, move all stuff of conceivable public
9786         interest into gdkx.h; keep all really private stuff in
9787         uninstalled header gdkprivate-x11.h.
9788
9789         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
9790         image->image_put on windows through a new function _gdk_window_draw_image()
9791         to allow us to do backing store for images. (Sort of ugly)
9792
9793         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
9794         contexts locally so that we can offset them properly when drawing 
9795         onto backing pixmaps.
9796
9797         * gdk/gdkinput.h: Reindented
9798
9799         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
9800         pixmap or color for the window, so we can properly initialize
9801         our double-buffer pixmaps, and also so that we temporarily set
9802         a background of None while scrolling.
9803
9804         * gdk/gdkregion.h: Revise region boolean operators to have an
9805         interface that is actually convenient - switch from creating new
9806         regions on every op, to "methods" that modify existing regions
9807         (A = A OP B). 3 argument forms which allow dest == src, would also
9808         be possible, but the current interfaces seem to map nicely
9809         onto what needs to be done. (There is quite a lot of region
9810         code in GDK now.)
9811
9812         * gdk/gdkregion.h: Add constructor from rectangle and a copy
9813         operator.
9814
9815         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
9816         gdkpoly-generic.h: Copy region code from Xlib, switch it over
9817         to 32 bit coordinates, modify it to be mostly GTK+ style
9818         and to have interfaces that match gdkregion.h.
9819
9820         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
9821         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
9822         create a backing pixmap and redirect all drawing to
9823         that backing pixmap until a matching gdk_window_end_paint().
9824
9825         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
9826         Create a special drawable class for GtkWindow's that 
9827         redirects the drawing to the backing pixmap as necessary
9828         and then calls the real operations in _gdk_windowing_window_class.
9829
9830         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
9831         Store invalid region for each window. Generate expose events for invalid
9832         region in an idle. This replaces both the expose compression
9833         and the redrawing queuing in GTK+. It is both more efficient and
9834         simpler than either one individually and far more so then the
9835         combination.
9836
9837         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
9838         Emulate 32 bit coordinates for windows with 16 bit coordinates
9839         by offsetting drawing, guffaw scrolling techniques and
9840         mapping/unmapping child windows as necessary.
9841
9842         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
9843         where, when invalid regions are processed, the region is stored,
9844         and if expose events come in that are detectably duplicate
9845         the processed exposes (by comparison of event serial numbers),
9846         the stored region is subtracted out of those exposes.
9847
9848         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
9849         regions newly exposed when scrolling or resizing windows.
9850         This, combined with forcing processesing of queued invalidated
9851         regions, gives nice flicker-free scrolling.
9852
9853         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
9854         invalidated regions after every scroll.
9855
9856         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
9857         emulation in GDK. Its, for all practical purposes just a
9858         GtkViewport/GtkFixed hybrid now.
9859
9860         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
9861         (16-bit) structures as necessary instead of just casting.
9862
9863         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
9864         in terms of the structures from gdkregion-generic.c, using appropriate
9865         offsets from GDK to X11 coordinates. Cache clip mask and
9866         origin and ts origin locally and only flush to the server
9867         when drawing, to avoid constantly setting and resetting these
9868         values when offsetting GC's for scrolling and backing pixmaps.
9869
9870         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
9871
9872         * gtk/gtkcontainer.c: Call process_all_updates at end
9873         of resizing to reduce flicker. (Avoids having redraw
9874         lag arbitrarily behind resize under some circumstances)
9875
9876         * gtk/gtkentry.c: Remove old backing store code, and simply take
9877         advantage of the new backing store capabilities of GDK.
9878
9879         * gtk/gtkmain.c: Simple implementation of widget backing
9880         store - simply push a paint while handling each expose.
9881         (Should really be configurable widget for widget.)
9882         
9883         * gtk/gtkwidget.c: Remove all the old complicated redraw
9884         code, and simply invalidate the GDK windows from
9885         gdk_window_queue_clear(), etc. (Sigh, so much carefully
9886         debugged complexity ... gone to the winds.)
9887
9888         Remove all the code for suppressing expose events while
9889         resizes are pending; this isn't needed since the invalid
9890         areas won't be processed until after the resizes are
9891         processed, since they are in a lower priority idle.
9892
9893 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
9894
9895         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
9896         and height of dest rectangle for non-intersecting rectangles.
9897
9898 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
9899
9900         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
9901         for GdkRectangle.
9902
9903 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
9904
9905         * gdk/gdk{events,image,private,types,window}.h
9906          gdk/x11/gdkinputprivate.h: Change all coordinates
9907          from int16 to int. Also, Change width and height from
9908          unsigned to signed to avoid all the stupid C 
9909          signedness bugs.
9910
9911 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
9912
9913         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
9914         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
9915         Add some more detailed checking.
9916
9917         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
9918         New function to retrieve the depth of a drawable.
9919
9920         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
9921         field, reorder fields to save memory. 
9922
9923 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
9924
9925         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
9926         of the background image instead of scaling the background down to
9927         a line.
9928
9929         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
9930         which temporarily set slider to wrong size.
9931
9932         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
9933         queue_clear().
9934
9935 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
9936
9937 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
9938
9939         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
9940
9941 2000-03-17  Tor Lillqvist  <tml@iki.fi>
9942
9943         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
9944         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
9945
9946         * gdk/win32/gdkfont-win32.c
9947         * gdk/win32/gdkproperty-win32.c
9948         * gdk/win32/gdkselection-win32.c
9949         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
9950         now declared such.
9951
9952 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
9953
9954         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
9955
9956 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
9957
9958         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
9959         is called without trapping X errors.
9960
9961 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
9962
9963         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
9964         way into the fontset lists.
9965
9966 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
9967
9968         * gtk/gtkthemes.h: add extern "C" scope.
9969
9970 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
9971
9972         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
9973         to make appends to the list constant. (gtk-guy-990901-0.patch)
9974
9975 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
9976
9977         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
9978         for the typename hash table.
9979
9980 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
9981
9982         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
9983         to make sure we never divide by zero. 
9984         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
9985
9986 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
9987
9988         * gtk/gtkfontsel.c: Apply patch from
9989         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
9990         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
9991
9992         Also, some cleanups in atom handling.
9993
9994 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
9995
9996         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9997         not GtkWidget.
9998
9999 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
10000
10001         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
10002         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
10003         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
10004         more guint wrap-around bugs before going to bed.
10005
10006 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
10007
10008         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
10009         guint wrap arounds in allocation.width.
10010
10011         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
10012         process untill we fit the allocation given.
10013
10014 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
10015
10016         * gtk/gtkwidget.c:
10017         (gtk_widget_unrealize): guard widget access with ref/unref
10018         around signal emission.
10019         (gtk_widget_hide): same here, but also check its destroyed
10020         state before queueing a resize.
10021
10022 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
10023
10024         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
10025         of gtk_default_insensitive_bg as insensitive base color.
10026
10027         * gtk/gtktext.c (gtk_text_style_set): set the background color according
10028         to the widget's state.
10029         (gtk_text_realize): same here.
10030         (gtk_text_state_changed): same here.
10031         (draw_bg_rect): compare background color against base[] from
10032         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
10033
10034 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
10035
10036         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
10037         grabs are active, unless a delete event is send to the toplevel
10038         of the currently grab holding widget.
10039
10040 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
10041
10042         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
10043         debugging g_print's.
10044
10045 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
10046
10047         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
10048         ever make the scrolled-window requisition ever depend on the 
10049         visibility state of the scrollbars for the AUTOMATIC policy. 
10050         This breaks the GTK+ requisition model, and causes loops.
10051
10052 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
10053
10054         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
10055         the default font to avoid problems with XFree86-4.0 where the
10056         default charset is iso10646-1, not iso8859-1.
10057
10058 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
10059
10060         * acinclude.m4
10061         * config.guess
10062         * config.sub
10063         * ltconfig
10064         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
10065
10066         * gtk/Makefile.am: minor cosmetic consistency tweak
10067
10068 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
10069
10070         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
10071         the activate_time to 0, so that we handle a quick
10072         press/release press/release properly and don't suppress
10073         the second release. (Red Hat bug #7545)
10074
10075 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
10076
10077         * gtk/gtkctree.c (row_delete):
10078         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
10079         bugs with destruction notifier, *always* update internal
10080         structures *before* calling user code.
10081
10082 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
10083
10084         A few more fixes for bug #5487, #2051, #2677.
10085         * gtk/gtkclist.c : 
10086         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
10087         not GDK_BUTTON_PRESS.
10088         (resync_selection): resync only if selection_mode is
10089         GTK_SELECTION_EXTENDED
10090         * gtk/gtkctree.c (resync_selection): same here
10091
10092 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
10093
10094         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
10095         gdk_drag_get_selection() and gtk_menu_detach().
10096
10097         [ From Jeroen Ruigrok/Asmodai ]
10098
10099 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
10100
10101         * gtk/gtknotebook.c (gtk_notebook_size_request): 
10102         page->tab_label can be NULL.
10103
10104 2000-01-25  Havoc Pennington  <hp@pobox.com>
10105         
10106         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
10107         arg is boolean
10108
10109         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
10110
10111         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
10112
10113         * gdk/gdkproperty.c (gdk_property_get): return boolean
10114
10115         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
10116
10117         * gdk/gdkim.c (gdk_im_ready): return boolean
10118
10119         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
10120
10121         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
10122         glib clash, should fix glib)
10123
10124         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
10125         (gdk_get_show_events): return gboolean, and canonicalize 
10126         to TRUE/FALSE
10127
10128         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
10129         colormap is private
10130         (gdk_colors_alloc): gboolean whether to be contiguous
10131         (gdk_color_equal): return gboolean since we are a predicate
10132         and not a qsort() (this looks semi-wrong due to glib breakage,
10133         IMO glib should be fixed)
10134         
10135         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
10136         (gdk_get_use_xshm): return gboolean
10137         (gdk_pointer_is_grabbed): return gboolean
10138
10139         * gdk/gdk.h: Change prototypes to match all the above changes,
10140         and re-run egtk-format-protos as required.
10141
10142 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
10143
10144         * gtk/gtkctree.c (resync_selection): 
10145         * gtk/gtkclist.c (resync_selection):
10146
10147         Return immediately if clist->drag_pos < 0. This is a workaround
10148         for the corrupt state that the clist gets into when a
10149         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
10150
10151         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
10152         
10153         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
10154         variable from recent commit.
10155
10156 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
10157
10158         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
10159
10160 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
10161
10162         * gtk/Makefile.am: prefix all autogenerated source that get build in
10163         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
10164         in builddir. since we subsequently cd into srcdir for autogeneration,
10165         the paths have to be stripped from the target file names, thusly we
10166         use $(@F) as target names now.
10167         put a comment about configure.in's --disable-rebuilds option,
10168         which can be used for non-writable source directories, for development
10169         setups though, srcdir has to be *writable*.
10170
10171 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
10172
10173         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
10174           Finish the job of allowing event to be NULL.
10175           (Fixes bug #4283, reported by Chris Blizzard)
10176
10177         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
10178           things so that the cursor appears on screen, properly
10179           take into account INNER_BORDER.
10180           (Fixes bug #4754, reported by Antonio Campos)
10181
10182 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
10183
10184         * gtk/gtknotebook.c (gtk_notebook_map): Don't
10185           show the tab_label unless it itself is visible.
10186
10187           gtk/gtknotebook.c (gtk_notebook_size_request):
10188           Do a better job of making sure that the visibility
10189           of the tab label corresponds to whether it should
10190           be mapped or not.
10191
10192 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
10193
10194         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
10195           Use the requisition, not the allocation, since the
10196           allocation has not necessarily been computed yet.
10197           (Pointed out by Eugene Osintsev)
10198
10199 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
10200
10201         * gtk/gtkstyle.c (gtk_style_new): Dont' set
10202           style/base[GTK_STATE_INSENSITIVE] both to
10203           gtk_default_insensitive_bg!
10204           (Bug #2187, reported by Jonathan Blandford)
10205
10206         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
10207           Add Alt_L, Alt_R to list of invalid accelerators.
10208           (Bug #3736, reported by Vlad Harchev)
10209
10210 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
10211
10212         * gtk/gtkfilesel.c (open_ref_dir): Fix several
10213         bugs which occured after an attempt to open 
10214         invalid home directory left cmpl_state->reference_dir == NULL.
10215
10216          - completion on files in home directory didn't work
10217          - completion on an empty string caused  segfault
10218
10219          (Bug #3678, reported by Steve Ratcliffe)
10220
10221         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
10222         cut and paste error that was causing scales to
10223         be incorrectly positioned.
10224         (Bug #2956,
10225          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
10226
10227 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
10228
10229         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
10230         when checking for dcgettext, if we've found we needed
10231         it for dgettext.
10232 +
10233 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
10234
10235         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10236         queue_clear on NO_WINDOW widgets during a reparent,
10237         since at that point the window and widget heirarchies
10238         are out of sync. This stops crashing in some cases
10239         (the scrolled window reparent test, for instance), and
10240         _probably_ won't cause drawing errors.
10241
10242         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
10243         test do what it was supposed to do and be robust against
10244         window closings, etc. (Bug #2443)
10245
10246 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
10247
10248         * gtk/gtkentry.c: Fix return values on mouse events.
10249         (Bug #2686, Sky <seb_sky@yahoo.com>)
10250
10251         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
10252         (pointed out by George Lebl)
10253
10254         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
10255         (From Ettore Perazzoli  <ettore@helixcode.com>)
10256  
10257 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
10258
10259         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
10260         clicks between rows or outside calender area correctly.
10261         (Patch from Damon Chaplin)
10262
10263         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
10264         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
10265           Call destroy function when overwriting existing data. 
10266           (Pointed out by Damon Chaplin)
10267
10268 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
10269
10270         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
10271           which was causing problems on various systems with Xmu.
10272           This hasn't been needed for a very long time.
10273           (Fixes #1185 3167)
10274
10275 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
10276
10277         * gdk/gdki18n.h: Include <ctype.h> when defining
10278           gdk_isw* in terms of is* as a fallback.
10279           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
10280
10281 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
10282
10283         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
10284           realize the widget when it is size allocated!
10285           (old, old bug)
10286
10287         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
10288           Removed unused call to gdk_window_get_size() that
10289           showed up when the above was fixed.
10290
10291 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
10292
10293         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
10294           fix up widget->window when the widget is a
10295           NO_WINDOW container widget.
10296
10297 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
10298
10299         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
10300           to account for the fact that feof() does _not_ 
10301           return TRUE on errors, and thus avoid infinite loops
10302           when trying to use gdk_pixmap_create_from_xpm()
10303           on unreadable values.
10304
10305 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
10306
10307         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
10308
10309 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
10310
10311         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
10312           gdk_gc_set_dashes to take gint8 instead of gchar to
10313           make it clearer that it is _not_ a NULL terminated string.
10314
10315         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
10316           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
10317           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
10318           arguments.
10319
10320 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
10321
10322         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
10323         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
10324         background size relative to our allocation, guard against small
10325         allocations, we may have not yet been size allocated.
10326
10327 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
10328
10329         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
10330         not just version == 3. We implement all 3 + most of 4 - 
10331         (we don't support matching text/plain;charset=iso-8859-1
10332         to a dest that expects text/plain). We'll still advertise
10333         3 to be safe, but any client implementing version >= 3
10334         must interoperate with 3.
10335         
10336 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10337
10338         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
10339         background and gc members, add a warning in gtk_tooltips_set_color()
10340         indicating that this function is deprecated.
10341
10342 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
10343
10344         * docs/gtkfaq.sgml: FAQ Update:
10345           - Minor cleanups (Emmanuel, me)
10346           - New questions:
10347                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
10348                 How can I retrieve the text from a GtkMenuItem? (timj)
10349                 How do I validate/limit/filter the input to a GtkEntry? (me)
10350                 Memory does not seem to be released when I free the list
10351                         nodes I've allocated (timj)
10352
10353 2000-03-07  Tor Lillqvist  <tml@iki.fi>
10354
10355         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
10356         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
10357         for which it is no use to call GetLastError onWin9x.
10358         (gdk_other_api_failed) New function, for general error
10359         reporting without calling GetLastError.
10360         (gdk_win32_api_failed) OTOH, this function always calls
10361         GetLastError. (gdk_win32_last_error_string) Remove this function,
10362         GLib has the equivalent now.
10363
10364         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
10365         call them with function name, file name and line number in the
10366         arguments.
10367
10368         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
10369         functions.
10370         
10371         * gtk/gtk.def: Add some missing entry points.
10372
10373         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10374         gtk_paned_set_gutter_size, which don't exist any longer, as void.
10375         
10376         Fixes by Hans Breuer:
10377
10378         * gdk/makefile.msc: Update for debugging.
10379
10380         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
10381         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
10382         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
10383         in the dash_list.
10384
10385         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
10386         the x11 backend.
10387
10388         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
10389
10390         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
10391
10392 2000-03-04  Tor Lillqvist  <tml@iki.fi>
10393
10394         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
10395         just pixel value of background colour.
10396
10397         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
10398         containing code snippet previously duplicated in a couple of
10399         places.
10400         
10401         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
10402         gdk_colormap_color.
10403
10404         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
10405         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
10406         events for autorepeated Shift, Control and Alt keys. Use
10407         gdk_colormap_color.
10408
10409         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
10410         pointer is inside the window the cursor of which we are setting,
10411         call SetCursor immediately.
10412
10413         * gdk/win32/makefile.cygwin
10414         * gtk/makefile.cygwin: If we don't have the build number stamp
10415         file, use zero.
10416
10417         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10418         gtk_paned_set_gutter_size as empty.
10419
10420         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
10421         
10422 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
10423
10424         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
10425           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
10426           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
10427           docs/gtk_tut.sgml docs/gtk.texi TODO:
10428
10429           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
10430
10431 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
10432
10433         * gtk/gtkcalendar.c: Implement num_marked_dates,
10434           and don't emit mutiple day_selected signals on
10435           month_prev.
10436
10437 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
10438
10439         * docs/make-todo (lineno): let title and logo be configurable so
10440         that GNOME can use this script too.
10441
10442         * TODO.xml: added logourl and a title
10443
10444 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
10445
10446         * TODO.xml: Added some UI items, and an explanatory
10447         comment at the top of the file.
10448
10449 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
10450
10451         * TODO.xml: some updates, added abunch of new entries.
10452         a note for those fiddeling with this file, when done
10453         with it, invoke:
10454         $ ./docs/make-todo TODO.xml >/dev/null
10455         and correct output errors before comitting changes.
10456
10457 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
10458
10459         * TODO.xml: Added XML-structured TODO file.
10460         * docs/make-todo: python script to turn TODO.xml into
10461           pretty XML output. 
10462
10463 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
10464
10465         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
10466         the function to let it draw the seven dots, instead of the old,
10467         much maligned, method.
10468         (draw_dot): New function to draw a dot.
10469
10470         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
10471         to draw the handle inside the border width as opposed to outside.
10472         Use paint function instead of gdk_draw_point.
10473
10474         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
10475         to draw the handle inside the border width as opposed to outside.
10476         Use paint function instead of gdk_draw_point.
10477
10478         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
10479         Change indenting to be more GTK like.
10480
10481 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
10482
10483         * docs/gtk_tut.sgml: New section on GtkCalendar
10484         * examples/calendar: Update example code
10485
10486 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
10487
10488         * docs/gtkfaq.sgml: FAQ Update
10489
10490 2000-02-19  Anders Carlsson  <andersca@gnu.org>
10491
10492         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
10493         to prevent the scroll event to be propagated upwards.
10494
10495 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10496
10497         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
10498         OwnerGrabButtonMask from button entries for
10499         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
10500
10501         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
10502         to the event mask (which will result in button/press release
10503         being added to the event mask on Unix) so scrolling works
10504         for layouts in scroll windows.
10505
10506         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
10507
10508         Patch from Anders Carlsson  <andersca@gnu.org> to add
10509         a scroll event.
10510
10511         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
10512         scrolling to the "Test Scrolling" part of testgtk.
10513  
10514         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
10515  
10516         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
10517         it against GDK_SCROLL.
10518  
10519         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
10520         way of mouse wheel scrolling.
10521  
10522         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
10523  
10524         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
10525  
10526         * gtk/gtkmain.c: Removed previous mouse wheel hack.
10527  
10528         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
10529         gdk_event_mask_table.
10530  
10531         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
10532         GdkEventScroll handler.
10533  
10534         * gdk/gdkevents.h: Added GdkEventScroll structure.
10535  
10536 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
10537
10538         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
10539         and Anders Carlsson to change the Paned widgets so that they
10540         can be dragged from anywhere along the length. Also change
10541         the way that this is drawn to make this apparent.
10542
10543         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
10544         from George Lebl to check that option_menu->menu is present
10545         before getting history.
10546
10547 2000-02-14  Tor Lillqvist  <tml@iki.fi>
10548
10549         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
10550         before the assertion for non-NULL segment list.
10551
10552         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
10553         Seems that pattern brushes *must* be 8x8 pixels! At least on my
10554         machine, but it might be display driver dependent. Sigh, so make
10555         sure the stipple is that size. Does Windows suck or what?
10556
10557         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
10558         places.
10559
10560 2000-02-13  Havoc Pennington  <hp@pobox.com>
10561
10562         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
10563         refcount to 1
10564         (gdk_cursor_new): init refcount to 1
10565
10566         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
10567
10568 2000-02-13  Tor Lillqvist  <tml@iki.fi>
10569
10570         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
10571         so that we don't have to do unnecessary settings to the HDC.
10572
10573         * gdk/win32/gdkdrawable-win32.c
10574         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
10575         gdk_gc_predraw.
10576
10577         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
10578         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
10579         GDI paths, call WidenPath to get the outline of the stroken path,
10580         and then fill the outline (with the brush that was built from the
10581         stipple).
10582
10583         * gdk/win32/gdkgc-win32.c: Factor out common code from
10584         _gdk_win32_gc_new and gdk_win32_gc_set_values into
10585         gdk_win32_gc_values_to_win32values. Use correct colour for
10586         SetBkColor() (Until now the code actually used a random colour in
10587         the call to SetBkColor()... but that didn't show up as not many
10588         GDI APIs use the background colour. Pattern (opaque stippled)
10589         brushes do.)
10590
10591         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
10592         gdk_win32_api_failed): New functions for error logging.
10593
10594         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
10595         WIN32_API_FAILED to call them, passing function or file name and
10596         line number.
10597
10598         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
10599
10600         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
10601         GdkColor for foreground and background in GdkGCWin32Data.
10602
10603         * gdk/makefile.cygwin: Link in the resource object separately.
10604
10605         * gdk/win32/rc/gdk.rc
10606         * gtk/gtk.rc (New file)
10607         * gdk/win32/makefile.cygwin
10608         * gtk/makefile.cygwin: Update build number in DLLs automatically,
10609         as in GLib.
10610
10611 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
10612
10613         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
10614         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
10615         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
10616         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
10617         parameters given and cursor->ref_count. coding style fixups.
10618
10619         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10620         not GtkWidget.
10621         
10622         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
10623         fix up widget macros and add _GET_CLASS() variant.
10624         
10625         * gtk/*.c: some GtkType fixups.
10626
10627 2000-02-09  Tor Lillqvist  <tml@iki.fi>
10628
10629         * gdk/win32/gdkproperty-win32.c
10630         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
10631         were reversed.
10632
10633 2000-02-04  Tor Lillqvist  <tml@iki.fi>
10634
10635         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
10636         g_filename_to_utf8 to convert the font names Windows gives us from
10637         whatever is the default codepage to UTF-8.
10638         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
10639         in the other direction.
10640
10641         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
10642         error in debugging output.
10643
10644 2000-02-02  Tor Lillqvist  <tml@iki.fi>
10645
10646         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
10647         and height parameters to gdk_window_clear_area(). Not minus one.
10648
10649 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
10650
10651         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
10652         checks if the widget passed to gtk_drag_get_data() was not the
10653         dest widget.
10654
10655 2000-02-01  Tor Lillqvist  <tml@iki.fi>
10656
10657         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
10658         g_filename_from_utf8 functions (which were added a moment ago to
10659         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
10660         size buffers.
10661
10662         gtk_file_selection_get_filename returns the filename in the C
10663         runtime encoding. It calls g_filename_from_utf8, but copies the
10664         returned string to a static buffer, which is returned. I think
10665         this is better than returning the result from g_filename_from_utf8
10666         directly, which would mean all apps that use it would have to free
10667         the return value. Or should this function care about this issue at
10668         all? Maybe a new function with clearly defined semantics.
10669
10670         * gtk/gtkfilesel.h: Add comment about
10671         gtk_file_selection_get_filename returning the filename in the C
10672         runtime's encoding.
10673
10674         * README.win32
10675         * gdk/gdk.def
10676         * gdk/makefile.{cygwin,msc}
10677         * gtk/gtk.def: Updates.
10678
10679         * gdk/gdkcursor-win32.c: Initialise refcount.
10680
10681 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
10682
10683         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
10684
10685 2000-01-30  Havoc Pennington  <hp@pobox.com>
10686
10687         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
10688         destroy
10689
10690         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
10691
10692         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
10693         implemented in platform-specific code
10694
10695         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
10696
10697         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
10698         underscore in front
10699
10700         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
10701         put an underscore in front
10702
10703         * gdk/gdkcursor.c: new file, implements
10704         gdk_cursor_ref/gdk_cursor_unref
10705
10706         * gdk/gdkcursor.h: Refcount GdkCursor
10707
10708         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
10709
10710 2000-01-29  Tor Lillqvist  <tml@iki.fi>
10711
10712         * gdk/gdkwindow.h
10713         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
10714
10715 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10716
10717         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
10718         structures to properly inherit from GtkWidget not GtkBin.
10719
10720 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
10721
10722         * gtk+.spec.in: Added lib/gtk+/include/* to %files
10723         (bug #5178 - Peter Wainright)
10724         
10725         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
10726         so that it will be installed.
10727         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
10728
10729 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
10730
10731         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
10732         for the GtkStyleClass vtable const.
10733
10734         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
10735         take a const string argument like GtkTranslateFunc. This will
10736         require changes in use code.
10737
10738 2000-01-19  Tor Lillqvist  <tml@iki.fi>
10739
10740         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
10741         semantics (to mimic the X11 backend, which just calls XClearArea)
10742         is to check for zero width (and height), and in that case use the
10743         window's width minus x (height minus y). This fixes for instance
10744         some redraw problems with gtkclist, which were easily noticeable
10745         in the gtk file selection widget.
10746
10747         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
10748         windows.
10749
10750 2000-01-13  Tor Lillqvist  <tml@iki.fi>
10751
10752         * configure.in
10753         * gdk/Makefile.am
10754         * gdk/x11/Makefile.am
10755         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
10756         (bug #5177).
10757         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
10758         out later.
10759
10760 2000-01-09  Tor Lillqvist  <tml@iki.fi>
10761
10762         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
10763         WM_MOVE for iconified or invisible windows. This fixes various
10764         problems when minimising windows. Thanks to Bernd Herd.
10765
10766 2000-01-05  Tor Lillqvist  <tml@iki.fi>
10767
10768         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
10769         backend's draw_lines method, not draw_points.
10770
10771 2000-01-02  Tor Lillqvist  <tml@iki.fi>
10772
10773         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
10774         before Owen's reorganisation: Don't have queued_events and
10775         queued_tail statics in this file, but use gdk_queued_events and
10776         gdk_queued_tail. This makes exposure event compression work again.
10777
10778         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
10779         seem to be needed?
10780
10781 1999-12-30  Tor Lillqvist  <tml@iki.fi>
10782
10783         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
10784         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
10785         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
10786         doesn't do anything.
10787
10788         * gdk/gdk.def: Add gdk_xid_table_insert.
10789
10790         * gdk/win32/gdkprivate-win32.h
10791         * gdk/win32/gdkevents-win32.c
10792         * gdk/win32/gdkinput-win32.c
10793         
10794         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
10795         extension_events field in the GdkWindowWin32Data struct. Use only
10796         the extension_events field in GdkWindowPrivate. Previously one was
10797         set, and the other one tested, which broke tablet
10798         functionality. Thanks to Keishi Suenaga for pointing this out.
10799
10800 1999-12-18  Tor Lillqvist  <tml@iki.fi>
10801
10802         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
10803         When handling a single character (text length == 1), don't handle
10804         it as if it was UTF-8.
10805
10806 1999-12-11  Tor Lillqvist  <tml@iki.fi>
10807
10808         * Makefile.am: Distribute README.win32.
10809         
10810         * gdk/Makefile.am
10811         * gdk/win32/Makefile.am: Distribute Win32 files.
10812
10813         * gdk/makefile.msc: New file.
10814
10815         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
10816         after label).
10817
10818         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
10819         gdk_error_code as GDKVAR, as they are referred outside GDK.
10820
10821         * gdk/win32/makefile.msc: Update.
10822
10823         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
10824         tweaks. Check only if at least one of those Unicode subrange bits
10825         we care for is set. If no code page bits are set, guess (wildly)
10826         based on the charset.
10827
10828         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
10829
10830         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
10831         non-NULL.
10832
10833         * gtk/gtkdnd.c
10834         * gtk/gtklayout.c
10835         * gtk/gtkplug.c
10836         * gtk/gtkselection.c
10837         * gtk/gtksocket.c
10838         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
10839         appropriate. There must be a cleaner way to handle this?
10840
10841         * gtk/gtkrc.c: Must include windows.h on Win32.
10842
10843         * gtk/testgtk.c: No need to include gdkx.h.
10844
10845         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
10846
10847 1999-12-07  Tor Lillqvist  <tml@iki.fi>
10848
10849         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
10850         the rbearing is set to the same as the width, but this should be
10851         fixed.
10852
10853 1999-12-06  Tor Lillqvist  <tml@iki.fi>
10854
10855         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
10856         function. If Windows doesn't tell us what Unicode subranges a font
10857         covers, guesstimate based on the codepages it covers. This will
10858         hopefully help those Windows versions or fonts that don't give us
10859         any useful Unicode subrange information with GetTextCharsetInfo.
10860         Call this function in gdk_font_load_internal.
10861
10862         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
10863         minor changes.
10864
10865 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
10866
10867         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
10868         New function, long needed.
10869
10870 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
10871
10872         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
10873         only_if_exists argument of gdk_atom_intern to
10874         bool.
10875
10876 1999-11-25  Tor Lillqvist  <tml@iki.fi>
10877
10878         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
10879         Fix two copy&paste errors.
10880
10881         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
10882         win32 has changed.
10883
10884         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
10885         GdkWin32SingleFont struct.
10886
10887         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
10888         subranges of loaded fonts. Clear font signature first, in case
10889         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
10890         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
10891
10892         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
10893         Unoffset clip region.
10894
10895 1999-11-23  Tor Lillqvist  <tml@iki.fi>
10896
10897         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
10898         event->any.window before calling filter functions.
10899
10900 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
10901
10902         * gtk/gtkgamma.h: Adapt cast macros to standard.
10903
10904 [ Merges from 1.2 ]
10905
10906 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
10907
10908         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
10909         If translation does not include a '/', use entire
10910         translation instead of crashing.
10911
10912 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
10913
10914         * docs/gtk_tut.sgml:
10915         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
10916
10917 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
10918
10919         * gtk/gtkselection.c (gtk_target_list_remove): Use
10920         g_list_remove_link, not g_list_remove.
10921
10922         [ From Geert Bevin <gbevin@thunderstorms.org> ]
10923         
10924 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
10925
10926         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
10927         statement upon unselection (how the heck did that slip in?).
10928
10929 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
10930
10931         * gtk/gtktext.c (gtk_text_freeze): 
10932         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
10933         in frozen state (and aparently crashes). patch provided by Anders
10934         Melchiorsen <and@kampsax.dtu.dk>.
10935
10936 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
10937
10938         * fix insensitive default/focus widget activation,
10939         reported by Matt Goodall <mgg@isotek.co.uk>.
10940
10941         * gtk/gtkwindow.c (gtk_window_key_press_event): 
10942         (gtk_window_activate_default):
10943         (gtk_window_activate_focus):
10944         return handled=FALSE for actiavtion of insensitive default
10945         widgets. return handled=TRUE for activation of insensitive
10946         focus widgets. don't activate in either case.
10947
10948 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
10949
10950         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
10951         and $glib_cflags to match library order and in the
10952         theory that an old version of GLib is more likely to
10953         be in the include directory for X then vice-versa.
10954         (Bug #2776)
10955
10956 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
10957
10958         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
10959         to determine the locale for fontsets, not LC_MESSAGES;
10960         the user may want English messages with a handling
10961         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
10962         will still be broken) (Bug #2891)
10963
10964 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10965
10966         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
10967
10968 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10969
10970         * gtk/gtkrc.ko: Changed the Korean default fontset.
10971
10972 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
10973
10974         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
10975         where when scrolling to the left or top double exposes
10976         were done, causing major slowdowns.
10977
10978 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
10979
10980         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
10981         names to lowercase and alphanumeric, before looking
10982         them up.
10983
10984         * gtk/Makefile.am: Install codeset variant gtkrc files
10985         with normalized names.
10986
10987 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
10988
10989         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
10990         popup menus when the menu is already visible, but its parent
10991         is still hidden, (happens after tornoff window got hidden).
10992
10993 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
10994
10995         * gtk/Makefile.am (install-data-local): Fix
10996         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
10997         deleted, causing error messages on install.
10998
10999 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
11000
11001         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
11002         the handle as well, since we now sometimes ignore
11003         exposes on the handle while resizing.
11004
11005 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
11006
11007         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
11008         extra g_free introduced in one of the last one or two 
11009         commits.
11010
11011 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
11012
11013         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
11014         consistent, put each style that a gtkrc.* file creates
11015         in a unique namespace, remove old files before installing.
11016
11017 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
11018
11019         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
11020         gtk_rc_init is called multiple times. (Yes, people who
11021         do that have bugs in their code.)
11022
11023 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
11024
11025         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
11026         Remove it since it's generated by the Makefile anyway
11027
11028 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
11029
11030         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
11031         device->info.axes for core pointer.
11032
11033 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
11034
11035         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
11036         idle_id, to deal with obsolete, broken C libraries.
11037
11038 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
11039
11040         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
11041         allocation->x/y twice!
11042
11043         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
11044         consistent with gtk_vscale_pos_trough().
11045
11046 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
11047
11048         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
11049         be queueing a resize on a toplevel container between
11050         the time we show it and when we map it. So, we need
11051         to test GTK_WIDGET_VISIBLE() for toplevels, and only
11052         use GTK_WIDGET_DRAWABLE() for child windows.
11053
11054 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
11055
11056         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
11057         (fixes bug #2144)
11058
11059 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
11060
11061         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
11062         container DRAWABLE (instead of VISIBLE), so we don't queue
11063         resizes on non-toplevel containers.
11064
11065 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
11066
11067         * gtk/gtkselection.[ch]: Make the data argument
11068         const guchar *.
11069
11070 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
11071
11072         * gtk/gtkwindow.c: Try to behave sensibly if 
11073         the focus widget is the window itself. (Should
11074         we allow this at all?)
11075
11076 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11077
11078         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
11079         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
11080         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
11081         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
11082         in prototypes and implementations consistent (Tomas Ogren).
11083
11084         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
11085         before the widget is unparented (reported by damon).
11086
11087         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
11088         since we provide unsigned data anyways.
11089
11090 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
11091
11092         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
11093         the call to gtk_tooltips_layout_text() until later.
11094
11095         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
11096         Call gtk_widget_ensure_style() before using the style.
11097
11098 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
11099
11100         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
11101         for old widgets that don't propagate draws to all
11102         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
11103
11104 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
11105
11106         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
11107         for a redraw but just the widget that requested the resize.
11108
11109 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
11110
11111         * gtk/gtkcontainer.c: added new widget level method
11112         gtk_container_set_reallocate_redraws() and a GtkContainer flag
11113         reallocate_redraws : 1 to reflect the setting, exported this through
11114         the argument system as a boolean ::reallocate_redraws.
11115
11116         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
11117         on the widget because the allocation changes, do so as well for
11118         widget->parent if the parent has reallocate_redraws set to TRUE.
11119         with that containers requesting reallocation redraws get automatically
11120         redrawn if their children changed allocation (this unfortunately
11121         affects also other children that didn't change allocation, but we
11122         cannot work around that before 1.3).
11123
11124 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11125
11126         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
11127         _and_ height are >0 (not _or_).
11128
11129         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
11130         instead of gtk_container_queue_resize(), which is a core gtk internal
11131         function (must have been on crack when i queued that).
11132
11133         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
11134         we can check more reliably if we want to discard expose events.
11135         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
11136         flag.
11137         
11138         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
11139         we simply trust these events. for deciding whether to discard exposes,
11140         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
11141         
11142 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
11143
11144         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11145         queues of areas that are completely off screen.
11146
11147         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
11148         logic for handleboxes.
11149
11150         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
11151         check on width/height.
11152
11153 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
11154
11155         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
11156         we are fine with using $@ the way we do (if we actually encounter
11157         brokeness with $@ in VPATH builds because of additional path prefixes,
11158         we need to use $(@F) actually).
11159
11160 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
11161
11162         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
11163         short lived bugs, that would allow language bindings to do surgeries
11164         to our guts.
11165
11166 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
11167
11168         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
11169         where comparison was being done against an uninitialized
11170         value causing intermittant results depending on
11171         compiler flags. Also make it clearer that we aren't
11172         ever initializing the child as 0x0 (though this will
11173         be caught in gtk_widget_size_allocate())
11174
11175 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
11176
11177         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
11178         gtk_window_unset_transient_for() call after we do checks
11179         involving the old transient parent.
11180         [ From Lance Capser <lmc@cyberhighway.net> ]
11181
11182 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
11183
11184         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
11185         an empty file.
11186
11187 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
11188
11189         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
11190         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
11191
11192 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
11193
11194         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
11195         `$@' is valid only in the build dir, not after we've done 
11196         `cd $srcdir'.  Also use `test -f' instead of less portable
11197         `test -e'.
11198
11199 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
11200
11201         * gtk/gtktext.c (correct_cache_insert): Rewrite
11202          for simplicity, and hopefully correctness.
11203          (Fixes bug #1322, which was a segfault when
11204           on some insertions with the properties around
11205           the insertion set up just wrong.)
11206
11207         * gtk/gtktext.c (gtk_text_adjustment): When we receive
11208          a "changed" signal, clamp the new value to the adjustment
11209          bounds to avoid segfaulting if someone tries to change
11210          the adjustment to a bogus value. (Bug #1795)
11211
11212 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11213
11214         * gtk/gtkmain.c: Ignore unexpected destroy notifies
11215         for children, for toplevel windows handle them
11216         like delete_event.
11217
11218         * gtk/gtkplug.c: Add an unrealize handler so that
11219         we unref plug->socket_window when we are done
11220         with it.
11221
11222 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
11223
11224         * gtk/gtktext.c (clear_area): Fix stupid signedness
11225          problem that was causing background to sometimes
11226          be misaligned.
11227
11228 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
11229
11230         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
11231         
11232         * gtk/gtkmenu.c (gtk_menu_position): Make
11233          sure we never position menus with negative x, y,
11234          since gtk_widget_set_uposition() can't handle that.
11235
11236         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
11237          Modify the positioning code a bit so that we always
11238          put the top-left corner onscreen. (This is for
11239          UI reasons, gtk_menu_position() now takes care of
11240          gtk_widet_set_uposition() brokeness.)
11241
11242 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
11243
11244         * gtk/Makefile.am: fixed up things for -jx, x > 1.
11245
11246 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
11247
11248         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
11249           RC style that is passed in. The lack of the ref
11250           before was a bug. If people worked around this
11251           bug, this will introduce a slight memory leak
11252           in their code. The code should typically look like:
11253
11254             rc_style = gtk_rc_style_new ();
11255             [...]
11256             gtk_widget_modify_style (widget, rc_style);
11257             gtk_rc_style_unref (rc_style);
11258
11259         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
11260           the style if it was already set.
11261
11262         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
11263           style if it was set before.
11264
11265 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11266
11267         * gtk/testgtk.c (main): Add a check to see if we
11268           are being run from the correct directory and
11269           to quit nicely if we are not.
11270
11271         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
11272           static.
11273
11274 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
11275
11276         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
11277
11278         * gtk/gtkwindow.c:
11279         queue resizes unconditionally (gtk_widget_queue_resize will figure
11280         what to do if the window is not realized).
11281         (gtk_window_move_resize): only recenter the window
11282         for GTK_WIN_POS_CENTER_ALWAYS.
11283         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
11284         the same way as GTK_WIN_POS_CENTER.
11285
11286 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
11287
11288         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
11289         with (!(info->last_flags & GDK_HINT_POS)) instead of
11290         (!info->last_flags & GDK_HINT_POS).
11291
11292         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
11293         new_height unconditionally, because we use these values even if
11294         !default_size_changed && !hints_changed.
11295         comented the (default_size_changed || hints_changed) case with
11296         respect to resize rejects from the window manager.
11297
11298         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
11299         in the zvt condition hack, since this includes the window hints, set
11300         the hints after the handling_resize case.
11301
11302         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
11303         window is initially shown with to the geometry.
11304
11305 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
11306
11307         * gtk/gtkwindow.c (gtk_window_move_resize):
11308         s/size_changed/default_size_changed/g so i know what's
11309         really going on (frying brain on smaller flame now).
11310
11311 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
11312
11313         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
11314         we have size_changed upon handling_resize. this is a gross
11315         workaround for the broken zvt widget and should be removed in
11316         1.3 again (search for FIXME).
11317         Owen provided an accurate comment for this:
11318
11319         /* We could be here for two reasons
11320          *  1) We coincidentally got a resize while handling
11321          *     another resize.
11322          *  2) Our computation of size_changed was completely
11323          *     screwed up, probably because one of our children
11324          *     is broken. It's probably a zvt widget.
11325          *
11326          * For 1), we could just go ahead and ask for the
11327          * new size right now, but doing that for 2)
11328          * might well be fighting the user (and can even
11329          * trigger a loop). Since we really don't want to
11330          * do that, we requeue a resize in hopes that
11331          * by the time it gets handled, the child has seen
11332          * the light and is willing to go along with the
11333          * new size. (this happens for the zvt widget, since
11334          * the size_allocate() above will have stored the
11335          * requisition corresponding to the new size in the
11336          * zvt widget)
11337          *
11338          * This doesn't buy us anything for 1), but it shouldn't
11339          * hurt us too badly, since it is what would have
11340          * happened if we had gotten the configure event before
11341          * the new size had been set.
11342          */
11343
11344 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
11345
11346         * gtk/gtkrc.c: deal properly with the fact that RC
11347           style lists may include rc styles more than once.
11348
11349         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
11350           unused static function.
11351
11352         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
11353           stack of directories of RC files currently being
11354           parsed and implicitely add them to pixmap path.
11355           
11356           This fixes a bug where the directory would get
11357           appended then overwritten by pixmap_path declarations.
11358
11359           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
11360
11361         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
11362           theme's exit function. (Patch from Peter Wainwright,
11363           bug #1454)
11364
11365         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
11366           Add a destroy() handler to take care of removing
11367           group for menu item. (Fixes bug #1197)
11368
11369         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
11370           in warning message.
11371
11372 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
11373
11374         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
11375         roundtrip to figure window's width and height, since we know that
11376         anyways from widget->allocation.
11377
11378 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
11379
11380         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
11381           the hints after we request the new size.
11382
11383 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
11384
11385         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
11386           GTK_WIDGET_REALIZED() assertion - we can compute the
11387           hints before we are realized.
11388
11389         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
11390           hint changing so that we have a value of hints_changed
11391           when we decide whether to constrain the window size.
11392
11393         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
11394
11395         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
11396         change back to G_MAXINT.
11397
11398 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
11399
11400         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
11401         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
11402         contain uncluttered values.
11403         (gtk_window_compute_hints): simply assert that window is realized
11404         and that geometry_info is valid, since we rely on this anyways.
11405         (gtk_window_constrain_size): major cleanups to the code.
11406         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
11407         for the base size, instead of the minimums. use 32767 as max width
11408         and height (like in gtkwindow.c) instead of G_MAXINT.
11409
11410 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
11411
11412         * cleaned up the GtkContainer.need_resize flag handling mess, we
11413         only need to force resize requests when we were prematurely
11414         realized, or our widget tree was modified when we were temporarily
11415         hidden. handling these cases directly upon showing the window (i.e.
11416         while the GdkWindow is still unmapped) avoids the need to wait for
11417         a configure event response and therefore makes the GUI more snappier
11418         and avoids blank windows during the roundtrip.
11419
11420         * gtk/gtkwidget.c:
11421         (gtk_widget_hide): 
11422         (gtk_widget_show): don't queue resizes on toplevels, they know how
11423         to deal with matters.
11424
11425         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
11426         flag directly for not visible resize containers and spare us unecessary
11427         signal emissions.
11428
11429         * gtk/gtkwindow.c:
11430         (gtk_window_realize): if we need to enforce premature size allocation,
11431         queue a container resize so we are correctly resized later on.
11432         (gtk_window_init):
11433         (gtk_window_size_request):
11434         don't freak around with the ->need_resize flag,
11435         gtk_container_queue_resize() will care about that.
11436         (gtk_window_show):
11437         handle initial resizing issues here, we can handle matters better in
11438         this place, especially since we know that our GdkWindow is still
11439         unmapped.
11440         (gtk_window_move_resize):
11441         don't care about ->need_resize at all.
11442         handle size changes properly that occoured while we waited for a
11443         configure event.
11444
11445 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
11446
11447         * gtk/gtkwidget.c (gtk_widget_set_uposition):
11448         * gtk/gtkwindow.[hc] (gtk_window_reposition):
11449         Move the hint setting code from gtk_widget_set_uposition
11450         to here; set the hints so that we respect any previously
11451         set geometry hints.
11452
11453         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
11454         change the window hints here or move the window here,
11455         let that happen in gtk_window_move_resize().
11456
11457 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
11458
11459         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
11460         to already queued resizes (and therefore redraws) on a widget, check
11461         its anchestry as well.
11462
11463         * gtk/gtkcontainer.c:
11464         (gtk_container_queue_resize): clear resize widgets for resize
11465         containers before aborting prematurely. this is especially important
11466         for toplevels which may need imemdiate processing or their resize
11467         handler to be queued.
11468         (gtk_container_dequeue_resize_handler): added new internal function for
11469         gtkwindow.c.
11470
11471         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
11472         configure event, take possible changes in window position into account
11473         as well.
11474         if we request a new window size, queue up a resize handler that will
11475         last until the configure event response arrives.
11476         combined the ->need_resize case (initial show) with the general size
11477         (hints) changed case and added even more comments.
11478         if !auto_shrink, only revert to the old allocation if the new size
11479         is smaller than the current allocation.
11480
11481 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
11482
11483         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
11484                            gtk_window_set_geometry_hints
11485                            gtk_window_set_default_size):
11486         When hints are set, queue a resize so that the hints will
11487         be eventually reset on the toplevel.
11488
11489         * gtk/gtkwindow.c (gtk_window_show): Use
11490         gtk_window_compute_default_size(). Clear the need_resize flag
11491         on the initail map so that we don't unnecessarily trigger the
11492         resize code.
11493
11494         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
11495         into separate functions. Compare the hints we are setting
11496         with what we set last time so that we can accurately
11497         tell when we need to reset the hints.
11498
11499         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
11500         function to figure out the size from requisition
11501         and default_size.
11502
11503         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
11504         from fvwm to constrain a size to the geometry hints.
11505
11506         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
11507         to compare two sets of geometry hints.
11508
11509         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
11510         from gtk_window_set_hints(), just compute the hints,
11511         don't set them.
11512
11513         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
11514         code from gtk_window_move_resize() to separate function,
11515         rationalize a bit.
11516
11517 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
11518
11519         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
11520         structure into a new private structure.
11521
11522         * gtkrc.c: Split GtkRcStyle into public/private.
11523         In the private part, add a list of pointers to the
11524         RcStyle lists this RcStyle participates in.
11525
11526         * gtkrc.c: When a RcStyle is free, remove all
11527         lists referencing it from the 
11528         realized_style_ht hash, and free those lists.
11529         
11530         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
11531         gtk_rc_init(), since that adds the default styles
11532         to the list of parsed RC files again.
11533
11534         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
11535         
11536 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
11537
11538         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
11539         checks that ensure that a widget's allocation is at least 1 in width
11540         and height. (GNOME note: this doesn't affect old panel code anymore,
11541         because GtkSocket will request width and height of at least 1 since
11542         Fri Jul 23).
11543
11544         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
11545         allocated yet (happens if the user realizes the window prematurely),
11546         size request and allocate it.
11547         (gtk_window_size_allocate): guard against guint underflows.
11548
11549 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
11550
11551         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
11552         in gtk_built_sources, so gtk.defs gets built prior to all other
11553         sources.
11554
11555 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11556
11557         * gtk/Makefile.am:
11558         invoke indent on gtkmarshal.*. 
11559         rewrote source generation rules, use COPYING as oldest source tag for
11560         a piggyback rule to generate all sources from (don't touch it ;).
11561         major cleanups, strip spaces on build rules for GNU Make.
11562
11563         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
11564         source and target files from commandline arguments. don't invoke indent.
11565
11566 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11567
11568         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11569         notebook after switch to avoid drawing problems.
11570         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11571         
11572         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11573         show them instead. 
11574         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11575
11576 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11577
11578         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11579         notebook after switch to avoid drawing problems.
11580         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11581         
11582         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11583         show them instead. 
11584         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11585
11586 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
11587
11588         * gtk/gtkwindow.c:
11589         we use window->need_resize from configure_event now, to indicate that
11590         the gtkwindow should keep its allocation (e.g. because the user resized
11591         the window through window manager handles). resize_count is now reliably
11592         used to figure whether we got the allocation we requested from the
11593         window manager.
11594         configure events get queued as resizes now, the real stuff (size
11595         computation and allocation) now only goes on in gtk_window_move_resize().
11596         GtkWindow's requisition now contains its *real* requisition (like all
11597         other widgets), *not* taking usize into account.
11598         geometry_info->last_{width|height} is now updated from set_hints() only
11599         so it always contains the last hints we set for the window manager.
11600         made some event handlers return TRUE instead of FALSE.
11601         the overall code should be much more straight forward now, and the
11602         significant code portions are accompanied by comments now.
11603         (gtk_window_set_hints):
11604         removed requisition argument and made it
11605         fetch the requisition through gtk_widget_get_child_requisition.
11606         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
11607         does that now.
11608         (gtk_window_show):
11609         ensure that the widget is realized before calling 
11610         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
11611         ensure that we got properly size requested and allocated before
11612         realization.
11613         (gtk_window_configure_event):
11614         ignore plain window moves, or reallocate the widget tree through the
11615         resize queue otherwise.
11616         (gtk_window_move_resize):
11617         mostly rewrote this function to figure window manager hints more
11618         reliably, coalesce window moves and resizes to reduce configure events
11619         and do actuall size allocations.
11620
11621 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11622
11623         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
11624         that have a resize pending, because a redraw is already queued for them.
11625
11626         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
11627         hack to clear resize_widgets.
11628
11629         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
11630         for resize containers prior to size allocation. (this is also a bit
11631         ugly, but avoids side effects for stopped emissions and is thus more
11632         reliable).
11633         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
11634
11635         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
11636         function from gtk_tooltips_expose, as we connect to ::expose_event
11637         *and* ::draw now.
11638
11639 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11640
11641         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
11642         checks.
11643         (gtk_target_list_unref): Likewise.
11644
11645         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
11646
11647 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
11648
11649         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
11650         guard against division by zero. (Fixes bug #1339)
11651
11652 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
11653
11654         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
11655         Prevent the trivial leak of information of allowing
11656         word motion when the entry is not visible.
11657
11658 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
11659
11660         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
11661         modality to error dialog as well as confirmation dialogs.
11662         (Bug #1803, reported by Rosanna Wing Sze Yuen)
11663
11664 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11665
11666         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
11667         tree->view_lines.
11668         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
11669
11670         * gtk/Makefile.am (install-data-local): Solaris apparently
11671         has various troubles with ln -f; use rm first instead.
11672         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
11673
11674 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
11675
11676         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
11677         use `cp' followed by `rm' (the `rm' was already there).
11678
11679 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11680         
11681         * configure.in: Fix autoconf warnings about cross compilation by
11682         trying to provide sane defaults for AC_TRY_RUN.
11683         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
11684         put them into $(srcdir) when generated. Also add a dependency of
11685         gtksignal.h on gtkmarshal.h for -j builds. 
11686         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
11687
11688 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
11689
11690         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
11691         GDK_THREADS_{LEAVE,ENTER} pair.
11692         (From Paul Fisher <pnfisher@redhat.com>)
11693
11694 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
11695
11696         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
11697         width and height are always >0 (owen).
11698
11699 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
11700
11701         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
11702         change that assured that a widget's allocated with and height are
11703         always >1, since this breaks *buggy* panel code. unfortunately this
11704         back-breaks the gimp's color selector.
11705
11706         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
11707         allocation is always >0 in width and height, before sending the
11708         configure event; this is a *gross* hack to get the gimp back to work.
11709         
11710         * marked both cases with TODO-1.3
11711
11712 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
11713
11714         * gtk/gtktext.c: Don't display wrap indicators when
11715         text is not editable and word wrap is on.
11716
11717 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
11718
11719         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
11720         option menus here as they are not derived from menu shell, assure that
11721         the option menu has a menu we can add items to.
11722
11723 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
11724
11725         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
11726         width/height to (gint) before calculations and check against < 0 to
11727         avoid guint wraparounds.
11728
11729 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
11730
11731         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
11732         width and height is never zero. sanity check both dimensions against
11733         32767 and issue a warning if the allocation is greater than that.
11734
11735 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
11736
11737         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
11738         to g_main_pending() as well.
11739
11740 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
11741
11742         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
11743         call to g_main_iteration() - since that will regrab
11744         GTK+ lock to process events.
11745
11746 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
11747
11748         * gtk/gtkwindow.c
11749         - Regularize with the rest of GTK+ by making widget->requisition
11750           not reflect the set_usize()
11751         - Always recompute geometry hints, then check if they
11752           changed before sending them to the X server. The
11753           previous checks for changes would fail in a number
11754           of circumstances. 
11755
11756 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
11757
11758         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
11759
11760 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
11761
11762         * gtk/gtkdnd.c:
11763         - Code cleanups
11764         - Instantaneously update on modifier key presses
11765         - Allow cancellation of the drag with Escape.
11766
11767 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
11768
11769         * gtk/testgtk.c (create_handle_box): Set the policy
11770         to auto_shrink - otherwise the appearance is rather
11771         strange when flipping between horizontal and vertical.
11772
11773 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
11774
11775         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
11776         (gtk_window_set_default_size): don't change a value if it's < 0.
11777         queue a resize.
11778
11779 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
11780
11781         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
11782
11783 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
11784
11785         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
11786         add an extra "/" when concating "/" + filename.
11787         (From Matt Grossman <mattg@oz.net>)
11788
11789 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
11790
11791         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
11792         for fg_gc if we set it for drawing pixmap.
11793
11794 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
11795
11796         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
11797         
11798         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
11799         already set, call old engine's destroy function and
11800         unref the old engine.
11801
11802 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
11803
11804         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
11805
11806 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
11807
11808         * gtk/gtkaccelgroup.h: mark certain functions as internal.
11809
11810 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
11811
11812         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
11813         expand behaviour changed.
11814
11815         * gtk/gtklabel.c (gtk_label_set_pattern):
11816         (gtk_label_set_justify):
11817         (gtk_label_set_line_wrap):
11818         don't bother invoking queue_clear, the reallocation does
11819         that for us, always free_words so the upcoming resize will
11820         relayout the label's contents.
11821
11822 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
11823
11824         * applied argument implementation patches from Elena Devdariani
11825         <elena@cogent.ca>.
11826
11827         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
11828         ::space_style, ::relief
11829         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
11830         * gtk/gtkpreview.c: ::expand
11831         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
11832         * gtk/gtknotebook.c: ::homogeneous
11833         * gtk/gtklabel.c: ::wrap
11834         * gtk/gtklist.c: ::selection_mode
11835         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
11836         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
11837         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
11838         * gtk/gtkclist.c: ::sort_type
11839         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
11840         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
11841
11842 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
11843
11844         * gtk/gtkstyle.c: Removed ill-thought-out part of last
11845         comment.
11846
11847 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
11848
11849         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
11850         counting right when we have to attach a new style
11851         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
11852
11853         * gtk/gtkstyle.c: Documented the refcounting
11854         peculularities of gtk_style_attach.
11855
11856 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11857
11858         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
11859         window types.
11860
11861         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
11862         of GTK_TOPLEVEL for creating the window.
11863
11864 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11865
11866         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
11867         the last argument (reported by Per Winkvist).
11868         
11869 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
11870
11871         Fixes for invisible XOR lines (Frank Loemker
11872         <floemker@TechFak.Uni-Bielefeld.DE>)
11873         
11874         * gtk/gtkclist.c (gtk_clist_realize): Always use
11875         a non-zero pixel for GDK_XOR.
11876
11877         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
11878         Use GDK_INVERT instead of GDK_XOR.
11879
11880 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
11881
11882         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
11883         signals if h/voffsets differ from adjustment values.
11884         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
11885
11886 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
11887
11888         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
11889         ::selection-done emissions up to the topmost menu shell.
11890
11891 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
11892
11893         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
11894         the user data on the window before destroying it.
11895
11896         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
11897         unrealize handler to take care of destroying 
11898         notebook->panel properly. 
11899         (Bug #1198 - Morten Welinder <terra@diku.dk>)
11900
11901         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
11902         of g_new and g_realloc to stop memory leak. (Actually,
11903         we could just use g_realloc(), but I'm not 100% sure
11904         that is portable).
11905         (Bug #1196 - Morten Welinder <terra@diku.dk>)
11906
11907 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11908
11909         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
11910
11911         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11912         for fontsets.
11913
11914         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
11915         with bin/button confusion.
11916
11917 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
11918
11919         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
11920         and show how preselection of radio items is done.
11921
11922 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
11923
11924         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
11925         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
11926         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
11927         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
11928         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
11929         * gtk/gtktable.c (gtk_table_attach): 
11930         * gtk/gtklist.c (gtk_list_insert_items): 
11931         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
11932         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
11933         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
11934         * gtk/gtkbin.c (gtk_bin_add): 
11935         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
11936         * gtk/gtkfixed.c (gtk_fixed_put): 
11937         * gtk/gtklayout.c (gtk_layout_put):
11938         general fixups to container_add logic. always realize child if
11939         child->parent is realized, only map the child and queue a resize
11940         if child and child->parent are both visible.
11941
11942 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
11943
11944         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
11945         instead of gtk_container_foreach to walk and unrealize children, so
11946         composite children get also unrealized.
11947         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
11948         (gtk_widget_map): assert that the widget is visible (basic constrain).
11949         (gtk_widget_real_map): assert that the widget is realized (basic
11950         constrain).
11951
11952 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
11953
11954         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
11955
11956 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
11957
11958         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
11959         file for iso-8859-2 locales.
11960
11961         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
11962
11963 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
11964
11965         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
11966          (Pointed out by andy@rz.uni-karlsruhe.de and others).
11967          Remove some suspicious and useless lines. 
11968
11969 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
11970
11971         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
11972         width,height = 0, 0 to mean - here to edge of window,
11973         instead of -1, -1, since the former is all we support.
11974
11975 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
11976
11977         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
11978         when removing from quit_functions list.
11979
11980 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
11981
11982         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
11983
11984 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
11985
11986         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
11987          When redrawing characters on non-visible entry, use appropriate
11988          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
11989
11990 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
11991
11992         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
11993         from drag coordinates.
11994         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
11995         use drag_dest_cell.
11996
11997         * gtk/gtktree (drag_dest_cell)
11998         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
11999         (Bug #1129)
12000
12001 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
12002
12003         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
12004         translate_* fields.
12005         (gtk_item_factory_finalize): invoke translate_notify independant from
12006         translate_data.
12007         (gtk_item_factory_set_translate_func): likewise.
12008         (gtk_item_factory_destroy): only remove ifactory pointer from those
12009         widgets that belong to us (stupid me).
12010
12011 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
12012
12013         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
12014         rc_style list when lookup succeeeds.
12015
12016 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
12017
12018         * gtk/gtkctree.c (resync_selection): 
12019         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
12020         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
12021         bug.
12022
12023 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
12024
12025         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
12026         Add some missing GDK_THREADS_ENTER()/LEAVE around
12027         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
12028
12029 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
12030
12031         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
12032         rather than emit_by_name.
12033
12034         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
12035         on the widget across multiple signal emissions.
12036         (gtk_editable_delete_text): same here.
12037         (gtk_editable_class_init): set widget_class->activate_signal after
12038         editable_signals[ACTIVATE] has been created.
12039
12040 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
12041
12042         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
12043         position here prematurely -- we might not have the
12044         right ->min_position and ->max_position yet.
12045
12046 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12047
12048         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
12049         Add error traps so if the other end of the connection
12050         dies, we survive.
12051
12052         * gtk/gtkselection.c (gtk_selection_notify): Clean
12053         up properly when selection property retrieval fails.
12054         
12055         * gtk/gtkselection.c (gtk_selection_request): Correctly
12056         reject SelectionRequest notifies where the handler
12057         returns no data.
12058
12059 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12060
12061         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
12062         when we've previously highlighted.
12063
12064         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
12065         emit two "drag_leave" signals for Motif drops.
12066
12067         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
12068         back the correct status messages when dropping from
12069         Motif onto a proxy window that is rejecting the
12070         drop.
12071
12072 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
12073
12074         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
12075         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
12076         to compare two argument values. added gtk_arg_to_valueloc() to set a
12077         variable from an arg through its location (pointer).
12078
12079         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
12080         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
12081         as gfloat*, uchars are collected as guchar*, ints are collected as
12082         gint*, etc...
12083
12084 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
12085
12086         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
12087         Include <string.h> instead of <strings.h>.
12088
12089         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
12090         (actually, a lot more duplicate includes occur if
12091          you trace through the sequence of #include's)
12092         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
12093         
12094 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12095
12096         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12097         gtk-a-higuti-990322-[0-3]
12098
12099         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12100         that was causing -DX_LOCALE not to work.
12101
12102         * gtk/gtkrc.c (gtk_rc_init):
12103         X_LOCALE will never have LC_MESSAGES defined
12104
12105 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
12106
12107         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
12108         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
12109
12110         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
12111         left/right as well (gtk-michael-980726-0.patch.gz).
12112
12113         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
12114         for pointer values, use gchar instead of char. fixed uline allocation
12115         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
12116         chunks instead of G_ALLOC_ONLY.
12117         (gtk_label_size_request): always alter requisition as passed and leave
12118         widget->requisition alone.
12119         (gtk_label_set_text): allow NULL strings.
12120         (gtk_label_new): likewise.
12121
12122 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
12123
12124         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
12125
12126 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
12127
12128         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
12129         *and* mapped (i.e. drawable).
12130         (gtk_bin_expose): only send exposes to drawable children.
12131
12132         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
12133         (gtk_box_expose): only send exposes to drawable children.
12134
12135         * gtk/gtkhscale.c (gtk_hscale_draw): 
12136         * gtk/gtkvscale.c (gtk_vscale_draw):
12137         hm, this is an ugly one. we first compute the size of our trough area
12138         here (window relative) and then check intersection with the draw_area
12139         which is parent relative because we're a NO_WINDOW widget, so we need
12140         to offset the trough area by allocation.x and allocation.y before the
12141         check. (this must not be done for the background area though, since
12142         that's already computed parent relative).
12143
12144 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
12145
12146         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
12147         unrealize title buttons.
12148
12149 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
12150
12151         * gtk/gtkclist.c (gtk_clist_column_title_passive)
12152         (gtk_clist_column_title_active): 
12153         only connect/disconnect to GtkWidgetClass::event to block mouse events.
12154
12155         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
12156         zero initialize event, removed superfluous gdk_window_get_pointer call
12157
12158         * gtk/gtklist.c (gtk_list_vertical_timeout)
12159         (gtk_list_horizontal_timeout): removed superfluous
12160         gdk_window_get_pointer call
12161
12162 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12163
12164         * plugging problems reported by "Bruce Mitchener, Jr."
12165         <bruce@puremagic.com> due to a purify session.
12166
12167         * gtk/gtkstyle.c:
12168         (gtk_style_ref): 
12169         (gtk_style_unref): assert ref_count to be > 0.
12170
12171         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
12172         the requisition.
12173         (gtk_clist_set_shift): likewise.
12174
12175         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
12176         adjustments.
12177
12178         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
12179         event before sending it and set send_event to TRUE (which needs to
12180         be done for *all* synthesized events).
12181         (gtk_list_vertical_timeout): likewise.
12182
12183         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
12184         leaks.
12185
12186         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
12187         to TRUE when synthesizing events.
12188
12189 [ *** end of merges from 1.2 *** ]      
12190         
12191 1999-11-21  Tor Lillqvist  <tml@iki.fi>
12192
12193         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
12194         (or copied from gdkconfig.h.win32 on Win32, sigh).
12195
12196         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
12197
12198         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
12199
12200         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
12201
12202         * gdk/gdkconfig.h.win32: New file.
12203
12204         * gdk/win32/makefile.cygwin: Build just a static archive here.
12205
12206         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
12207         for the DLL from the static archive built above.
12208
12209         * gdk/gdk.def: Moved here from the win32 subdirectory.
12210
12211         * gdk/win32/*: Adapt for the changed private struct organisation.
12212
12213         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
12214
12215 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
12216
12217         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
12218         for wheel mice (buttons 4 and 5).
12219
12220 1999-11-18  Tor Lillqvist  <tml@iki.fi>
12221
12222         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
12223         drawables use just the pixel field in the foreground and
12224         background GdkColor of the GdkGC.
12225
12226         gdk_gc_set_{fore,back}ground() are called in the GIMP with
12227         GdkColors containing uninitialized (red,green,blue) fields, and
12228         just the pixel field filled in, and furthermore in the
12229         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
12230         It thus turns out that we really don't need to have the full
12231         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
12232         it later to have just the pixel values.
12233
12234 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
12235
12236         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
12237
12238 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
12239
12240         * docs/gtkfaq.sgml: threads example from Erik Mouw.
12241         New question on GtkLabel background colors.
12242
12243         * docs/gtk_tut.sgml:
12244           - Correct the example code callback
12245             function definitions.
12246           - Update the gtkdial example code, from Frans van Schaik.
12247           - Update setselection.c to current API.
12248
12249         * examples/Makefile examples/*/*.c: Update to code
12250         listed in tutorial.
12251
12252 1999-11-10  Tor Lillqvist  <tml@iki.fi>
12253
12254         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
12255         subrange table (from the "Developing International Software for
12256         WIndows 95 and Windows NT" book) was missing the Hangul syllable
12257         block... Get the loaded font's charset correctly.
12258
12259         (Note that this, and the other *-win32.c files, still really are
12260         the old ones, the win32 subdirectory is not ready for compilation
12261         yet after the reorg.)
12262
12263 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
12264
12265         * gtk/gtkclist.c: Fix off-by-one bug in parameter
12266         check.
12267
12268 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
12269
12270         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
12271         on results of XQueryDeviceState().
12272
12273 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
12274
12275         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
12276         we need to accesss only ->children. We need an accessor
12277         for the children.
12278
12279         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
12280         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
12281         to get rid of gdkx.h include.
12282         
12283         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
12284         and random references to 'None'.
12285
12286         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
12287         Get rid of unused #include <gdk/gdkx.h>
12288
12289         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
12290         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
12291         gdkconfig.h.
12292
12293 1999-11-08  Tor Lillqvist  <tml@iki.fi>
12294
12295         * gdk/win32/gdkdraw.c
12296         * gdk/win32/gdkfont.c
12297         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
12298         following yesterday's changes. (Unrelated to Owen's reorg.)
12299
12300 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
12301
12302         * gdk/x11/gdkinput-gxi.c: Add missing include,
12303           fix GdkWindowPrivate => GdkDrawablePrivate.
12304
12305         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
12306
12307         * gdk/x11/Makefile.am (xinput_sources): Add missing
12308         backslash to fix building with --with-xinput=none
12309
12310 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
12311
12312         Move all X specific code into the x11/ directory.
12313         Aside from shuffling things around, did the following:
12314
12315        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
12316          gdk_arg_context_* - a simple argument parsing system
12317          in the style of popt.
12318
12319        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
12320          gdk/x11/gdkprivate-x11.h:
12321          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
12322          add ->klass and ->klass_data fields. The klass_data
12323          field points to an auxilliary structure that is
12324          windowing system dependent.
12325
12326        * gdk/gdkfont.c: Make most of the measurement functions
12327          simply wrappers around gdk_text_extents().
12328
12329        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
12330          _gdk_font_strlen() function that hides the weird
12331          behavior in gtk+-1.[02] where a string is interpreted
12332          differently for 8-bit and 16-bit fonts.
12333
12334        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
12335          to store common code for synthesizing double/triple
12336          press events.
12337         
12338        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
12339          Make all the function that modify an existing GC
12340          simply wrappers around gdk_gc_set_values().
12341          
12342        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
12343          for throwing out later.
12344
12345        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
12346          GdkImagePrivate and GdkColormapPrivate to have a
12347          windowing system dependent part (GdkFontPrivateX etc.)
12348          that "derives" from the system-independent part.
12349
12350        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
12351          Got rid of the included-source-files for XInput in
12352          favor of automake conditionals. (Which didn't exist
12353          when XInput support was originally added.)
12354
12355        * gdk/gdkrgb.c: Remove the visual id from the debugging
12356          statements since that is X11 specific; print out
12357          type/depth info instead.
12358          
12359
12360 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
12361
12362         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
12363         loading duplicates of hashed fonts.
12364
12365         * gdk/gdk.c (gdk_keysym_convert_case): rename
12366         gdk_XConvertCase to gdk_keysym_convert_case, allow
12367         results to be NULL in the GTK+ style.
12368
12369         * gdk/gdkcompat.h: Started compatibility header
12370         for renames.
12371
12372 1999-11-07  Tor Lillqvist  <tml@iki.fi>
12373
12374         * gdk/win32/gdkprivate.h: New font private structures, related to
12375         fontsets.
12376
12377         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
12378         gdk_font_list_free(). On X11, will just be wrappers to
12379         XListFonts() and XFreeFontNames(). On Win32, the code previously
12380         in gtkfontsel.c is now here.
12381
12382         New function gdk_font_xlfd_create(). On X11 will get the FONT
12383         property of the font (for GDK_FONT_FONTs), or call
12384         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
12385         builds a XLFD style name from the font information in the LOGFONT
12386         struct(s).
12387
12388         New function gdk_font_xlfd_free(), which correspondingly frees the
12389         string returned by gdk_font_xlfd_create().
12390
12391         Implement fontsets on Win32. Add a function that iterates over a
12392         wide char string and calls a callback function for each substring
12393         of wide chars from the same Unicode subrange (and thus probably
12394         available in the same real font).
12395
12396         Improve the XLFD emulation a bit.
12397
12398         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
12399
12400         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
12401         Beta3, WM_IME_CHAR messages don't seem to contain the composed
12402         multi-byte char as with the Active IMM on Win9x. Oh well, handle
12403         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
12404         ImmGetCompositionStringW() to get the composed Unicode chars.
12405
12406         * gdk/win32/gdkgc.c
12407         * gdk/win32/gdkdraw.c: Changes needed because of the font private
12408         struct changes.
12409
12410         * gdk/win32/gdk.def: Add the new functions.
12411
12412 1999-11-04  Tor Lillqvist  <tml@iki.fi>
12413
12414         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
12415         get the Platform SDK to get <dimm.h>.
12416
12417         * gdk/win32/gdkevents.c: More event handling fixes and
12418         simplification. Never generate motion events with is_hint true. We
12419         used to do that on bogus grounds earlier. Windows sends
12420         WM_MOUSEMOVE messages on button events even if the mouse hasn't
12421         moved, ignore these.
12422
12423         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
12424
12425         * gdk/win32/gdkglobals.c
12426         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
12427         the TrackMouseEvent function, and use it.
12428
12429         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
12430         char before calling WideCharToMultiByte in order to get a string
12431         for the window title.
12432
12433         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
12434
12435         * gdk/win32/gdk.def: Remove obsolete functions.
12436
12437         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
12438         /nodefaultlib and /defaultlib switches.
12439
12440         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
12441
12442 1999-10-31  Tor Lillqvist  <tml@iki.fi>
12443
12444         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
12445         EuroSign).
12446
12447         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
12448         same type as GdkWChar, especially on Win32.
12449
12450         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
12451
12452         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
12453         before passing to Windows GDI for drawing etc. Convert to the
12454         system default codepage before passing to Windows as window
12455         titles.
12456
12457         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
12458         support changing input locale on the fly.
12459
12460         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
12461         on-the-fly changes. Convert incoming characters from the current
12462         codepage to Unicode (and then to a UTF-8 multi-byte string) based
12463         on the current input language. Use keysym<->Unicode mapping tables
12464         and functions borrowed from xterm sources.
12465
12466         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
12467         editions of Win9x, use the ActiveX-based Active IMM (Input Method
12468         Manager) if available. IMEs and the Active IMM are available under
12469         the disguise of Chinese, Korean and Japanese support for IE and
12470         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
12471         support is present in all editions (as long as you install it).
12472
12473         Call DispatchMessage from gdk_events_queue() (and thus
12474         gdk_WindowProc()), instead of duplicating the code in
12475         gdk_WindowProc().
12476
12477         Reworked the grab handling and propagation code, factored out
12478         duplicated code snippets into separate functions. Other cleanups,
12479         too.
12480
12481         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
12482         the <dimm.h> header describing the Active IMM.
12483
12484         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
12485         just do the same as for "single" fonts.
12486
12487         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
12488         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
12489         the new keysyms from gdkkeysyms.h.
12490
12491         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
12492         fontset, so that gtkentry uses wide characters.
12493
12494         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
12495         GTk+'s system directory "gtk+", not "gtk".
12496
12497 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
12498
12499         * docs/gtkfaq.sgml: FAQ update
12500
12501 1999-10-21  Tor Lillqvist  <tml@iki.fi>
12502
12503         * gdk/win32/gdkprivate.h: Add more font private data.
12504
12505         * gdk/win32/gdkfont.c
12506         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
12507         fonts and strings. Now works much better. You still have to
12508         have a correct font selected, though. No fontset emulation yet.
12509
12510 1999-10-19  Tor Lillqvist  <tml@iki.fi>
12511
12512         * gtk/maketypes.awk: Use G_OS_WIN32.
12513
12514         * gtk/gtk.def: Add some missing entry points. Also some non-public
12515         ones, but PyGTK porter claims to need them.
12516
12517         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
12518         built-in type generation.
12519
12520 1999-10-14  Tor Lillqvist  <tml@iki.fi>
12521
12522         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
12523         GDK_FONT_FONT fonts (which is all we have for now, we don't
12524         emulate fontsets). The X11 version uses plain XDrawString in that
12525         case, too. The string passed to gdk_draw_text_wc seems to be in
12526         fact (at least, when used by gtkentry and gtktext) either in a
12527         single-byte charset, or a DBCS. Not Unicode.
12528
12529         This fixes the problem in gtkfontsel, where even if you had
12530         selected a font with a non-Latin1 charset (windows-greek, for
12531         instance), the preview still used Latin-1 glyphs.
12532
12533         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
12534         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
12535         (gdk_font_load): Recognize the demibold etc weights, even if we
12536         don't have the corresponding constants in the headers.
12537         (gdk_font_hash_insert): Use same hash mechanism as in the X11
12538         version. Should save font resources a bit, when we don't have
12539         multiple HFONTs for the same font.
12540
12541         * gdk/win32/gdkprivate.h: Add the names field as in the X11
12542         version.
12543
12544 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
12545
12546         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
12547         X values
12548
12549 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
12550
12551         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
12552         layout support (as mentioned on
12553         http://www.jcinteractive.com/gnome-ui/software/widgets/)
12554
12555 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
12556
12557         * gtk/fnmatch.c
12558         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
12559
12560 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
12561
12562         * configure.in (ALL_LINGUAS): Added Galician (gl)
12563
12564 1999-10-05  Tor Lillqvist  <tml@iki.fi>
12565
12566         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
12567
12568         * gdk/win32/gdkcompat.c: New file, actually provide an
12569         implementation for the deprecated functions. (Just temporarily.)
12570
12571         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
12572
12573         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
12574
12575         * gdk/win32/gdk.def gtk/gtk.def: Updates.
12576
12577 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
12578
12579         * configure.in: Added "uk" to ALL_LINGUAS.
12580         
12581 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
12582
12583         * configure.in: correct checking for BeOS check
12584
12585         * gdk/gdktypes.h
12586         * gtk/fnmatch.c
12587         * gtk/gtkfilesel.c
12588         * gtk/gtkitemfactory.c
12589         * gtk/gtkmain.[ch]
12590         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
12591
12592 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12593
12594         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
12595         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
12596         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
12597         by Bulgarian). 
12598
12599 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
12600
12601         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
12602         Fix a reference to window_private->destroyed.   
12603
12604         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
12605         (ugly) setting of an internal GdkWindow member to use
12606         a _slightly_ cleaner macro.
12607
12608         * gdk/gdkprivate.h: Split GdkWindowPrivate into
12609         GdkDrawablePrivate and GdkWindowPrivate.
12610         Add extra macros for accessing GDK_DRAWABLE_ components.
12611
12612         * *.[ch]: Massive adjustments for the above, use the
12613         new macros in a lot of places.
12614
12615 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
12616
12617         * gdk/gdktypes.h: Make GdkDrawable the base type,
12618         not GdkWindow.
12619
12620 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
12621
12622         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
12623
12624 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
12625
12626         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
12627
12628 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
12629
12630         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
12631         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
12632
12633         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
12634
12635         * docs/gtk-config.1: Now autogenerated.
12636         * docs/Changes-1.4.txt: started
12637         
12638 1999-10-03  Tor Lillqvist  <tml@iki.fi>
12639
12640         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
12641         to #ifdef also here.
12642
12643         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
12644         Owen did to the X11 backend.
12645
12646         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
12647         ScrollWindowEx when blitting inside a window, it can't be correct
12648         in the general case.
12649
12650         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
12651         WM_GETMINMAXINFO is easier.
12652
12653         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
12654         depth equal to the bitspixel value, not the visual's depth.
12655
12656         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
12657         to 24 even if the bitspixel value is 32.
12658
12659         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
12660         need to check for depth==32 when bpp==32, depth will always be 24.
12661
12662 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
12663
12664         * docs/Changes-1.4.txt: Started
12665         
12666         * gtk/Makefile.am (gdk_headers): Include all the new headers.
12667
12668         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
12669         
12670         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
12671         into C file.
12672         
12673         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
12674         header to gdkinputprivate.h.
12675
12676         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
12677         unused since before 1.2.
12678
12679 1999-09-30  Tor Lillqvist  <tml@iki.fi>
12680
12681         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
12682         expand possible hex escapes in the font family (put there by
12683         logfont_to_xlfd if the font name isn't a legal XLFD font family,
12684         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
12685         On Win32, add hex escapes here, too.
12686
12687 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
12688
12689         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
12690         to #ifdef GDK_WINDOWING_X11.
12691
12692 [ Merges from gtk-1-2 ]
12693
12694 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
12695
12696         * configure.in: fixed "GNU Make" check to pass with new make version
12697         3.77.95.
12698
12699 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
12700
12701         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
12702         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
12703         AM_PATH_GTK() macros don't get confused by the -pre1.
12704
12705 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12706
12707         * configure.in (REBUILD): Change check for perl5
12708           to check explicitely for v >= 5.002. (5.001
12709           does not work with our scripts.)
12710
12711 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
12712
12713         * configure.in: evaluate $PERL for the perl version check. added
12714         --disable-rebuilds to give the user an option to completely disable
12715         any source autogeneration rules.
12716
12717 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
12718
12719         * configure.in: evaluate $ac_make when checking for GNU Make.
12720
12721 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12722
12723         * docs/Makefile.am: added generation.txt.
12724
12725         * Makefile.am: require automake 1.4, build README from README.in and
12726         INSTALL from INSTALL.in in dist-hook.
12727         
12728         * README.in:
12729         * INSTALL.in: new files to autogenerate README and INSTALL from.
12730
12731         * configure.in: figure whether we have GNU Make
12732
12733         * docs/generation.txt: minor additions/corrections.
12734
12735 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12736
12737         * docs/gtkfaq.sgml: FAQ Update
12738
12739 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12740         
12741         * configure.in: Fix autoconf warnings about cross compilation by
12742         trying to provide sane defaults for AC_TRY_RUN.
12743
12744 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
12745
12746         * ltconfig
12747         * ltmain.sh: upgrade to libtool 1.3.3
12748
12749 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
12750
12751         * INSTALL: Indicate that the --with-glib= configure
12752         time flag is unsupported.
12753
12754 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
12755
12756         * docs/generation.txt: Added a file that gives
12757         documenation about the autogeneration process for
12758         various autogenerated files.
12759         
12760 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12761
12762         * configure.in (LIBS): Look for libgmodule in the
12763         right location.
12764
12765 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
12766
12767         * docs/gtk_tut.sgml: Removed references to
12768         code examples in my directory on gtk.org as
12769         they should all be in the tutorial now.
12770
12771         * docs/gtk_tut.sgml: Added sources for dial-test
12772         and scribble-xinput programs that were previously
12773         missing.
12774
12775 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
12776
12777         * TODO: Added entry about menu keyboard navigation, removed
12778         some finished items.
12779
12780 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
12781
12782         * acinclude.m4: Standardize on func_dgettext
12783         not func_gettext, so that the checks for dgettext
12784         actually are paid attention to.
12785
12786 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
12787
12788         * configure.in (LIBS): Add $INTLLIBS into $LIBS
12789         directly, rather than repeating the checks for
12790         gettext.
12791
12792         * INSTALL: Added information about gettext and
12793         NLS support.
12794
12795         * acinclude.m4 (LIBM): Check for dgettext, not
12796         just gettext. This should hopefully fix things wrt
12797         systems with old versions of GNU gettext installed.
12798
12799 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12800
12801         * configure.in (LIBS): Look for libgmodule in the
12802         right location.
12803
12804 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12805
12806         * autogen.sh: add --enable-maintainer-mode
12807
12808         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
12809
12810 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
12811
12812         * docs/gtk-config.1.in:
12813           docs/Makefile.am:
12814           configure.in: gtk-config is now generated.
12815
12816         * docs/gtk-config.1: Removed, now generated.
12817
12818 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
12819
12820         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
12821         handle CreateNotify itself, still put out a debuging message for
12822         --gdk-debug=events. made the ReparentNotify debugging message more
12823         verbose.
12824         wrap xcoords translation for ConfigureEvents into an error trap,
12825         a destroy event may already be pending, and in that case, the
12826         actuall coordinate values are not at all critical.
12827
12828 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
12829
12830         * gdk/gdkcc.c: Stop leaking the color_hash all over
12831         the place. Simplify and improve the logic.
12832
12833 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12834
12835         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
12836         for prototypes and function implementations consistent (reported
12837         by Tomas Ogren).
12838
12839 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12840
12841         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
12842         send_event set in debugging output.
12843         (gdk_compress_exposures): default initialize the event so we don't
12844         operate on bogus values (namely send_event).
12845
12846 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12847
12848         * gdk/gdkwindow.c: When we receive an unexpected
12849         destroy notify on one of our windows, don't just
12850         warn about it, also mark our windows as destroyed.
12851
12852 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
12853
12854         * gdk/gdkfont.c (gdk_font_hash_insert): Add
12855           name => font and name => fontset hashes. The 
12856           name => fontset hash is a _big_ win since we
12857           weren't previously caching fontsets at all and loading
12858           fontsets is expensive. The name => font hash
12859           is less of a win, but it does save us from doing
12860           repeated XQueryFont calls on the same font.
12861
12862         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
12863           list so we can remove font/fontset from hash.
12864
12865 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12866
12867         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
12868           and slightly confusing test. [ XInternAtom (,,TRUE)
12869           will never return None ].
12870
12871 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
12872
12873         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
12874           gdk/gdkwindow.c (gdk_window_set_hints):
12875
12876         Don't omit setting the properties if flags == 0 -
12877         there may be an existing set of properties there
12878         already. (Very old bug. Would it be better to
12879         delete the property instead?)
12880
12881         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
12882           spelling error in comment.
12883
12884 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
12885
12886         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
12887           to avoid stomping over gdk_error_warnings.
12888
12889         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
12890           as (bits_per_pixel + 7) / 8. This gives the same
12891           result as before for multiples of 8, but actually
12892           a "reasonable" value for 1bit or 4bit displays.
12893
12894 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12895
12896         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
12897         GNU Make.
12898
12899 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12900
12901         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
12902         discarding configure events.
12903
12904 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12905
12906         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
12907         refcount is greater than zero.
12908
12909         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
12910
12911         * gdk/gdkfont.c (gdk_font_unref): Likewise.
12912
12913         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
12914
12915         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
12916
12917 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12918
12919         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
12920         that format 32 => sizeof(item) == 4. It really is
12921         sizeof(long).
12922
12923 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
12924
12925         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
12926         core dump at all on X IO errors, only core dump
12927         if --enable-debug for X errors.
12928
12929 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
12930
12931         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
12932         unknown window:" message. disabled ConfigureNotify discarding code,
12933         because it led to events being processed out of order.
12934
12935 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
12936
12937         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
12938
12939         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
12940         we export this function, supress error warnings and don't reset the
12941         error code in the first half of this function.
12942
12943         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
12944         code (instead of just -1) so gdk_error_trap_pop() reveals something
12945         actually informative about the error that happened.
12946
12947         * gdk/*.c:
12948         don't rely on gdk_error_code being -1 if an error occoured, but just
12949         gdk_error_code != 0.
12950
12951 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
12952
12953         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
12954         pointer *before* invoking the filter function, so we at least don't
12955         crash if a filter is removed that is currently executed. window filters
12956         *really* need to be made truely reentrant at some point.
12957
12958 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
12959
12960         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
12961         PropertyNotify debug messages.
12962
12963 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
12964         
12965         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
12966         
12967         * gdk/gdkim.c: Fix cut-and-paste errors for 
12968         x/y and PreeditAttributes/StatusAttributes.
12969
12970 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12971
12972         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
12973         G_MAXINT to 2^16 to alleviate overflow problems in
12974         various window managers.
12975
12976 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12977
12978         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12979         for fontsets.
12980
12981 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
12982
12983         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
12984         Initialize size_hints.x and size_hints.y because kwm
12985         brokenly pays attention to them.
12986         (Bug #1181 -  Lars Heete <hel@admin.de>)
12987
12988 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
12989
12990         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
12991         return value of gdk_list_visuals(). 
12992         (Bug #1193 - Morten Welinder <terra@diku.dk>)
12993
12994 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
12995
12996         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
12997         XSetIMValues to (void *) when comparing to NULL, to workaround
12998         the problem of some compilers barfing since older X headers don't
12999         have the prototype for it.
13000
13001 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
13002
13003         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
13004         for pseudocolor where colormap->colors was double
13005         allocated.
13006
13007         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
13008         color value in the hash table with the pixel filled
13009         in so when we do later hash table lookups, the color
13010         value is correct.
13011         
13012 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
13013
13014         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
13015         making the call
13016
13017 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
13018
13019         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
13020         pointed out by Morten Welinder <terra@diku.dk>.
13021
13022 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13023
13024         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13025           default filter from the list
13026
13027 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13028
13029         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13030           default filter from the list
13031
13032 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
13033
13034         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
13035
13036         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
13037         g_strdup_printf instead of calcing the length separately
13038
13039 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
13040
13041         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
13042         that we don't do in many other places. (Fixing duplicate 
13043         #include of config.h)
13044
13045         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
13046         Otherwise, #ifndef XINPUT_NONE check in the latter
13047         doesn't work. (Bug #546)
13048
13049 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
13050
13051         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
13052         "None" case insensitive.
13053
13054 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13055
13056         * gdk/gdkselection.c: 
13057         Add error traps so if the other end of the connection
13058         dies, we survive.
13059
13060 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13061
13062         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
13063         dest_xid field into two fields - one for the window
13064         to send in messages, one to indicate the last looked
13065         up window for caching purposes. This is needed, so
13066         that Leave messages get the correct window.
13067
13068 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
13069
13070         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
13071         Fix warning created by people mucking around
13072         with the gsource API.
13073
13074         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
13075         Change mapping between GIOCondition and GdkInputCondition
13076         to match the way the Linux kernel does it. This should
13077         fix problems where closed pipes were no longer signalling
13078         GDK_INPUT_READ on systems with a native poll().
13079
13080 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
13081
13082         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
13083         explicitly for the string "None" - it is in the XPM
13084         spec and some servers treat unknown colors in odd ways
13085         (like asking the user!)
13086
13087 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13088
13089         * gdk/gdkevents.c: made "->" into a "." of previous change so
13090         it compiles
13091
13092 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
13093
13094         * gdk/gdkevents.c (gdk_compress_exposures): Set the
13095         window field of the event structure before calling
13096         user filters.
13097
13098 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13099
13100         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
13101         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
13102
13103 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
13104
13105         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
13106         intermediate text property - prevents major memory
13107         leak when gdk_use_mb.
13108         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
13109
13110 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13111
13112         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13113         gtk-a-higuti-990322-[0-3]
13114
13115         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
13116         sizeof(wchar_t) != sizeof (GdkWChar)
13117
13118         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13119         that was causing -DX_LOCALE not to work.
13120
13121         * gtk/gtkrc.c (gtk_rc_init):
13122         X_LOCALE will never have LC_MESSAGES defined
13123
13124         * gdk/gdk.c (gdk_init_check):
13125         Remove --xim-preedit and --xim-status from argv properly.
13126
13127         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
13128         that the client window is present on the X server
13129         before we pass it to the input method.
13130
13131 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13132
13133         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
13134         if --display is specified on the command line, than
13135         the drag window will not be created on that display.
13136         
13137 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
13138
13139         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
13140         lookups with only_if_exists == TRUE were inserting
13141         bogus values into the atom cache.
13142
13143 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13144
13145         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
13146         then reset it to NULL.
13147
13148         * gdk/gdkcolor.c:
13149         (gdk_colors_free): 
13150         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
13151         key for g_hash_table_remove() in both functions, this prevents us
13152         from accessing possibly uninitialized portions of a GdkColor structure
13153         where we are only interested in its pixel value.
13154
13155 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13156
13157         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13158         font hash table, if we have a GdkFontPrivate entry for this font
13159         already, simply increment its reference count, provided by Olaf Dietsche
13160         <olaf.dietsche+list.gtk@netcologne.de>.
13161
13162 1999-09-21  Tor Lillqvist  <tml@iki.fi>
13163
13164         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
13165         just to be sure.
13166
13167         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
13168         unused variables, leftovers from the X11 version.
13169
13170         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
13171
13172         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
13173         downcase fields on X11.
13174
13175 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13176         
13177         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
13178         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
13179
13180 1999-09-17  Tor Lillqvist  <tml@iki.fi>
13181
13182         * gdk/win32/gdk.def: Add gdk_threads_mutex.
13183
13184         * gtk/makefile.msc: Correct path to libintl.
13185
13186         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
13187         use of gint vs. int, and gint vs. gboolean in headers and
13188         definitions. Use GtkType for the *_get_type functions. Note that
13189         these changes preserve binary compatibility.
13190
13191         * gdk/gdk.c
13192         * gdk/win32/gdk.c
13193         * gdk/gdk.h: Fix inconsistencies: gint vs int.
13194
13195         * gtk/gtkmain.c
13196         * gtk/gtkclist.c
13197         * gtk/gtkmenufactory.c
13198         * gtk/gtknotebook.c
13199         * gtk/gtkwidget.c: Fix inconsistencies, also gint
13200         vs. gboolean.
13201
13202         * gtk/gtkcolorsel.[ch]
13203         * gtk/gtkcombo.[ch]
13204         * gtk/gtkdrawingarea.[ch]
13205         * gtk/gtkgamma.[ch]
13206         * gtk/gtkhandlebox.[ch]
13207         * gtk/gtkhpaned.[ch]
13208         * gtk/gtkhruler.[ch]
13209         * gtk/gtkplug.[ch]
13210         * gtk/gtkpreview.[ch]
13211         * gtk/gtkruler.[ch]
13212         * gtk/gtksocket.[ch]
13213         * gtk/gtkstatusbar.[ch]
13214         * gtk/gtktoolbar.[ch]
13215         * gtk/gtkvbbox.[ch]
13216         * gtk/gtkvpaned.[ch]
13217         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
13218         functions.
13219
13220         * gtk/gtkgamma.h: Fix bug, missing () in call of
13221         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
13222
13223 1999-09-14  Tor Lillqvist  <tml@iki.fi>
13224
13225         * gdk/gdkcolor.c (gdk_colormap_new)
13226         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
13227         colormap->colors was allocated twice.
13228
13229         * gdk/win32/gdk.c: Remove some unused stuff.
13230
13231         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
13232         colormap.
13233
13234         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
13235         * gtk/gtklabel.h (gtk_label_get_type)
13236         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
13237         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
13238         in a couple of places, not guint.
13239
13240 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13241
13242         * configure.in,po/et.po: added Estonian language file
13243
13244 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13245
13246         * configure.in,po/da.po: added Danish file
13247
13248 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
13249
13250         * docs/gtkfaq.sgml: Minor FAQ Update
13251
13252 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
13253
13254         * docs/gtkfaq.sgml: FAQ update
13255
13256 1999-08-27  Tor Lillqvist  <tml@iki.fi>
13257
13258         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
13259         way to get window contents continually refreshed while resizing. I
13260         didn't like the effects myself, so it's not on by default.
13261
13262         * gdk/win32/gdkprivate.h: New flag variable
13263         gdk_event_func_from_window_proc, FALSE by default.
13264
13265         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
13266         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
13267         are passed --gdk-event-func-from-window-proc.
13268
13269         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
13270         and we have am event_func, call it instead of enqueing the event.
13271
13272 1999-08-23  Tor Lillqvist  <tml@iki.fi>
13273
13274         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
13275         Kelley: Set expose_count in GdkEventExposes correctly.
13276
13277         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
13278         MULTIPLE_WINDOW_CLASSES).
13279
13280         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
13281         for bug in NT, apparently NT *does* draw the end pixel, too, in
13282         LineTo with a one-pixel pen, so we don't have to do it ourselves.
13283
13284 1999-08-21  Tor Lillqvist  <tml@iki.fi>
13285
13286         Improvements by Hans Breuer: 
13287
13288         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
13289
13290         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
13291         CS_?REDRAW flags as they cause lots of (late) redraws when "show
13292         window contents while dragging" is turned on. Allocate at least
13293         one unique class for every GdkWindowType. If support for single
13294         window-specific icons is ever needed (eg. Dialog specific), every
13295         such window should get its own class.
13296
13297 1999-08-19  Tor Lillqvist  <tml@iki.fi>
13298
13299         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
13300         error that caused crashes.
13301
13302 1999-08-17  Tor Lillqvist  <tml@iki.fi>
13303
13304         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
13305         window, use ScrollWindowEx, and call UpdateWindow. This prevents
13306         bugs when for instance part of the window was outside the
13307         display. Thanks to Philippe Colantoni for finding and fixing this.
13308
13309 1999-08-16  Tor Lillqvist  <tml@iki.fi>
13310
13311         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
13312         endpoint calculations which were totally wrong. (A little RTFMing
13313         helps a lot ;-)
13314
13315         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
13316         from a separate directory, not from gettext, because of licensing
13317         issues (we want to use the LGPL version).
13318
13319         * README.win32: Mention the intl from glibc vs from gettext issue.
13320
13321 1999-08-13  Tor Lillqvist  <tml@iki.fi>
13322
13323         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
13324         in the key event handling: Now AltGr chars work again. Also,
13325         now Alt-digits are passed up as well as Control-digits.
13326         Pass keypad plus and minus as normal plus and minus.
13327
13328 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13329
13330         * docs/gtkfaq.sgml: FAQ Update
13331
13332 1999-07-25  Tor Lillqvist  <tml@iki.fi>
13333
13334         * README.win32
13335         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
13336         the Wintab SDK.
13337
13338         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
13339         OK, but getting closer. Guard against bogus tilt data from Wacom
13340         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
13341         enable easier building without Wintab.
13342
13343         * gdk/win32/gdkinput.h
13344         * gdk/win32/gdkevents.c 
13345         * gdk/win32/gdkwindow.c: Minor changes related related to above.
13346         
13347         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
13348         code. As we have just one visual on Win32, no sense to have it in a
13349         table, and no need for the hash table.
13350
13351         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
13352         better on white background.
13353
13354 1999-07-21  Tor Lillqvist  <tml@iki.fi>
13355
13356         * README.win32: Update gcc build instructions. Mention gettext is
13357         GPL.
13358
13359         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
13360         supported cursor size with GetSystemMetrics.
13361
13362         * gdk/win32/gdkfont.c
13363         * gtk/gtkfontsel.c: Guard against some font weight and charset
13364         symbols being undefined (in mingw32 headers).
13365
13366         * gdk/win32/makefile.cygwin
13367         * gtk/makefile.cygwin
13368         * gtk/gtkthemes.c: No longer need to have differently named
13369         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
13370
13371 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
13372
13373         * docs/gtkfaq.sgml: Long awaited FAQ update.
13374
13375 1999-07-15  Tor Lillqvist  <tml@iki.fi>
13376
13377         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
13378         it. Obscure bit manipulation needed.
13379
13380         * gdk/win32/gdkevents.c: Logging.
13381         
13382         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
13383         style (file name include compiler name) for theme engines.
13384
13385 1999-07-13  Tor Lillqvist  <tml@iki.fi>
13386
13387         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
13388
13389         * gdk/win32/gdkevents.c: Fix long-standing bug in key
13390         events. The key.string wasn't zero-terminated, still we strdup'ed
13391         it in gdk_event_copy(). Synthesize crossing events for button
13392         events before possible propagation.
13393
13394         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
13395
13396         * gdk/win32/makefile.cygwin
13397         * gtk/makefile.cygwin: Use new DLL naming style for the
13398         GCC-compiled ones.
13399
13400         * gdk/win32/makefile.msc
13401         * gtk/makefile.msc: Cosmetics mostly.
13402
13403         * gtk/gtk.def: Add missing entry points.
13404
13405         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
13406
13407 1999-07-09  Tor Lillqvist  <tml@iki.fi>
13408
13409         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
13410         or height is zero. Don't print a warning if Pie or Arc fails, they
13411         always fail (?) for very narrow ellipses.
13412
13413         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
13414         the part or the destination window corresponding to source area
13415         outside of the source drawable's boundary.
13416
13417         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
13418         anything if less than two points.
13419
13420         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
13421         return NULL. Gtk cut-and-paste inside a single program works
13422         better this way. (It always gets the clipboard contents from
13423         Windows, not from its own copy, which is cleared anyway. I can't
13424         say I fully understand what happens... Emulating the X selection
13425         and property stuff is a bit of a mess.)
13426
13427         * gdk/win32/gdkevents.c
13428         * gdk/win32/gdkproperty.c: A bit more verbose logging.
13429
13430         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
13431         that never got deleted). Revamp gdk_region_shrink.
13432
13433         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
13434         after use.
13435
13436         * gtk/gtk.def: Add some missing entry points.
13437
13438         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
13439         component.
13440
13441 1999-07-04  Tor Lillqvist  <tml@iki.fi>
13442
13443         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
13444         Control-digits specially.
13445
13446 1999-07-03  Tor Lillqvist  <tml@iki.fi>
13447
13448         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
13449
13450 1999-06-28  Tor Lillqvist  <tml@iki.fi>
13451
13452         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
13453         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
13454         finding this.)
13455
13456 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
13457
13458         * gtk+.spec.in: Corrected some typos in files section.
13459         
13460 1999-06-15  Tor Lillqvist  <tml@iki.fi>
13461
13462         * README.win32: Mention using GNU gettext.
13463         * config.h.win32: Enable NLS stuff.
13464         * gtk/makefile.msc: Use GNU gettext.
13465         * gdk/win32/gdkdnd.c: Minor header reorg.
13466         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
13467         cosmetics.
13468         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
13469         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
13470
13471 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
13472
13473         * acinclude.m4
13474         * config.guess
13475         * config.status
13476         * ltconfig
13477         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
13478
13479 1999-05-30  Tor Lillqvist  <tml@iki.fi>
13480
13481         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
13482         SafeAdjustWindowRectEx. Don't override all calls to
13483         AdjustWindowRectEx by it, but use it only in two places: When
13484         creating a new top-level window and when moving a top-level
13485         window.
13486
13487         Use screen coordinate rectangle, not client rectangle, in
13488         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
13489         when we try to place a window so that the decoration (mainly,
13490         title bar) isn't visible.
13491
13492         These changes fix the bug that showed up for instance as the
13493         GIMP's saved top-level windows moving right and down (by an amount
13494         equal to the window decoration) for each session. This bug showed
13495         up also in testgtk's "Saved Position".
13496
13497         gdk_window_resize also redone a bit.
13498
13499 1999-05-25  Tor Lillqvist  <tml@iki.fi>
13500
13501         * gtk/testgtkrc: Add (commented out) Windows-style theme
13502         include line.
13503
13504         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
13505
13506 1999-05-18  Tor Lillqvist  <tml@iki.fi>
13507
13508         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
13509         gdkx.h to a gdk subdirectory, so that applications can include
13510         these with <gdk/*.h> without trouble.
13511
13512         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
13513         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
13514         have their bitmap destroyed.
13515
13516         * gdk/win32/gdk.def: Add gdk_root_parent.
13517
13518 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
13519
13520         * configure.in
13521           gtk-config.in
13522           ltconfig
13523           ltmain.sh     
13524           gtk/Makefile.am: changes to compile nicely (with xlib) 
13525           on BeOS
13526
13527 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
13528
13529         * acinclude.m4
13530         * config.guess
13531         * config.sub
13532         * ltconfig
13533         * ltmain.sh: upgrade to libtool 1.3
13534
13535 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
13536
13537         * gtk/gtkclist.c:
13538         * gtk/gtkctree.c: merges from gtk-1-2
13539
13540 1999-04-25  Tor Lillqvist  <tml@iki.fi>
13541
13542         Support added for building using a GNU toolchain on Win32,
13543         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
13544
13545         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
13546         * config.h.win32: Changes for gcc.
13547         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
13548         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
13549         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
13550         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
13551         Protect shl stuff unavaiilable with mingw32 headers.
13552         * gdk/win32/gdkevents.c: Fix typo.
13553         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
13554         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
13555         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
13556         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
13557         the mingw32 headers.
13558         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
13559         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
13560         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
13561         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
13562         Test for NATIVE_WIN32, not _MSC_VER.
13563         * gtk/gtkmain.c: No use warning about developer version on Win32,
13564         there aren't any non-developer versions anyhow.
13565         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
13566         * gtk/makefile.msc: Use pthread from another directory. Minor other
13567         changes. 
13568
13569 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13570
13571         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13572           default filter from the list
13573
13574 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
13575
13576         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
13577          when gtk_widget_grab_default() is called for a widget that
13578          is not within a GtkWindow.
13579
13580 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
13581
13582         * docs/gtk_tut.sgml, examples/clist.c: use a
13583           scrolled window in the clist example. Minor
13584           tutorial fixes.
13585
13586 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
13587
13588         * docs/gtk_tut.sgml: Style check from David King
13589           <dking@youvegotmail.net>
13590
13591 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
13592
13593         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
13594         compile with unknown value of GDK_WINDOWING
13595
13596 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
13597
13598         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
13599         after the rule is fired.
13600         (install-exec-local): Install gdkconfig.h only if the contents are
13601         different from the currently installed gdkconfig.h.
13602
13603 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
13604
13605         * gdk/Makefile.am (configexecincludedir): Rename from 
13606         configincludedir so that gdkconfig.h will be installed 
13607         as part of `make install-exec'. 
13608
13609 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
13610
13611         * acinclude.m4
13612         * config.guess
13613         * config.sub
13614         * ltconfig
13615         * ltmain.sh: upgrade to libtool 1.2f
13616
13617         * autogen.sh: libtool is not required to autogen gtk+
13618
13619         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
13620         needed)
13621
13622 1999-03-18  Tor Lillqvist  <tml@iki.fi>
13623
13624         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
13625         declaring gdk variables exported/imported from the DLL. New image
13626         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
13627         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
13628         GDK_DRAG_PROTO_OLE2.
13629
13630         * gdk/gdk.h: Merge in Win32 version: Two new functions,
13631         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
13632         declared only for the Win32 version, but could be in the X11
13633         version as well. (Needed for a Xlib-less gdk_imlib.)
13634         gdk_color_hash should have only one parameter. Declare
13635         gdk_threads_mutex with GDKVAR.
13636         
13637         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
13638         just one parameter.
13639
13640         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
13641         per pixel, not bits.
13642
13643         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
13644         Fetch bpp (which means bits-per-pixel here) from another place on
13645         Win32. Accept also depth==32 (which we might get on Win32) with
13646         bpp==32.
13647
13648         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
13649         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
13650         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
13651         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
13652         in the backend-dependent directory, not in the common gdk
13653         directory.
13654
13655         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
13656         headers.
13657
13658 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
13659
13660         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
13661         want to use the Gtk+ devel version (which is true, and yes - even i am
13662         currently working with the 1.2.x branch). so everyone reading this, you
13663         probably want to issue
13664         cvs checkout -r glib-1-2 glib
13665         and
13666         cvs checkout -r gtk-1-2 gtk+
13667         as your next two comands.
13668
13669 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
13670
13671         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
13672         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
13673
13674         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
13675         file. strongly deprecated the GTK_HAVE_* macros, we provide
13676         GTK_CHECK_VERSION() for people that need to check for certain
13677         Gtk+ versions.
13678
13679         * gtk/gtkcompat.h: removed this from CVS.
13680         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
13681         idea right from the start, it just didn't seem like that back then.
13682
13683 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
13684
13685         * merges from gtk-1-2:
13686
13687 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
13688
13689         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
13690         item factory class has been created.
13691         (gtk_item_factory_parse_rc): likewise.
13692
13693         * gtk/gtkmenu.c:
13694         keep proper references for old_active_menu_item.
13695         (gtk_menu_reparent): unset the usize of the new parent,
13696         so the menu can sanely be size requested and we don't get nasty screen
13697         artefacts upon next reparentation.
13698         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
13699         enter notify. only synthesize enter notifies if the pointer really is
13700         inside the event window.
13701         (gtk_menu_popdown): use gtk_menu_shell_deselect().
13702         (gtk_menu_popup): move the background setting stuff into
13703         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
13704
13705         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
13706         gtk_menu_shell_select_item() to select the new item.
13707         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
13708         do the right thing for deselection as well.
13709
13710 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
13711
13712         * gtk/gtkwidget.[hc]:
13713         (gtk_widget_accelerators_locked): return whether a widget's accelerators
13714         are locked.
13715
13716         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
13717         existing accelerators if the widget's accelerators are locked.
13718
13719 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
13720
13721         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
13722
13723         * gtk/gtkmenu.c: truely forward key press and key release events to
13724         the menu widget from the toplevel or tearoff window. we can't simply
13725         connect to that, we need to stop further processing of the events as
13726         well.
13727
13728 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
13729
13730         * gtk/gtkmenu.c:
13731         (gtk_menu_key_press): pass event->keyval, event->state to
13732         gtk_accelerator_valid, instead of event->keyval twice.
13733         refuse to install single letter accelerators for menus that use
13734         single letter shortcuts.
13735
13736         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
13737         gtk_menu_ensure_uline_accel_group().
13738
13739         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
13740         which will always return an uline accel group, made
13741         gtk_menu_get_uline_accel_group() return NULL if the group isn't
13742         yet created.
13743
13744 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
13745
13746         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
13747
13748         * gtk/gtkclist.c (gtk_clist_column_title_passive):
13749         Leave button sensitive, trap  button_press, button_release,
13750         motion_notify, enter_notify and leave_notify events instead.
13751         (gtk_clist_column_title_active): disconnect event handler.
13752         (gtk_clist_drag_data_get): fixed memory leak. Reported by
13753         Guillaume Laurent <glaurent@worldnet.fr>
13754
13755 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
13756
13757         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
13758         width/height mixups.
13759
13760         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
13761         if needed.
13762
13763 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
13764
13765         * gtk/testgtk.c (create_item_factory): unref the item factory after
13766         window's destruction.
13767
13768         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
13769         count on the menu shell around the menu item's activation, since the
13770         signal emission may cause menu shell destruction.
13771
13772         * gtk/gtkitemfactory.c:
13773         the previous code leaked one accel group per menu. we use
13774         gtk_menu_get_uline_accel_group() now to fix that, and with that
13775         also create the underline accelerator group of the menus only if
13776         required (i.e. an underline accelerator has been specified).
13777         (gtk_item_factory_construct):
13778         (gtk_item_factory_create_item): removed code that would create an
13779         extra accel group for the menu (and leak references).
13780         (gtk_item_factory_create_item): adapted the underline accelerator
13781         installation code to properly feature gtk_menu_get_uline_accel_group().
13782
13783         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
13784         menu->accel_group, this may return NULL if the accelerator group
13785         hasn't been set yet.
13786         added gtk_menu_get_uline_accel_group() to retrive the underline
13787         accelerator group of the menu, this will be created on demand
13788         and proper care is taken about its reference count.
13789
13790         * gtk/gtkitemfactory.h:
13791         * gtk/gtkitemfactory.c:
13792         dumped the approach of keeping a widgets by action list on the
13793         factory since the factory<->widget destroy negotiation didn't work
13794         and would be hard to get going at all. instead we keep a list of
13795         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
13796         persistant throughout a program's life time).
13797         also, i removed the static const gchar *key_* variables, and made
13798         them inline strings (they weren't actually used anyways).
13799         (gtk_item_factory_add_item): update ifactory->items.
13800         (gtk_item_factory_destroy): destroy ifactory->items (and remove
13801         the item factory pointer from the remaining ifactory widgets).
13802         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
13803         list to find the widget.
13804         (gtk_item_factory_get_item): new function that works around
13805         gtk_item_factory_get_widget() limitations, this function will only
13806         return menu items, even for <Branch> entries.
13807
13808 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13809
13810         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13811         font hash table, if we have a GdkFontPrivate entry for this font
13812         already, simply increment its reference count, provided by Olaf Dietsche
13813         <olaf.dietsche+list.gtk@netcologne.de>.
13814
13815         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13816         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13817
13818 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
13819
13820         * gtk/gtkcontainer.c:
13821         (gtk_container_add_with_args):
13822         (gtk_container_addv):
13823         (gtk_container_add): before adding a child to a conatiner, make sure
13824         it is (default) constructed, this is neccessary because under certain
13825         circumstances the child will get relized and mapped immediatedly, in
13826         which case it has to be constructed already.
13827
13828 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
13829
13830         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
13831         values > 1 as TRUE also.
13832
13833 1999-03-16  Tor Lillqvist  <tml@iki.fi>
13834
13835         * README.win32: New file.
13836                 
13837         * configure.in: Check for lstat.
13838
13839         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
13840         completeness.
13841
13842         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
13843
13844         * gtk/gtk.def: Removed CRs.
13845
13846         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
13847         ..\gdk\win32).
13848
13849         * gdk/win32/makefile.msc: Correct upwards relative paths.
13850         
13851 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
13852
13853         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
13854           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
13855           it was connecting a void function to expose_event and the int
13856           returning function to the draw signal
13857
13858 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
13859
13860         * configure.in:
13861         Use correct path to libgmodule.la when ref'ing uninstalled copy
13862         of glib.  (Already in stable branch, Bug #417)
13863
13864 1999-03-15  Tor Lillqvist  <tml@iki.fi>
13865
13866         Win32 merge and general portability stuff:
13867                 
13868         * acconfig.h,configure.in: Check for <sys/time.h>.
13869
13870         * gdk/win32: New directory (actually, been there for a while).
13871         
13872         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
13873         NATIVE_WIN32, and use these. Always case fold on Win32. No
13874         backslashed escapes on native Win32.
13875
13876         * gtk/{gtk.def,makefile.msc}: New files.
13877
13878         * gtk/Makefile.am: Add above new files.
13879         
13880         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
13881         instead of <strings.h>.
13882
13883         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
13884         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
13885         <unistd.h> appropriately.
13886
13887         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
13888         Use ABS() (from <glib.h>) instead of abs().
13889         
13890         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
13891         of gtk (and thus glib) headers, so that WIN32 will be
13892         defined. With MS C, include <direct.h> for mkdir prototype.
13893
13894         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
13895         some casts, needed by MS C.
13896
13897         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
13898         implemented).
13899
13900         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
13901         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
13902         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
13903
13904         * gtk/gtkmain.h: Mark variables for export/import on Win32.
13905                 
13906         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
13907         the event is not a hint, or its window is not the slider. Needed
13908         on Win32, at least.
13909
13910         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
13911         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
13912         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
13913         a subdirectory of the Windows directory as gtk system
13914         configuration directory.
13915
13916         * gtk/gtkselection.c: No chunks on Win32.
13917
13918         * gtk/gtksocket.c: Not implemented on Win32.
13919
13920         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
13921
13922         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
13923
13924         * gtk/maketypes.awk: Declare variables with a macro that expands to
13925         necessary export/import magic in the case of Win32.
13926                 
13927         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
13928
13929 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
13930
13931         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
13932         since those were meant only for gdki18n.h.  
13933         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
13934         for widechar tests.
13935         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
13936
13937 1999-03-13  Tor Lillqvist  <tml@iki.fi>
13938
13939         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
13940         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
13941
13942         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
13943         installed) to CFLAGS.
13944
13945         * gdk/Makefile.am: Add rules for gdkconfig.h.
13946
13947         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
13948         APIs.
13949
13950         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
13951         gdkx.h anyway when compiling for X11.
13952         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
13953         general): Merge in Win32 version.
13954         
13955         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
13956         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
13957         expansion (if we don't have HAVE_PWD_H), allow for drive
13958         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
13959         included code from Craig Setera's port to Win32 (the one that uses
13960         X11, and the cygwin dll), even if it probably will be abandoned.
13961
13962         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
13963         the user entered one herself.  This way one can complete *.h and
13964         don't get matches on any .help files, for instance.
13965         
13966 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13967
13968         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13969         font hash table, if we have a GdkFontPrivate entry for this font
13970         already, simply increment its reference count, provided by Olaf Dietsche
13971         <olaf.dietsche+list.gtk@netcologne.de>.
13972
13973         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13974         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13975
13976 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13977
13978         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
13979         the number of calls to gdk_draw_point() (and thus to X) by
13980         clipping the points by hand.
13981
13982         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
13983         the clip parameter.
13984         (gtk_handle_box_paint): Only paint the handle if the expose area
13985         intersects it.
13986
13987 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13988
13989         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
13990
13991 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
13992
13993         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
13994         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
13995
13996 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13997
13998         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
13999          textmode (O_TEXT) for OS/2 version.
14000
14001 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
14002
14003         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
14004         GtkSpinButton, "input" and "output", to make the output more flexible.
14005         The user has to provide a mapping between adjustment->value and the
14006         output string (and vice versa, if the spin button is editable). 
14007         See testgtk for examples.
14008
14009 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
14010
14011         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
14012         new one.
14013         
14014         * configure.in: set gtk+ version to 1.3.0.