]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-0
rename member fields from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems
[~andy/gtk] / ChangeLog.pre-2-0
1 2001-01-20  Havoc Pennington  <hp@pobox.com>
2
3         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
4         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
5         me, matches Pango
6
7 2001-01-22  Havoc Pennington  <hp@redhat.com>
8
9         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
10
11         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
12
13         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
14         Remove, move back to gdk-pixbuf
15
16         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
17         to all the word functions
18
19         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
20         before doing anything on NULL layout or if we don't have the focus
21
22         * gtk/testtext.c (fill_example_buffer): "justification"
23
24         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
25         to be called "justification" not "justify"
26
27         * demos/gtk-demo/textview.c (create_tags): "justification"
28         
29         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
30
31 2001-01-22    <alexl@redhat.com>
32
33         * gdk/gdkwindow.c (gdk_window_invalidate_region):
34         Don't leak visible_region. Use visible_region instead of region.
35         
36         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
37         Don't do extra gdk_drawable_ref(). This is not X.
38         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
39         gdk_fb_focused_window is ref:ed.
40         (gdk_fb_window_send_crossing_events): Watch out for destroyed
41         windows.
42
43 2001-01-22    <alexl@redhat.com>
44
45         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
46         Don't leak the PangoFontDescriptor.
47
48 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
49
50         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
51         when not realized.
52         (gtk_tree_view_scroll_to_cell): Make work when not realized.
53         (gtk_tree_view_realize): add scroll_to support
54         (gtk_tree_view_finalize): add a finalize method.  Populate.
55         (gtk_tree_view_insert_column): ref and sink the column.
56         (gtk_tree_view_append_column): ref and sink the column.
57         (gtk_tree_view_queue_draw_node): New function to handle redrawing
58         individual nodes.  Should make the code much more efficient, if
59         actually used.
60
61 2001-01-19  Havoc Pennington  <hp@redhat.com>
62
63         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
64         byte_offset variable was being used to mean both "offset into
65         layout" and "offset into buffer line" which was no longer true
66         with addition of preedit string; fix
67
68 2001-01-19  Havoc Pennington  <hp@redhat.com>
69
70         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
71
72         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
73         function
74
75         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
76         implement
77
78         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
79         scroll_to_cell, matches TextView scroll functions better
80         (gtk_tree_view_tree_to_widget_coords): new function
81         (gtk_tree_view_widget_to_tree_coords): new function
82         (gtk_tree_view_get_visible_rect): new function
83         (gtk_tree_view_get_path_at_pos): accept negative coordinates
84         (gtk_tree_view_draw_node_focus_rect): new function moved from
85         draw_focus, also, use width of bin_window as width of the focus
86         rect
87         (gtk_tree_view_expand_row): fix bug where it didn't recognize
88         already-expanded rows
89         (gtk_tree_view_get_cell_rect): new function
90         (gtk_tree_view_get_path_at_pos): return the click position
91         relative to the passed-in cell
92         (gtk_tree_view_set_expander_column): new function
93
94         * configure.in: remove gtk-config-2.0 chmod
95
96         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
97         and properly handle drags with targets we don't understand
98         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
99         scrolling anyway
100         (gtk_text_view_drag_drop): stop scrolling here though, and set the
101         mark invisible
102
103         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
104         function
105         (gtk_drag_dest_get_target_list): new function
106         (gtk_drag_dest_set_target_list): new function
107         
108         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
109
110         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
111         related to drag-and-drop
112
113 2001-01-19  Alexander Larsson  <alexl@redhat.com>
114
115         * gdk/linux-fb/gdkprivate-fb.h:
116         Define EMULATE_GDKFONT.
117         Add extra pango_font stuff to GfkFontPrivate.
118         
119         * gdk/linux-fb/gdkdrawable-fb2.c:
120         * gdk/linux-fb/gdkfont-fb.c:
121         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
122         emulation using PangoFont.
123
124 2001-01-17  Havoc Pennington  <hp@pobox.com>
125
126         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
127         all the non-deprecated set_foo functions. Added missing object
128         properties, and added g_object_notify() to setters. 
129         Wrote docs.
130         
131 2001-01-18  Tor Lillqvist  <tml@iki.fi>
132
133         * gtk/gtkmain.c
134         * gtk/gtkrc.c: (Win32) Use the new
135         g_win32_get_package_installation_(sub)directory() functions.
136
137         * config.h.win32.in: New file.
138         
139         * config.h.win32: Removed.
140
141         * configure.in: Output config.h.win32.
142
143         * Makefile.am: Add it to EXTRA_DIST.
144
145         * gtk/gtk.def: Update.
146
147 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
148
149         * gtk/gtklabel.c (gtk_label_size_request): Set the
150         attributes onto the PangoLayout even if they are newly
151         created from label->pattern.
152
153 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
154
155         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
156
157         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
158         structures in functions. Fixes bug where gtk_dataset_*
159         was accidentally still being used in one place, causing
160         every dest side event to be treated independently.
161
162         * gtk/gtkdnd.c: Remove last vestages of handling
163         ::draw (fixes warning)
164         
165         * gtk/gtkentry.[ch]: Add drag and drop support.
166
167         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
168         new function gtk_check_drag_threshhold() for checking
169         to check if (dx,dy) has exceeded the threshhold for starting
170         a drag and use it everywhere.
171
172 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
173
174         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
175         add -I{includedir}/gtk-2.0.
176
177         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
178         gdk/gdk-pixbuf.h: Doc fixups.
179         
180         * gtk/gtkobject.h: Remove trailing , from enum
181
182 2001-01-17 Alexander Larsson <alexl@redhat.com> 
183
184         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
185         Doh! Mixed up x and y.
186
187         * gdk/linux-fb/gdkglobals-fb.c:
188         Removed gdk_fb_pointer_grab_window_events,
189         added _gdk_fb_pointer_grab_owner_events and
190         _gdk_fb_keyboard_grab_owner_events.
191
192         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
193         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
194         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
195         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
196         Send crossing events after ungrab finished.
197         (gdk_keyboard_grab): Set ..._owner_events
198         (type_masks): Move out of function.
199         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
200         gdk_fb_keyboard_event_window): New functions, return the
201         window an event should be targeted at. Handles grabs and
202         event propagation. Can return NULL.
203         (gdk_event_make): Remove event_mask checking. Now always
204         returns an event.
205                 
206         * gdk/linux-fb/gdkkeyboard-fb.c:
207         * gdk/linux-fb/gdkproperty-fb.c:
208         * gdk/linux-fb/gdkselection-fb.c:
209         Use new event_window/gdk_event_make() behaviour.
210         
211         * gdk/linux-fb/gdkmouse-fb.c:
212         Use new event_window/gdk_event_make() behaviour.
213         Only send motion events if in the same window.
214         If grabbed, use cursor from window if sibling of grabbed
215         window, and cursor from grabbed window otherwise.
216
217         * gdk/linux-fb/gdkprivate-fb.h:
218         Update gdk_fb_window_send_crossing_events, gdk_event_make
219         and grab varaible declarations. Add gdk_fb_*_event_window().
220
221         * gdk/linux-fb/gdkwindow-fb.c:
222         Use new event_window/gdk_event_make() behaviour.
223         Keep correct track of focus window.
224         (gdk_window_set_events): Set all specific button motion masks
225         if GDK_BUTTON_MOTION_MASK set.
226
227         * gtk/gtkdnd.c (gtk_drag_update):
228         Free info->last_event if gdk_drag_motion returned FALSE.
229
230 2001-01-16  Tor Lillqvist  <tml@iki.fi>
231
232         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
233         Eliminate redraws when input-only windows are shown or
234         hidden. Thanks to jpe@archaeopteryx.com.
235
236 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
237
238         * docs/faq/gtk-faq.sgml: FAQ update:
239           - Update to bugzilla
240           - Add GTK+ and security/SUID/SGID
241           - Add DnD question
242
243 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
244
245         * gdk/linux-fb/gdkdnd-fb.c:
246         Some cleanups.
247         
248 2001-01-15  Havoc Pennington  <hp@pobox.com>
249
250         * tests/testtreeview.c: add test stuff for CellRendererToggle
251
252         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
253         accessor
254
255         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
256         only toggle on button press (would do release like GtkButton, but
257         we'd need implicit grab code for treeview cells)
258
259 2001-01-16  Tor Lillqvist  <tml@iki.fi>
260
261         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
262
263         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
264         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
265
266         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
267         to g_{locale,filename}_{to,from}_utf8 to match current API.
268
269         * gtk/makefile.msc.in (gtk_OBJECTS)
270         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
271
272         * gtk/gtk.def: Update.
273
274 2001-01-15  Tor Lillqvist  <tml@iki.fi>
275
276         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
277         implementaion that more closely mimics the events that an X server
278         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
279         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
280         with nested preview widgets, for instance, more responsive when
281         you move the mouse quickly into them.
282         (find_window_for_pointer_event): Make it actually compile.
283         (gdk_event_translate): Set send_event to the value of
284         InSendMessage (). This doesn't really mean the same as X11's
285         send_event flag, but is close enough, says jpe@archaeopteryx.com
286
287 2001-01-15  Alexander Larsson  <alexl@redhat.com>
288
289         * gdk/linux-fb/gdkdnd-fb.c:
290         Implemented drag and drop.
291         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
292         when it tries to free and then copy the same event (info->last_event).
293         I am not sure about why this happens, but will continue looking.
294
295 2001-01-15  Alexander Larsson  <alexl@redhat.com>
296
297         * gdk/linux-fb/gdkwindow-fb.c:
298         Use gdk_window_invalidate_rect instead of
299         gdk_window_invalidate_rect_clear to minimise flashing.
300         When hiding windows you need to clear the root window though.
301
302 2001-01-15  Alexander Larsson  <alexl@redhat.com>
303
304         * gdk/linux-fb/gdkdrawable-fb2.c:
305         For optization, add an full_shapes argument to gdk_fb_clip_region.
306         If this is false, only the cliprects of the shapes are used.
307
308         * gdk/linux-fb/gdkprivate-fb.h:
309         Export gdk_fb_window_peek_shape.
310         Add full_shapes to gdk_fb_clip_region.
311
312         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
313         When moving a window, don't clear everything under the it, just the
314         root window. Makes stuff faster and flash less.
315         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
316         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
317         offset of the shape.
318         
319
320 2001-01-12  Havoc Pennington  <hp@redhat.com>
321
322         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
323         current invalid region, fixes redraw bug while scrolling the 
324         text widget
325
326         * gtk/gtktextview.c, gtk/gtktextview.h:
327         Rearrange the scrolling/validation/etc. code in a major way, 
328         so it seems to make sense to me. Probably isn't genuinely that
329         much better, but...
330
331         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
332         notifies
333
334         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
335
336 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
337
338         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
339         Hide mouse pointer while rotation. Show it afterwards.
340
341 2001-01-12  Alexander Larsson  <alexl@redhat.com>
342
343         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
344         windows in consideration when generating clip region.
345
346         * gdk/linux-fb/gdkfb.h:
347         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
348
349         * gdk/linux-fb/gdkprivate-fb.h:
350         Add shape to GdkWindowFBDatat.
351         exported gdk_fb_window_get_abs_shape().
352         removed gdk_fb_draw_lines declaration.
353
354         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
355         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
356         send focus changes when there is a grabbed window.
357         (gdk_window_get_pointer): Handle shaped windows.
358         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
359         (gdk_fb_window_peek_shape): Returns the shape for a window,
360         handles GDK_FB_USE_CHILD_SHAPE.
361         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
362         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
363         (gdk_window_shape_combine_mask): Implement.
364
365         * gtk/gtkwindow-decorate.c:
366         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
367         setting the shape of a window makes the window transparent.
368
369 2001-01-11  Havoc Pennington  <hp@redhat.com>
370
371         * gtk/gtktreemodelsimple.h: Oops, broke some macros
372
373 2001-01-10  Havoc Pennington  <hp@redhat.com>
374
375         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
376         add this function, bug 40251
377
378         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
379         of type macro   
380
381 2001-01-11  Alexander Larsson  <alexl@redhat.com>
382
383         * acconfig.h:
384         Added ENABLE_SHADOW_FB
385
386         * configure.in:
387         Added --disable-shadowfb
388
389         * gdk/linux-fb/gdkcursor-fb.c:
390         Update shadowfb when updating cursor
391
392         * gdk/linux-fb/gdkdrawable-fb2.c:
393         Added wrappers for shadowfb that calls  the normal drawable
394         methods, but calls gdk_shadow_fb_update(bounding box) when
395         GdkWindows are drawed to.
396         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
397         which also returns the bounding box.
398
399         * gdk/linux-fb/gdkfb.h:
400         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
401
402         * gdk/linux-fb/gdkgeometry-fb.c:
403         Update shadowfb when scrolling window.
404
405         * gdk/linux-fb/gdkglobals-fb.c:
406         Add _gdk_fb_screen_angle.
407         
408         * gdk/linux-fb/gdkkeyboard-fb.c:
409         Test code for screen rotation. Shift-F2 in the xlate driver
410         rotates the screen.
411
412         * gdk/linux-fb/gdkmain-fb.c:
413         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
414
415         * gdk/linux-fb/gdkmouse-fb.c:
416         Use fb_width/height instead of modeinfo.xres/yres.
417
418         * gdk/linux-fb/gdkprivate-fb.h:
419         Added fb_men, fb_width, fb_height & fb_stride. When using
420         shadow fb these can differ from the framebuffer stuff.
421         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
422         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
423         _gdk_fb_screen_angle. Removed CM, RP.
424
425         * gdk/linux-fb/gdkrender-fb.c:
426         Added code for shadowfb handling and screen rotation using
427         shadowfb.
428
429         * gdk/linux-fb/gdkwindow-fb.c:
430         Use fb_mem, fb_stride, fb_width, fb_height.
431         Added recompute_rowstride to reset the rowstride of all windows.
432         Added gdk_fb_recompute_all() which recomputes rootwindow size,
433         window abs positions and window rowstrides. Usefull when the
434         rotation has changed.
435
436 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
437
438         * docs/faq/gtk-faq.sgml: update to make web site updating easier
439
440 2001-01-10  Havoc Pennington  <hp@redhat.com>
441
442         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
443         where sibling == iter
444         (gtk_tree_store_insert_after): handle sibling == iter
445         (gtk_tree_store_prepend): remove stamp checks
446         (gtk_tree_store_insert_before): ditto
447         (gtk_tree_store_append): ditto
448         (gtk_tree_store_get_path): ditto
449         (gtk_tree_store_get_value): ditto
450         (gtk_tree_store_iter_has_child): ditto
451         (gtk_tree_store_iter_n_children): ditto
452         (gtk_tree_store_iter_nth_child): ditto
453         (gtk_tree_store_insert_after): ditto
454         (gtk_tree_store_is_ancestor): ditto
455         (gtk_tree_store_iter_depth): ditto
456         (gtk_tree_store_insert_before): assert that sibling's parent is
457         the same as the passed-in parent
458         (gtk_tree_store_insert_after): assert that sibling's parent is
459         the same as the passed-in parent
460
461         
462         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
463         function to get the first iterator in a model
464         
465         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
466         conventionally the "root" in this sense is just NULL afaict.
467
468         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
469         where sibling == iter
470         (gtk_list_store_insert_after): handle case where sibling == iter
471
472         * tests/testtreeview.c (run_automated_tests): fairly lame basic
473         automated tests for ListStore, TreeStore
474
475         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
476         (gtk_list_store_insert): update tail pointer, and fix it to work
477         (gtk_list_store_insert_before): update tail pointer, and fix it to work
478         (gtk_list_store_append): use tail to be faster
479         (gtk_list_store_prepend): fix it, update tail pointer
480         (gtk_list_store_insert_after): fix it, update tail pointer
481
482         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
483         the list
484
485 2001-01-09  Havoc Pennington  <hp@redhat.com>
486
487         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
488         is NULL due to a pending resize
489
490         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
491         column width to values less than 1
492
493         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
494         width to be between min/max width, and still set the width 
495         even if autosize is turned on, so the tree view can use this 
496         function in order to autosize.
497         (gtk_tree_view_column_init): set initial width to 1 not 0
498
499         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
500         setter function to modify column width, so we get notification
501         (gtk_tree_view_insert_iter_height): ditto
502         (gtk_tree_view_calc_size): ditto
503         (gtk_tree_view_check_dirty): ditto
504
505         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
506         properties to change all the interesting attributes of the tree
507         view column.
508         (gtk_tree_view_column_set_header_clickable): rename set_clickable
509         (gtk_tree_view_column_get_clickable): add
510         (gtk_tree_view_column_set_cell_renderer): don't unset the current
511         attributes; assume a cell renderer with equivalent object
512         properties has been swapped in. Do g_object_notify().
513         (gtk_tree_view_column_set_visible): g_object_notify
514         (gtk_tree_view_column_get_sizing): rename from get_col_type
515         (gtk_tree_view_column_set_sizing): g_object_notify
516         (gtk_tree_view_column_set_width): add g_object_notify
517         (gtk_tree_view_column_set_min_width): ditto
518         (gtk_tree_view_column_set_max_width): ditto
519         (gtk_tree_view_column_set_title): ditto
520         (gtk_tree_view_column_set_clickable): ditto
521         (gtk_tree_view_column_set_widget): ditto
522         (gtk_tree_view_column_set_justification): ditto
523
524 2001-01-09  Havoc Pennington  <hp@redhat.com>
525
526         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
527         there are no rows in the model
528
529         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
530         NULL, then return the start of the list
531
532         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
533         if we can't get any rows from an empty model 
534
535         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
536         extraneous * after function pointer typedef usage
537
538         * Makefile.am: don't specify full path to cp and rm
539
540         * gtk/gtkcellrenderertextpixbuf.c
541         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
542         NULL before dereferencing, fixes a segfault that happened from
543         time to time
544
545         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
546         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
547         and reindent the function
548         (gtk_cell_renderer_pixbuf_get_size): indentation
549
550         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
551         we quit it
552         (gtk_dialog_add_buttons_valist): add g_return_if_fail
553         (gtk_dialog_set_default_response): New function, to set default
554         button
555         (gtk_dialog_set_response_sensitive): New function, to set 
556         sensitivity of buttons
557
558         * gtk/gtkcellrendererpixbuf.c
559         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
560         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
561
562         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
563         handle any G_TYPE_OBJECT subclass, not just the base class, and 
564         also boxed types.
565         (_gtk_tree_data_list_value_to_node): ditto
566
567         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
568         --gtk-debug=tree
569
570         * gtk/gtkmain.c: add GTK_DEBUG_TREE
571
572         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
573
574 2001-01-09  Tor Lillqvist  <tml@iki.fi>
575
576         * gdk/win32/gdkevents-win32.c: Implement better mouse
577         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
578         (find_window_for_pointer_event): New function.
579         (gdk_event_translate): Use it when handling mouse events.
580
581 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
582
583         * configure.in:
584         Added --with-included-loaders option
585
586         * gdk-pixbuf/Makefile.am:
587         * gdk-pixbuf/gdk-pixbuf-io.c:
588         Add support for including selected gdk-pixbuf loaders only.
589
590         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
591         gtk_window_set_has_frame):
592         Added inline documentation.
593
594         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
595         * docs/reference/gdk/tmpl/windows.sgml:
596         Added inline documentation.
597
598 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
599
600         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
601         realizing buttons that have already been realized.
602
603 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
604
605         * tests/testtreeview.c (main): Show menu items before adding to
606         option menu.
607
608         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
609         around if we kill them.
610
611         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
612         Return if we pass in a NULL model.
613
614 2001-01-08  Havoc Pennington  <hp@redhat.com>
615
616         * tests/testtreeview.c: hack on this some
617
618         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
619         gtk_tree_store_set_valist, v is for arrays, valist for varargs
620         list
621         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
622
623         * gtk/gtkliststore.h: Add varargs set() and get() convenience
624         functions
625
626 2001-01-08  Alexander Larsson  <alexl@redhat.com>
627
628         * gtk/gtkwindow-decorate.[hc]:
629         * gtk/Makefile.am:
630         New files. Contains an implementation of a minimal WM for
631         linux-fb.
632
633         * gtk/gtkwindow.h:
634         Add the possibility for GtkWindows to specify a frame. This
635         is used for the window decoration code, but could concievably
636         be used for X programs too (xmms style windows).
637         GtkWindow->frame is the toplevel window if the window is framed.
638         The signal frame_event gets all events that are targeted to
639         GtkWindow->frame.
640         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
641         
642         * gtk/gtkwindow.c:
643         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
644         Call out to gtkwindow-decorate.c for WM support in linx-fb.
645
646 2001-01-08  Alexander Larsson  <alexl@redhat.com>
647
648         * docs/README.linux-fb:
649         Correct filename ~/.pangoft2_aliases
650
651         * gdk/gdkwindow.h:
652         Added new function gdk_window_get_decorations.
653
654         * gdk/linux-fb/gdkfb.h:
655         Removed _gdk_window_get_decorations declaration.
656         Renamed _gdk_window_set_child_handler to
657         gdk_fb_window_set_child_handler.
658
659         * gdk/linux-fb/gdkwindow-fb.c:
660         Renamed _gdk_window_set_child_handler to
661         gdk_fb_window_set_child_handler.
662
663         * gdk/x11/gdkwindow-x11.c:
664         New function gdk_window_get_mwm_hints().
665         Implemented gdk_window_get_decorations.
666
667         * docs/reference/gdk/tmpl/windows.sgml:
668         * docs/reference/gdk/gdk-sections.txt:
669         Added gdk_window_get_decorations docs.
670         
671 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
672
673         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
674         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
675         gdk_fb_window_send_crossing_events):
676         Possibly send focus events when the mouse moves from one
677         window to another.
678
679 2001-01-07  Tor Lillqvist  <tml@iki.fi>
680
681         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
682         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
683         to match current API.
684
685         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
686         environment variable is set, don't call g_error when on a
687         palettized (PseudoColor) display. Some people want to use GTK+ 
688         in 256-colour mode even though works only partially.
689
690         * gdk/gdk.def
691         * gtk/gtk.def
692         * gtk/makefile.mingw.in: Update.
693
694 2001-01-05  Havoc Pennington  <hp@redhat.com>
695
696         * tests/testtreeview.c: hack on this a bit
697
698         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
699         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
700
701         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
702         was spelled incorrectly
703         (GTK_IS_TREE_MODEL_SIMPLE): ditto
704
705         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
706         from gtk_tree_view_set_headers_active   
707
708         * gtk/gtktexttag.c:
709         (gtk_text_tag_get_property): handle PROP_DIRECTION
710         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
711         properties, bug 40235
712
713         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
714         forward_to_line_end
715
716 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
717
718         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
719         modules/input/gtkimcontextxim.c: Adapt to new prototypes
720         for unicode,locale,filename conversion functions.
721
722 2001-01-05  Havoc Pennington  <hp@redhat.com>
723
724         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
725         broken if called on the first position in the buffer.
726
727         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
728         forward_to_delimiters to be called only if we aren't already at
729         the delimiters.
730
731 2001-01-05  Havoc Pennington  <hp@redhat.com>
732
733         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
734
735 2001-01-05  Alexander Larsson  <alexl@redhat.com>
736
737         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
738         colormap in here. Sync from X port.
739         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
740         Sync from X port.
741         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
742         This happens now and then, and i don't think it is a bug.
743         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
744         != endpoint.
745         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
746         GDK_LINE_SOLID.
747
748         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
749         some of the fields filled in at least.
750
751         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
752         miLineArcD is no more, remove it from the function definition.
753
754 2001-01-04  Havoc Pennington  <hp@redhat.com>
755
756         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
757         this
758
759         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
760         user_data instead of tree_node
761
762         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
763         TREE_VIEW_COLUMN_SIZE
764
765         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
766         "size" field to "width" finishes bug 40061
767
768         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
769         for bitfields, bug 40268
770
771 2001-01-04  Havoc Pennington  <hp@redhat.com>
772
773         Rename some stuff:
774         
775         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
776
777         s/GtkModelSimple/GtkTreeModelSimple/g;
778         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
779         s/gtk_model_simple/gtk_tree_model_simple/g;
780         s/gtkmodelsimple/gtktreemodelsimple/g;
781
782         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
783
784         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
785         s/column_set_col_type/column_set_sizing/g;
786
787         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
788         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
789
790         s/GtkCellRendererType/GtkCellRendererState/g;
791         
792         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
793         (gtk_cell_renderer_toggle_class_init): change "state" property to
794         "active", to match GtkToggleButton
795         (gtk_cell_renderer_toggle_get_active): new function, bug
796         40269
797         (gtk_cell_renderer_toggle_set_active): new function
798         (gtk_cell_renderer_toggle_set_property): route changes to toggle
799         state through gtk_cell_renderer_set_active
800
801 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
802
803         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
804         temporarily until they work again.  Brought up to date with
805         changes in the model.
806         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
807         model.
808
809 2001-01-04  Havoc Pennington  <hp@redhat.com>
810
811         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
812         equal to the line length, then position iterator before paragraph 
813         separators. Fixes crash reported by Mikael Hermansson when
814         pressing left arrow from the start of a line.   
815
816         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
817         about byte indexes off the end
818         (iter_set_from_char_offset): add g_error about char offsets
819         off the end
820
821 2001-01-03  Havoc Pennington  <hp@redhat.com>
822
823         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
824
825         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
826         of private functions; remove inclusion of private headers.
827
828         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
829         function, so we don't need private functions in gtktextdisplay.c
830
831         * gtk/gtktextiterprivate.h: underscore-ification
832
833         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
834         to instead say "only useful to implement widgets"
835
836         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
837         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
838         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
839
840         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
841         This function was completely broken
842
843         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
844
845         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
846
847         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
848
849         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
850
851         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
852
853         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
854
855         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
856         gtk_paint_layout
857
858         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
859         gtk_paint_layout
860
861         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
862         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
863         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
864         which were not implemented.     
865
866         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
867         insert_pixbuf signal. Rename delete_text to delete_range since it
868         also deletes pixbufs and child anchors. This almost closes bug
869         40245 (still need to deal with child anchors)
870
871         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
872         insert_pixbuf, change signal names as appropriate, change types of
873         signals taking marks/tags to have the specific type, not just
874         G_TYPE_OBJECT
875         
876         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
877         closes bug 40051
878
879         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
880         unnecessary remove_contents() call
881         (gtk_option_menu_class_init): add a "changed" signal, closes
882         bug 40039
883         (gtk_option_menu_update_contents): emit "changed" if the 
884         active menu item changes
885
886         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
887         cast to GtkObject, reported by Jonas Borgstrom
888         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
889         we can't do stuff with side effects in finalize. Instead, spew a
890         warning if the loader isn't closed.
891
892         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
893         colormap in here, non-X ports probably need to sync to this change
894
895         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
896         assertion that colormap != NULL, you can set the colormap to NULL
897         if you like.
898         
899         * Makefile.am: remove gtk-config-2.0
900
901         * configure.in: Use pkg-config to locate GLib. Remove
902         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
903         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
904         Use pkg-config to locate Pango. Output correct Pango libs to
905         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
906
907         * Makefile.am (pkgconfig_DATA): install only target-specific pc
908         files
909         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
910         X11 pc files
911
912         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
913         unref from here
914
915 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
916
917         * configure.in:
918         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
919
920 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
921
922         * gtk/gtktextlayout.c
923         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
924         variable when moving back onto a single line.
925
926 2001-01-01  Havoc Pennington  <hp@redhat.com>
927
928         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
929
930         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
931
932         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
933         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
934
935 2001-01-01  Havoc Pennington  <hp@redhat.com>
936
937         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
938
939         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
940         GtkTextAttributes
941
942         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
943         #40246
944         (gtk_text_attributes_copy_values): rename from 
945         gtk_text_attributes_copy
946         (gtk_text_attributes_copy): a more standard GTK copy function, 
947         which returns a new object
948
949 2001-01-01  Havoc Pennington  <hp@redhat.com>
950
951         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
952         
953         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
954         don't fill in tree_view->priv->selection, kind of an unexpected
955         side effect
956
957         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
958         gtkintl.h
959         
960         * gtk/gtkcellrenderer.c: Remove definition of _ and include
961         gtkintl.h
962         (gtk_cell_renderer_get_property): remove calls to g_value_init
963
964         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
965         gtkintl.h
966
967         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
968         and include gtkintl.h
969         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
970         property names
971
972         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
973         GtkTreeSelection
974         (_gtk_tree_selection_new_from_with_view): rename, return
975         GtkTreeSelection
976         (_gtk_tree_selection_set_tree_view): rename with uscore
977         (gtk_tree_selection_get_selected): fill in the "model" out param
978         first, so it gets filled in even if we return at the top of the 
979         function
980         (gtk_tree_selection_real_select_all): add a comment and an else{}
981         to clarify this a bit
982         (gtk_tree_selection_real_unselect_all): add the same else{}
983
984         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
985         set_tree_view to have underscore prefixes, move them to the
986         private header, fix return type of new_with_tree_view
987         (struct _GtkTreeSelection): mark struct
988         fields private  
989
990         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
991         GtkTreeModelFlags, not a guint
992         (gtk_tree_path_prev): return gboolean not gint
993         (gtk_tree_path_up): return gboolean not gint
994
995         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
996         return GtkTreeModelFlags, not a guint
997
998         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
999         that child model is non-null before unrefing it
1000         (g_value_int_compare_func): make this a qsort compare func, not 
1001         a boolean predicate
1002
1003         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
1004         (add -umn to the end), and mark it unimplemented
1005         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
1006         I don't see what it's for - doesn't the model always sort itself?
1007         (gtk_tree_model_sort_set_compare): this had the wrong signature
1008
1009         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
1010         Fix the docs to say that it destructively replaces existing
1011         attributes (previously said that it added attributes).
1012         (gtk_tree_view_column_set_visible): canonicalize bool before
1013         equality testing. Also, check for realization before
1014         hiding/showing the tree_column->window; if this window could exist
1015         before realization, then it's busted and needs fixing, we can't 
1016         create GDK resources pre-realization. Also, remove
1017         superfluous queue_resize(), since set_size() does that for us.
1018         (gtk_tree_view_column_set_col_type): check realization before 
1019         using tree_column->window
1020
1021         * gtk/gtktreedatalist.c: fix filename in copyright notice
1022
1023 2000-12-31  Havoc Pennington  <hp@pobox.com>
1024
1025         * gtk/gtktextview.c: Rearrange all the
1026         scroll-while-dragging-or-selecting code to be different, not
1027         necessarily better. ;-)
1028         (gtk_text_view_scroll_to_mark): Change this
1029         function to take within_margin as a fraction instead of a pixel
1030         value, and to take alignment arguments (indicating where to align 
1031         the mark inside the visible area)
1032         
1033         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
1034         to GtkObject
1035
1036         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
1037         behavior so that offsets past the end of the line are not 
1038         allowed, and an offset equal to the line length moves the iterator
1039         to the next line
1040         (gtk_text_iter_set_line_index): make parallel change
1041         (gtk_text_iter_get_bytes_in_line): add this function
1042         
1043         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
1044         of byte indexes off the end of the line; byte index at the end of
1045         the line now returns FALSE and doesn't fill in the requested
1046         values, byte index past the end of the line is an error.  Also,
1047         don't allow -1 offset anymore, since its meaning is unclear.
1048
1049         This change exposes some bug in visual cursor motion, where we
1050         end up with a huge invalid byte index; needs fixing. Symptom of 
1051         bug is a crash when you hit up arrow.
1052         
1053         (_gtk_text_line_char_locate): match the change to byte_locate
1054
1055         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
1056         from start of line properly. fixes bug reported by Mikael
1057         Hermansson where backspace would delete all text before the
1058         cursor.
1059
1060 2000-12-30  Tor Lillqvist  <tml@iki.fi>
1061
1062         * gdk/win32/gdkwindow-win32.c
1063         (gdk_window_impl_win32_get_visible_region): New function, as in
1064         the X11 backend.
1065         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
1066         instead of duplicating the same code here.
1067
1068         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
1069         GDK_COLORMAP macro.
1070
1071         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
1072         destroy function.
1073         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
1074         access that.
1075
1076         * gtk/gtk.def: Update.
1077
1078         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
1079
1080 2000-12-30  Havoc Pennington  <hp@pobox.com>
1081
1082         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
1083         colormap on input only windows, to avoid special cases all over
1084         the code for these windows.
1085
1086 2000-12-26  Tor Lillqvist  <tml@iki.fi>
1087
1088         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
1089         we are on a palettized display ("PseudoColor" in X11), as the code
1090         for that doesn't work anyway, and never has.
1091
1092 2000-12-22  Alexander Larsson  <alexl@redhat.com>
1093
1094         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
1095         Don't use isprint() for chars > 255.
1096
1097 2000-12-21  Havoc Pennington  <hp@redhat.com>
1098
1099         * tests/testtreeview.c: more work
1100
1101 2000-12-21  Alexander Larsson  <alexl@redhat.com>
1102
1103         * docs/README.linux-fb:
1104         Update the docs to the new pangoft2 way.
1105
1106 2000-12-21  Alexander Larsson  <alexl@redhat.com>
1107
1108         * configure.in:
1109         For linux-fb get the pangoft2 cflags and libs. This needs a recent
1110         pango version.
1111         Remove modules/linux-fb/Makefile.
1112
1113         * gdk/linux-fb/gdkdrawable-fb2.c:
1114         Render glyphs using freetype.
1115
1116         * gdk/linux-fb/gdkfb.h:
1117         Add new fb-specific functions needed for managing windows.
1118
1119         * gdk/linux-fb/gdkmain-fb.c:
1120         Remove gdk_font_init/fini() calls.
1121
1122         * gdk/linux-fb/gdkpango-fb.c:
1123         Remove old implementation. Use pangoft2 instead.
1124
1125         * gdk/linux-fb/gdkprivate-fb.h:
1126         Remove PangoFBFont and related stuff.
1127
1128         * gdk/linux-fb/gdkwindow-fb.c:
1129         Implement drawable->get_visible_region.
1130         Implement support for _gdk_window_set_child_handler () and
1131         _gdk_window_get_decorations().
1132
1133         * modules/Makefile.am:
1134         Remove linux-fb subdir.
1135
1136         * modules/linux-fb/*:
1137         Removed all.
1138         
1139 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
1140
1141         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
1142         calls, as they are no longer needed.
1143
1144         * gtk/gtktreemodelsort.c: Fix up the comparison code.
1145         
1146         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
1147         figure out how to emit a signal on an interface.
1148
1149 2000-12-20  Havoc Pennington  <hp@redhat.com>
1150
1151         * tests: new directory to contain tests, gtk/test* should move
1152         here sometime (with appropriate on-cvs-server hackery)
1153
1154         * tests/testtreeview.c, tests/Makefile.am: a test
1155         
1156         * configure.in (AC_OUTPUT): add tests/Makefile
1157
1158         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
1159         and "invisible_set" which were missing
1160
1161         * gtk/gtkrbtree.h: some cheesy indentation fix
1162         
1163 2000-12-20  Alexander Larsson  <alexl@redhat.com>
1164
1165         * gtk/gtkinvisible.c (gtk_invisible_realize):
1166         Attach the style to the window so that the style it is not
1167         leaked when unrealizing the window.
1168
1169 >>>>>>> 1.1626
1170 2000-12-18  Havoc Pennington  <hp@redhat.com>
1171
1172         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
1173         begin/end user action where appropriate
1174         (gtk_text_view_commit_handler): add begin/end user action
1175
1176         * gtk/gtktextbuffer.c: add begin/end user action signals, and
1177         bracket interactive operations with begin/end user action pair.
1178         
1179         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
1180         "interactive" arg from insert_text and delete_text signals.
1181         Add begin_user_action, end_user_action signals
1182         (gtk_text_buffer_begin_user_action): 
1183         (gtk_text_buffer_end_user_action): New functions to delimit 
1184         a user-visible action
1185
1186         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
1187         signals.
1188         
1189 2000-12-18  Havoc Pennington  <hp@redhat.com>
1190
1191         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
1192         was pretty non-working.
1193
1194         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
1195         by passing the length to g_utf8_validate().
1196
1197 2000-12-16  Havoc Pennington  <hp@pobox.com>
1198
1199         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
1200         Port to GObject, can go back in gdk-pixbuf after setting up 
1201         a gdk-pixbuf-marshal.h header over there.
1202
1203         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
1204         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
1205         args
1206         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
1207         set
1208         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
1209         here, do it when we create the buttons later
1210         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
1211         (gtk_tree_view_map): paranoia checks that column->button is shown 
1212         and unmapped
1213         (gtk_tree_view_size_request): only request visible children.
1214         Move header size calculation in here, for cleanliness, and 
1215         to maintain invariants for child widgets if we eventually 
1216         let users set different children inside the buttons
1217         (gtk_tree_view_map_buttons): factor out code to map buttons,
1218         since it was being called several times
1219         (gtk_tree_view_size_allocate_buttons): move_resize the drag
1220         windows instead of just moving them; their height may change 
1221         if we allow random widgets in there, or the theme changes.
1222         (gtk_tree_view_size_allocate): move button size allocation 
1223         above emitting the scroll signals, to ensure a sane state when we
1224         hit user code
1225         (gtk_tree_view_button_release): remove queue_resize after
1226         tree_view_set_size(), set_size() will handle any resize queuing
1227         that's needed
1228         (gtk_tree_view_focus_in): just queue a draw, don't fool with
1229         draw_focus goo
1230         (gtk_tree_view_focus): use gtk_get_current_event() and
1231         gdk_event_get_state()
1232         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
1233         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
1234         semicolon
1235         (gtk_tree_view_create_button): show the button here
1236         (gtk_tree_view_button_clicked): actually emit the clicked signal
1237         on the column
1238         (_gtk_tree_view_set_size): return right away if the size is
1239         unchanged, as a cheesy optimization
1240         (gtk_tree_view_setup_model): rename set_model_realized to 
1241         setup_model to match the flag that indicates whether we've 
1242         called it
1243         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
1244         exist, because set_scroll_adjustment does that and it shouldn't
1245         matter what order you call these in
1246         (gtk_tree_view_get_vadjustment): ditto
1247         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
1248         for paranoia
1249         (gtk_tree_view_set_headers_visible): call
1250         gtk_tree_view_map_buttons() instead of using cut-and-paste code
1251         (gtk_tree_view_append_column): clarify whether the return value
1252         is the count of columns before or after, and do the increment 
1253         separately from the return statement so you can tell from the code.
1254         (gtk_tree_view_remove_column): ditto
1255         (gtk_tree_view_insert_column): ditto
1256         (gtk_tree_view_get_column): remove g_return_if_fail for columns
1257         outside the existing range, the docs say that outside-range
1258         columns are allowed, so we handle them as documented. (Presumably
1259         this allows a nice loop with column != NULL as test.)
1260         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
1261         mean (left/right/center etc.).
1262         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
1263         (gtk_tree_view_expand_row): add docs
1264         (gtk_tree_view_collapse_row): add docs
1265
1266         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
1267         function to emit the clicked signal on a column
1268         
1269         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
1270         state of an event
1271         (gdk_event_get_time): don't treat GDK_SCROLL 
1272         as a button event, remove default case from switch so gcc 
1273         will whine if we don't explicitly handle all event types
1274
1275         * gtk/gtktreeselection.h: added some FIXME 
1276         
1277         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
1278         "columns" to "n_columns" and "column" to "columns" for clarity
1279
1280 2000-12-16  Havoc Pennington  <hp@pobox.com>
1281         
1282         * gtk/gtktextiter.c: General cleanup of the log attr iteration
1283         stuff. This should make e.g. the delete key work again in the
1284         text widget...
1285         (gtk_text_iter_forward_cursor_positions): handle negative count
1286         (gtk_text_iter_backward_cursor_positions): handle negative count
1287         (gtk_text_iter_forward_word_ends): handle negative count
1288         (gtk_text_iter_backward_word_starts): handle negative count
1289
1290         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
1291         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
1292         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
1293         GObject. No doubt will cause breakage.
1294
1295         * demos/gtk-demo/textview.c: remove hacks around
1296         non-GObject-ification of the text objects
1297
1298         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
1299         the text tag
1300         
1301 2000-12-14  Havoc Pennington  <hp@pobox.com>
1302
1303         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
1304         that we have Xrender
1305
1306 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
1307
1308         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
1309         Add two virtualized functions gdk_drawable_get_clip_region - to
1310         get the clip region when drawing.
1311         
1312         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
1313         use invalidate_region.
1314
1315         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
1316         region.
1317
1318         * acconfig.h configure.in: Check for Xft. For now, assume
1319         that if Xft is found, Pango was compiled with Xft support
1320         as well.
1321
1322         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
1323         gdk_colormap_query_color().
1324         
1325         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
1326         with Xft if appropriate.
1327
1328         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
1329         a pangoxft context if we have XFT and the environment
1330         variable GD_USE_XFT is set.
1331         
1332         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
1333         and also possibly an XftDraw structure.
1334
1335         * gtk/gtkfontsel.c: Handle the case where the font from the
1336         style doesn't match any of the fonts a bit better.
1337         
1338         * gtk/testgtk.c: Add tabs between directional segments for
1339         hebrew/arabic test. (Not really necessary, just a little
1340         prettier.)
1341
1342 2000-12-14  Havoc Pennington  <hp@redhat.com>
1343
1344         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
1345         reading a file
1346
1347 2000-12-14  Havoc Pennington  <hp@redhat.com>
1348
1349         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
1350         unused call to get_last_line()
1351
1352         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
1353         here until boxed is working (and maybe after that - we should
1354         really not gratuitously break old code)
1355
1356         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
1357         specific types for font_desc and tabs args, move them to
1358         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
1359         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
1360
1361         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
1362         use GTK_TYPE_POINTER for signal signatures as a hack-around
1363
1364         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
1365         PangoTabArray
1366
1367         * gtk/gtktextlayout.c (line_display_iter_to_index): 
1368         make static
1369         (line_display_index_to_iter): make static
1370
1371         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
1372         to marshal a string not a boxed
1373
1374         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
1375
1376         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
1377         since the UTF-8 isn't validated yet
1378
1379         * gtk/gtktextsegment.c (char_segment_check_func): don't require
1380         lines to end in '\n'
1381         
1382         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
1383         forward_to_delimiters, and grapheme boundaries
1384         (gtk_text_view_delete_from_cursor): properly handle non-newline
1385         delimiters, and grapheme boundaries
1386
1387         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
1388         to gtk_text_iter_forward_to_delimiters, and make it work properly
1389         if empty lines end with a character other than '\n'
1390
1391         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
1392         position
1393
1394 2000-12-15  Tor Lillqvist  <tml@iki.fi>
1395
1396         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
1397
1398         * gtk/gtk.def
1399         * gdk/gdk.def: Update.
1400
1401         * gdk/win32/gdkmain-win32.c
1402         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
1403         gdkmain-win32.c here.
1404
1405         * gdk/win32/makefile.mingw.in (all): No need to make
1406         gdk-win32res.o here, the makefile one step up will call us to make
1407         it.
1408
1409         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
1410         gdkkeys-win32.
1411
1412         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
1413
1414         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
1415         call to g_source_add().
1416
1417         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
1418         leak. Thanks to Andreas Kemnade.
1419
1420 2000-12-13  Havoc Pennington  <hp@pobox.com>
1421
1422         * gtk/gtktextbtree.h: Remove double _ in front of some functions
1423
1424         * gtk/gtktext*.[hc]: update accordingly
1425         
1426 2000-12-13  Havoc Pennington  <hp@pobox.com>
1427
1428         * gtk/gtktextbtree.h: Put _ in front of every function in this 
1429         header file
1430
1431         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
1432
1433 2000-12-13  Alex Larsson  <alexl@redhat.com>
1434
1435         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
1436         Add support for ps2 intellimouse.
1437
1438         * gdkkeyboard-fb.c:
1439         Move shift-F1 repaint handling to xlate handler only.
1440         
1441         * docs/README.linux-fb:
1442         Add imps2 to docs.
1443         Document the new refresh keys.
1444         
1445 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
1446
1447         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
1448
1449         * gtk/gtkbox.c: change property types from (u)long to (u)int for
1450         ::position and ::padding.
1451
1452         * gtk/gtkcontainer.c: make ::border_width an INT property.
1453
1454         * gtk/gtkpacker.c: make ::position an INT property.
1455
1456         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
1457         guard against NULL h/v scrollbars, since this is used at construction
1458         time.
1459
1460         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
1461         internal gtk_clist_constructor().
1462
1463         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
1464         gtk_ctree_constructor().
1465
1466         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
1467         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
1468
1469         * docs/reference/Makefile.am: fun stuff, disabled docs generation
1470         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
1471
1472         * gtk/gtkwidget.[hc]:
1473         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
1474         and gtk_widget_get().
1475         (gtk_widget_new): use g_object_new_valist().
1476         (gtk_widget_set): use g_object_set_valist().
1477
1478         * gtk/gtkobject.[hc]:
1479         removed gtk_object_arg_get_info(), gtk_object_getv(),
1480         gtk_object_query_args(), gtk_object_newv(),
1481         gtk_object_class_add_signals(),
1482         gtk_object_class_user_signal_new(),
1483         gtk_object_class_user_signal_newv(),
1484         gtk_object_arg_set(), gtk_object_arg_get(),
1485         gtk_object_args_collect(),
1486         gtk_object_default_construct(),
1487         gtk_object_constructed(),
1488         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
1489         removed nsignals, signals and n_args members from GtkObjectClass.
1490         (gtk_object_new): use g_object_new_valist().
1491         (gtk_object_set): use g_object_set_valist().
1492         (gtk_object_get): use g_object_get_valist().
1493         
1494         * gtk/gtkcompat.h: define gtk_object_default_construct().
1495         
1496         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
1497         g_object_new().
1498
1499         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
1500         fucntions, cleaned up method assignments (make sure your structures
1501         are setup properly before calling out). removed all GTK_CONSTRUCTED
1502         hacks ;)
1503
1504 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
1505
1506         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
1507         off-by-one error in checks. (Dave Lambert)
1508
1509 2000-12-12  Alexander Larsson  <alexl@redhat.com>
1510
1511         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
1512         Don't free gdk_fb_keyboard twice.
1513
1514 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
1515
1516         * gtk/testgtk.c:
1517         (create_tooltips): 
1518         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
1519         use GObject swapped_signal:: properties instead.
1520
1521         * gtk/gtkcellrenderertoggle.c: 
1522         * gtk/gtkcellrenderertextpixbuf.c: 
1523         * gtk/gtkcellrenderertext.c: 
1524         * gtk/gtkcellrendererpixbuf.c: 
1525         * gtk/gtkcellrenderer.c:
1526         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
1527         missing warnings for invalid property ids, install properties
1528         with g_object_class_install_property() now.
1529         
1530         * gtk/gtksignal.c:
1531         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
1532         
1533 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
1534         
1535         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
1536         to determine if a window is the focus widget within
1537         its toplevel.
1538
1539         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
1540         to be boolean.
1541
1542         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
1543         of the case where the container CAN_FOCUS to here instead
1544         of having it in each individual move-the-focus place.
1545
1546         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
1547         focusing to be geometric in a much more obvious sense. Arrowing
1548         around is still non-intuitive because it isn't perfect and
1549         because entries, etc, grab the arrow keys, but it at least
1550         usually will do what you expect now.
1551         
1552         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
1553         file.
1554
1555         * gtk/gtknotebook.c: Change tabs to be a single item in
1556         the focus chain. Make movement of focus on tabs with arrow
1557         keys wrap around.
1558         
1559         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
1560         CHECK_FIND_CHILD macro to give informative error messages
1561         instead of silent returns.
1562
1563         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
1564         flag since we handle GdkReturn on the tabs.
1565
1566         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
1567         windows rather than sending expose events directly.
1568
1569         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
1570         definition for GtkNotebookPage into .c file, since it is private.
1571
1572         * gtk/testgtk.c (create_notebook): Add option for 
1573         testing borderless notebook.
1574
1575         * gtk/testgtk.c (page_switch): Removed egregious poking
1576         around in GTK+ internals.
1577
1578         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
1579
1580         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
1581         properly through gtk_clist_focus. Make the title headers a
1582         single item in the tab-focus chain, and make left-right wrap
1583         around.
1584
1585         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
1586         focus method so that wrapping around works properly.
1587
1588         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
1589         that is handled for the widget now. 
1590
1591 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
1592
1593         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
1594         widgets as TOPLEVEL.
1595
1596         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
1597         TOPLEVEL widgets are containers.
1598
1599         * gtk/gtkinvisible.h: Remove useless include.
1600
1601 2000-12-11  Havoc Pennington  <hp@redhat.com>
1602
1603         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
1604         Handle chopping off \r\n and 0x2029 in addition to \n before
1605         passing to PangoLayout
1606
1607         * gtk/gtkimcontextsimple.c
1608         (gtk_im_context_simple_get_preedit_string): 
1609         return an empty string if no match is pending
1610
1611         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
1612         assertion that the returned preedit string was sane
1613
1614         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
1615         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
1616         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
1617
1618 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
1619
1620         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
1621         Fix up finalizer to chain to its parent.
1622
1623 2000-12-11  Alexander Larsson  <alexl@redhat.com>
1624
1625         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
1626         Clearified the difference between the keyboard types. Wrote a note
1627         about the magic sysrq key to get out of raw mode.
1628
1629 2000-12-09  James Henstridge  <james@daa.com.au>
1630
1631         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
1632         member to hold masks for detecting the start of a protocol packet.
1633         (mouse_devs): add packet start masks for ps2 and ms device types.
1634         Left the mask for fidmour blank, as I have no idea what it should
1635         be.
1636         (handle_mouse_io): skip bytes until we get to the start of a
1637         packet.  My Logitech mouse seems to be passing an extra NULL pad
1638         byte, and GPM does a similar thing here.
1639         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
1640         this is the ms mouse driver.
1641         (gdk_fb_mouse_ms_packet): fix up button handling, which was
1642         completely broken except for button1.  It was checking the wrong
1643         bit in the packet for the status of the right mouse button, and
1644         wrongly assuming right == button2 rather than 3.  I fixed that and
1645         also added support for middle button (button2).
1646
1647 2000-12-08  Havoc Pennington  <hp@redhat.com>
1648
1649         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
1650         that cause a segfault on text insertion
1651
1652         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
1653         warning
1654
1655         * gtk/gtktextiter.c (test_log_attrs): use
1656         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
1657
1658         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
1659         Get log attrs for a line, using a cache stored on the buffer
1660         
1661         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
1662         reported by Jeff Franks
1663
1664 >>>>>>> 1.1623
1665 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
1666
1667         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
1668         /dev/ttyS0 -> /dev/mouse
1669
1670 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
1671
1672         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
1673         Added dummy gdk_fontset_load.
1674
1675 2000-12-08  Alexander Larsson  <alexl@redhat.com>
1676
1677         * docs/README.linux-fb:
1678         * docs/Makefile.am:
1679         Initial GtkFB docs.
1680         
1681         * gdk/linux-fb/Makefile.am:
1682         Define GDK_DATA_PREFIX.
1683
1684         * gdk/linux-fb/gdkmain-fb.c:
1685         Fix typo.
1686         Change default display to /dev/fb0.
1687
1688         * gdk/linux-fb/gdkpango-fb.c:
1689         Add $(prefix)/share/fonts/ to font path.
1690         
1691 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
1692
1693         * gdk/linux-fb/gdkkeyboard-fb.c:
1694         New file containing the abstracted keyboard driver. Most code
1695         taken from gdkinput-ps2.c
1696
1697         * gdk/linux-fb/gdkinput-ps2.c:
1698         Removed file.
1699         
1700         * gdk/linux-fb/Makefile.am:
1701         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
1702
1703         * gdk/linux-fb/gdkcolor-fb.c:
1704         display->fb was renamed to display->fb_fd.
1705
1706         * gdk/linux-fb/gdkcursor-fb.c:
1707         gdk_mouse_get_info -> gdk_fb_mouse_get_info
1708
1709         * gdk/linux-fb/gdkinput.c:
1710         Moved gdk_input_init here from gdkinput-ps2.c
1711
1712         * gdk/linux-fb/gdkmain-fb.c:
1713         display->fb was renamed to display->fb_fd.
1714         Now the tty and the console is opened here instead
1715         of in the keyboard driver. Also check GDK_VT to see what
1716         tty to open.
1717         Move gdk_beep () here from gdkinput-ps2.c
1718         gdk_mouse_get_info -> gdk_fb_mouse_get_info
1719
1720         * gdk/linux-fb/gdkmouse-fb.c:
1721         Add header.
1722         gdk_mouse_get_info -> gdk_fb_mouse_get_info
1723         Return correct keyboard modifiers.
1724         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
1725
1726         * gdk/linux-fb/gdkprivate-fb.h:
1727         Add tty and vt info to display.
1728         Add orignal modeinfo storage to display
1729         Update global functions
1730
1731         * gdk/linux-fb/gdkwindow-fb.c:
1732         Added gdk_fb_window_find_focus().
1733         gdk_mouse_get_info -> gdk_fb_mouse_get_info
1734
1735 2000-12-07  Havoc Pennington  <hp@pobox.com>
1736
1737         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
1738         function, noticed by Alex
1739
1740 2000-12-06  Elliot Lee  <sopwith@redhat.com>
1741
1742         * configure.in: Detect freetype properly
1743
1744         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
1745         above.
1746
1747 2000-12-06  Alexander Larsson  <alexl@redhat.com>
1748
1749         * gdk/linux-fb/Makefile.am:
1750         Add gdkmouse-fb.c
1751         
1752         * gdk/linux-fb/gdkmouse-fb.c:
1753         New file. Abstracted the mouse drivers a bit.
1754
1755         * gdk/linux-fb/gdkcursor-fb.c:
1756         The cursor hide/show functions was moved here from gdkinput-ps2.c.
1757
1758         * gdk/linux-fb/gdkinput-ps2.c:
1759         Removed old mouse handling code. Moved cursor handling code
1760         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
1761         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
1762         gdk_mouse_get_info.
1763
1764         * gdk/linux-fb/gdkmain-fb.c:
1765         Pass NULL pointers for x,y in gdk_mouse_get_info call.
1766
1767         * gdk/linux-fb/gdkprivate-fb.h:
1768         Removed public gdk_fb_find_common_ancestor, added and renamed
1769         functions for the new mouse handling code.
1770
1771         * gdk/linux-fb/gdkwindow-fb.c:
1772         Moved gdk_fb_window_send_crossing_events here. added global
1773         variable gdk_fb_window_containing_pointer. made
1774         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
1775         renamed to gdk_mouse_get_info.
1776
1777 2000-12-06  Alexander Larsson  <alexl@redhat.com>
1778
1779         * gdk/linux-fb/gdkevents-fb.c:
1780         Update to match latest gmain/gsource changes.
1781
1782         * gdk/linux-fb/gdkinput-ps2.c:
1783         Bogus gdk_keymap_get_entries_for_keycode implementation so that
1784         it links. Will be implemented later.
1785
1786 2000-12-03  Havoc Pennington  <hp@pobox.com>
1787
1788         * gdk/Makefile.am: add gdkkeys.[hc]
1789
1790         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
1791         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
1792
1793         * acconfig.h, configure.in: add checks and command line options
1794         for XKB
1795
1796         * gdk/x11/gdkkeys-x11.c: Implement the above functions
1797         
1798         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
1799         and group in the key event
1800
1801         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
1802         field with the low-level hardware key code, and a group
1803         field with the keyboard group
1804
1805         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
1806         and declare a couple globals used for keymap handling
1807         
1808         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
1809         hold down Shift-Control and type a hex number to get a Unicode 
1810         character corresponding to the hex number
1811         (gtk_im_context_simple_get_preedit_string): Fix cursor position
1812         (return bytes not chars)
1813
1814 2000-12-05  Elliot Lee  <sopwith@redhat.com>
1815
1816         * gdk/gdkcolor.h: Make GdkColor specify element sizes
1817         to avoid waste on 64-bit platforms.
1818
1819 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
1820
1821         * INSTALL: Fix link to PNG home, remove reference
1822         to fribidi.
1823
1824         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
1825         
1826         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
1827         tested.)
1828
1829         * gtk/gtkcheckmenuitem.c: Permanently turn on
1830         always_show_toggle.
1831
1832         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
1833         be NULL. (Vladimir Klebanov, #26545)
1834
1835         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
1836         some signed/unsigned comparison problems. (#6510,
1837         David Kaelbling)
1838
1839         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
1840         return type to boolean (Oskar Liljeblad, #18648)
1841
1842 2000-12-05  Alexander Larsson  <alexl@redhat.com>
1843
1844         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
1845         Remove bogus colormap setting.
1846
1847 2000-12-05  Alexander Larsson  <alexl@redhat.com>
1848
1849         * gdk/linux-fb/gdkcolor-fb.c:
1850         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
1851
1852         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
1853         Must set colormap.
1854         
1855 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
1856
1857         * docs/tutorial/gtk-tut.sgml: DND updates
1858
1859 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
1860
1861         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
1862         Remove old debug g_warning().
1863         (gdk_fb_draw_drawable): The src argument can be either a wrapper
1864         or an implementation, just pass the implementation to draw_drawable_2.
1865         
1866         * gdk/linux-fb/gdkprivate-fb.h:
1867         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
1868
1869         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
1870         clear and invalidate area when window is destroyed.
1871         (send_map_events): Remove old commented out code.
1872
1873 2000-12-05  Alexander Larsson  <alexl@redhat.com>
1874
1875         * gdk/linux-fb/gdkpango-fb.c:
1876         Use italic instead of oblique in font aliases.
1877         
1878         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
1879         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
1880         other unsupported functions.
1881
1882 2000-12-04  Havoc Pennington  <hp@redhat.com>
1883
1884         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
1885
1886         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
1887
1888         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
1889
1890         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
1891         hack to avoid infinite loops (synthetic expose event) - 
1892         Owen has more appropriate fixes in a branch he'll check in later.
1893
1894         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
1895         separator, CR, and CRLF as line ends
1896
1897         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
1898         into lines using pango_find_paragraph_boundary(); other bits of
1899         the widget are still going to be broken if the boundary isn't '\n'
1900         though
1901
1902 2000-12-04  Alexander Larsson  <alexl@redhat.com>
1903
1904         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
1905         multiply.
1906
1907         * gdk/linux-fb/gdkpango-fb.c:
1908         Copied some 26.6 scaling macros from pango to clean up the rounding.
1909         (pango_fb_font_get_glyph_info): Correct sign on x value.
1910
1911         * gdk/linux-fb/gdkprivate-fb.h:
1912         Removed unreferenced external functions.
1913
1914         * modules/linux-fb/Makefile.am: Use ` instead of '.
1915
1916         * modules/linux-fb/basic.c:
1917         Remove dead code. In particular the dummy lang engine which broke all
1918         pango layouts in GtkFB. Don't include tables-big.i anymore.
1919
1920         * modules/linux-fb/tables-big.i:
1921         Upgrade to latest version from pango. Left for reference, basic_ranges
1922         moved to basic.c.
1923         
1924 2000-12-04  Havoc Pennington  <hp@redhat.com>
1925
1926         Fix bugs Alex found:
1927         
1928         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
1929         to "draw"
1930
1931         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
1932
1933         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
1934
1935         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
1936         implementation in here, apparently the expose() implementation was
1937         dead code.
1938
1939 2000-12-04  Alexander Larsson  <alexl@redhat.com>
1940
1941         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
1942         Return positive descent.
1943
1944 2000-12-02  Havoc Pennington  <hp@pobox.com>
1945
1946         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
1947         method and signal
1948         
1949         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
1950         calls gdk_window_process_updates() to push the exposes through
1951         (gtk_widget_class_init): No more draw signal, no
1952         gtk_widget_real_draw()  
1953         
1954         * gtk/gtkbin.c (gtk_bin_draw): remove
1955
1956         * gtk/gtkbox.c (gtk_box_draw): remove
1957
1958         * gtk/gtkbutton.c (gtk_button_draw): remove
1959
1960         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
1961
1962         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
1963
1964         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
1965
1966         * gtk/gtkclist.c (gtk_clist_draw): remove
1967
1968         * gtk/gtkentry.c (gtk_entry_draw): remove
1969
1970         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
1971
1972         * gtk/gtkfixed.c (gtk_fixed_draw): remove
1973
1974         * gtk/gtkframe.c (gtk_frame_draw): remove
1975
1976         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
1977
1978         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
1979
1980         * gtk/gtklayout.c (gtk_layout_draw): remove
1981
1982         * gtk/gtklist.c (gtk_list_draw): remove
1983
1984         * gtk/gtklistitem.c (gtk_list_item_draw): remove
1985
1986         * gtk/gtkmenu.c (gtk_menu_draw): remove
1987
1988         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
1989
1990         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
1991
1992         * gtk/gtknotebook.c (gtk_notebook_draw): remove
1993
1994         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
1995
1996         * gtk/gtkpacker.c (gtk_packer_draw): remove
1997
1998         * gtk/gtkrange.c (gtk_range_draw): remove
1999
2000         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
2001
2002         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
2003
2004         * gtk/gtktable.c (gtk_table_draw): remove
2005
2006         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
2007
2008         * gtk/gtktext.c (gtk_text_draw): remove
2009
2010         * gtk/gtktextview.c (gtk_text_view_draw): remove
2011
2012         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
2013
2014         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
2015
2016         * gtk/gtktree.c (gtk_tree_draw): remove
2017
2018         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
2019
2020         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
2021
2022         * gtk/gtkviewport.c (gtk_viewport_draw): remove
2023
2024         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
2025
2026         * gtk/gtkvscale.c (gtk_vscale_draw): remove
2027
2028         * gtk/gtkwindow.c (gtk_window_draw): remove
2029
2030 2000-20-01  Anders Carlsson  <andersca@gnu.org>
2031
2032         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
2033         a GtkToggleButton is both insensitive and active, it was being
2034         drawn by the GtkButton draw handler which doesn't check the
2035         state. Now it's calling gtk_toggle_button_paint instead.
2036         
2037 2000-12-01  Havoc Pennington  <hp@redhat.com>
2038
2039         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
2040         dangling pointers to the appearance attributes from the 
2041         line display
2042
2043         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
2044         width/height to mean "full width/height of drawable"
2045
2046         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
2047         click to select word/line
2048         
2049         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
2050         when getting log attrs. Get a slice, so that pixmaps and stuff
2051         are properly handled.
2052
2053         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
2054         paste into the selection (replaces selection now, previously
2055         crashed or added to selection). Reveals longstanding btree bug -
2056         select multiple lines, middle-click on the selection, boom. This
2057         isn't related to my changes though.
2058
2059         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
2060         PangoLogAttrs changes
2061         (gtk_entry_move_backward_word): ditto
2062
2063         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
2064         functions return bool whether the iter moved onto a
2065         dereferenceable position.
2066  
2067         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
2068         functions for motion in terms of display lines.
2069
2070         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
2071         get the buffer a mark is inside
2072         
2073 2000-12-01  Alexander Larsson  <alexl@redhat.com>
2074
2075         * gdk/linux-fb/Makefile.am:
2076         * modules/linux-fb/Makefile.am:
2077         Freetype 2 final uses freetype-config
2078
2079         * gdk/linux-fb/gdkpango-fb.c:
2080         Upgrade to use Freetype 2 final.
2081         More flexible support for font aliases, this also fixes a bug with
2082         GtkFontSelector, as the aliases must be visible in the font/family list,
2083         or GtkFontSelector reads uninitialized memory.
2084
2085 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
2086
2087         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
2088         XGetIMValues to properly terminate variable argument list, and do
2089         NULL return check for ic_values and xim_styles.
2090
2091         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
2092         Restore preedit state after XmbResetIC().
2093         
2094         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
2095         XvaCreateNestedList() should take XvaNestedList, but not
2096         XvaNestedList*.
2097
2098         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
2099         preedit_draw_callback, preedit_caret_callback): Match
2100         "preedit-changed" signal name to "preedit_changed" to be
2101         consistent to the spec.
2102
2103         * gtk/gtkimcontextsimple.c (check_table):
2104         Match "preedit-changed" to "preedit_changed" to be consistent
2105         to the spec.
2106
2107 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
2108
2109         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
2110         gc->clip_region == NULL>
2111
2112 2000-11-30  Tor Lillqvist  <tml@iki.fi>
2113
2114         Changes by Hans Breuer:
2115         
2116         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
2117         Dont't use negative width and height as max_hints. This fixes
2118         Owen's recent testgtk changes for win32.
2119
2120         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
2121         gdk_win32_hdc_release): These are exported and may be called with
2122         other drawable types than our GdkDrawableImplWin32 (?).
2123
2124         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
2125         so always #define USE_BACKING_STORE.
2126
2127         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
2128         of printf for debugging output.
2129
2130         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
2131         
2132         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
2133
2134         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
2135         declaration.
2136
2137         * gtk/gtktexttypes.h: Ditto.
2138
2139         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
2140         (GDK_VoidSymbol) also if in case of arg check failure.
2141
2142         * gtk/gtkimcontextsimple.c
2143         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
2144         position to the pointer, but to the variable it points to.
2145
2146         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
2147
2148         * gtk/gtk.def: Updates.
2149
2150 2000-11-29  Elliot Lee  <sopwith@redhat.com>
2151
2152         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
2153         GTK_TYPE_TREE_MODEL.
2154
2155 2000-11-29  Alexander Larsson  <alexl@redhat.com>
2156
2157         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
2158         Set the size of the font from the description.
2159         (gdk_text_width): Gross hack that calculates the width
2160         of text by text_length * size/2. This is necessary because
2161         GtkLabel does some ugly gtk_string_width call to calculate
2162         an good size.
2163         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
2164
2165 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
2166
2167         * docs/tutorial/gtk-tut.sgml: DND updates
2168
2169 2000-11-29  Alexander Larsson  <alexl@redhat.com>
2170
2171         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
2172         If you pass width or height == 0 to gdk_window_clear_area they
2173         should be calculated from the window size.
2174
2175 2000-11-29  Alexander Larsson  <alexl@redhat.com>
2176
2177         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
2178         a grab, but no grab-cursor, use the cursor from the grabbed
2179         window. (gdk_fb_window_send_crossing_events): Send normal
2180         enter/leave notifications if grab and owner_events == TRUE.
2181
2182 2000-11-29  Alexander Larsson  <alexl@redhat.com>
2183
2184         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
2185         Do implicit button grabs, even if the window doesn't
2186         want the event.
2187         (gdk_fb_window_send_crossing_events): If there is a
2188         grab, only the grabbed window gets normal enter/leave
2189         notifications. On ungrab go from grabbed window to current.
2190         Don't send any notification to b when propagating from c -> b.
2191         If setting a grab on window, don't set prev_window.
2192         (handle_mouse_input): Send enter/leave events to the window the
2193         mouse is over, not the grabbed one.
2194         
2195 2000-11-28  Elliot Lee  <sopwith@redhat.com>
2196
2197         * gdk/gdkregion-generic.c: Zap warning.
2198         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
2199         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
2200
2201 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
2202
2203         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2204         The cursor should be hidden if it is part of either the
2205         source or destination region. Not only if it is in both.
2206         (gdk_window_set_transient_for): Silence warnings.
2207
2208 2000-11-28  Alexander Larsson  <alexl@redhat.com>
2209
2210         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
2211         The default mode in X is Pie Arcs, therefore that is
2212         what Gtk+ uses.
2213
2214 2000-11-28  Alexander Larsson  <alexl@redhat.com>
2215
2216         * gdk/linux-fb/gdkinput-ps2.c:
2217         Implement correct EnterNotify/LeaveNotify:
2218         (gdk_fb_window_send_crossing_events): New function that sends
2219         all GdkCrossingEvents from the last mouse-window to the specified
2220         destination.
2221         (gdk_fb_window_visibility_crossing): Removed function.
2222         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
2223         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
2224         instead of gdk_window_get_pointer() for better readability.
2225
2226         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
2227         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
2228
2229         * gdk/linux-fb/gdkprivate-fb.h:
2230         removed gdk_fb_window_visibility_crossing, added
2231         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
2232
2233         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
2234         New function that finds the least common ancestor of two windows.
2235         (gdk_window_show, gdk_window_hide):
2236         Use gdk_fb_window_send_crossing_events.
2237         (gdk_fb_window_move_resize): Send configure events to toplevel
2238         windows. Use gdk_fb_window_send_crossing_events.
2239
2240 2000-11-27  Havoc Pennington  <hp@redhat.com>
2241
2242         * gtk/gtkprivate.h (enum): Remove a trailing comma
2243
2244 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
2245
2246         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
2247         the "changed" callback of the adjustment.  We need to redraw the
2248         spin button's arrows when the adjustment's range changes.
2249         (adjustment_changed_cb): Draw the arrows.
2250         (gtk_spin_button_value_changed): Draw the arrows.
2251
2252 2000-11-23  Alexander Larsson  <alexl@redhat.com>
2253
2254         * gdk/linux-fb/gdkselection-fb.c:
2255         Initial selection implementation.
2256
2257         * gtk/gtkselection.c:
2258         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
2259         requestor in gtk_selection_request.
2260         
2261         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
2262         Added gdk_selection_property atom.
2263
2264         * gdk/linux-fb/gdkprivate-fb.h:
2265         Export _gdk_selection_window_destroyed.
2266         Removed mask_off_x/y from GdkCursorPrivateFB.
2267         Removed hbearing, added top, left to PangoFBGlyphInfo.
2268
2269         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
2270         Call _gdk_selection_window_destroyed
2271         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
2272         the root window has been created.
2273         (static_dx_hack, static_dy_hack, compare_draw_rects,
2274         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
2275         in region. They are already sorted. Instead just traverse them in
2276         reverse if draw_direction < 0.
2277         
2278         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
2279         Double-clicks must be sent after the normal button_press.
2280         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
2281         
2282         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
2283         Pass _gdk_fb_screen_gc instead of NULL.
2284
2285         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
2286         Initialize gdk_selection_property.
2287         (gdk_event_make): Remove unused code.
2288
2289         * gdk/linux-fb/gdkcursor-fb.c:
2290         Make the pixmap for the cursor the same size as the mask. Also remove
2291         the mask_off_x/y fields in GdkCursorPrivateFB and combine
2292         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
2293         Now the whole cursor is visible.
2294
2295         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
2296         Fix bug where xdest+height instead of ydest+height was used
2297         to calculate if the source and dest overlapped. This fixes the
2298         redraw bug when the main window in testgtk was scrolled when
2299         partially covered by a tall window.
2300         Copy rectangles in region in order depending on draw_direction.
2301         Also moved the draw_direction flipping of start_y and end_y into
2302         the gc functions, as this might not be what all of them want.
2303         (gdk_fb_draw_lines): Support dashed lines.
2304         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
2305         so that the text is positioned correctly (was 1 pixel high).
2306
2307         gdk/linux-fb/gdkgc-fb.c:
2308         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
2309         all lines were drawn a pixel to short. Also checked the default of
2310         the rest of the values, and they're the same as X now.
2311
2312         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
2313         Clean up pixel positioning of the glyphs. Just use bgy->top and
2314         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
2315         to all divisions to get correct rounding behaviour.
2316
2317         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
2318         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
2319         Moved start_y/end_y flip into draw_drawable implementations.
2320         Flip also x rendering when draw_direction < 0.
2321         Remove unneccesary multiply with draw_direction.
2322
2323 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
2324
2325         * docs/tutorial/gtk-tut.sgml:
2326           - get rid of gtk_toggle_button_toggled FUD
2327           - start DND section - needs work - based on:
2328                 http://wolfpack.twu.net/docs/gtkdnd/
2329
2330 2000-11-22  Alexander Larsson  <alexl@redhat.com>
2331
2332         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
2333         Correct calculation of font metrics. Now GtkEntrys have sane
2334         size.
2335
2336 2000-11-22  Alexander Larsson  <alexl@redhat.com>
2337
2338         * gdk/gdktypes.h:
2339         Add new type GdkSpan
2340         
2341         * docs/reference/gdk/gdk-sections.txt,
2342         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
2343         gdk/gdkregion.h:
2344         Implement and document gdk_region_spans_intersect_foreach.
2345
2346         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
2347         Add new file gdkrender-fb.c which contains all core
2348         rendering code.
2349         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
2350         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
2351         (optimized rectangle fillers).
2352
2353         * gdk/linux-fb/gdkdrawable-fb2.c:
2354         Move all rendering code to gdkrender-fb.c.
2355         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
2356         Use the new span intersection functions in gdk_fb_fill_spans.
2357         gdk_fb_draw_rectangle() clips filled rectangles and calls
2358         gc->fill_rectangle with the result.
2359         gdk_fb_fill_spans() gets extra argument "sorted".
2360
2361         * gdk/linux-fb/gdkevents-fb.c:
2362         Remove unused includes and defines.
2363         New function gdk_fb_get_time() to get correct time for events.
2364
2365         * gdk/linux-fb/gdkinput-ps2.c:
2366         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
2367         Make sure to set the time of all events.
2368
2369         * gdk/linux-fb/gdkmain-fb.c:
2370         Use gdk_fb_get_time ().
2371
2372         * gdk/linux-fb/gdkprivate-fb.h:
2373         New virtual GC calls: fill_span & fill_rectangle.
2374         Export gdk_fb_get_time().
2375         gdk_fb_fill_spans() gets extra argument "sorted".
2376
2377         * gdk/linux-fb/mi*.c:
2378         Use GdkSpan instead of GdkRectangle.
2379         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
2380         from XFree 4 source)
2381         
2382 2000-11-22    <jrb@redhat.com>
2383
2384         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
2385         reversing the order in an if statement will do.  Doing so managed
2386         to make the treemodelsort half work.  Other half will follow after
2387         I get the insert function fully fixed.
2388
2389 2000-11-21  Elliot Lee  <sopwith@redhat.com>
2390         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
2391         more than 2 bits. Besides, I need to implement an evil hack. :)
2392
2393 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
2394
2395         * docs/tutorial/gtk-tut.sgml: minor corrections
2396
2397 2000-11-20  Jonathan Blandford <jrb@redhat.com>
2398         * gtk/gtktreemodelsort.h: Add convertion functions to let you
2399           convert to and from relative path's and iters.
2400
2401         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
2402           testing sorting functions a bit better.  Currently broken -- will
2403           fix in morning.
2404
2405 2000-11-20  Havoc Pennington  <hp@redhat.com>
2406
2407         * gtk/gtkwidget.c: Documented a bunch of functions in here
2408         (gtk_widget_realize): Warn if you try to realize
2409         a widget with no parent that isn't a toplevel
2410         (gtk_widget_intersect): return a gboolean
2411
2412 2000-11-20  Havoc Pennington  <hp@redhat.com>
2413
2414         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
2415         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
2416         scrolling to be implemented in GDK to finish. Also, right now
2417         we just size_allocate all children on every layout change,
2418         which is pretty lame. Test commented out of testtext.c, 
2419         until it works better.
2420
2421 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
2422
2423         * gdk/linux-fb/gdkdrawable-fb2.c:
2424         Removed unused arguments from gdk_fb_drawable_get_pixel().
2425
2426         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
2427         Renamed fidur specific mouse packet data in MouseDevice to
2428         generic. Used it in ps2 mouse handling code to avoid blocking
2429         reads.
2430
2431 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
2432
2433         * demos/gtk-demo/main.c: Changed to have the list become
2434         non-italic when the demo window is destroyed through an external
2435         event (like a close button).  Doing so found three bugs in the
2436         widget.
2437
2438         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
2439
2440         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
2441         we actually set the cell.
2442
2443         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
2444
2445         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
2446         free a leaked path.  Thanks memprof.
2447
2448 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
2449
2450         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
2451         off-by-one error when destroying allocated segments
2452         on failure. (Elliot)
2453
2454 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
2455
2456         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
2457         memleaks found by Evan Martin.
2458
2459 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
2460
2461         * Released 1.3.2
2462         
2463         * NEWS: Updates for 1.3.2
2464
2465 2000-11-17  Tor Lillqvist  <tml@iki.fi>
2466
2467         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
2468         but in general for window system specific events.
2469
2470         * gtk/gtk.def
2471         * gtk/makefile.mingw.in
2472         * gtk/makefile.msc.in: Update.
2473         
2474         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
2475
2476 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
2477
2478         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
2479         distribute gtk.immodules.
2480
2481         * gtk/Makefile.am (install-data-local): Don't install the
2482         gtk.immodules file created for the uninstalled modules;
2483         instead run gtk-query-immodules after install
2484
2485 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
2486
2487         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
2488         -rpath to the right install location.
2489
2490         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
2491         -export-dynamic.
2492
2493         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
2494         properly.
2495
2496 2000-11-15  Havoc Pennington  <hp@pobox.com>
2497
2498         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
2499         patch from Mikael Hermansson to temporarily stop blinking while
2500         the user is using the keyboard to type or navigate. 
2501
2502         Also, when blinking, stay on for longer than we stay off. Also,
2503         return from start_cursor_blink if !cursor_visible, to save
2504         checking that flag all over the place before we call
2505         start_cursor_blink.
2506
2507 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
2508
2509         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
2510         only contain a "fontset" line, which is now ignored.
2511
2512         * gtk/gtkentry.c (gtk_entry_button_release): Make 
2513         double-click-to-select-word work.
2514         
2515 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
2516
2517         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
2518         Don't move back one char when we are actually at the end of the 
2519         paragraph.
2520
2521 2000-11-15  Robert Brady  <robert@suse.co.uk>
2522
2523         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
2524         'o' < 'p'.
2525         
2526         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
2527         bind_textdomain_codeset.
2528
2529         (gtk_init_check): Make the warning about translating default:LTR
2530         sterner.
2531         
2532 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
2533
2534         * **/Makefile.am : remove unecessary rules for win32-specific
2535         config-substituted targets. If you want these rules, use
2536         --enable-maintainer-mode (called automatically by autogen.sh).
2537         Stops a lot of unneccessary make-time warnings.
2538
2539         * gtk/gtktext{layout,display}.c: Factor in total width as
2540         well as screen when figuring alignment for word-wrap as well as
2541         no wrap; this is necessary to handle lines that cannot be wrapped
2542         at all.
2543
2544 2000-11-15  Havoc Pennington  <hp@redhat.com>
2545
2546         * gtk/testtext.c: Implement essential color cycling feature
2547
2548 2000-11-15  Havoc Pennington  <hp@redhat.com>
2549
2550         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
2551         when we invalidate the main window.
2552
2553         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
2554         GtkTextView will now invalidate the side windows for us when text
2555         changes.
2556
2557 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
2558
2559         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
2560         unconditionally, since we may need to update the horizontal
2561         scrollbars even if the height didn't change.
2562
2563         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
2564         the extra attrs, since some of them affect size.
2565
2566         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
2567         x_offset correctly.
2568
2569 2000-11-15  Havoc Pennington  <hp@redhat.com>
2570
2571         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
2572         don't move the first line out into the margin, instead move the
2573         whole paragraph in order to make space for the first line within 
2574         the margin
2575
2576 2000-11-15  Havoc Pennington  <hp@redhat.com>
2577
2578         * gtk/gtktextview.c (changed_handler): offset redraw rect by
2579         xoffset in addition to yoffset, so horizontal scrolling doesn't
2580         break redraws
2581
2582 2000-11-15  Havoc Pennington  <hp@redhat.com>
2583
2584         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
2585         from the cursor
2586         (render_layout_line): fix reversed test that caused weird
2587         underlines to get drawn
2588
2589 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
2590
2591         * gdk/linux-fb/gdkprivate-fb.h:
2592         Fix debug macros.
2593         
2594 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
2595
2596         * gdk/linux-fb/gdkprivate-fb.h:
2597         Added virtual functions set_pixel, get_color,
2598         fill_span and draw_drawable to the GC.
2599         Added global _gdk_fb_screen_gc to use instead of
2600         NULL when drawing to the screen.
2601         Added _gdk_fb_gc_calc_state() prototype.
2602
2603         * gdk/linux-fb/gdkgc-fb.c:
2604         Call _gdk_fb_gc_calc_state() on any gc state change.
2605
2606         * gdk/linux-fb/gdkglobals-fb.c:
2607         Add _gdk_fb_screen_gc
2608                 
2609         * gdk/linux-fb/gdkdrawable-fb2.c:
2610         _gdk_fb_gc_calc_state() calculates best functions
2611         for the GC state and depth.
2612         Moved bpp specialized code to separate functions.
2613         Added optimized 24 bpp AA draw_drawable.
2614
2615         * gdk/linux-fb/gdkevents-fb.c:
2616         Silence gcc warning.
2617
2618         * gdk/linux-fb/gdkimage-fb.c:
2619         Use _gdk_fb_screen_gc
2620
2621         * gdk/linux-fb/gdkwindow-fb.c:
2622         Init and use _gdk_fb_screen_gc
2623
2624         * gdk/linux-fb/mitypes.h:
2625         Remove unused types.
2626
2627 2000-11-14  Havoc Pennington  <hp@pobox.com>
2628
2629         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
2630         to pixels
2631
2632 2000-11-14  Havoc Pennington  <hp@pobox.com>
2633
2634         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
2635
2636         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
2637         unknown char, no real reason we were using a variable. 
2638         Remove gtk_text_unknown_char variable. Fix all the text widget
2639         files accordingly.
2640
2641         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
2642         since the Unicode spec seems to prefer that character for our
2643         purposes.
2644
2645 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
2646
2647         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
2648         value of g_getenv() isn't freeable, so g_strdup it.
2649
2650         * modules/input/inuktitut.c: Inuktitut input method.
2651
2652         * modules/input/Makefile.am: Build this.
2653         
2654 2000-11-14  Elliot Lee  <sopwith@redhat.com>
2655
2656         * gtk/Makefile.am: Install gtk.immodules, needed for operation
2657         of gtk programs.
2658
2659 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
2660
2661         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
2662         reversed > that was causing Home to go to end of previous line.
2663
2664         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
2665         modified-keypresses (leave for bindings.)
2666
2667         * modules/input/Makefile.am: Remove useless -export-dynamic
2668         from module LDFLAGS.
2669
2670 2000-11-14  Havoc Pennington  <hp@redhat.com>
2671
2672         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
2673         higher.
2674
2675         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
2676         account. Also, render rise, underline, background, etc. for
2677         pixbufs as well as text. Also, draw underlines one pixel higher.
2678
2679         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
2680         PangoAttribute for the rise, so it gets drawn properly. Also,
2681         add the GtkTextAppearance attribute for pixbuf/widget segments
2682         as well; we should go ahead and have rise, underline, background,
2683         stipple work for those
2684
2685         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
2686         Pango
2687
2688 2000-11-15  Tor Lillqvist  <tml@iki.fi>
2689
2690         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
2691
2692         * gtk/gtk.def: Update.
2693
2694         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
2695         included.
2696         (gtk_rc_get_im_module_file): Use run-time installation directory
2697         on Win32.
2698
2699         * gdk/win32/rc/gdk.rc: Remove.
2700         * gdk/win32/rc/gdk.rc.in: New file.
2701         * gdk/win32/rc/Makefile.am: New file
2702         * gdk/win32/Makefile.am: Corresponding changes.
2703
2704         * gtk/gtk.rc: Remove.
2705         * gtk/gtk-win32.rc.in: New file.
2706         * gtk/Makefile.am: Corresponding changes.
2707
2708         * configure.in: Corresponding changes.
2709
2710         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
2711         has a built gtkcompat.h. Developers using CVS code on Win32 can
2712         hand-edit it from gtkcompat.h.in.
2713
2714         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
2715         gtkcompat.h from gtkcompat.h.win32.
2716
2717 2000-11-14  Havoc Pennington  <hp@redhat.com>
2718
2719         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
2720         to default to GDK_ACTION_MOVE if the drag is within a single
2721         widget. Defaults to GDK_ACTION_COPY between widgets.
2722
2723 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
2724
2725         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
2726
2727         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
2728
2729         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
2730         srcdir != builddir
2731
2732         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
2733
2734         * configure.in (GTK_VERSION): Up to 1.3.2
2735
2736         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
2737         gtkimcontextxim.h
2738
2739         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
2740         missing doc comment.
2741
2742 2000-11-14  Alexander Larsson  <alexl@redhat.com>
2743
2744         * modules/linux-fb/basic.c:
2745         Use the glib iconv wrappers.
2746
2747 2000-11-13  Havoc Pennington  <hp@pobox.com>
2748
2749         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
2750         still more bugs.
2751
2752         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
2753         scroll the GdkWindows before realization.
2754
2755 2000-11-13  Havoc Pennington  <hp@redhat.com>
2756
2757         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
2758         where GC didn't always get updated properly
2759
2760         * demos/gtk-demo/textview.c (create_tags): Use subattributes
2761         of fonts instead of setting the entire font
2762
2763         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
2764         setting entire font
2765
2766         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
2767
2768         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
2769         a bunch of individually-settable font attributes. You can still 
2770         use the "font" and "font_desc" args, they just set all the font
2771         attributes at once.
2772
2773 2000-11-13 Elliot Lee <sopwith@redhat.com>
2774
2775         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
2776
2777 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
2778
2779         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
2780         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
2781
2782         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
2783         work better.
2784
2785 2000-11-13  Havoc Pennington  <hp@redhat.com>
2786
2787         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
2788         the module file.
2789
2790         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
2791         dest->language
2792
2793         * gtk/testtext.c: Test pixels above/below/inside paragraphs
2794         settings
2795
2796         * gtk/gtktextview.c: Implement object args and setters/getters for
2797         all the aspects of the GtkTextAttributes that are not set from
2798         GtkWidget attributes. This is spacing, justification, margins,
2799         etc.
2800
2801         (gtk_text_view_set_arg)
2802         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
2803         args
2804         (gtk_text_view_class_init): Add args for justify, left_margin,
2805         right_margin, indent, and tabs
2806         
2807
2808         * gtk/gtktextlayout.c (set_para_values): fix to display indent
2809         attribute properly
2810
2811         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
2812         replace with indent attribute
2813
2814         * gtk/gtktextlayout.c (set_para_values): multiply indent by
2815         PANGO_SCALE
2816
2817         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
2818         rearranging code to do that
2819         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
2820         i.e. don't subtract the top_margin first, just to keep
2821         all margin-futzing in one place.
2822
2823         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
2824
2825         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
2826         special case of last line, Pango now handles this itself.
2827         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
2828         Y coordinate
2829         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
2830         (find_display_line_above): wasn't moving the byte index as it
2831         iterated over lines, so always returned byte 0. Also, port to use
2832         PangoLayoutIter.
2833         (find_display_line_below): same problem as
2834         find_display_line_above. Also, port to use PangoLayoutIter.
2835
2836 2000-11-13  Alexander Larsson  <alexl@redhat.com>
2837
2838         * gdk/linux-fb/*.[ch]:
2839         Massive reindent to gtk+ standard. My hands hurt.
2840
2841         * gdk/linux-fb/gdkcolor-fb.c:
2842         Move GdkColorPrivateFB from inherited to windowing_data
2843
2844         * gdk/linux-fb/gdkcursor-fb.c:
2845         _gdk_cursor_new_from_pixmap made static
2846
2847         * gdk/linux-fb/gdkdnd-fb.c:
2848         GdkDragContextPrivate moved to windowing_data
2849
2850         * gdk/linux-fb/gdkdrawable-fb2.c:
2851         Removed endian.h, use glib endianness macros instead
2852         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
2853         and GDK_DRAWABLE_IMPL_FBDATA
2854
2855         * gdk/linux-fb/gdkfont-fb.c:
2856         Add empty gdk_font_load(). Needed for linking of Gtk+.
2857
2858         * gdk/linux-fb/gdkimage-fb.c:
2859         Removed endian.h, use glib endianness macros instead
2860         Moved GdkImagePrivateFB to windowing_data
2861         gdk_image_new_bitmap didn't always allocate enough
2862         memory.
2863
2864         * gdk/linux-fb/gdkinput-ps2.c:
2865         Added semi-working support for MS serial mice.
2866
2867         * gdk/linux-fb/gdkprivate-fb.h:
2868         s/GdkWindowPrivate/GdkWindowObject/
2869         Removed GdkWindowPrivate typedef
2870         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
2871         Removed GDK_DRAWABLE_P
2872         Move GdkColorPrivateFB from inherited to windowing_data
2873         Moved GdkImagePrivateFB to windowing_data
2874
2875         * gdk/linux-fb/gdkvisual-fb.c:
2876         Removed some unused debug code.
2877
2878         * gdk/linux-fb/gdkwindow-fb.c:
2879         Use stock cursors instead of including X headers.
2880         s/GdkWindowPrivate/GdkWindowObject/
2881
2882         * gdk/linux-fb/mitypes.h:
2883         Removed unused types.
2884
2885         * modules/linux-fb/basic.c:
2886         Use the pango fribidi wrappers.
2887
2888 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2889
2890         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
2891         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
2892         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
2893         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
2894         GEqualFunc where applicable.
2895         
2896         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
2897         pango_font_description_equal as changed in pango.
2898         
2899         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
2900
2901         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
2902
2903         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
2904
2905         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
2906
2907         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
2908
2909         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
2910
2911         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
2912         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
2913
2914         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
2915         gtk_rc_styles_compare -> gtk_rc_styles_equal.
2916
2917 2000-11-12  Havoc Pennington  <hp@pobox.com>
2918
2919         * demos/gtk-demo/Makefile.am (democodedir): change demo install
2920         dir to datadir/gtk+-2.0/demo
2921
2922         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
2923         sorts of text widget and Pango font bugs. Urgh.
2924
2925         * demos/gtk-demo/Makefile.am (demos): Add textview.c
2926
2927         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
2928         tree that you should double click to see the demo. Fix 
2929         types of variables to reflect changed return values from 
2930         GtkTreeStore and GtkTreeViewColumn constructors.
2931
2932         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
2933         newly-created buffer to prepare for GObject semantics
2934
2935         * gtk/testtext.c: don't leak the buffer with GObject semantics
2936
2937         * gtk/testtextbuffer.c: ditto
2938         
2939 2000-11-12  Havoc Pennington  <hp@pobox.com>
2940
2941         Rename this testgtk to gtk-demo to avoid confusion, and 
2942         install it so people can use it as a supplement to 
2943         the documentation.
2944         
2945         * demos/gtk-demo: Moved from demos/testgtk
2946
2947         * demos/testgtk: Removed
2948
2949         * configure.in: make Makefile in gtk-demo
2950         
2951         * demos/gtk-demo/Makefile.am: Install sample source to 
2952         datadir/gtk-demo (maybe there's a better place?), and 
2953         rename the binary to gtk-demo
2954         
2955         * demos/gtk-demo/main.c (load_file): Load installed sample
2956         source if source isn't found in pwd.
2957
2958 2000-11-09  Havoc Pennington  <hp@pobox.com>
2959
2960         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
2961         argument to set the char displayed when visibility == FALSE
2962         (gtk_entry_create_layout): If !entry->visible, replace 
2963         all chars with the "invisible char"
2964
2965         * gtk/testgtk.c: Test the invisible_char deal
2966         
2967 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
2968
2969         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
2970         can't get a native font in the right encoding.
2971
2972 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
2973
2974         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
2975         respectively.
2976
2977 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
2978
2979         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
2980         Fix warning when moving between paragraphs.
2981
2982         * gtk/gtkentry.[ch]: Change move => move_cursor, 
2983         delete => delete_from_cursor, insert => insert_at_cursor
2984
2985 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
2986
2987         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
2988
2989         * modules/input/imthai-broken.c: A Thai input method for use if
2990         Thai keys are really generating Latin1 keysyms.
2991
2992         * modules/input/Makefile.am: Build these.
2993
2994 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
2995
2996         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
2997         g_filename_{to,from}_utf8 now takes an extra parameter.
2998
2999         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
3000         strftime into UTF-8.
3001
3002         (column_from_x, gtk_calendar_paint_day_names): Support RTL
3003         calendars.
3004
3005         (gtk_calendar_paint_day_names): Draw day names in the right 
3006         place.
3007         
3008 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
3009
3010         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
3011         problem with using result of g_get_charset() backwards -
3012         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
3013
3014         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
3015         negative min_width/height and max_width/height to
3016         mean "requisition"; this allows setting a window
3017         to be user-resizable in only one direction easily.
3018
3019         * gtk/testgtk.c (create_main_window): Remove hard-coded
3020         usize - set a default size in the vertical direction.
3021
3022 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
3023
3024         * gtk/gtkrange.c: Add some missing casts. Support 
3025         2 and 3 button clicks on the arrows to mean 
3026         "move by pages" and "jump to end". (Like gtkspinbutton)
3027
3028 2000-11-12 Hans Breuer <Hans@Breuer.Org>
3029
3030         * gdk/win32/makefile.msc : reflect build module changes
3031
3032         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
3033         from GdkPixmap*, cast implementation member instead.
3034
3035         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
3036         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
3037         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
3038         more Gdi functions return value checking. 
3039         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
3040         GdkImagePrivateWin32 *.
3041
3042         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
3043         menus useable again. Add #pragma message to keep reminded on this issue.
3044         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
3045         windows. This allows to enable backing store on Win32!
3046
3047         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
3048         in drawable is of impl type. Correct specific type checks appropriate.
3049  
3050         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
3051         GDK_WINDOW_DESTROYED before allocating new resources.
3052
3053         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
3054
3055         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
3056         (gdk_window_foreign_new) initialize parent handle.
3057         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
3058
3059         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
3060         Let the GDI invalidate the window on MoveWindow call to fix scrolling
3061         problems (e.g. main buttons in testgtk). 
3062
3063 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
3064
3065         * gtk/gtkentry.c (gtk_entry_key_press): Call 
3066         gtk_widget_activate for GDK_Return.
3067
3068         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
3069         of preedit cursor position.
3070
3071 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
3072
3073         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
3074         static.
3075
3076 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
3077
3078         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
3079         out support for multiple locales; that simple doesn't
3080         work reliably with current Xlib
3081
3082         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
3083         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
3084         Add support for positioning the cursor within the preedit string.
3085
3086 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
3087
3088         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
3089         at XIM input method module.
3090
3091         * gtk/gtktextview.c: Check for bindings after passing
3092         events to im context filter.
3093
3094 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
3095
3096         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
3097         empty attribute lists properly.
3098
3099 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
3100
3101         * gtk/queryimmodules.c (main): Return non-zero exit
3102         status if errors were encountered querying any
3103         modules.
3104
3105         * modules/input/Makefile.am (moduledir): remove
3106         leftover bin program target.
3107
3108         * docs/make-todo: Fix typo in error message.
3109
3110 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
3111
3112         * configure.in: Add modules/input/Makefile
3113
3114 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
3115
3116         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
3117         don't include gtkthemes.h.
3118
3119         * gtk/testgtk.c gtk/testtext.c: Set environment variables
3120         to point
3121
3122         * gtk/Makefile.am: Add new .c and .h files, build 
3123         gtk-query-immodules and use it to create a gtk.immodules
3124         file for use of test programs.
3125
3126         * gtk/gtkpreview.c: remove extra blank line.
3127
3128 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
3129
3130         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
3131         Add the ability to add extra tables beyond the default
3132         one, and also the ability to have compose sequences 
3133         that are prefixes of other compose sequences. 
3134
3135         * gtk/gtkimcontextsimple.c: Export a preedit string which
3136         consists of possible candidates for keystrokes that have
3137         been entered but not yet committed.
3138
3139         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
3140         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
3141
3142         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
3143         Add a function to add input-method switching menu items
3144         to a menu.
3145
3146         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
3147         when switching input methods.
3148
3149         * gtk/gtkimcontextsimple.[ch]: Change the format of
3150         the compose table to allow compose tables of different
3151         lengths / sequence.
3152
3153 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
3154
3155         * gtk/gtkimmodule.[ch]: Support routines for loading
3156         GtkIMContext implementations dynamically at runtime.
3157
3158         * modules/input/imcyrillic-translit.c: A sample input
3159         method (based on GtkIMContextSimple with an extra table),
3160         which demonstrates preedit strings and the module
3161         system for input modules
3162
3163         * gtk/queryimmodules.c: Program to query the available
3164         input modules and write the results into a file.
3165          
3166         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
3167         extra config options "im_module_file" (cache file for
3168         input method modules), and "im_module_path" - path
3169         to look for modules when generating cache file.
3170
3171         This doesn't scale.
3172
3173 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
3174
3175         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
3176         generic code from gtkthemes into a new abstraction
3177         GtkModule which has the logic for implementing
3178         a loadable module which implements a number of 
3179         GObject types.
3180
3181 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
3182
3183         * gtk/gtkeditable.[ch]: Convert GtkEditable from
3184         a class into an interface  
3185         
3186         * gtk/gtkoldeditable.[ch]: Move the old editable
3187         implementation into here, so legacy widgets can
3188         still rely on the implemenation. GtkOldEditable
3189         exports GtkEditable. Make selection handling
3190         code use new text conversion functions (and
3191         handle UTF-8 as a side-effect). Use GtkClipboard
3192         for CLIPBOARD.
3193
3194         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
3195         Adopt to match above changes.
3196
3197         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
3198         avoid GtkOldEditable implementation. Restructure
3199         to reduce number of places that modify state directly.
3200         Move to GtkBindingSet. Display the preedit string.
3201         Queue recomputation of PangoLayout and scroll position
3202         to improve effiency of doing complex changes naively.
3203         Add a menu with cut/copy/paste and input method selection.
3204
3205 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
3206
3207         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
3208         to set preedit string and attributes; display preedit string by
3209         inserting string and attributes at cursor when creating the
3210         GtkTextLineDisplay.
3211
3212         * gtk/gtktextlayout.c: Move all conversions between byte
3213         positions in PangoLayout and GtkTextIter into new functions
3214         line_display_iter_to_index/index_to_iter that properly
3215         handle the preedit string.
3216
3217         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
3218         it to return const char * (eventually will end up
3219         as GCONST char *, most likely.)
3220
3221         * gtk/gtktextview.[ch]: Handle the preedit string, call
3222         gtk_im_context_reset() as necessary, add a menu to switch
3223         input methods.
3224         
3225         * gtk/gtktextlayout.[ch]: Remove useless
3226         gtk_text_layout_get_log_attrs() function.
3227
3228 2000-11-11  Tor Lillqvist  <tml@iki.fi>
3229
3230         * gdk/gdk.def
3231         * gtk/gtk.def: Update.
3232
3233         * gdk/win32/*.c: Add last argument to g_type_register_static()
3234         calls.
3235
3236         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
3237
3238         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
3239         generated by older wheel mouse drivers. Get the correct y
3240         coordinate from WM_MOUSEWHEEL messages.
3241
3242         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
3243         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
3244         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
3245         Debugging functions.
3246
3247         * gdk/win32/gdkprivate-win32.h: Declare them.
3248
3249         * gdk/win32/gdkinput-win32.h: Add declaration for
3250         gdk_input_window_destroy().
3251
3252         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
3253
3254 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
3255
3256         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
3257         function to help handle keeping things in sync.
3258
3259 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
3260
3261         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
3262         BOXED marshallers.
3263
3264         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
3265         (gtk_list_store_class_init): use the new BOXED marshallers.
3266
3267         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
3268         new_with_values to new_with_types.
3269         (gtk_tree_store_get_column_type): add this.
3270         (gtk_tree_store_class_init): use the new BOXED marshallers.
3271
3272         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
3273         mirror some POINTER marshallers.
3274
3275 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
3276
3277         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
3278         allow more interesting iterators.  Also, made the lifecycle of
3279         iterators more explicit.
3280
3281         * gtk/gtktreemodelsort.[ch]: New model for sorting.
3282
3283         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
3284         types.
3285
3286 2000-11-09  Alexander Larsson  <alexl@redhat.com>
3287
3288         * demos/testgtk/menus.c:
3289         Changes to make the new testgtk compile after
3290         gtk_menu_append was removed.
3291
3292         * gdk/linux-fb/gdkdrawable-fb2.c
3293         (gdk_fb_get_depth, gdk_fb_get_visual,
3294         gdk_drawable_impl_fb_class_init): Implement
3295         these drawable functions. Now GtkImages work again.
3296
3297         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
3298
3299         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
3300         
3301         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
3302         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
3303         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
3304         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
3305
3306 2000-11-08  Havoc Pennington  <hp@pobox.com>
3307
3308         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
3309         visible_set args, don't know where these had gone, I thought they
3310         used to be there
3311
3312         * gtk/testtext.c: Add a menu item to apply invisibility tag;
3313         now we can test the feature and see that it's totally broken.
3314
3315 2000-11-08  Havoc Pennington  <hp@pobox.com>
3316
3317         Make DND copy pixbufs and tags when source and target share a 
3318         tag table.
3319         
3320         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
3321         in-process GTK_TEXT_BUFFER_CONTENTS target
3322         (gtk_text_view_drag_data_received): Paste from
3323         GTK_TEXT_BUFFER_CONTENTS if we receive it.
3324
3325 2000-11-08  Alexander Larsson  <alexl@redhat.com>
3326
3327         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
3328         API changes.
3329
3330         * gtk/gtkmenu.c: Add support for scrolling menus.
3331         Remove gtk_menu_append/prepend/insert, these have been moved to
3332         gtkcompat.h as #defines.
3333
3334         * gtk/gtkcompat.h.in:
3335         Add compatibility #defines for gtk_menu_append/prepend/insert
3336
3337         * gtk/gtkmenu.h: Add data needed for scrolling menus.
3338         GtkMenuPositionFunc gets an extra argument push_in.
3339         gtk_menu_append/prepend/insert removed.
3340         
3341         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
3342         positioning behaviour to fit to scrolling menus.
3343
3344         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
3345         into menuitem->submeny. That is wrong, and broke torn
3346         off submenus of torn off menus, since they were unrealized
3347         when the first menu was unrealized.
3348
3349         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
3350         gtk_menu_shell_select_item() since these need to be overridden in
3351         GtkMenu.
3352
3353         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
3354         positioning behaviour to fit to scrolling menus.
3355         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
3356         the current item so that it is prelighted when the menu pops up.
3357         This is a workaround to the fact that the menu doesn't get the
3358         initial enter event (due to grabs).
3359
3360         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
3361         s/gtk_menu_append/gtk_menu_shell_append/
3362
3363         * gtk/gtknotebook.c:
3364         s/gtk_menu_insert/gtk_menu_shell_insert/
3365
3366         * gtk/testgtk.c (create_menu, create_menus):
3367         Create the first menu with 50 items so that menu scrolling
3368         can be tested.
3369         
3370         
3371         Patch from Jonathan Blandford  <jrb@redhat.com>
3372
3373         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
3374         system to handle size requests.  First, we ask what the size of
3375         the toggle is.  Then, when allocating the size, we allocate the
3376         toggle_size first.  This way we can have multiple menu-item
3377         classes w/o needing a seperate class for each.
3378
3379         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
3380         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
3381
3382         * gtk/gtkcheckmenuitem.c
3383         (gtk_check_menu_item_toggle_size_request): New function to handle
3384         the toggle size-request.
3385
3386 2000-11-07  Havoc Pennington  <hp@redhat.com>
3387
3388         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
3389         Half-ass somewhat fix this function, so that scrolling to the
3390         insertion point works. Pango hacking is in the future to really
3391         fix it.
3392
3393         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
3394         length of data, no longer used.
3395
3396         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
3397         method contents in here, get rid of destroy method
3398         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
3399         that were backward. Remove debug spew.
3400         (cut_or_copy): Make the clipboard work with insert_range to
3401         preserve tags and pixbufs, not just the primary selection.
3402
3403 2000-11-07  Havoc Pennington  <hp@redhat.com>
3404
3405         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
3406         to gtk_text_mark_get_visible
3407
3408         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
3409         bug that was generating an invalid iterator
3410
3411         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
3412         ensure_char_offsets() in front of code placing the iter in an
3413         invalid state.
3414
3415         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
3416         make override_location arg const
3417         (paste): Replace the selection if we paste into the 
3418         current selection
3419
3420         * gtk/gtkselection.h: Remove "GtkSelectioData"
3421         (struct _GtkSelectionData): move the definition here.
3422
3423         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
3424         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
3425
3426         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
3427
3428         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
3429         (gtk_text_buffer_insert_range_interactive): implement
3430         (gtk_text_buffer_get_tags): Remove, replaced by
3431         gtk_text_iter_get_tags()
3432
3433         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
3434         limit parameter, to avoid infinite linear scan.
3435         (gtk_text_iter_backward_search): Add search limit
3436         (gtk_text_iter_forward_find_char): Add search limit
3437         (gtk_text_iter_backward_find_char): Add search limit
3438
3439 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
3440
3441         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
3442         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
3443         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
3444         gdk/linux-fb/gdkwindow-fb.c:
3445         use g_object_new() instead of g_type_create_instance() which
3446         is a private function for fundamental type implementations.
3447
3448         * gdk/linux-fb/gdkinput-ps2.c:
3449         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
3450         instead just store the current modifier state. Add a (somewhat broken)
3451         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
3452         Rename exported function gdk_input_ps2_get_mouseinfo to
3453         gdk_input_get_mouseinfo.
3454
3455         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
3456         gdk/linux-fb/gdkwindow-fb.c:
3457         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
3458         
3459
3460 2000-11-02  Havoc Pennington  <hp@redhat.com>
3461
3462         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
3463         use stock buttons. Should be 100% source compatible, appropriate
3464         filesel fields now point to dialog->vbox and dialog->action_area.
3465         On the bizarre side, dialog->action_area and filesel->action_area
3466         are not the same widget.
3467         (gtk_file_selection_init): Put some padding around the selection
3468         entry, so it isn't touching the GtkDialog separator.    
3469
3470         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
3471         use stock buttons, etc. Should also be source compatible.
3472         Set the dialog default title in _init not _new().
3473         
3474         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
3475         Use stock buttons; don't put a button box inside the existing
3476         dialog button box. Don't bother with push/pop colormap anymore.
3477
3478         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
3479         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
3480         for message dialog, and necessary for the font selection and color
3481         selection with help and apply buttons.
3482         
3483         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
3484         to the created button widget. Set GTK_CAN_DEFAULT on the button.
3485         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
3486         between buttons, put less padding around the action area.
3487         (gtk_dialog_run): Exit on unmap rather than on destroy. 
3488         This will also exit the loop if the widget is hidden.
3489         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
3490         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
3491         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
3492         special-case delete event.
3493
3494         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
3495         formatting
3496         
3497 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
3498
3499         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
3500         button to temporarily disable position recording in the
3501         "saved position" test.
3502
3503 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
3504
3505         * gtk/gtkthemes.c: added compat code that temporarily implements
3506         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
3507         going to be revamped by owen's upcoming GtkModule patches, but
3508         untill then people want gtk to build, right? ;)
3509
3510 2000-11-04  Havoc Pennington  <hp@pobox.com>
3511
3512         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
3513         list
3514
3515         * docs/Changes-2.0.txt: Add note about
3516         gtk_container_get_toplevels()
3517
3518         * gtk/gtktextview.h: formatting
3519         
3520         * gtk/gtktextview.c: don't start descriptions with "Returns",
3521         confuses gtk-doc
3522
3523 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
3524
3525         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
3526         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
3527
3528 2000-11-03  Havoc Pennington  <hp@redhat.com>
3529
3530         * gtk/gtktexttagtable.c: Docs
3531         (gtk_text_tag_table_size): return a signed int
3532
3533         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
3534         (gtk_text_tag_event): make the event_object a GObject
3535
3536         * gtk/gtktextview.c: Write API docs for all functions.
3537
3538         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
3539         for gtk_text_view_get_window_type() called on one of the private
3540         windows.
3541
3542         * gtk/gtktextview.c: Instead of accessing text_view->buffer
3543         directly, call get_buffer() which demand-creates a default
3544         buffer. So gtk_text_view_new() can be used to create a view with a
3545         default buffer in it, if you just want an empty text box users can
3546         put data in. Useful for GUI builders also.
3547
3548 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
3549
3550         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
3551         the charset encodign portion MUST be in lowercase.
3552         * gtk/gtkrc.az: added file for Azeri language
3553
3554 2000-11-03  Havoc Pennington  <hp@redhat.com>
3555
3556         Get widgets working on the btree/buffer side. Display of them 
3557         still doesn't work.
3558         
3559         * gtk/gtktextview.c: start implementing child widget stuff
3560
3561         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
3562
3563         * gtk/gtktextlayout.c: handle embedded widgets
3564
3565         * gtk/gtktextdisplay.c: handle embedded widgets
3566
3567         * gtk/gtktextchild.c: Implement all the child anchor goo
3568
3569         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
3570         function
3571
3572         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
3573         (insert_pixbuf_or_widget_segment): abstract out common portions of 
3574         creating a child anchor or a pixbuf segment.
3575         (gtk_text_btree_create_child_anchor): new function
3576         (gtk_text_btree_unregister_child_anchor): new function
3577
3578         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
3579         allocate_child signal on GtkTextLayout
3580
3581         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
3582         values
3583         (gtk_text_iter_get_child_anchor): new function
3584
3585         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
3586         default handler for the changed signal, which calls
3587         gtk_text_buffer_set_modified(), instead of just always emitting
3588         changed then calling set_modified() manually. I guess this is
3589         maybe more flexible. It seems logical.
3590
3591 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
3592
3593         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
3594         now.
3595
3596         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
3597
3598 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
3599
3600         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
3601         been marked static.
3602
3603 2000-11-02  Havoc Pennington  <hp@redhat.com>
3604
3605         * gtk/testgtk.c (create_labels): had a test backward
3606
3607         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
3608         fields, so the dest GC ends up with the correct clip origin, 
3609         etc. Fixes a bug where colored labels didn't redraw 
3610         properly.
3611
3612 2000-11-02  Alexander Larsson  <alexl@redhat.com>
3613
3614         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
3615         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
3616         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
3617         Add last argument to t_type_register_static call.
3618         
3619         * gdk/linux-fb/gdkdrawable-fb2.c:
3620         Add last argument to t_type_register_static call.
3621         export the get_image drawable virtual function.
3622
3623         * gdk/linux-fb/gdkimage-fb.c:
3624         Add last argument to t_type_register_static call.
3625         rename gtk_image_get to _gdk_fb_get_image and
3626         export it for use by gdkdrawable-fb2.
3627
3628         * gdk/linux-fb/gdkprivate-fb.h:
3629         export _gdk_fb_get_image.
3630
3631         * gdk/linux-fb/gdkselection-fb.c:
3632         Add new api call stubs.
3633
3634         * gtk/Makefile.am:
3635         Missing ( in linux-fb part.
3636
3637         * modules/linux-fb/Makefile.am:
3638         Must link with gdk_pixbuf or get unresolved symbol.
3639
3640 2000-11-01  Havoc Pennington  <hp@pobox.com>
3641
3642         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
3643         GTK_TYPE_TEXT_ITER and BOXED marshallers
3644
3645         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
3646
3647         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
3648         
3649         * gtk/gtk-boxed.defs: add GtkTextIter
3650
3651         * gtk/gtkmarshal.list: Add marshallers for text widget that 
3652         properly use OBJECT and BOXED
3653
3654 2000-11-01  Havoc Pennington  <hp@redhat.com>
3655
3656         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
3657
3658         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
3659         before returning it. 
3660         
3661 2000-11-01  Havoc Pennington  <hp@redhat.com>
3662
3663         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
3664         Clip the rectangle to be rendered to the drawable, since
3665         get_from_drawable() requires a region within the drawable
3666
3667 2000-11-01  Havoc Pennington  <hp@redhat.com>
3668
3669         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
3670         from coordinates.
3671
3672 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
3673
3674         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
3675         it isn't NULL.
3676
3677 2000-11-01  Havoc Pennington  <hp@pobox.com>
3678
3679         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
3680         on a label
3681         (gtk_label_finalize): unref the attr list if any.
3682
3683         * gtk/testgtk.c (create_get_image): close test on second click
3684         (make_message_dialog): close dialog if it exists
3685
3686         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
3687
3688         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
3689         gdk-pixbuf
3690
3691         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
3692         from Pango markup format
3693         (gtk_label_set_markup_with_accel): ditto but with accelerator
3694         parsing
3695
3696         * gtk/gtkimage.c (gtk_image_expose): reformatting.
3697
3698         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
3699         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
3700         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
3701         call gdk_window_get_origin().
3702
3703         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
3704         implement GDK_PIXBUF_ALPHA_FULL
3705         
3706 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
3707
3708         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
3709         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
3710         g_signal_handlers_disconnect_matched to block/unblock and disconnect
3711         multiple handlers respectively, instead of only treating the
3712         first handler found (bug reported by owen).
3713
3714 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
3715
3716         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
3717
3718         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
3719
3720         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
3721         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
3722         gtk/gtktreeviewcolumn.h: Fixed inline docs.
3723
3724         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
3725         widget.  Needs writing someday.
3726
3727         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
3728         the docs.
3729
3730 2000-10-30  Havoc Pennington  <hp@redhat.com>
3731
3732         * gtk/gtktextview.h, gtk/gtktextview.c:
3733         Rename delete_at_cursor delete_from_cursor, and 
3734         move to move_cursor.
3735
3736 2000-10-30  Havoc Pennington  <hp@redhat.com>
3737
3738         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
3739         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
3740         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
3741         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
3742         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
3743         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
3744         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
3745         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
3746         gtktexttypes.h, gtktextview.c, gtktextview.h:
3747
3748         Massive reindentation and reformatting. Arg alignment and comments
3749         still need fixing in various places.
3750
3751 2000-10-30  Havoc Pennington  <hp@redhat.com>
3752
3753         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
3754         to be named insert_at_cursor and delete_at_cursor so C++ can
3755         handle them.
3756
3757 2000-10-28  Tor Lillqvist  <tml@iki.fi>
3758
3759         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
3760         to get a double directory separator in case the home directory
3761         ends with one. This would cause trouble especially on Windows,
3762         where the path will be confused with the syntax for an an UNC
3763         (network share) path \\server\share\path.
3764         (gtk_rc_add_initial_default_files): Ditto.
3765
3766 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
3767
3768         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
3769
3770         * gtk/gtktextview.c: Use correct marshallers.
3771
3772 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
3773
3774         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
3775         use new iter stuff, and added all the appropriate signals et al.
3776
3777         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
3778         code is internal to gtk only.
3779
3780 2000-10-28  Tor Lillqvist  <tml@iki.fi>
3781
3782         * gtk/gtk.def
3783         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
3784         glib-genmarshal etc.
3785
3786 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
3787
3788         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
3789         parallel builds.
3790
3791 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
3792
3793         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
3794
3795 2000-10-27  Robert Brady  <robert@suse.co.uk>
3796
3797         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
3798         en_GB (British), ia (Interlingua).
3799
3800 2000-10-26  Havoc Pennington  <hp@redhat.com>
3801
3802         * gtk/gtktextiter.c (my_strrstr): fix constness warning
3803
3804         Fixed output of:
3805         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
3806         
3807         * gtk/gtktextsegment.c (char_segment_new): rename
3808         (_char_segment_new_from_two_strings): rename
3809         (_toggle_segment_new): rename
3810         
3811         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
3812         (make_clipboard_widget): make it static
3813         (text_get_func): static
3814         (text_clear_func): static
3815
3816         * gtk/gtkcolorsel.c (adjustment_changed): make this function
3817         static
3818         (hex_changed): make it static
3819         (hsv_changed): make it static
3820         (opacity_entry_changed): make it static
3821
3822         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
3823         (toggle_segment_check_func): rename with _gtk
3824
3825         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
3826         (_widget_segment_new): rename
3827         (_widget_segment_add): rename
3828         (_widget_segment_remove): rename
3829         (_widget_segment_ref): rename
3830         (_widget_segment_unref): rename
3831
3832         * gtk/gtktextmark.c (_mark_segment_new): Rename
3833         _gtk_mark_segment_new   
3834
3835 2000-10-26  Havoc Pennington  <hp@redhat.com>
3836
3837         * gtk/gtkmarshal.list: add new marshallers used by the text widget
3838         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
3839         types
3840
3841         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
3842         marshaller types
3843
3844         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
3845         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
3846         license on these files.
3847
3848         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
3849         work.
3850
3851         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
3852         runtime random number different for each tree, instead of 
3853         a constant I made up.
3854
3855 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
3856
3857         * gtk/Makefile.am: buncha cleanups, kludged build sources
3858         dependencies with a Makefile: oldest-source-stamp dependancy
3859         for the moment. automake is really fighting us here, with
3860         intentionally not allowing user-defined rules or dependancies
3861         prior to it's -include $(DEP_FILES) statement. sucks rocks!
3862
3863         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
3864         to public headers. tehy have a comment stating that they are
3865         "semi-public" aren't included by gtk.h and if enums popup there,
3866         they can be /*< skip >*/-ed.
3867
3868         * gtk/gtktextlayout.h: 
3869         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
3870         added LGPL... <SIGH>
3871
3872 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
3873
3874         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
3875         GtkTreeIter.  Added iterators everywhere.
3876
3877         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
3878
3879         * gtk/gtktreeviewselection.c: Changed to use the iterators.
3880
3881         * gtk/gtktreestore.c: Changed to use the iterators.
3882
3883         * gtk/gtkliststore.c: Commented out the code.  Will convert to
3884         iterators tomorrow.
3885
3886         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
3887         iterators tomorrow.
3888
3889         * gtk/treestoretest.c: Changed to use iterators.
3890
3891         * demos/testgtk/main.c: Moved to use the new iterator system.
3892
3893 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
3894
3895         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
3896         localization misbehaviour.
3897
3898         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
3899         a useless type without copy/free.
3900
3901         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
3902         of GTK_TYPE_CTREE_NODE.
3903
3904 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
3905
3906         * gtk/gtksignal.c:
3907         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
3908         applicable.
3909
3910         * gtk/gtk-boxed.defs (GtkSelectionData): specify
3911         gtk_selection_data_copy and gtk_selection_data_free
3912         do GtkSelectionData work as params in signals.
3913
3914 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
3915
3916         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
3917         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
3918         couldn't they at least give it a non-standard name?
3919         
3920         * gtk/gtktextlayout.c: arg! yet another implementation of
3921         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
3922
3923         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
3924         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
3925         home. now i know this _is_ a conspiracy.
3926
3927         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
3928         ::state-changed.
3929
3930         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
3931         (gtk_accel_group_create_add): marshaller signature fixups.
3932
3933         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
3934         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
3935
3936         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
3937         anymore.
3938
3939 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
3940
3941         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
3942         due to the signal system changes, it wouldn't build currently. to
3943         be fixed soon.
3944
3945         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
3946
3947         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
3948         so it needs gtk_marshal_VOID__ENUM() instead of
3949         gtk_marshal_NONE__UINT().
3950
3951         * gdk/gdk*.c: adapted type registration functions.
3952
3953         * gtk/gtkbindings.c:
3954         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
3955         gone.
3956
3957         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
3958
3959         * gtk/gtkobject.c:
3960         (gtk_object_destroy):
3961         (gtk_object_shutdown): fixed recursion guards. basically we have to
3962         catch the case where any of GObject.shutdown() or gtk_object_destroy()
3963         is called during ::destroy, and avoid recursion there.
3964
3965         * gtk/gtktypeutils.c:
3966         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
3967         boxed_copy/boxed_free. this needs a more general solution based on a
3968         publically installed code-generator utility.
3969
3970         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
3971         glib's gobject has support for that now.
3972         define GtkSignalMarshaller in terms of GSignalCMarshaller.
3973
3974 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
3975
3976         * gtk/gtksignal.[hc]:
3977         * gtk/gtkmarshal.[hc]:
3978         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
3979         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
3980         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
3981         care of that.
3982
3983         * *.c: marshaller name fixups.
3984
3985         * gtk/gtkmarshal.list: added a comment briefing the format.
3986
3987 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
3988
3989         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
3990         compatibility macros here now. more specifically, most of
3991         the API is preserved (yes, _most_, nonwithstanding the
3992         following exceptions listed, the API is stil lHUGE ;)
3993         things that got removed completely:
3994         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
3995         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
3996         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
3997         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
3998         gtk_signal_remove_emission_hook().
3999         non-functional functions variants:
4000         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
4001         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
4002         not supported anymore.
4003         (gtk_signal_compat_matched): new internal function to aid
4004         implementation of the compatibility macros, it  provides
4005         functionality to block/unblock/disconnect handlers based
4006         on func/data.
4007
4008         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
4009
4010         * *.c: adaptions to new type registration API signatures.
4011
4012 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
4013
4014         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
4015
4016 2000-10-25  Robert Brady  <robert@suse.co.uk>
4017
4018         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
4019         gdk_property_delete): If window == NULL, assume the root window.
4020         (restoring the behaviour that was in 1.2).
4021         
4022         * gtk/testtext.c (save_buffer): Allow creation of new files when
4023         saving.
4024
4025         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
4026         calls to read().
4027
4028 2000-10-25  Tor Lillqvist  <tml@iki.fi>
4029
4030         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
4031
4032         * gdk/win32/gdkdrawable-win32.c
4033         * gdk/win32/gdkimage-win32.c
4034         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
4035         X11 backend.
4036
4037         * gdk/win32/gdkcc-win32.c
4038         * gdk/win32/gdkcolor-win32.c
4039         * gdk/win32/gdkfont-win32.c
4040         * gdk/win32/gdkinput-win32.c
4041         * gdk/win32/gdkmain-win32.c
4042         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
4043
4044 2000-10-24  Havoc Pennington  <hp@redhat.com>
4045
4046         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
4047         it a static function
4048
4049         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
4050         redraw text when a tag is applied to it.
4051
4052         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
4053         (gtk_text_tag_affects_nonsize_appearance): private functions to
4054         see if a tag requires various kinds of redraw/layout to be queued
4055         up.
4056
4057         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
4058
4059         * gtk/testtext.c (fill_example_buffer): Put the cursor 
4060         at the start of the buffer, so search works by default
4061
4062         * gtk/gtktextiter.c (lines_match): init match_start always
4063
4064         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
4065         function, get iter at a line + a byte index
4066
4067         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
4068         to set byte position within a line
4069         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
4070
4071 2000-10-23  Havoc Pennington  <hp@redhat.com>
4072
4073         * gtk/testtext.c: Re-enable the "find" dialog
4074
4075         * gtk/testgtk.c: Add test for gdk_drawable_get_image
4076         
4077         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
4078         the arguments to gdk_draw_drawable were in the wrong order
4079         (gdk_window_paint_init_bg): This function was ignoring the
4080         init_region, instead of clipping to it, so the entire backing
4081         pixmap was cleared on every begin_paint()
4082         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
4083         was in here again, the loop kept using the same GtkWindowPaint
4084         over and over.
4085         (gdk_window_begin_paint_region): Fix a bug where we had two
4086         x_offset instead of x_offset and y_offset
4087
4088         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
4089         before we get the image.
4090         (gdk_draw_drawable): get the composite before we draw the drawable.
4091         (gdk_drawable_real_get_composite_drawable): default
4092         get_composite_drawable implementation that returns the drawable 
4093         itself
4094
4095         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
4096         get_composite_drawable virtual function
4097
4098         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
4099         list-walking bug
4100
4101         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
4102         make this work if the source drawable is a GdkDrawableImplX11
4103         instead of a public drawable type. This is really broken; the
4104         problem is that GdkDrawable needs a virtual method get_xid(), but
4105         of course that doesn't work in practice. Enter RTTI.
4106
4107         Also, improve mismatched depth message.
4108
4109         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
4110         GdkPixmap
4111
4112         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
4113         install _gdk_x11_get_image as our implementation of get_image
4114         
4115         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
4116         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
4117
4118         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
4119         gdk_drawable_get_image
4120
4121         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
4122
4123         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
4124         get_image
4125
4126         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
4127         trailing semicolon after for loop
4128
4129 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
4130
4131         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
4132         where font_desc for widget's context lagged widget's font_desc by
4133         one step.
4134
4135 2000-10-22  Tor Lillqvist  <tml@iki.fi>
4136
4137         * gdk/win32/gdkgc-win32.c
4138         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
4139
4140         * gtk/makefile.mingw.in
4141         * gtk/gtk.def: Updates.
4142
4143         * gtk/testgtk.c: sleep() is called _sleep in MS's C
4144         library.
4145
4146         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
4147
4148         * gtk/makefile.msc: Remove
4149
4150         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
4151
4152         * gtk/Makefile.am: Add it.
4153
4154         * configure.in: Generate it.
4155
4156         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
4157         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
4158         something even if not implemented, to satisfy picky MSVC.
4159
4160         Patches by Hans Breuer:
4161         
4162         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
4163         SetBkMode() and SetTextAlign() before calling
4164         pango_win32_render().
4165
4166         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
4167         Set hcliprgn to NULL after destroying it.
4168         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
4169
4170         * gdk/win32/gdkgeometry-win32.c
4171         (_gdk_windowing_window_queue_antiexpose): More effective
4172         implementation.
4173
4174         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
4175         depth as default, not the visual's.
4176
4177         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
4178         against empty title.
4179
4180         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
4181         IMAGE_PRIVATE_DATA.
4182
4183         * gdk/win32/gdkimage-win32.c: Use it.
4184
4185 2000-10-22  Robert Brady  <robert@suse.co.uk>
4186
4187         * configure.in: Check for bind_textdomain_codeset
4188
4189         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
4190         present, make use of it.
4191
4192         Add a translatable string "default:LTR" which, if translated
4193         to "default:RTL", will cause the default direction to be
4194         Right-to-Left.
4195
4196         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
4197         direction if marked as flippable.
4198
4199         * gtk/gtkhscale.c: Mark widget as flippable.
4200         
4201 2000-10-04  Havoc Pennington  <hp@redhat.com>
4202
4203         * gtk/testgtk.c (create_buttons): create some stock buttons
4204         with the default accel group
4205         (create_image): test some new GtkImage features
4206         (make_message_dialog): test GtkMessageDialog
4207         (create_modal_window): fix someone's bizzarro indentation
4208
4209         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
4210         GTK_WIN_POS_CENTER_ON_PARENT. 
4211         Add "destroy with parent" setting, which means the window goes
4212         away with its transient parent.
4213         (gtk_window_get_default_accel_group): get the default accel group
4214         for the window.
4215         (gtk_window_set_destroy_with_parent): set/unset destroy with
4216         parent flag
4217         (gtk_window_read_rcfiles): invalidate icon set caches
4218         after reloading rcfiles 
4219
4220         * gtk/gtkenums.h (GtkWindowPosition): add
4221         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
4222         on its parent window when the dialog is mapped for the first time.
4223
4224         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
4225         a simple message dialog class
4226         
4227         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
4228         handler to emit response signal, and maybe later it would
4229         honor a hide_on_delete flag - though that isn't there yet.
4230         Set border width on the vbox to 2, so we get some padding.      
4231         Use a button box for the action area.
4232         (gtk_dialog_key_press): synthesize a delete event if Esc
4233         is pressed and the GtkWidget key press handler didn't 
4234         handle the escape key.
4235         (gtk_dialog_new_with_buttons): new function creates a dialog
4236         with some default buttons in it.
4237         (gtk_dialog_add_action_widget): add an activatable widget
4238         as a button in the dialog - you can also add a non-activatable
4239         widget by accessing the action area directly.
4240         (gtk_dialog_add_button): add a simple button - stock ID or 
4241         label - to the action area
4242         (gtk_dialog_response): emit response signal
4243         (gtk_dialog_run): block waiting for the dialog, return 
4244         the response. Override normal delete_event behavior, so that 
4245         delete_event does nothing inside gtk_dialog_run().
4246
4247         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
4248         emitted when an action widget is clicked or the dialog gets
4249         delete_event
4250
4251         * gtk/gtk.h: add gtkmessagedialog.h
4252
4253         * gtk/Makefile.am: add gtkmessagedialog.[hc]
4254
4255 2000-10-18  Havoc Pennington  <hp@redhat.com>
4256
4257         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
4258         where any number of empty lines would get skipped
4259
4260         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
4261         edge.
4262
4263         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
4264         warning about invalid iterators (explain more thoroughly)
4265         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
4266
4267         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
4268         big
4269
4270         * demos/*.c: Add error handling
4271
4272         * gtk/gtktextbuffer.c: don't modify const iterators
4273
4274         * gtk/gdk-pixbuf-loader.c: Add full error handling here
4275
4276         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
4277         on file load
4278
4279         * gtk/gtkiconfactory.c: Update to reflect addition of error
4280         handling to gdk-pixbuf loaders
4281
4282 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
4283
4284         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
4285         move to new modularized testgtk.
4286
4287 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
4288
4289         * gtk/gtktreeview.c: Draw the arrows correctly.
4290
4291         * gtk/gtktreemodel.c: Added user docs.
4292
4293         * gtk/gtk.h: remove gtktreedatalist.h.
4294
4295         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
4296         parent when generating my type.
4297
4298         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
4299         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
4300
4301 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
4302
4303         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
4304         GtkTreeModel from object to interface.
4305
4306 2000-10-16  Havoc Pennington  <hp@redhat.com>
4307
4308         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
4309         compilation
4310
4311 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
4312
4313         * gtk/gtktreeselection.c: Add API documentation to all public
4314         functions.
4315
4316         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
4317         functions.
4318
4319 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
4320
4321         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
4322         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
4323         docs to all public functions.
4324
4325         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
4326         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
4327         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
4328         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
4329         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
4330         issue.
4331
4332 2000-10-14  Robert Brady  <robert@suse.co.uk>
4333
4334         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
4335
4336 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
4337
4338         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
4339         values other then G_TYPE_STRING.
4340         * gtk/gtktreeselection.c: Minor commenting updates.
4341         * gtk/gtktreeview.c: Format updates.
4342
4343 2000-10-09  Tor Lillqvist  <tml@iki.fi>
4344
4345         * README.win32: Update.
4346
4347         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
4348         lines that had been deleted by mistake (?).
4349
4350         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
4351         also the case fg==white and bg==black (but still not randomly
4352         coloured cursors). Thanks to Wolfgang Sourdeau.
4353
4354         * gdk/win32/*.c: Silence gcc -Wall.
4355
4356         * gtk/gtk.def: Add missing entry points.
4357
4358         Fixes by Hans Breuer:
4359
4360         * gdk/makefile.msc
4361         * gdk/win32/makefile.msc: Update.
4362
4363         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
4364         some MSVC thing, presumably), cause breakpoint on failures. Add
4365         GDK_NOR case. Call g_log_set_always_fatal.
4366
4367         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
4368         should be pased by reference.
4369         
4370         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
4371         
4372         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
4373
4374         * gdk/win32/gdkevents-win32.c
4375         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
4376
4377         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
4378         implementation object.
4379
4380         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
4381         not just windows.
4382         
4383         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
4384         Use the wrapper object.
4385         
4386 2000-10-06  Havoc Pennington  <hp@redhat.com>
4387
4388         * Makefile.am (SRC_SUBDIRS): contrib subdir
4389
4390         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
4391         so it can be used in Xlib version
4392
4393         * demos/testpixbuf.c (update_timeout): error checking from 1.0
4394         tree
4395
4396         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
4397         change from 1.0 tree that returns first frame of animation
4398         if the loaded file is an animation.
4399
4400         * contrib: add new directory to hold stuff that comes with GTK+
4401         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
4402         
4403         * configure.in: add contrib/*
4404
4405 2000-10-05  Havoc Pennington  <hp@redhat.com>
4406
4407         * demos/testpixbuf-save.c: add pixbuf save test
4408
4409         * demos/Makefile.am: add testpixbuf-save.c
4410
4411 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
4412
4413         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
4414         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
4415         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
4416         * gtk/gtktreeselection.[ch]: Replaced
4417         "node_selected"/"node_unselected" signal with "selection_changed"
4418         signal.
4419
4420 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
4421
4422         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
4423         tree widget.
4424
4425 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
4426
4427         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
4428         drawing.
4429
4430 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
4431
4432         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
4433         Move list pointer forwards before removing item from
4434         list. (Crash reported by Salmaso Raffaele)
4435
4436         * gdk/gdkwindow.h: Remove spurious trailing ,
4437
4438         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
4439         dependencies on uninstalled libraries, sorry folks.
4440
4441 2000-10-04  Havoc Pennington  <hp@redhat.com>
4442
4443         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
4444         gtk/gtkiconfactory.c: Fix copyrights    
4445
4446         * demos/testpixbuf.c: add inline pixbuf test
4447         
4448 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
4449
4450         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
4451         Add gdk_window_iconify.
4452
4453         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
4454         (gdk_window_set_geometry_hints): Add win_gravity
4455         to geometry structure.
4456
4457         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
4458         Implement _NET_WM_PING.
4459
4460         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
4461         Set _NET_WM_PID on the client leader.
4462
4463         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
4464         Handle UTF-8 better.
4465
4466         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
4467         UTF-8 better, set _NET_WM_NAME as well. Only set
4468         icon name if it hasn't previously been explicitely 
4469         set.
4470
4471 2000-10-03  Havoc Pennington  <hp@redhat.com>
4472
4473         * gtk/testtextbuffer.c: clean up trailing whitespace,
4474         add extensive tests for tag toggle iteration.
4475         
4476         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
4477         distance
4478
4479         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
4480         optimize case where the tag root is on level 1
4481         (gtk_text_line_previous_could_contain_tag): attempt to implement
4482         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
4483         functionality
4484
4485         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
4486         Implement this, though not very efficiently.
4487
4488         * gtk/gtktextiterprivate.h: reformat
4489
4490         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
4491         iterator
4492
4493         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
4494         this to properly revalidate the iterators.
4495
4496         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
4497         properly at the end of the line (and therefore on empty lines)
4498
4499         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
4500         maybe we should return a value...
4501
4502 2000-10-03  Tor Lillqvist  <tml@iki.fi>
4503
4504         * config.h.win32: Guard definition of alloca(). glib.h now handles
4505         that.
4506
4507         * gdk/gdk.def
4508         * gtk/gtk.def: Add new entry points.
4509
4510         Changes just to make GTK+ build without errors on Win32. No hope
4511         of it working in its current state, though...:
4512         
4513         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
4514         some functions from the X11 backend, just to make GTK+ build.
4515
4516         * gdk/makefile.mingw.in
4517         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
4518         number. Add new object files.
4519
4520         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
4521         GetMessageTime to get timestamp (where on X11 uses
4522         gdk_x11_get_server_time()).
4523
4524 2000-10-02  Havoc Pennington  <hp@pobox.com>
4525
4526         * gtk/gtktextview.c: text_window_* weren't static and should have
4527         been.
4528         Start work on child widgets; not yet complete, syncing to 
4529         office computer.
4530
4531         * gtk/gtktextchild.h: change this to contain a public interface,
4532         starting work on child interfaces.
4533         * gtk/gtktextchildprivate.h: move private interfaces here
4534
4535         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
4536
4537         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
4538         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
4539         gtk/gtktextmark.c: copyright notices
4540
4541         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
4542         internal functions      
4543
4544         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
4545         internal function
4546
4547         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
4548         Reformatting    
4549
4550 2000-09-30  Havoc Pennington  <hp@pobox.com>
4551
4552         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
4553         NULL start/end pointers
4554
4555         * gtk/gtktextbuffer.c: Write some docs
4556         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
4557         NULL, so you can just check whether there's a selection.        
4558
4559         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
4560         cleanup_line or segments_changed ourselves, it gets done 
4561         in unlink_segment
4562
4563         * gtk/gtktextmark.h:
4564         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
4565         
4566         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
4567
4568         * gtk/gtktextmark.c: delete some more old Tk cruft
4569
4570         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
4571         mark before removing it, so we can emit MARK_DELETED with a valid
4572         pointer.
4573         (gtk_text_buffer_mark_set): hold ref across signal emission
4574
4575         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
4576         whining about attempts to delete special marks
4577
4578         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
4579         underscore, since it's internal.
4580
4581         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
4582         now implemented in terms of iterators in gtktextiter.h
4583
4584         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
4585         New function, destructively sets contents of buffer. Also 
4586         a convenient way to clear the buffer by setting text to ""
4587
4588         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
4589         multiline string literal
4590
4591         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
4592         text changes.
4593
4594         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
4595         is not dereferenceable
4596         (gtk_text_iter_forward_lines): fix return value
4597
4598 2000-09-29  Havoc Pennington  <hp@redhat.com>
4599
4600         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
4601
4602         * gtk/gtktextview.c: Implement drag thresholding; change functions 
4603         that set border window size to have nicer name
4604         (gtk_text_view_mark_set_handler):  Fix this to have the 
4605         right signature.
4606
4607         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
4608
4609         * gtk/testtext.c: Update with API changes, put line numbers on 
4610         both sides.
4611         
4612         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
4613         with this
4614
4615         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
4616         pixbuf; delete a big block of #if 0 Tk code
4617
4618         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
4619         insert_pixmap with insert_pixbuf
4620
4621 2000-09-29  Martin Baulig  <baulig@suse.de>
4622
4623         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
4624         confusion with the GdkPixbuf of the GNOME 1.x platform.
4625
4626 2000-09-29  Havoc Pennington  <hp@pobox.com>
4627
4628         * gtk/gtktextview.c: Implement the side windows.
4629
4630         * gtk/testtext.c: Implement simple line numbering in the 
4631         left side window; seems to make scrolling sloooow. Oops.
4632         Also, cursor blink is for some reason causing redraws
4633         of the line numbers. Should investigate...
4634
4635 2000-09-28  Havoc Pennington  <hp@redhat.com>
4636
4637         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
4638         scrolling child windows, and draw focus rectangle properly.
4639         
4640         (gtk_text_view_buffer_to_window_coords):
4641         Coordinate transformation to deal with all these freaking windows
4642         and offsets
4643         (gtk_text_view_window_to_buffer_coords): transform the other way
4644
4645         * gtk/testtext.c (create_buffer): Update to match Pango API change
4646
4647         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
4648         anonymous tags
4649         (foreach_unref): don't emit remove signal from finalize, just
4650         set tag's parent to NULL
4651
4652 2000-09-26  Havoc Pennington  <hp@redhat.com>
4653
4654         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
4655         Fix some warnings       
4656
4657 2000-09-26  Havoc Pennington  <hp@redhat.com>
4658
4659         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
4660         headers into the private header list
4661
4662         * Makefile.am (pkgconfig_DATA): install pkg-config files
4663
4664         * configure.in: add pkg-config files
4665
4666         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
4667
4668         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
4669         outstanding icon caches on theme change.
4670
4671         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
4672         important types:
4673
4674         (GtkIconSource): Specification for creating a pixbuf 
4675         appropriate for a direction/state/size triplet from 
4676         a source pixbuf or filename
4677
4678         (GtkIconSet): List of GtkIconSource objects that are used to
4679         create the "same" icon (e.g. an OK button icon), and cache for
4680         rendered icons
4681
4682         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
4683         up the icon set for a given stock ID.  GTK maintains a stack of
4684         GtkIconFactory to search, and applications or libraries can add
4685         additional icon factories on top of the stack
4686         
4687         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
4688         the set of GtkIconSource specified for a given stock ID into 
4689         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
4690         RcStyle, under the specified stock ID.
4691
4692         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
4693         render_icon used to derive a GdkPixbuf from a GtkIconSource.
4694         This allows people to theme how prelight, insensitive, etc. are
4695         done.
4696
4697         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
4698         icon factories for a style, and return the resulting 
4699         icon set if any.
4700
4701         (gtk_style_render_icon): Render an icon using the render_icon 
4702         method in the GtkStyleClass.
4703
4704         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
4705         Use the style for a given widget to look up a stock ID, get the
4706         icon set, and render an icon using the render_icon method 
4707         of the style
4708
4709         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
4710         (contains information about a stock item), the built-in stock item
4711         IDs, and functions to add/lookup stock items.
4712
4713         * gtk/stock-icons/*: Stock icons that come with GTK
4714
4715         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
4716         a button based on a GtkStockItem
4717         (gtk_button_new_accel): Takes a uline string and accel group, and
4718         installs the accelerator.
4719
4720         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
4721         image-display widget.
4722
4723 2000-09-25  Havoc Pennington  <hp@redhat.com>
4724
4725         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
4726
4727         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
4728         Fix a bug when removing node data, we didn't properly 
4729         re-splice the linked list after removing the data.
4730
4731         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
4732         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
4733
4734         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
4735
4736         * gtk/gtktextlayout.c (set_para_values): Set tab array 
4737         for the layout from the GtkTextTag.
4738
4739         * gtk/gtktexttypes.h: delete tab and search cruft, 
4740         remove g_convert() in favor of GLib version
4741
4742         * gtk/gtktexttypes.c: remove tab implementation from here,
4743         move to Pango
4744
4745         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
4746         tab stuff using new PangoTabArray from Pango
4747
4748         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
4749         unused border_width stuff
4750
4751 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
4752
4753         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
4754         glib) and now useless utf_to_latin1() latin1_to_utf()
4755
4756         * gtk/gtktextview.[ch]: Change ::move_insert and
4757         ::delete_text action signals to ::move and ::delete;
4758         create the signals with the right enumeration type,
4759         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
4760         C-v bindings, change Home, End to move to beginning/end
4761         of line, Add C-Home C-End to move to beginning/end
4762         of buffer. Change ::cut_text to ::cut_clipboard, etc;
4763         combine ::scroll_text into ::move; use new GtkSelectionData
4764         functions to simplify DND text handling.
4765         
4766         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
4767         deletion enumerations here, rename enumeration values to 
4768         be consistently plural.
4769
4770         * gtk/gtktextbuffer.c: Use new clipboard interfaces
4771         for cut/copy/paste and primary selection.
4772
4773         * gtk/gtktextbuffer.[ch]: Remove excess time and
4774         'interactive' arguments from cut/copy/paste;
4775         rename cut to cut_clipboard, etc; remove
4776         gtk_text_buffer_get_clipboard_contents().
4777
4778         * gtk/gtktextlayout.[ch]: Add 
4779         gtk_text_layout_move_iter_to_line_end() to move the iter to 
4780         line ends.
4781
4782         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
4783         Functions to set or get a UTF-8 string on the selection
4784         data.
4785
4786         * gtk/gtkclipboard.[ch]: New, simplified selection handling
4787         interfaces.
4788
4789         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
4790         created widgets - one of these is useless if we don't.
4791
4792         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
4793         a public function clear all targets registered for the
4794         widget.
4795
4796         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
4797         Never call gtk_widget_realize() - that was just asking
4798         for bizarre side-effects.
4799
4800         * gtk/gtkselection.c (gtk_selection_owner_set): Call
4801         gdk_selection_owner_set even if the widget is the
4802         same so that we reliably update the timestamp on
4803         the server.
4804
4805         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
4806         gdk_x11_get_server_time() function.
4807         
4808         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
4809         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
4810         Add some tricky filtering on serial numbers for
4811         selection clear events to fix up long-standard
4812         race condition FIXME's in gtkselection.c.
4813
4814         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
4815         routines to convert from utf8 to compound text or
4816         STRING and from a text property to UTF-8.
4817
4818         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
4819         a convenience function gdk_get_current_event_time().
4820
4821         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
4822         and free selection_data->data properly
4823
4824 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
4825
4826         * gtk/gtkthemes.c: Remove some unecessary includes.
4827
4828 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
4829
4830         * gtk/gtktextdisplay.c
4831         * gtk/gtktextlayout.c
4832         * gtk/gtktexttag.c
4833         * gtk/gtktexttag.h
4834         * gtk/testtext.c: Change the overstrike property to strikethrough,
4835         to closer match pango.
4836
4837 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
4838
4839         * gtk/gtktextview.c: Fix up visibility so that focus,
4840         cursor_visible and blink interact properly.  Reenable cursor blink
4841         which had been roughly disabled. Make blink and focus
4842         properly per-view.
4843
4844         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
4845         Add a flag for whether to display insertion cursor and
4846         a function to set the flag.
4847
4848         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
4849         get_line_y() to get_line_yrange(), to be a bit more generally
4850         useful.
4851
4852 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
4853
4854         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
4855           do stop_navigating_submenu, to clear last timeout properly.
4856           Also in gtk_menu_motion_notify move ignore_enter above
4857           the conditional to make it always happen as suggested by Owen
4858
4859 2000-09-07  Tor Lillqvist  <tml@iki.fi>
4860
4861         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
4862
4863         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
4864         w32api headers.
4865
4866         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
4867         declarations.
4868
4869         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
4870         (gdk_win32_get_colormap): A line had been deleted by mistake.
4871
4872         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
4873         (gdk_event_translate): Handle more virtual keycodes to be able to
4874         generate GDK events for Control-comma, Control-period, etc.
4875
4876         * gtk/gtk.def: Add some missing entry points.
4877
4878 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
4879
4880         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
4881         Doc comment fixing. (Mostly non-matching parameter names.)
4882
4883         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
4884         comments a little to avoid looking like a doc comment.
4885
4886         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
4887         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
4888         conversions be changed to GError?)
4889
4890         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
4891         Move private #defines into .c file.
4892
4893         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
4894         order of argument addition, remove duplicates.
4895
4896         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
4897         parent class is FrameClass, not BinClass.
4898
4899         * gtk/gtk.h: Add gtkinvisible, which was missing.
4900         (It's occasionalyl useful for client apps, if seldom.)
4901
4902         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
4903         #define.
4904
4905 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
4906
4907         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
4908         coordinates when creating window, instead of GDK-space
4909         coordinates. (Avoid BadValue on too large windows.)
4910
4911 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4912
4913         * configure.in (use_mmx_asm): Remove conftest* after use along the
4914         lines of AC_TRY_COMPILE.        
4915         
4916         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
4917         of g_dirname, which is deprecated.
4918         (gtk_rc_parse_any): Removed calls to
4919         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
4920
4921         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
4922         Removed calls to g_hash_table_{freeze,thaw}, as they are
4923         deprecated now.
4924
4925         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
4926         instead of g_basename.
4927         
4928 2000-09-04 Elliot Lee <sopwith@redhat.com>
4929         
4930         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
4931         ANSI warning.
4932
4933 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
4934
4935         * gtk/gtkwidget.h:  Add some documenting comments about 
4936           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
4937           just as owen said on irc.
4938
4939         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
4940           set HAS_DEFAULT.  Only set it if there isn't another window
4941           holding it (a focus window which RECEIVES_DEFAULT) and only unset
4942           it if the widget is not the focused window with RECEIVES_DEFAULT.
4943           This fixes weird double default bugs in dialogs which has things
4944           call gtk_window_set_default at times.
4945
4946 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
4947
4948         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
4949         Nils Barth and David Santiago to improve submenu
4950         navigation. The patch does this by creating a triangular
4951         region from the point where the pointer leaves the
4952         menu to the submenu.  While the pointer is in
4953         that region and a timeout has not expired, events 
4954         that would cause the active submenu to change are
4955         ignored.
4956
4957 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
4958
4959         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
4960         moving a toplevel window immediately after sizing it would
4961         result in it being sized back to the old size since 
4962         impl->width, impl->height aren't updated until we hear
4963         back from the server. There is still a (longstanding) bug
4964         here that gdk_window_get_size() will give the wrong size
4965         until we do hear back.
4966
4967 2000-08-31  Havoc Pennington  <hp@redhat.com>
4968
4969         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
4970         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
4971         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
4972         Rename GtkTextStyleValues to GtkTextAttributes
4973
4974 2000-08-31  Havoc Pennington  <hp@pobox.com>
4975
4976         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
4977         for rapid testing whether an iterator is the end iterator
4978         (gtk_text_btree_new): init end line cache
4979         (gtk_text_line_is_last): use fast cached line to 
4980         see if we're the last line.
4981         (get_last_line): use cached line here too, should 
4982         speed up some random unrelated code.
4983         
4984 2000-08-30  Havoc Pennington  <hp@pobox.com>
4985
4986         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
4987         signals.
4988
4989         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
4990         delete_text signals. This allows the signals to be used for
4991         implementing undo.
4992
4993         * gtk/gtktextbuffer.c: Change signal handler signatures; 
4994         provide "interactive" argument when emitting insert_text or
4995         delete_text signal.
4996         
4997 2000-08-30  Havoc Pennington  <hp@pobox.com>
4998
4999         * gtk/gtktextbuffer.c: Docs
5000
5001 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
5002
5003         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
5004         from switch statements, since Tor removed the enumeration
5005         value.
5006         
5007         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
5008         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
5009
5010 2000-08-29 Elliot Lee <sopwith@redhat.com>
5011         * */*.h: Use G_GNUC_CONST.
5012
5013 2000-08-27  Havoc Pennington  <hp@pobox.com>
5014
5015         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
5016         minor indentation fixes, inserted some FIXME about stuff I
5017         realized was broken while documenting it.
5018         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
5019         GTK convention  
5020
5021 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
5022
5023         * gtk/testgtk.c (create_styles): Fix double free of
5024         font desc.
5025
5026 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
5027
5028         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
5029         
5030         * gtk/testgtk.c (create_styles): Add a test for modifying
5031         the style through gtk_widget_modify_*.
5032
5033         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
5034         a function to get the current modifier style.
5035
5036         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
5037         of the passed in GtkRcStyle instead of ref'ing it.
5038
5039         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
5040
5041 2000-08-20  Tor Lillqvist  <tml@iki.fi>
5042
5043         * gdk/gdkimage.h
5044         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
5045         shared memory image+pixmap GdkImage type, or
5046         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
5047         I am dropping that.
5048
5049         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
5050         actually call gtk_init_abi_check(), passing also
5051         sizeof(GtkWindow). Ditto for gtk_init_check(). 
5052
5053         * gtk/gtk.def
5054         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
5055         New functions, used to check that the GTK+-using code has been
5056         compiled using the correct compiler and switches. In particular,
5057         with gcc one has to use the -fnative-struct switch as GTK+ is
5058         compiled with that.
5059
5060 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
5061
5062         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
5063         ->prev fields when merging lists. (Found simultaneously
5064         by Pawel Salek and Jakub Jelinek)
5065
5066 2000-08-12  Tor Lillqvist  <tml@iki.fi>
5067
5068         * gdk/gdk.def
5069         * gtk/gtk.def: Add missing entries.
5070
5071         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
5072         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
5073
5074         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
5075         function. Dummy implementation at this point.
5076
5077         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
5078         rules. Undefine GTK_COMPILATION when compiling the test programs.
5079         
5080         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
5081
5082 2000-08-11  Tor Lillqvist  <tml@iki.fi>
5083
5084         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
5085         to convert back and forth from UTF-8 and the "system" (or "current
5086         locale") charset when necessary. Indentation/spacing cleanup.
5087
5088 2000-08-10  Havoc Pennington  <hp@redhat.com>
5089
5090         * Makefile.am (snapshot): Change the format of the snapshot
5091         version to match glib
5092
5093         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
5094         from EXTRA_DIST since it doesn't seem to exist
5095
5096 2000-08-10  Tor Lillqvist  <tml@iki.fi>
5097
5098         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
5099         version of the directory name (not the UTF-8 one) when building
5100         the path name to stat().
5101
5102 2000-08-03  Elliot Lee  <sopwith@redhat.com>
5103
5104         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
5105         PANGO_ATTR_SHAPE set.
5106
5107 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
5108
5109         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
5110         Peter Osterlund to simplify the code while keeping the
5111         functionality the same.
5112
5113 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
5114
5115         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
5116         is_viewable() test further inside the function, since removing the 
5117         window from the redraw list without clearing ->update_area
5118         was also very broken.
5119
5120 2000-08-02  Tor Lillqvist  <tml@iki.fi>
5121
5122         * configure.in: Check for <unistd.h>.
5123
5124 2000-08-01  Martin Baulig  <baulig@suse.de>
5125
5126         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
5127         to display the message that this is a development version of GTK+.
5128
5129 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
5130
5131         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
5132         was depending on widget->allocation instead of the width of text_area,
5133         which was incorrect for subclasses like GtkSpinButton.
5134
5135         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
5136         with width == 1 tests that should be width == -1.
5137
5138 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
5139
5140         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
5141         (broken, Elliot, every single window blank on X) custom code with call
5142         to gdk_window_is_viewable() which a) prevents code duplicate and
5143         b) works. 
5144
5145 2000-07-31  Elliot Lee  <sopwith@redhat.com>
5146
5147         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
5148         to get the GDK_PARENT_ROOT() macro to work.
5149         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
5150         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
5151         of, windows that aren't shown.
5152         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
5153         pointer grab stuff.
5154
5155 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
5156
5157         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
5158           s/gtk_main_iteration/g_main_iteration/
5159
5160           Did this already in change:
5161                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
5162           don't know how it got reverted.
5163
5164 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
5165
5166         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
5167         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
5168
5169         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
5170         not gdk_pixbuf.
5171
5172 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
5173
5174         * configure.in,po/{sp,sr}.po: Added Serbian files
5175
5176 2000-07-30  Tor Lillqvist  <tml@iki.fi>
5177
5178         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
5179
5180         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
5181         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
5182         GIOChannel implementation.
5183
5184         * gdk/win32/gdkinput.c
5185         * gdk/win32/gdkpango-win32.c: Update license name here, too.
5186
5187         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
5188         definition to match prototype.
5189
5190         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
5191
5192 2000-07-27  Elliot Lee  <sopwith@redhat.com>
5193
5194         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
5195         function, to allow handling image formats that cannot be detected
5196         by looking at content alone.
5197
5198 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
5199
5200         * docs/tutorial/*.gif *.jpg *.eps
5201           Update these to the same look-n-feel.
5202           Why does including images in DocBook suck so badly?
5203
5204 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
5205
5206         * gtk/gtktable.c: applied patch from Phil Thompson
5207         <phil@river-bank.demon.co.uk> that enables space settings for
5208         the last row/columns as well.
5209
5210 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
5211
5212         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
5213         updates the license headers to the GNU Lesser General Public License,
5214         as well as updating the copyright year to 2000.
5215
5216 2000-07-26  Robert Brady  <rwb197@zepler.org>
5217
5218         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
5219           and po/Makefile, was installing and looking for them under gtk20
5220           and gtk2 respectively.
5221
5222 2000-07-25  Havoc Pennington  <hp@redhat.com>
5223
5224         * gtk/testtext.c: Comment out some stuff that depends on the rest
5225         of my patches.
5226
5227 2000-07-25  Havoc Pennington  <hp@redhat.com>
5228
5229         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
5230         buffer
5231
5232 2000-07-25  Havoc Pennington  <hp@redhat.com>
5233
5234         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
5235         widget changes.
5236
5237         * gtk/gtktextview.h: To be consistent with usage of "line"
5238         throughout the API to mean "newline-terminated thingy", change
5239         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
5240         to MOVEMENT_LINE.
5241
5242         (GtkTextView): Add flags for default editability, and whether to
5243         show the cursor. Add functions to get/set that. Add 
5244
5245         (gtk_text_view_get_iter_location): new function
5246
5247         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
5248         gtktextlayout.h
5249         (g_convert): Add g_convert temporarily, will go in glib in a bit
5250         
5251         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
5252         GtkTextTagTableForeach instead of brokenly using GHFunc.
5253         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
5254
5255         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
5256         moved to public header.
5257
5258         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
5259         "invisible", since "elide" was a bad name.
5260         (gtk_text_tag_get_priority): Added
5261
5262         (GtkTextStyleValues): put this in public header, along with
5263         functions to use it.
5264
5265         * gtk/gtktextmarkprivate.h: Include more headers, since we no
5266         longer include gtktextbtree.h.
5267
5268         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
5269         gtk_text_mark_deleted
5270
5271         * gtk/gtktextlayout.h: Don't include the "really private" headers,
5272         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
5273         to make this possible. Now we only need to install
5274         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
5275         (However the Makefile.am isn't changed yet because of the
5276         logistics of merging gtk-hp-patches piecemeal)
5277
5278         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
5279         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
5280         gtk_text_iter_get_line is now used in the public API for a
5281         different purpose.
5282
5283         * gtk/gtktextiter.h: Clean up function names to be more
5284         consistent. Always call char offset "offset" and byte index
5285         "index". A "line" is always a line number. 
5286
5287         (gtk_text_iter_is_last): new function, more efficient than 
5288         the existing way to check
5289         (gtk_text_iter_is_first): new function, also more efficient
5290
5291         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
5292
5293         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
5294         gtk_text_iter_forward_char, etc.
5295
5296         (gtk_text_iter_forward_to_tag_toggle): Renamed from
5297         forward_find_tag_toggle, since this isn't a linear search
5298
5299         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
5300
5301         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
5302         New functions, search for a buffer substring.
5303
5304         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
5305         interactive and default editable (since we need to store that info
5306         until we receive the selection data).
5307
5308         Remove all the _at_char and at_line etc. versions of functions;
5309         only have iterator versions.
5310
5311         Add _interactive() versions of functions, that consider the
5312         editability of text. (FIXME add interactive flag to the 
5313         insert/delete signals per Darin's suggestion)
5314
5315         (gtk_text_buffer_get_tag_table): new function, demand-creates the
5316         tag table if necessary
5317
5318         Remove declaration of gtk_text_buffer_get_iter_from_string
5319
5320         (_gtk_text_buffer_get_btree): private/internal function, added.
5321         
5322
5323         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
5324         (gtk_text_line_is_last): new function
5325
5326 2000-07-25  Havoc Pennington  <hp@redhat.com>
5327
5328         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
5329         using GtkProgressBar. See Changes-2.0.txt for details.
5330
5331         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
5332         "pulse_step" which are the equivalent of
5333         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
5334         Implement new API.
5335         
5336         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
5337         (use_text_format) to mark whether text set on the progress bar is
5338         a format string. Deprecate entire GtkProgress interface.
5339
5340         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
5341         (gtk_progress_build_string): make this a no-op if use_text_format
5342         is FALSE
5343
5344         * docs/Changes-2.0.txt: Describe progress bar changes.
5345
5346 2000-07-25  Tor Lillqvist  <tml@iki.fi>
5347
5348         * Makefile.am: Include the build directory.
5349
5350         * configure.in: Generate build/Makefile, build/win32/Makefile,
5351         gdk/, gdk/win32/, and gtk/makefile.mingw.
5352
5353         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
5354         Add GETTEXT_PACKAGE.
5355         
5356         * gdk/gdk.def
5357         * gtk/gtk.def: Updates.
5358
5359         * gdk/gdkfont.h
5360         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
5361         need them any longer.
5362
5363         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
5364
5365         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
5366         PANGOWIN32_LIBS and gdk_pixbuf.
5367
5368         * gdk/win32: Compiles, but no doubt doesn't work at all.
5369
5370         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
5371
5372         * gdk/win32/gdkinput.c: New file, temporarily.
5373         
5374         * gdk/win32/gdkinput-win32.h: New file
5375
5376         * gdk/win32/gdkinputprivate.h: Remove.
5377
5378         * gdk/win32/gdkpango-win32.c: New file.
5379
5380         * gtk/makefile.mingw.in: New file
5381
5382         * gtk/makefile.cygwin: Removed
5383         
5384         * gtk/Makefile.am: Update accordingly.
5385
5386         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
5387         made externally visible.
5388
5389         * gtk/gtkmain.c: Use it.
5390         
5391         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
5392         is enough.
5393
5394         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
5395
5396 2000-07-24 Elliot Lee <sopwith@redhat.com>
5397         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
5398         individual backends already.
5399         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
5400         again. Yes, there really is a good reason for this, if you are using the gdkregion
5401         internals, and if you're not, why do you care?
5402         * gdk/gdkwindow.c: Fix inverted condition
5403         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
5404         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
5405         * gtk/gtkrange.c: Redraw trough when moving.
5406         * gtk/gtktypeutils.c: Fix warning by adding const cast.
5407         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
5408
5409 2000-07-23  Tor Lillqvist  <tml@iki.fi>
5410
5411         * configure.in: Check for mkstemp and sigsetjmp. Output
5412         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
5413
5414         More work on GDK for Win32. Still in an intermediate state.
5415
5416         * gdk/makefile.cygwin
5417         * gdk/win32/makefile.cygwin: Removed.
5418         
5419         * gdk/makefile.mingw.in
5420         * gdk/win32/makefile.mingw.in: New files.
5421
5422         * gdk/Makefile.am
5423         * gdk/win32/Makefile.am: Generate and distribute them.
5424
5425         * gdk/win32/gdkwindow-win32.h
5426         * gdk/win32/gdkdrawable-win32.h
5427         * gdk/win32/gdkpixmap-win32.h: New files.
5428
5429         * gdk/win32/gdkcolor-win32.c
5430         * gdk/win32/gdkcursor-win32.c
5431         * gdk/win32/gdkdrawable-win32.c
5432         * gdk/win32/gdkgc-win32.c
5433         * gdk/win32/gdkimage-win32.c
5434         * gdk/win32/gdkprivate-win32.h
5435         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
5436         Rename fields and variables called xcursor, xid, etc (these names
5437         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
5438
5439 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
5440
5441         * gtk/gtkentry.[ch]: Fix some problems with vertical
5442         alignment.
5443
5444         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
5445         char/byte confusion.
5446
5447 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
5448
5449         * gtk/gtktextview.c (changed_handler): Fix bug where
5450         redraw wasn't being done properly when height of
5451         dirty region changed.
5452
5453         * demos/Makefile.am: Remove various references to
5454         -lgmodule
5455
5456 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
5457
5458         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
5459         PangoAttrShape to reserve space for pixmaps, add 
5460         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
5461         in the display functions.
5462         
5463         * gtk/testgtk.c (create_layout): Set some more exotic
5464         scrolled window options
5465
5466         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
5467         Add function to set the shadow type of a window, to allow
5468         putting a shadow around widgets such as GtkLayout or GnomeCanvas
5469         which don't draw their own frame.
5470
5471 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
5472
5473         * docs/tutorial/package-db-tutorial.sh: New file for
5474           packaging DocBook format tutorial
5475
5476 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
5477
5478         * docs/tutorial/gtk-tut.sgml: Minor updates
5479
5480         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
5481
5482 2000-07-19  Tor Lillqvist  <tml@iki.fi>
5483
5484         * gtk/gtksignal.c: Fix C++ comment.
5485
5486         * gtk/gtkimmulticontext.c
5487         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
5488         don't return value from void functions.
5489
5490         * gtk/gtk.def: Add gtk_rc_style_unref.
5491
5492 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5493
5494         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
5495         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
5496         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
5497         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
5498         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
5499         gtk/gtktypeutils.h: Include files outside of the extern "C"
5500         block. Makes some C++ compiler happy. Reported by Denis Vakatov
5501         <vakatov@peony.nlm.nih.gov>.
5502
5503 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
5504
5505         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
5506           Completes first pass. Hurrah!
5507
5508 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
5509
5510         * docs/tutorial/gtk-tut.sgml: More clean ups.
5511
5512 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
5513
5514         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
5515         paint the background of the text area which was accidentally
5516         removed at some point.
5517
5518         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
5519           
5520          - Move most of the functionality from the theme vtable
5521            into GtkRcStyleClass and GtkStyleClass. The moved
5522            vtable functions were changed a bit in the move to
5523            work better in their new home.
5524
5525          - Get rid of the engine and engine_data fields from
5526            GtkRcStyle and GtkStyle; instead the theme
5527            engine derives theme-specific subclasses of GtkRcStyle
5528            and GtkStyle
5529
5530          - Add extra dlsym() found entry point to themes,
5531            theme_create_rc_style().
5532
5533         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
5534         in gtk_style_real_copy.
5535
5536         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
5537         to register a type associated with an engine. (The engine
5538         won't be unloaded as there is an instance of the type.)
5539
5540
5541 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
5542
5543         * docs/tutorial/gtk-tut.sgml: Clean ups.
5544
5545 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
5546
5547         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
5548           of cleaning up to do.
5549
5550 2000-07-15  Tor Lillqvist  <tml@iki.fi>
5551
5552         * gdk/testgdk.c: New file, quick hack to test backends for
5553         pixel-by-pixel correctness of the most simple graphic operations.
5554
5555 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
5556
5557         * Really release 1.3.1
5558         
5559         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
5560         include structure.
5561
5562 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
5563
5564         * Released 1.3.1
5565
5566 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
5567
5568         * gtk/gtktextlayout.c: use FALSE for size_only most
5569         of the time when calling gtk_text_layout_get_line_display()
5570         to avoid causing double reshapes when a redraw follows
5571         immediately after.
5572
5573 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
5574
5575         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
5576         appropriate region and gdk_window_process_updates() so trough
5577         updating doesn't lag behind the window being scrolled.
5578
5579         * gdk/gdkgc.c: Make parent_class pointer static.
5580          
5581 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
5582
5583         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
5584         include <string.h>.
5585          
5586         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
5587         cut-and-paste error in computing memory offset for 4 channels.
5588
5589 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
5590
5591         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
5592         gtk_rc_append_default_pixmap_path(), since it wasn't
5593         adding an interesting path and we don't have a meaningful
5594         default for this value.
5595
5596 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
5597
5598         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
5599         gtk-config to gtk-config-2.0 move gtk_.m4 to
5600         gtk-2.0.m4
5601
5602         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
5603         gdk/Makefile.am demos/Makefile.am: Change 
5604         library names to libgtk-1.3.la, etc, so that we
5605         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
5606
5607         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
5608         gdk/Makefile.am gdk/x11/Makfile.am
5609         Move include files into /usr/include/gtk-2.0, 
5610         /usr/lib/gtk-2.0/include/
5611          
5612         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
5613         gtk/gtkintl.h: Change package for gettext from 
5614         gtk+ to gtk20. Put hack in autogen.sh to modify
5615         po/Makefile.in.in after gettextize to make this
5616         possible.
5617
5618         * gtk+.spec: Some updates, not tested.
5619
5620         * gdk-pixbuf/Makefile.am: Move loaders into
5621         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
5622
5623         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
5624         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
5625         to THEMENAME/gtk-2.0/. Move engine directory  to
5626         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
5627         
5628 2000-07-12  Tor Lillqvist  <tml@iki.fi>
5629
5630         Win32 changes, still doesn't build though.
5631
5632         * gdk/makefile.cygwin
5633         * gdk/win32/makefile.cygwin
5634         * gtk/makefile.cygwin: Updates.
5635
5636         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
5637         default values for fg and bg pixel as X11 does (0 and 1), not
5638         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
5639         Use 0 for pen width by default (treated as 1 anyway later, but for
5640         apps that might check the value in the GdkGC).
5641         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
5642         interface to gdk_gc_predraw and _postdraw.
5643
5644         * gdk/win32/gdkwin32.h
5645         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
5646
5647         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
5648         extraneous semicolon.
5649
5650         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
5651
5652         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
5653         not the Win32 bitspixel value.
5654
5655         * gdk/win32/gdkcc-win32.c:
5656         * gdk/win32/gdkcolor-win32.c 
5657         * gdk/win32/gdkprivate-win32.h
5658         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
5659         GDK object structure.
5660
5661 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
5662
5663         * docs/tutorial/gtk_tut_12.es.sgml (name): 
5664         * docs/tutorial/gtk_tut_it.sgml (name): 
5665         * docs/tutorial/gtk_tut_fr.sgml (name): 
5666         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
5667         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
5668
5669 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
5670
5671         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
5672           small changes.
5673
5674 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
5675
5676         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
5677         a bug here, never been here and never fixed anything ;(
5678         (don't segfault if tree->root_tree is NULL, which happens prior
5679         to widget realization, but puke instead).
5680
5681 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
5682
5683         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
5684         add the necessary tokens.
5685
5686         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
5687         (gtk_rc_style_to_style): copy thicknesses.
5688         (gtk_rc_init_style): apply thicknesses.
5689         (gtk_rc_parse_style): parse xthickness and ythickness.
5690
5691         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
5692
5693         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
5694         (gdk_window_new): 
5695         (_gdk_windowing_window_init): 
5696         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
5697         (gdk_pixmap_create_from_data): 
5698         (gdk_bitmap_create_from_data): 
5699         (gdk_pixmap_new): 
5700         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
5701         (gdk_image_new): 
5702         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
5703         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
5704         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
5705         (gdk_colormap_get_system): 
5706         (gdk_colormap_new): 
5707         * gdk/gdkwindow.c (gdk_window_init): 
5708         * gtk/gtkstyle.c (gtk_style_new):
5709         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
5710         * gdk/gdkpixmap.c (gdk_pixmap_init): 
5711         * gtk/gtkrc.c (gtk_rc_style_new):
5712         use g_object_new() instead of g_type_create_instance() which
5713         is a private function for fundamental type implementations.
5714
5715 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
5716
5717         * configure.in: Add check for db2html
5718
5719 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
5720
5721         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
5722         hack to set glib_debug_objects based on gtk_debug_flags.
5723
5724 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
5725
5726         * INSTALL.in: Update the Prerequisites section.
5727
5728         * Makefile.am demos/Makefile.am docs/Makefile.am
5729         docs/tutorial/Makefile.am gdk/x11/Makefile.am
5730         gdk/linux-fb/Makefile.am: Dist fixes
5731
5732 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
5733
5734         * NEWS: 10,000 foot view of 1.3.1 changes.
5735
5736 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
5737
5738         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
5739         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
5740         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
5741         gdk/x11/gdkmain-x11.c: 
5742
5743         Patch from George Lebl to add a GdkGrabStatus enumeration to use
5744         as a return value of gdk_*_grab(). Previously, we just
5745         returned the X11 values directly.
5746
5747 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
5748
5749         * gdk/x11/Makefile.am: Patch from George Lebl to 
5750         install all the headers in the right place.
5751
5752 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
5753
5754         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
5755           initial conversion to DocBook.
5756
5757 2000-07-04  Tor Lillqvist  <tml@iki.fi>
5758
5759         * README.win32: Improve a bit.
5760
5761         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
5762         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
5763         Alt+0nnn on the numpad (used to enter characters by numeric code
5764         from current DOS or ANSI codepage) working correctly, as in other
5765         Windows apps.
5766
5767         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
5768         same argument validity tests as in X11 version.
5769         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
5770
5771         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
5772         definitions in case missing from headers.
5773
5774         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
5775         destroy the window-specific cursor.
5776         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
5777         calling GetModuleHandle(NULL).
5778         (gdk_window_set_cursor): Reworked to always copy the passed cursor
5779         with CopyCursor before setting it as the window-specific
5780         cursor. It is OK for the caller to destroy the GdkCursor (and thus
5781         also its Windows cursor) after calling this function. Destroy any
5782         previous window-specific cursor.
5783
5784 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
5785
5786         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
5787         font charset is iso8859-1, not iso-8859-1.
5788
5789 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
5790
5791         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
5792         Use g_get_charset() instead of g_get_codeset().
5793
5794         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
5795         Comment out some strdup'ing functions to keep timj
5796         happy until we finish fighting this out.
5797
5798 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
5799
5800         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
5801         <= width or height.
5802
5803         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
5804         from 1.2 for parent/child states.
5805
5806         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
5807         of typos.
5808
5809         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
5810         event structures, replace with a generic axes field. Replace 
5811         deviceid/sourec with GdkDevice *device.
5812
5813         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
5814         to extract particular axis use value from event. (Also
5815         can be used for normal X/Y.)
5816
5817         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
5818         allow for arbitrary number of axes, namespace everything
5819         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
5820         everywhere.
5821
5822         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
5823         Get rid of the gdk_input_vtable setup if favor of simply
5824         defining the functions in gdkinput-none/gxi/xfree.c in
5825         a similar fashion to the way that the port structure is 
5826         done.
5827
5828         * gtk/gtkdnd.c: Fix fields of synthesized button press event
5829         for new event structures. 
5830
5831         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
5832         new device interfaces.
5833
5834 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
5835
5836         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
5837         set the initial text.
5838
5839         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
5840         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
5841         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
5842         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
5843
5844         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
5845         pango_layout_set_font_description to simplify.
5846
5847 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
5848
5849         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
5850         pango_layout_set_font_description to simplify.
5851
5852 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
5853
5854         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
5855         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
5856         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
5857
5858         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
5859         PANGO_PIXELS() macro.
5860
5861 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
5862
5863         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
5864         that returns a PangoContext owned by the widget and updated to
5865         match future changes in the widget. Also, make 
5866         gtk_widget_create_pango_layout() use this context. If we ever
5867         add a ::changed signal to PangoContext, this will make things
5868         much more convenient. 
5869
5870         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
5871         in the appropriate places instead of destroying the layouts and
5872         creating new ones.
5873
5874         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
5875         in a few strategic places.
5876
5877 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
5878
5879         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
5880         gtk_widget_size_request() on reparented child, if one. Otherwise,
5881         queue_resize() on the child never results in it getting size-requested
5882         at all.
5883
5884         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
5885         in option menus, so that (with luck) people won't copy it into
5886         their apps in the future.
5887
5888         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
5889         to gtk_option_menu_calc_size. This isn't perfect, but should fix
5890         a lot of problems with changing the size of the menu's menu
5891         items after adding it to the option menu.
5892
5893         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
5894
5895         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
5896         the text direction for a widget changes.
5897
5898         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
5899         ::direction_changed to get rid of various hacks.
5900
5901 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
5902
5903         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
5904         name.
5905
5906 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
5907
5908         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
5909         flag to the structure. Do not call XFreePixmap on pixmaps created
5910         by gdk_pixmap_foreign_new().
5911
5912 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
5913
5914         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
5915         value using GdkRGB functionality given GdkColormap and GdkColor.
5916         (name not final, waiting for inspiration.)
5917         
5918         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
5919         set the foreground/background of a GC using the GC's colormap
5920         and GdkRGB. (name not final, waiting for inspiration.)
5921
5922         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
5923         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
5924
5925         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
5926         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
5927         purely a function of the corresponding colormap. Make
5928         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
5929
5930         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
5931         gdk_pixbuf_*create_from_xpm_* in terms of
5932         gdk_pixbuf_new_from_xpm_data(), move into platform independent
5933         code.
5934
5935         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
5936         advantage of the new draw_rgb_32_image_dithalign.
5937
5938         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
5939
5940         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
5941         on each created GC.
5942
5943         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
5944
5945         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
5946         which we initialize from the drawable when the GC is created,
5947         if the drawable has a colormap.
5948
5949         * gdk/x11/gdkgc-x11.c: include string.h for memset.
5950
5951         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
5952
5953         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
5954
5955 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
5956
5957         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
5958         actually returning expose events, make sure to set
5959         the count field properly.
5960
5961         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
5962         accidentally reintroced bug which always cleared
5963         the graphics_exposures value. 
5964
5965 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
5966
5967         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
5968
5969 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
5970
5971         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
5972
5973 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
5974
5975         * docs/faq/gtk-faq.sgml: Start of Section 6.
5976
5977 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
5978
5979         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
5980         
5981         (Fixes problem with drawing childless frames. Pointed out
5982         by and a first patch from Anders)
5983         
5984         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
5985         compute a child_allocation, even if we don't have a child.
5986
5987         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
5988         Always chain to the parent's impl, even if we don't have a child.
5989
5990 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
5991
5992         * gdk/gdkrgb.c: If possible, create only a single shm segment and
5993         use multiple parts of it instead of creating a bunch of separate
5994         segments, since the maximum number of segments per system is not
5995         large. (This might be worth backporting to GTK+-1.2.x if we make a
5996         new release )
5997
5998         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
5999         structure in preparation for per-colormap GdkRGB.
6000
6001         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
6002         to False when we get EINVAL from shmget so that the caller of
6003         gdk_image_new can retry with a smaller segment size.
6004
6005 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
6006
6007         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
6008
6009 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
6010
6011         * configure.in: make the current version number 1.3.1 (binary age 0,
6012         interface age 0).
6013         
6014         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
6015         gtkcompat.h is all we want.
6016
6017         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
6018         GLib primitive types. fixed g_type_register_fundamental() argument
6019         ordering.
6020
6021         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
6022         compiles.
6023
6024         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
6025         object code cleanup, comment trigraph fixes, etc...
6026
6027 2000-06-23  Havoc Pennington  <hp@redhat.com>
6028
6029         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
6030         instead of making up a bogus name for first_para_mark
6031
6032         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
6033         0 as a context ID
6034
6035 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
6036
6037         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
6038
6039 2000-06-21  Havoc Pennington  <hp@pobox.com>
6040
6041         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
6042         we didn't check window->bg_pixmap != GDK_NO_BG.
6043
6044         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
6045         gdk-pixbuf
6046
6047 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
6048
6049         * docs/faq/gtk-faq.sgm: Move file to here.
6050           TODO: Update Makfile.am 
6051
6052 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
6053
6054         * docs/gtk-faq.sgm: Add Section 2
6055
6056 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
6057
6058         * docs/gtk-faq.sgm: New file. Start of DocBook
6059           version of the FAQ.
6060
6061 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
6062
6063         * configure.in (GDK_PIXBUF_MAJOR): Define version
6064         numbers for GDK_PIXBUF_*, as they get substituted
6065         into a header file. Need to consider versioning
6066         for gdk-pixbuf more carefully later.
6067
6068 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
6069
6070         Work with srcdir != builddir.   
6071         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
6072         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
6073         * demos/testpixbuf.c: Likewise.
6074         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
6075         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
6076         <gdk/x11/gdkx.h>.
6077         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
6078         "gdk-pixbuf.h".
6079         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
6080
6081 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
6082
6083         * TODO.xml: Change 1.4 version numbers to 2.0.
6084
6085 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
6086
6087         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
6088         fixups to GTK+ standard.
6089
6090 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
6091
6092         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
6093         gdk-pixbuf.
6094
6095         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
6096         fixups for GObject.
6097
6098         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
6099         gdk-pixbuf with GDK dependencies moved into GDK.
6100         
6101         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
6102         move gdk-pixbuf-loader here until GObject has signals.
6103
6104         * demos/: New directory of demos. Move demos from
6105         gdk-pixbuf here.
6106
6107         * demos/pixbuf-init.c: Small bit of code to check for
6108         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
6109         set GDK_PIXBUF_MODULEDIR appropriately.
6110
6111         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
6112         define which no longer makes sense.
6113
6114 2000-06-21  Havoc Pennington  <hp@redhat.com>
6115
6116         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
6117         gtk_get_default_language
6118
6119         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
6120         new function to get the default language
6121
6122         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
6123         s/gtk_text_view_style_values/gtk_text_style_values/
6124
6125         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
6126         Add a "language" field to tags.
6127
6128         (gtk_text_tag_set_arg): Fix bug in setting
6129         "bg_full_height_set" tag.
6130
6131 2000-06-21  Havoc Pennington  <hp@redhat.com>
6132
6133         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
6134         in the interfaces
6135
6136         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
6137         stuff instead when possible.
6138
6139         * gtk/gtktexttypes.h: Delete some unused constants
6140
6141         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
6142         testtextbuffer.c: use glib instead of custom unicode routines
6143
6144 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
6145
6146         * docs/es/: Removed mistakenly added generated sgml
6147
6148         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
6149         Remove outdated info files.
6150
6151         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
6152         Moved tutorial files into subdir
6153
6154         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
6155         subdir.
6156
6157         * docs/man/gtk_button.pod: Remove. (contents will be
6158         integrated into gtk-reference button page.)
6159
6160         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
6161         docs/faq/Makefile.am: Adjust for new organization
6162
6163 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
6164
6165         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
6166         not $(MKINSTALLDIRS)
6167
6168 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
6169
6170         * gtk/testgtk.c (create_text): Finish the job Elliot started
6171         of removing font setting test for text widget. (Since text widget
6172         and GdkFont are not deprecated, and cause portability problems.)
6173
6174 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
6175
6176         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
6177         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
6178         Remove use of libunicode in favor of new GLib functions.
6179
6180         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
6181         nano-x, framebuffer. The X11 include is just a hack until we get
6182         the necessary functions in gdkcolor.h, so there is no reason to
6183         add other includes of platforms.
6184
6185         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
6186         window bigger than the screen change.
6187
6188         * gtk/testgtk.c: Revert some random changes from Elliot
6189         that had no particular point and were causing testgtkrc
6190         not to function correctly.
6191         
6192         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
6193         because GdkSegment and GdkRegionBox have the same fields,
6194         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
6195         results in clearer code.
6196
6197         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
6198         gdk_input_translate_coordinates): Fix missed GdkObjectification
6199
6200 2000-06-18  Elliot Lee  <sopwith@redhat.com>
6201
6202         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
6203         * gtk/gtk{plug,socket}.h: Missed commits from previous.
6204
6205 2000-06-20  Havoc Pennington  <hp@redhat.com>
6206
6207         * modules/linux-fb/Makefile.am: Make this compile
6208         without framebuffer enabled
6209
6210         * gdk/linux-fb/Makefile.am: Add conditional to not build
6211         framebuffer unless specified in configure
6212
6213         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
6214         the size of the target instead of source if -1 was passed for
6215         width/height
6216
6217         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
6218         width/height confusion.
6219
6220 2000-06-19  Havoc Pennington  <hp@redhat.com>
6221
6222         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
6223         GDK_DRAWABLE_XID. In the future, we probably want to make it
6224         faster with G_DISABLE_CHECKS turned on.
6225
6226 2000-06-14  Havoc Pennington  <hp@redhat.com>
6227
6228         * gdk/Makefile.am: add gdkpixmap.c
6229
6230         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
6231         s/gdk_image_init/_gdk_windowing_image_init
6232
6233         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
6234         ref/unref
6235
6236         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
6237
6238         * gdk/gdkcompat.h: remove GdkWindowType compat, since
6239         GdkWindowType is now non-deprecated; 
6240         change gdk_window_get_type() compat to be
6241         gdk_window_get_window_type().
6242
6243         * gdk/gdkdnd.h: make GdkDragContext a GObject.
6244
6245         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
6246         virtual GObject. Make all functions call into the vtable.
6247         Move gdk_image_put() guts in here. Remove GdkDrawableType
6248         and gdk_drawable_get_type(), these are now GdkWindow-specific.
6249         draw_image, get_depth, get_size, set_colormap, get_colormap,
6250         get_visual added to the vtable.
6251         
6252         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
6253         GObject. Virtualize everything. 
6254         (gdk_gc_new_with_values): remove check for destroyed window,
6255         because now GdkWindow::create_gc will check this.
6256         (gdk_gc_set_values): New function to set GC values, this 
6257         was already implemented but wasn't in the header
6258
6259         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
6260
6261         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
6262         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
6263         remove _gdk_window_class; add _gdk_window_impl_get_type() and
6264         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
6265         _gdk_windowing_window_init, rename gdk_image_init to
6266         _gdk_windowing_image_init.
6267         
6268         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
6269         (gdk_draw_layout): Remove check for destroyed window, 
6270         because all the drawable methods already check it.
6271         
6272         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
6273         Add gdkpixmap.c which contains implementation of GdkDrawable
6274         virtual table (by chaining to a platform-specific implementation
6275         object).
6276         
6277         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
6278         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
6279         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
6280         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
6281         GdkColormapPrivate. 
6282
6283         * gdk/gdktypes.h: #include <glib-object.h>
6284
6285         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
6286         Move most functionality to platform-specific implementation
6287         object. GdkWindow itself now handles the backing store, then
6288         chains to the platform-specific implementation.
6289         (gdk_window_get_window_type): return GdkWindowType of the window.
6290         (gdk_window_peek_children): New routine, returns the children of 
6291         a GdkWindow
6292         (gdk_window_get_children): Was in X11-specific code and did 
6293         XQueryTree. Changed to simply return a copy of window->children; 
6294         so it can go in cross-platform code.
6295         
6296         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
6297
6298         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
6299         GdkColormap; just changed to use the new private data instead
6300         of casting to GdkColormapPrivate.
6301
6302         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
6303         gdk_cursor_new().
6304
6305         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
6306         (private data member in the GObject). 
6307         (xdnd_manager_source_filter): Function had broken 
6308         error handling, fix it (use gdk_error_trap_push).
6309
6310         * gdk/x11/gdkdrawable-x11.c: This file now implements
6311         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
6312         base class is purely for the convenience of the X port,
6313         and not part of the interface to cross-platform GDK.
6314
6315         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
6316         
6317         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
6318         specific to X, and returned by the create_gc virtual method
6319         of GdkDrawableImplX11. 
6320         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
6321         rather than gchar, this was also changed in the GdkGC vtable.
6322         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
6323         mask is 0, return immediately, instead of checking every flag.
6324         This is faster, and keeps us from segfaulting if values is NULL
6325         and the mask contains some nonzero flags.
6326
6327         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
6328         GdkWindow.
6329
6330         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
6331         GdkWindowPrivate is gone.
6332
6333         * gdk/x11/gdkim-x11.c: rename things that got renamed.
6334
6335         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
6336         remove the image_put stuff that got transferred to GdkDrawable.
6337         
6338         * gdk/x11/gdkinput.c: renamings
6339
6340         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
6341
6342         * gdk/x11/gdkpixmap-x11.c: GObject conversion
6343
6344         * gdk/x11/gdkprivate-x11.h: indentation fixes
6345
6346         * gdk/x11/gdkproperty-x11.c: renamings
6347
6348         * gdk/x11/gdkselection-x11.c: renamings
6349
6350         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
6351         implements the platform-specific "impl" object.
6352         Moved gdk_window_get_children to gdk/gdkwindow.c
6353
6354         * gdk/x11/gdkx.h: Remove all the private structs and private datas
6355         that no longer exist. Add declaration of GdkGCX11 object here.
6356         Fix all the macros to still work. 
6357
6358         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
6359         GdkDragContext from the boxed types since they are now GObjects.
6360
6361         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
6362         moved xthickness/ythickness into the instance. GtkStyleClass
6363         functions are now in the standard vtable for GtkStyle, so you have
6364         to create a GObject subclass to write a theme engine.
6365         (gtk_style_copy): fixed a leaked PangoFontDescription
6366         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
6367         can be the standard GObject function.
6368         
6369         * Throughout GTK:
6370         s/style->klass->[xy]thickness/style->[xy]thickness
6371         s/pango_layout_unref/g_object_unref/
6372
6373         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
6374         
6375         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
6376         accessing GDK internals.
6377
6378         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
6379         accessing GDK internals.
6380
6381 2000-06-18  Elliot Lee  <sopwith@redhat.com>
6382
6383         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
6384
6385         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
6386         problem by calculating event position relative to the trough
6387         rather than the slider.
6388         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
6389
6390         * gdk/gdkgc.h: Add GDK_NOR.
6391
6392         * configure.in, Makefile.am: Add modules top level dir
6393         * configure.in: Only use pangox library if building x11 target.
6394         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
6395
6396 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
6397
6398         * gtk/gtkcolorsel.c: Change private class member to be named
6399         private_data throughout the file.
6400
6401         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
6402         private_data to avoid clashing with keyword.
6403
6404 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
6405
6406         * gdk/gdkdnd.h: Add comment to remove warning.
6407
6408 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
6409
6410         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
6411         Byelorussian language; changed the Makefile and file names 
6412         to reflect that.
6413
6414 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
6415
6416         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
6417         rather than gdk_window_hide; this makes things work
6418         correctly if the window is programmatically hidden while
6419         iconified.
6420
6421 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
6422
6423         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
6424         cut and paste typo where wrong pixmap was being
6425         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
6426
6427 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
6428
6429         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
6430         Add helper function to compute format / bytes 
6431         relationship. Use in a couple places to fix up
6432         errors which assume 8 * format.
6433
6434         * gtk/gtkselection.c (gtk_selection_request): Use 32
6435         rather than 8 * sizeof (GdkAtom), to work correctly
6436         on Alpha.
6437
6438 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
6439
6440         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
6441         libgtk.la
6442         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
6443         versions
6444
6445         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
6446         checking macros return NULL since the function has a return value.
6447
6448 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
6449
6450         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
6451         GTK+ from building at all.
6452
6453         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
6454
6455 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
6456
6457         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
6458         gtk/Makefile.am: make it possible to configure gtk for different
6459         targets on the same platform. The library name is now 
6460         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
6461         flag. Only the x11 target compiles right now.
6462         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
6463         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
6464         * gdk/nanox/gdk*generic*: delete generic region code.
6465         * gdk/linux-fb/gdk*generic*: delete generic region code.
6466         * README.nanox: update information.
6467         
6468 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
6469
6470         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
6471         prepend not append. (Pointed out by Brett Hall.)
6472
6473 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
6474
6475         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
6476
6477 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
6478
6479         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
6480         need this later, and this makes sure that the atexit for
6481         glib gets called after that for GDK, so atexits are
6482         properly ordered for object leak checking.
6483
6484         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
6485
6486         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
6487         pango_x_shutdown_display()
6488
6489         * gtk/simple.c (main): Close window on destroy.
6490
6491 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
6492
6493         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
6494         to treat initial creation different from setting with 
6495         regards to the graphics-exposures parameter, so add a parameter
6496         indicating whether this is initial or not.
6497
6498 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
6499
6500         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
6501         to sort of work by adding an extra return_exposes arg
6502         to gdk_event_translate() - it might be better to simply
6503         deprecate the function altogether and force people to rewrite
6504         without it. gdk_window_scroll() handles most of it, and where
6505         gdk_window_scroll() doesn't work, simply redrawing more does.
6506
6507         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
6508         assertion.
6509
6510         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
6511
6512         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
6513         bunch of pretty much useless /* Print debugging info */ comments 
6514         which had drifted away from the code they were commenting.
6515
6516 2000-06-02  Havoc Pennington  <hp@pobox.com>
6517
6518         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
6519         is in working order.
6520         
6521         * gtk/testtext.c: Change to reflect anonymous mark API
6522
6523         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
6524
6525         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
6526         field, which was unused.
6527
6528         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
6529         saves some typing.
6530
6531         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
6532
6533         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
6534         flag on the insertion point and selection bound
6535
6536         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
6537         make mark-manipulation functions take a GtkTextMark* instead of a
6538         mark name.
6539         
6540         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
6541         GtkTextMarkBody; will be used to detect attempts to delete
6542         the permanent marks (insert and selection bound)
6543
6544         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
6545
6546 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
6547
6548         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
6549         flag to on.
6550
6551         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
6552         Honor DOUBLE_BUFFRED_FLAG
6553
6554         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
6555         function to set the DOUBLE_BUFFERED flag.
6556
6557         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
6558         or not exposes done on the widget should be double-buffered.
6559
6560         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
6561         to be what would be expected. (Fixes problem with a
6562         g_return_if_fail() validating a TextDirection enumeration)
6563
6564 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
6565
6566         * gtk/gtkwidget.c: Remove all references to 
6567         offscreen flag which was no longer used.
6568
6569         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
6570
6571         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
6572         for non-null label_widget->parent.
6573
6574         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
6575         which no longer was used.
6576
6577         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
6578
6579         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
6580         for null arguments.
6581
6582         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
6583         check for destroyed windows.
6584
6585 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
6586
6587         * gtk/gtkimmulticontext.c: Add a finalize method and unref
6588         the slave context there.
6589
6590         * gtk/gtkinvisible.[ch]: Make reference counting behavior
6591         identical to GtkWindow.
6592
6593 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
6594
6595         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
6596         pangox to here, so we can write them independent of rendering
6597         system, using GDK primitives.
6598
6599         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
6600         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
6601         since we have a rendering-system independent implementation in
6602         terms of draw_glyphs().
6603         
6604         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
6605         function to render a single line.
6606
6607         * gdk/x11/gdkpango.c: Move the guts of this file mostly
6608         into ../gdkpango.c, which simplifies things, since we
6609         don't have to deal with raw X gc's.
6610
6611 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
6612
6613         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
6614         get the logical attributes for a given GtkTextLine.
6615
6616 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
6617
6618         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
6619         g_locale_get_codeset() to g_get_codeset() change.
6620
6621 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
6622
6623         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
6624         descriptions.
6625
6626         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
6627         the entry.
6628
6629         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
6630         redoing (vastly simplifying) for Pango. Still needs quite
6631         a bit of work. (Size selection is currently poor. List of 
6632         predefined sizes is not a good idea, since all of these
6633         sizes won't necessarily be distinct.)
6634
6635 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
6636
6637         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
6638         CODESET results for LANG=C.
6639
6640 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
6641
6642         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
6643         which takes a stringized pango font description;
6644         ignore the older 'font' and 'fontset' declarations.
6645
6646         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
6647         field with a GdkFont derived via gdk_font_from_description(),
6648         for compatibility. (Should we just remove it entirely?
6649         Probably too much compatibility breakage, but people
6650         should be migrating to the new Pango stuff as quickly
6651         as possible.)
6652
6653 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
6654
6655         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
6656
6657 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
6658
6659         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
6660         redoing; there are some bugs in size allocation right
6661         now, the semi-existant distinction between header / day
6662         fonts was removed, but, with Pango, could actually
6663         be made functional in a nice way.
6664         
6665         * gtk/testcalender: Move calender from examples into this
6666         directory as a test program. (We really need to restrcture
6667         testgtk into a whole directory full of tests for every
6668         widget or functionality group, separated into multiple .c
6669         files.)
6670
6671 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
6672
6673         * gtk/testgtk.c (file_exists): Fix stupid typo that
6674         was keeping RC file from being loaded.
6675
6676         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
6677         RC file font code.
6678
6679 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
6680
6681         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
6682         Add function to load a GdkFont from a PangoFontDescription.
6683
6684 2000-05-29  Tor Lillqvist  <tml@iki.fi>
6685
6686         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
6687         variable should be of type GdkEventPrivate.
6688
6689 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
6690
6691         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
6692         to have any widget for the label, use a GtkLabel widget
6693         to display the text. (Based partially on a patch from
6694         Anders Carlson.)
6695
6696         (Quite a bit of code reorganization - strip 90% of the
6697         guts out of gtkaspectframe and add a single virtual
6698         func to GtkFrameClass - compute_child_allocation.)
6699
6700 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
6701
6702         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
6703         (Removed clist->row_center_offset field because caching
6704         it wasn't saving time or code, added private function
6705         _gtk_clist_create_cell_layout()).
6706
6707 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
6708
6709         * gtk/gtkaccellabel.c: Pangoized.
6710
6711         * gtk/[hv]ruler.c: Pangoized
6712
6713 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
6714
6715         * gtk/gtkfilesel.c (gtk_file_selection_init):
6716         Use gtk_clist_set_column_auto_resize() to remove need
6717         need for manual column width computations.
6718
6719 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
6720
6721         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
6722         ensuring Pango correctness, and considerably simplifying the
6723         code.
6724         
6725         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
6726
6727         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
6728         getting of numbers of lines.
6729
6730         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
6731         to the actual requested width of the lable, not to the wrap
6732         width we set.
6733
6734         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
6735
6736         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
6737           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
6738
6739         * gtk/gtktextview.c: Fix structure inheritance.
6740
6741         * gtk/gtkprogressbar.c: Pangoize.
6742
6743 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
6744
6745         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
6746         in a function.
6747
6748         * gtk/gtktextlayout.c (find_display_line_above): Fixed
6749         bug with computing line tops.
6750
6751         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
6752
6753 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
6754
6755         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
6756         and y_offset coordinates to do what we need now. (The offset between
6757         buffer and layout coordinates has been reintroduced, but is a 
6758         bit different than before.)
6759
6760         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
6761         handle the adjustments ourselves, and scroll as necessary using
6762         the new gdk_window_scroll().
6763         
6764         The advantage of this is that when we are incrementally revalidating,
6765         we are essentially rearranging things around the visible portion
6766         of the screen. With the old setup, the visible portion of the
6767         screen was moved around in the layout, so scrolling and redrawing
6768         to track that caused jumping of the display. Since we now
6769         control the scrolling ourselves, we can suppress this and
6770         only redraw when things actually change.
6771
6772 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
6773
6774         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
6775         the region not just redisplay it after-all, since we store the
6776         cursors in the LineDisplay. (Ugly interactions here between
6777         GtkLayout and GtkTextBTree here.)
6778         
6779         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
6780
6781 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
6782
6783         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
6784         Added function to scroll contents of a window while keeping the
6785         window constant. Works by XCopyArea or guffaw-scrolling depending
6786         on the details of how the window is set up. (guffaw-scrolling
6787         still needs to be filled in.)
6788
6789 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
6790
6791         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
6792         move the debugging that was tied to a global variable
6793         to that.
6794
6795         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
6796
6797         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
6798         validated flag, in line data instead of setting height/width to
6799         -1. This allows us to perform operations with partially invalid
6800         buffer (using the old size for invalid lines) and thus to do
6801         incremental vaidation. Keep height/width aggregates up to date
6802         when deleting text and rebalancing the tree.
6803
6804         * gtk/gtktextbtree.[ch]: Add functions validate a line
6805         (gtk_text_btree_validate_line), and to validate up
6806         to a number of pixels (gtk_text_btree_validate).
6807
6808         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
6809         that indicates that something is changed and a revalidation
6810         pass is needed. Change ::need_repaint to ::changed, and
6811         make it take old and new yranges instead of a rectangle.
6812
6813         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
6814         the line_data_destroy() function from 
6815         gtk_text_btree_add_view() to a virtual function in 
6816         GtkTextLayout
6817
6818         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
6819         since we are handling partial repaints in a different fashion
6820         now.
6821
6822         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
6823         of the selection instead of queueing a repaint on the
6824         entire widget.
6825
6826         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
6827         get_selection_bounds() down to btree, make the function
6828         in buffer a wrapper around the btree function.
6829
6830         * gtk/gtktextlayout.[ch]: Add functions to check if the
6831         layout is valid and to recompute either a range of pixels
6832         aroudn a line or a certain total number of pixels.
6833
6834         * gtk/gtktextlayout.[ch]: Cache a single line display;
6835         now that we only redraw the needed portions, the hit rate
6836         for this cache is quite high.
6837         
6838         * gtk/gtktextview.[ch]: Keep track of the first paragraph
6839         on the screen so that when re-laying-out the buffer, we can
6840         keep the same place. This requires connecting to ::value_changed
6841         on the adjustments
6842
6843         * gtk/gtktextview.[ch]: Add idle functions to revalidate
6844         the buffer after we receive an ::invalidated signal.
6845         
6846 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
6847
6848         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
6849         to max of allocation and layout size, not just to the
6850         layout size.
6851
6852         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
6853         Invalidate window so it gets redrawn properly.
6854
6855         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
6856         to mean the entire window.
6857
6858         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
6859         into public header.
6860
6861 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
6862
6863         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
6864         to get the name of a mark.
6865
6866         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
6867         to find the paragraph from a y position.
6868
6869 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
6870
6871         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
6872         nodes have width/height >= 0, not > 0.
6873
6874 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
6875
6876         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
6877         Add a size_only flag, so when we only need the size, we don't create
6878         useless appearance attributes.
6879
6880         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
6881         duplicate setting of font description.
6882
6883         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
6884
6885 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
6886
6887         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
6888         EXTRA_DIST. It does not work well when the file that
6889         everything depends on is not in the tarball.
6890
6891 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
6892
6893         * gtk/testgtk.c: Some hacks and fixes so that it basically
6894         works when not sitting in the GTK+ build tree.
6895
6896 2000-05-03  Havoc Pennington  <hp@redhat.com>
6897
6898         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
6899         Properly determine the ordering of the tag root and the current
6900         line within the tree. Previous algorithm only worked if the tag
6901         root's immediate parent was the common root of both the current
6902         line and the tag root.
6903
6904 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
6905
6906         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
6907         alignment.
6908
6909         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
6910         the widget text directional dynamically.
6911
6912         * gtk/gtktextview.[ch]: Added functions to get and set default
6913         wrap mode.
6914
6915 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
6916
6917         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
6918         in cursor location computation.
6919
6920 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
6921
6922         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
6923         vadjusment values properly when layout gets smaller.
6924
6925         * gtk/gtktextview.c (need_repaint_handler): Areas being
6926         passed in are far completely inaccurate, and sometimes
6927         too small, so, for now, just queue a redraw on the
6928         whole visible region.
6929
6930 2000-04-25  Havoc Pennington  <hp@redhat.com>
6931
6932         * gtk/gtktextbtree.c (summary_destroy): new function to 
6933         destroy tag summary nodes
6934         (gtk_text_line_next_could_contain_tag): this function was 
6935         totally broken if the line passed in wasn't below the tag
6936         root. Fix it.
6937         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
6938         "wildcard" case, we have to do a linear scan. Blah.
6939         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
6940         we have to do the linear scan
6941         (tag_removed_cb): When a tag is removed from the tag table, 
6942         remove the GtkTextTagInfo node from the btree.
6943         (gtk_text_btree_spew): Implement the spew function, for 
6944         our debugging pleasure.
6945
6946 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
6947
6948         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
6949         a problem with referring to the wrong buffer.
6950
6951         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
6952
6953         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
6954         font description to gtk_style_new() - otherwise things
6955         don't work without a .gtkrc file.
6956
6957         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
6958         tags table if we create it ourself, too.
6959
6960         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
6961         it was conflicting with XKB modifiers.
6962
6963         * gtk/gtktextview.[ch]: Add simple support for 
6964         GtkIMContext.
6965
6966 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
6967
6968         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
6969         with deletion from last commit.
6970
6971 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
6972
6973         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
6974         in the context from the current locale.
6975         
6976         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
6977         context, not hardcoded value.
6978
6979         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
6980         not logical.
6981
6982 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
6983
6984         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
6985         attributes - that doesn't handle partial-glyph selection
6986         properly. Instead use new pango_layout_line_get_x_ranges()
6987         functionality to draw the selection.
6988
6989         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
6990         now properly handles out-of-range coordinates.
6991
6992         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
6993
6994         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
6995         public.
6996
6997         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
6998         for paragraphs opposite to the base direction of the widget.
6999
7000         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
7001
7002         * gtk/gtktextlayout.c: Don't split segments on marks, since that
7003         causes Arabic words to reshape as you cursor through.
7004
7005         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
7006         cursor position when moving vertically with the arrow keys and
7007         scrolling with page-up/page-down. (Arrow keys save only the X,
7008         scrolling saves both X and Y.)
7009
7010         This means you can line-up / line-down or page-up / page-down
7011         without losing your place, and also that moving vertically
7012         with the cursor keys keeps the same X position, not the same
7013         character count:
7014
7015         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
7016         arrow keys move by display lines, not paragraphs.
7017
7018 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
7019
7020         * gtk/gtklayout.c: Make sure that the bin window is at least
7021         as big as the allocation. (Should we also make sure that the
7022         bin window is big enough to completely cover widget->window?)
7023
7024         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
7025         function to get the onscreen rectangle.
7026
7027         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
7028         for offsets in window coordinates.
7029
7030 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
7031
7032         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
7033         confusion.
7034
7035         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
7036         from the widget direction.
7037
7038         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
7039         Add a "direction" attribute.
7040
7041         * gtk/gtktextview.c: global s/tkxt/text_view/.
7042
7043         * gtk/testtext.c: Added long block of text in Arabic, to test out
7044         the direction attributes. (Some problems with the shaping system
7045         for arabic become obvious - like the fact the cursor splits words
7046         into unjoined pieces.)
7047
7048 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
7049
7050         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
7051
7052         * gtk/gtktextlayout.c: Fix up alignment.
7053
7054         * gtk/testtext.c: Add some tests for centering, wrapping.
7055
7056 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
7057
7058         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
7059         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
7060         If we wrote GTK+-specific layout-render function this could just replace
7061         the draw_layout() operation in the vtable.
7062
7063         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
7064         pango_layout_get_cursor_pos() and use that function.
7065
7066         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
7067         is a non-static symbol.
7068
7069         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
7070         with gtk_text_btree_find_line_by_y()
7071
7072         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
7073         renderer that handles GtkTextAppearance attributes.
7074
7075         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
7076
7077           - Move the values in the style that don't affect geometry into a
7078             GtkTextAppearance structure.
7079           - Change underline to take a PangoUnderline and "font" a string
7080             representation of a font description
7081           - Add a "font_desc" attribute which takes a FontDescription structure.
7082
7083         * gtk/gtktextlayout.[ch]:
7084
7085           - Get rid of the display-line list per each line. Instead, we
7086             generate, on demand, a GtkTextLineDisplay structure which]
7087             contains a PangoLayout * and other necesary information
7088             (offsets, cursor locations) for displaying a paragraph.
7089           - Get rid of the code to wrap lines, create display chunks,
7090             etc. Instead, we just go through a paragraph and convert
7091             it into the necessary inputs to a PangoLayout.
7092           - Implement a new attribute type, GtkTextAttrAppearance. This
7093             holds a GtkTextAppearance, and is used to pass colors, 
7094             stipple, etc, through from the layout to the display without
7095             having to use lots and lots of individual attributes.
7096           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
7097             in terms of PangoLayout functions.
7098         
7099         * gtk/gtktextview.c: 
7100          
7101           - Handle passing the necessary PangoContext to the layout
7102           - Some fixups in painting to deal with the automatic backing store
7103             and offsetting of GTK+-1.4
7104           - Add a style_set handler so that the default style reacts
7105             properly to theme changes.
7106         
7107         * gtk/gtktext?*.[ch]: Random code-style fixes.
7108
7109         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
7110
7111 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
7112
7113         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
7114         in original form preparatory to Pango-ization and gdkimcontext-ization.
7115
7116 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
7117
7118         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
7119         so that we can derive from gtkimcontext in language bindings properly.
7120
7121 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
7122
7123         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
7124         Add a compose table including (almost) all the compose combinations
7125         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
7126         data in the XIM implementation.
7127
7128         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
7129         Moved functions to convert keyvalues from and to unicode here from
7130         the win32 port and made them public.
7131
7132 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
7133
7134         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
7135
7136 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
7137
7138         * gtk/gtkimcontext.[ch]: Base class for new input context system
7139
7140         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
7141         the real input context implementation to be loaded from modules
7142         and switched on the fly.
7143
7144         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
7145         context that just does direct keysymbol => unicode translation.
7146
7147         * gtk/gtkentry.[ch]: Start switching editing over to using
7148         GtkInputContext. (No handling of preedit yet.)
7149
7150 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
7151
7152         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
7153         many substitutions. (klass should not be subsituted.)
7154
7155 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
7156
7157         * configure.in: Add checks for Pango
7158
7159         * configure.in docs/Makefile.am: Add test for sgml2html
7160         and allow 'make dist' without building html, but print out
7161         warnings in that case. (For making snapshots)
7162
7163         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
7164         Add Pango libraries and C flags
7165
7166         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
7167         Add function (gdk_draw_layout) to draw a pango layout.
7168
7169         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
7170         for getting Pango contexts for GDK.
7171
7172         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
7173
7174         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
7175         editing.
7176
7177         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
7178         keysym => unicode translations. More languages can be added
7179         here, but real input-method support is needed.
7180
7181         * docs/Changes-1.4.txt: Added note about entry behavior.
7182         
7183         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
7184         to set the reading direction for a widget and the global direction.
7185         Add test which allows toggling the global direction. Two private
7186         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
7187
7188         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
7189           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
7190
7191         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
7192
7193         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
7194         underlining now handled by Pango.
7195
7196         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
7197         to RCStyle and Style. (Having both this and the old font name and GdkFont 
7198         is temporary.)
7199
7200         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
7201         convenience functions for creating contexts and layouts for widgets.
7202
7203         * gtk/testgtk.c: Enhance label tests with multilingual labels.
7204
7205 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
7206
7207         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
7208         titles to be active, even if they aren't visible.
7209         (gtk_clist_column_titles_passive):  Ditto.
7210
7211 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
7212
7213         * gtkmenu.c:
7214         * gtkmenu.h:
7215         * gtktypeutils.h: Spelling/grammar fixes in comments.
7216
7217 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
7218
7219         * gdk/nanox/*.h: add missing header files.
7220
7221 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
7222
7223         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
7224         send_event to TRUE.
7225         (gtk_drawing_area_size): queue a resize.
7226
7227 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
7228
7229         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
7230         the handlers, also invalidate them. bug nailed down by Karl Nelson
7231         <kenelson@ece.ucdavis.edu>.
7232
7233 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
7234
7235         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
7236         "(nil)" foundries, patch from Grigorios Magklis.
7237
7238         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
7239         on non-available fonts, based on a patch by Grigorios Magklis
7240         <maglis@cs.rochester.edu>.
7241
7242 2000-05-18  Elliot Lee  <sopwith@redhat.com>
7243
7244         * gdk/x11/gdkregion-generic.c: If a region does not have any
7245         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
7246         instead of GDK_OVERLAP_RECTANGLE_IN.
7247
7248 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
7249
7250         * gtk/gtklayout.c (gtk_layout_map): Remove references to
7251         OFFSCREEN, as it is no longer necessary.
7252
7253 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
7254
7255         * gtk/gtkcolorsel.c: Patch from David Santiago
7256         <mrcooger@cyberverse.com> to change things so that the 
7257         indicator of the active palette entry is done independently,
7258         not via the focus, since it should always be visible.
7259
7260 2000-05-17  Tor Lillqvist  <tml@iki.fi>
7261
7262         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
7263         refcount leaks as in the X11 backend.
7264
7265         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
7266         cosmetics.
7267
7268         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
7269         backend. Add _gdk_windowing_window_destroy().
7270
7271         * gtk/gtkcolorsel.c: Include correct backend-specific header.
7272         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
7273         either, but these probably do exist on nanox?)
7274         
7275         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
7276         which isn't necessarily defined by <math.h>.
7277
7278         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
7279         ancestry past GtkObject.
7280
7281         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
7282         from DLL on Win32.
7283
7284         * gtk/gtk.def: Update corresponding to recent changes.
7285
7286         * gtk/makefile.{cygwin,msc}: Updates.
7287
7288 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
7289
7290         * docs/Changes-1.4.txt: A bit of editing.
7291
7292         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
7293         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
7294         to clear the update area for the window, and clear it
7295         when hiding a window.
7296
7297         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
7298         if window destroyed.
7299
7300         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
7301
7302         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
7303         gdk_window_destroy() to the generic code, since there was a lot of 
7304         window-system-independent logic it in. Add a function:
7305         
7306          _gdk_window_destroy() 
7307
7308         to the internal API to destroy a window without unreferencing it.
7309         Add a function:
7310
7311          _gdk_windowing_window_destroy()
7312
7313         That does the windowing-system-dependent part of destroying 
7314         the window.
7315
7316 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
7317
7318         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
7319
7320 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
7321
7322         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
7323         Make gtk_widget_shape_combine_mask() keep a reference count on
7324         the pixmap since it keeps it around.
7325
7326 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
7327
7328         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
7329         leak.
7330
7331         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
7332         leak with event filters.
7333
7334 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
7335
7336         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
7337         signal handlers with the right data arguments. (Fixes
7338         some warnings when a widget was repeatedly set as a drag
7339         destination.)
7340
7341         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
7342         window so we can avoid avoid setting the DND properties on the
7343         toplevel window repeatedly.
7344
7345 2000-05-13  Tor Lillqvist  <tml@iki.fi>
7346
7347         * gdk/win32/gdkwin32.h: Define more message types missing from
7348         mingw headers.
7349
7350         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
7351         call gdk_window_destroy_notify(). It was never called. This
7352         probably meant that the GdkWindow was never freed. Thanks Owen for
7353         noticing (!).
7354
7355         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
7356         window as destroyed before calling DestroyWindow(). DestroyWindow()
7357         causes a call to the window procedure (gdk_WindowProc), which
7358         calls gdk_event_translate(), which calls
7359         gdk_window_destroy_notify(), which gets confused unless the window
7360         is set as destroyed.
7361
7362         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
7363         this function to indicate it's win32 only. Put inside #ifdef
7364         G_ENABLE_DEBUG.
7365
7366         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
7367         debugging function. (gdk_event_translate:) Add a default branch
7368         that uses the above function to print debug messages with all
7369         Windows messages symbolically.
7370
7371         * gdk/win32/gdkprivate-win32.h: Declare it, and
7372         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
7373
7374 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
7375
7376         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
7377         public header file.
7378
7379 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
7380
7381         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
7382
7383         * gtk/gtktext.c: made the adjustments no-construct args, simply
7384         provide default adjustments.
7385         (gtk_text_destroy): release adjustments.
7386
7387         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
7388         adjustment argument non-construct.
7389
7390         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
7391         instead of in finalize.
7392         (gtk_progress_get_text_from_value): 
7393         (gtk_progress_get_current_text): 
7394         (gtk_progress_set_value): 
7395         (gtk_progress_get_percentage_from_value): 
7396         (gtk_progress_get_current_percentage): 
7397         (gtk_progress_set_percentage): 
7398         (gtk_progress_configure): ensure an adjustment is present.
7399
7400 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
7401
7402         * gtk/gtkcolorsel.[hc]:
7403         * gtk/gtkcolorseldialog.[hc]:
7404         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
7405         their parent implementation, use bit fields for boolean values, don't
7406         create unused widgets, usage of glib types, braces go on their own
7407         lines, function argument alignment, #include directives etc. etc. etc..
7408
7409         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
7410
7411 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
7412
7413         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
7414
7415         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
7416         of NULL.
7417
7418         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
7419         to freed data.
7420         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
7421
7422         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
7423         to NULL when the toplevel is getting destroyed.
7424         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
7425         (gtk_menu_destroy): 
7426         (gtk_menu_init): store the information of whether we have to
7427         readd the initial child ref_count during destruction in a new
7428         GtkMenu field needs_destruction_ref_count.
7429
7430         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
7431         here, those reading: learn from my mistake! ;)
7432         in order for set_?adjustment to support a default adjustemnt if
7433         invoked with an adjustment pointer of NULL, the code read (pseudo):
7434         if (v->adjustment) unref (v->adjustment);
7435         if (!adjustment) adjustment = adjustment_new ();
7436         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
7437         now imagine the first unref to actually free the old adjustment and
7438         adjustment_new() creating a new adjustment from the very same memory
7439         portion. here, the latter comparision will unintendedly fail, and
7440         all hell breaks loose.
7441         (gtk_viewport_set_hadjustment):
7442         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
7443         after unreferencing it.
7444
7445         * gtk/gtkcontainer.[hc]: removed toplevel registration
7446         functions: gtk_container_register_toplevel(),
7447         gtk_container_unregister_toplevel() and
7448         gtk_container_get_toplevels() which had wrong semantics
7449         anyways: it didn't reference and copy the list.
7450
7451         * gtk/gtkwindow.c: we take over the container toplevel registration
7452         bussiness now. windows are registered across multiple destructions,
7453         untill they are finalized. the initial implicit reference count
7454         users are holding on windows is removed with the first destruction
7455         though.
7456         (gtk_window_init): ref & sink and set has_user_ref_count, got
7457         rid of gtk_container_register_toplevel() call. add window to
7458         toplevel_list.
7459         (gtk_window_destroy): unref the window if has_user_ref_count
7460         is still set, got rid of call to
7461         gtk_container_unregister_toplevel().
7462         (gtk_window_finalize): remove window from toplevel list.
7463         (gtk_window_list_toplevels): new function to return a newly
7464         created list with referenced toplevels.
7465         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
7466
7467         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
7468         adjustment a non-construct arg.
7469         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
7470         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
7471         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
7472
7473         * gtk/gtkrange.c: added some realized checks.
7474         (gtk_range_destroy): get rid of the h/v adjustments in the
7475         destroy handler instead of finalize. remove timer.
7476         (gtk_range_get_adjustment): demand create adjustment.
7477
7478         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
7479         we simply create them on demand now and get rid of them in
7480         the destroy handler.
7481         (gtk_viewport_destroy): get rid of the h/v adjustments in the
7482         destroy handler instead of finalize.
7483         (gtk_viewport_get_hadjustment): 
7484         (gtk_viewport_get_vadjustment): 
7485         (gtk_viewport_size_allocate): demand create h/v adjustment
7486         if required.
7487
7488         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
7489         gtk_widget_real_destroy () functionality.
7490         (gtk_widget_real_destroy): reinitialize with a new style, instead
7491         of setting widget->style to NULL.
7492
7493 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
7494
7495         * gtk/gtkcalendar.c:
7496         * gtk/gtkbutton.c: ported _get_type() implementation over to
7497         GType, either to preserve memchunks allocation facilities,
7498         or because Gtk+ 1.0 GtkTypeInfo was still being used.
7499
7500         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
7501         over. prepare for ::destroy to be emitted multiple times.
7502         removed reference tracer magic. chain into GObjectClass.shutdown()
7503         to emit ::destroy signal.
7504
7505         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
7506         fundamental.
7507
7508         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
7509         cludge.
7510
7511         * gtk/gtksocket.c:
7512         * gtk/gtkplug.c:
7513         * gtk/gtklayout.c:
7514         * gtk/gtklabel.c:
7515         * gtk/gtkargcollector.c:
7516         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
7517         not being a fundamental anymore, and to work with the new
7518         type system (nuked fundamental type varargs clutter).
7519
7520         * gtk/*.c: install finalize handlers in the GObjectClass
7521         part of the class structure.
7522         changed direct GTK_OBJECT()->klass accesses to
7523         GTK_*_GET_CLASS().
7524         changed direct object_class->type accesses to GTK_CLASS_TYPE().
7525
7526         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
7527         GType. made most of the GTK_*() type macros and Gtk* typedefs
7528         simple wrappers around macros and types provided by GType.
7529         most notably, a significant portion of the old API vanished:
7530         GTK_TYPE_MAKE(),
7531         GTK_TYPE_SEQNO(),
7532         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
7533         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
7534         GTK_TYPE_ARGS,
7535         GTK_TYPE_CALLBACK,
7536         GTK_TYPE_C_CALLBACK,
7537         GTK_TYPE_FOREIGN,
7538         GtkTypeQuery,
7539         gtk_type_query(),
7540         gtk_type_set_varargs_type(),
7541         gtk_type_get_varargs_type(),
7542         gtk_type_check_object_cast(),
7543         gtk_type_check_class_cast(),
7544         gtk_type_describe_tree(),
7545         gtk_type_describe_heritage(),
7546         gtk_type_free(),
7547         gtk_type_children_types(),
7548         gtk_type_set_chunk_alloc(),
7549         gtk_type_register_enum(),
7550         gtk_type_register_flags(),
7551         gtk_type_parent_class().
7552         replacements, where available are described in ../docs/Changes-1.4.txt.
7553         implemented compatibility functions for the remaining API.
7554
7555         * configure.in: depend on glib 1.3.1, use gobject module.
7556
7557 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
7558
7559         * TODO.xml: Various updates to current status.
7560
7561 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
7562
7563         * gtk.m4: Print out version when test succeeds.
7564
7565 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
7566
7567         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
7568         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
7569         
7570         (Original triangle color selector from Simon Budig
7571         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
7572         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
7573         Santiago <mrcooger@cyberverse.com>)
7574
7575         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
7576         out into a separate widget.
7577
7578         * gtk/testgtk.c: Add some checkbuttons for toggling palette
7579         and opacity controls.
7580
7581 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
7582
7583         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
7584         snuck in prematurely.
7585
7586 2000-05-07  Tor Lillqvist  <tml@iki.fi>
7587
7588         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
7589         had deleted a ! operator by mistake, which caused
7590         GDK_SELECTION_CLEAR events never to be generated, which caused
7591         only the first copy to the clipboard from an gtkeditable to
7592         actually cause a copy to the Windows clipboard.
7593
7594 2000-05-06  Tor Lillqvist  <tml@iki.fi>
7595
7596         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
7597         compilation, too. Current mingw gcc distributions include the
7598         necessary headers. Also the necessary IIDs are now in mingw
7599         headers/libraries, and own definitions unnecessary.
7600
7601         More hacking on OLE2 DND, still doesn't work though, and thus
7602         ifdeffed out.
7603
7604         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
7605         here, too.
7606
7607 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
7608
7609         * gdk/nanox/*: nano-X port work in progress.
7610         * gdk/simple.c: simple test for Gdk.
7611         * README.nanox: notes about the port: read this first!
7612         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
7613         with nano-X.
7614
7615 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
7616
7617         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
7618         gdk_window_clear() into common code, implement in terms of
7619         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
7620         not redirected to the backing rectangle.
7621
7622 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
7623
7624         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
7625         EXTRA_DIST. It does not work well when the file that
7626         everything depends on is not in the tarball.
7627
7628 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
7629
7630         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
7631         with recursion where process_updates() is called from
7632         an expose handler. (GtkTextView is highly broken in
7633         doing this, but it should work, so it is a nice test
7634         case.)
7635
7636 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7637
7638         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
7639         handle the case where updates are queued during processing of
7640         updates.
7641
7642 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
7643
7644         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
7645         window is on gdk_display - use that instead of segfaulting.
7646
7647 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
7648
7649         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
7650         broken and require an empty arg, give it to them.
7651
7652 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
7653
7654         * gtk/gtklabel.h: indentation fixes.
7655
7656 2000-05-02  Tor Lillqvist  <tml@iki.fi>
7657
7658         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
7659         draw too narrow or too low arcs, they seem to fail, at least with
7660         some display drivers.
7661
7662         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
7663
7664         Large changes to the Win32 backend, partially made necessary by
7665         the changes to the backend-independent internal
7666         structures. Attempts to implement similar backing store stuff as
7667         on X11. The current (CVS) version of the Win32 backend is *not* as
7668         stable as it was before the no-flicker branch was merged. A
7669         zipfile with that version is available from
7670         http://www.gimp.org/win32/. That should be use by "production"
7671         code until this CVS version is usable. (But note, the Win32
7672         backend has never been claimed to be "production quality".)
7673
7674         * README.win32: Add the above comment about versions.
7675
7676         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
7677
7678         * gdk/gdk.def: Update.
7679
7680         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
7681         presumably be replaced by some more better mechanism as 1.4 gets
7682         closer to release shape.
7683
7684         * gdk/makefile.{cygwin,msc}: Update.
7685
7686         * gdk/win32/*.c: Correct inclusions of the backend-specific and
7687         internal headers. Change code according to changes in these. Use
7688         gdk_drawable_*, not gdk_window_* where necessary.
7689
7690         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
7691         our old DND.
7692
7693         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
7694         to interpret single characters as UTF-8. Thanks to Hans Breuer.
7695         Use correct function name in warning messages.
7696
7697         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
7698         GSourceFuncs gdk_event_prepare and gdk_event_check.
7699         (gdk_event_get_graphics_expose): Do implement, use
7700         PeekMessage. Thanks to Hans Breuer.
7701         (event_mask_string): Debugging function to print an GdkEventMask.
7702         (gdk_pointer_grab): Use it.
7703
7704         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
7705         (old) book I used claimed was Hangul actually is CJK Unified
7706         Ideographs Extension A. Also, Hangul Syllables were missing.
7707         Improve logging.
7708
7709         * gdk/win32/gdkgc-win32.c: Largish changes.
7710
7711         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
7712         g_win32_getlocale() from GLib, and not setlocale() to get current
7713         locale name.
7714
7715         * gdk/win32/gdkprivate-win32.h
7716         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
7717         gdkwin32.h, similarily as in the X11 backend.
7718
7719         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
7720         assignment was used instead of equals in if test. Thanks to Hans
7721         Breuer.
7722
7723         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
7724         the X11 version.
7725
7726         * gdk/win32/makefile.{cygwin,msc}
7727         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
7728         path to the Win32 headers that works also with the mingw compiler.
7729
7730         * gtk/gtkstyle.c: Include <string.h>.
7731
7732 2000-04-26  Havoc Pennington  <hp@redhat.com>
7733
7734         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
7735         replacing the broken gtk_label_get ()
7736
7737 2000-04-15  Havoc Pennington  <hp@pobox.com>
7738
7739         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
7740         this keeps scanner scripts from getting confused.
7741
7742         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
7743         data, rather than void
7744
7745 2000-04-15  Tor Lillqvist  <tml@iki.fi>
7746
7747         * gtk/gtkclist.c (gtk_clist_motion)
7748         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
7749         with is_hint FALSE, get x and y from the event. They used to be
7750         used uninitialised. The Win32 backend never sends motion events
7751         marked as hints. This for instance fixes the annoying file and
7752         font selector behaviour in the Win32 version.
7753
7754 2000-04-14  Tor Lillqvist  <tml@iki.fi>
7755
7756         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
7757         gtk_private_n_signals variables, they are used by some software,
7758         sigh.
7759
7760         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
7761         installation directory from the Registry, where the installer
7762         should have put it.
7763
7764 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
7765
7766         * gdk/x11/Makefile.am: Fix problem with installation directory for
7767         gdkx.h
7768
7769         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
7770         <mrcooger@cyberverse.com> so that when selecting menus with the
7771         mouse, the first item will not be selected, but when selecting
7772         with an accelerator, or navigating left-right on a menubar with
7773         the menus popped up, the first item will be selected.
7774
7775 2000-04-05  Dan Damian  <dand@dnttm.ro>
7776
7777         * configure.in: Added "ro" to ALL_LINGUAS.
7778
7779 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
7780
7781         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
7782         indentation.
7783
7784         * Makefile.am (EXTRA_DIST): Fix typo.
7785
7786         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
7787         to catch gdkconfig.h
7788
7789         * gtk/gtkitemfactory.c: Added FIXME.
7790
7791 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
7792
7793         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
7794         s/return_if_fail/return_val_if_fail/g and add a return value.
7795
7796 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
7797
7798         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
7799         merge slipup.
7800
7801         * gdk/gdkinput.h: Fix missing line from merge.
7802
7803 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
7804
7805         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
7806         instead of gdkprivate.h.
7807
7808 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
7809
7810         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
7811         parent class to correctly be GtkDialogClass.
7812
7813 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
7814
7815         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
7816         toplevel windows and their immediate children by their parents,
7817         since the size of toplevel windows is out of our immediate
7818         control and we don't get any real benefit from trying to track
7819         this size for clipping.
7820
7821         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
7822         for input_only windows.
7823
7824         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
7825         to fix some hacks and make sure that we don't try to set the
7826         background of input only windows.
7827
7828 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
7829
7830         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
7831         the _really_ internal stuff, and leave gdkprivate.h for the fake private
7832         stuff that we've traditionally exposed.
7833
7834         * gdk/**.c: Use gdkinternals.h where appropriate.
7835
7836         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
7837         not include gdkprivate-x11.h, move all stuff of conceivable public
7838         interest into gdkx.h; keep all really private stuff in
7839         uninstalled header gdkprivate-x11.h.
7840
7841         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
7842         image->image_put on windows through a new function _gdk_window_draw_image()
7843         to allow us to do backing store for images. (Sort of ugly)
7844
7845         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
7846         contexts locally so that we can offset them properly when drawing 
7847         onto backing pixmaps.
7848
7849         * gdk/gdkinput.h: Reindented
7850
7851         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
7852         pixmap or color for the window, so we can properly initialize
7853         our double-buffer pixmaps, and also so that we temporarily set
7854         a background of None while scrolling.
7855
7856         * gdk/gdkregion.h: Revise region boolean operators to have an
7857         interface that is actually convenient - switch from creating new
7858         regions on every op, to "methods" that modify existing regions
7859         (A = A OP B). 3 argument forms which allow dest == src, would also
7860         be possible, but the current interfaces seem to map nicely
7861         onto what needs to be done. (There is quite a lot of region
7862         code in GDK now.)
7863
7864         * gdk/gdkregion.h: Add constructor from rectangle and a copy
7865         operator.
7866
7867         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
7868         gdkpoly-generic.h: Copy region code from Xlib, switch it over
7869         to 32 bit coordinates, modify it to be mostly GTK+ style
7870         and to have interfaces that match gdkregion.h.
7871
7872         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
7873         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
7874         create a backing pixmap and redirect all drawing to
7875         that backing pixmap until a matching gdk_window_end_paint().
7876
7877         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
7878         Create a special drawable class for GtkWindow's that 
7879         redirects the drawing to the backing pixmap as necessary
7880         and then calls the real operations in _gdk_windowing_window_class.
7881
7882         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
7883         Store invalid region for each window. Generate expose events for invalid
7884         region in an idle. This replaces both the expose compression
7885         and the redrawing queuing in GTK+. It is both more efficient and
7886         simpler than either one individually and far more so then the
7887         combination.
7888
7889         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
7890         Emulate 32 bit coordinates for windows with 16 bit coordinates
7891         by offsetting drawing, guffaw scrolling techniques and
7892         mapping/unmapping child windows as necessary.
7893
7894         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
7895         where, when invalid regions are processed, the region is stored,
7896         and if expose events come in that are detectably duplicate
7897         the processed exposes (by comparison of event serial numbers),
7898         the stored region is subtracted out of those exposes.
7899
7900         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
7901         regions newly exposed when scrolling or resizing windows.
7902         This, combined with forcing processesing of queued invalidated
7903         regions, gives nice flicker-free scrolling.
7904
7905         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
7906         invalidated regions after every scroll.
7907
7908         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
7909         emulation in GDK. Its, for all practical purposes just a
7910         GtkViewport/GtkFixed hybrid now.
7911
7912         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
7913         (16-bit) structures as necessary instead of just casting.
7914
7915         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
7916         in terms of the structures from gdkregion-generic.c, using appropriate
7917         offsets from GDK to X11 coordinates. Cache clip mask and
7918         origin and ts origin locally and only flush to the server
7919         when drawing, to avoid constantly setting and resetting these
7920         values when offsetting GC's for scrolling and backing pixmaps.
7921
7922         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
7923
7924         * gtk/gtkcontainer.c: Call process_all_updates at end
7925         of resizing to reduce flicker. (Avoids having redraw
7926         lag arbitrarily behind resize under some circumstances)
7927
7928         * gtk/gtkentry.c: Remove old backing store code, and simply take
7929         advantage of the new backing store capabilities of GDK.
7930
7931         * gtk/gtkmain.c: Simple implementation of widget backing
7932         store - simply push a paint while handling each expose.
7933         (Should really be configurable widget for widget.)
7934         
7935         * gtk/gtkwidget.c: Remove all the old complicated redraw
7936         code, and simply invalidate the GDK windows from
7937         gdk_window_queue_clear(), etc. (Sigh, so much carefully
7938         debugged complexity ... gone to the winds.)
7939
7940         Remove all the code for suppressing expose events while
7941         resizes are pending; this isn't needed since the invalid
7942         areas won't be processed until after the resizes are
7943         processed, since they are in a lower priority idle.
7944
7945 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
7946
7947         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
7948         and height of dest rectangle for non-intersecting rectangles.
7949
7950 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
7951
7952         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
7953         for GdkRectangle.
7954
7955 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
7956
7957         * gdk/gdk{events,image,private,types,window}.h
7958          gdk/x11/gdkinputprivate.h: Change all coordinates
7959          from int16 to int. Also, Change width and height from
7960          unsigned to signed to avoid all the stupid C 
7961          signedness bugs.
7962
7963 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
7964
7965         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
7966         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
7967         Add some more detailed checking.
7968
7969         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
7970         New function to retrieve the depth of a drawable.
7971
7972         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
7973         field, reorder fields to save memory. 
7974
7975 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
7976
7977         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
7978         of the background image instead of scaling the background down to
7979         a line.
7980
7981         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
7982         which temporarily set slider to wrong size.
7983
7984         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
7985         queue_clear().
7986
7987 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
7988
7989 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
7990
7991         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
7992
7993 2000-03-17  Tor Lillqvist  <tml@iki.fi>
7994
7995         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
7996         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
7997
7998         * gdk/win32/gdkfont-win32.c
7999         * gdk/win32/gdkproperty-win32.c
8000         * gdk/win32/gdkselection-win32.c
8001         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
8002         now declared such.
8003
8004 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
8005
8006         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
8007
8008 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
8009
8010         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
8011         is called without trapping X errors.
8012
8013 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
8014
8015         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
8016         way into the fontset lists.
8017
8018 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
8019
8020         * gtk/gtkthemes.h: add extern "C" scope.
8021
8022 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
8023
8024         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
8025         to make appends to the list constant. (gtk-guy-990901-0.patch)
8026
8027 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
8028
8029         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
8030         for the typename hash table.
8031
8032 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
8033
8034         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
8035         to make sure we never divide by zero. 
8036         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
8037
8038 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
8039
8040         * gtk/gtkfontsel.c: Apply patch from
8041         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
8042         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
8043
8044         Also, some cleanups in atom handling.
8045
8046 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
8047
8048         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
8049         not GtkWidget.
8050
8051 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
8052
8053         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
8054         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
8055         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
8056         more guint wrap-around bugs before going to bed.
8057
8058 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
8059
8060         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
8061         guint wrap arounds in allocation.width.
8062
8063         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
8064         process untill we fit the allocation given.
8065
8066 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
8067
8068         * gtk/gtkwidget.c:
8069         (gtk_widget_unrealize): guard widget access with ref/unref
8070         around signal emission.
8071         (gtk_widget_hide): same here, but also check its destroyed
8072         state before queueing a resize.
8073
8074 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
8075
8076         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
8077         of gtk_default_insensitive_bg as insensitive base color.
8078
8079         * gtk/gtktext.c (gtk_text_style_set): set the background color according
8080         to the widget's state.
8081         (gtk_text_realize): same here.
8082         (gtk_text_state_changed): same here.
8083         (draw_bg_rect): compare background color against base[] from
8084         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
8085
8086 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
8087
8088         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
8089         grabs are active, unless a delete event is send to the toplevel
8090         of the currently grab holding widget.
8091
8092 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
8093
8094         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
8095         debugging g_print's.
8096
8097 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
8098
8099         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
8100         ever make the scrolled-window requisition ever depend on the 
8101         visibility state of the scrollbars for the AUTOMATIC policy. 
8102         This breaks the GTK+ requisition model, and causes loops.
8103
8104 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
8105
8106         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
8107         the default font to avoid problems with XFree86-4.0 where the
8108         default charset is iso10646-1, not iso8859-1.
8109
8110 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
8111
8112         * acinclude.m4
8113         * config.guess
8114         * config.sub
8115         * ltconfig
8116         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
8117
8118         * gtk/Makefile.am: minor cosmetic consistency tweak
8119
8120 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
8121
8122         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
8123         the activate_time to 0, so that we handle a quick
8124         press/release press/release properly and don't suppress
8125         the second release. (Red Hat bug #7545)
8126
8127 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
8128
8129         * gtk/gtkctree.c (row_delete):
8130         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
8131         bugs with destruction notifier, *always* update internal
8132         structures *before* calling user code.
8133
8134 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
8135
8136         A few more fixes for bug #5487, #2051, #2677.
8137         * gtk/gtkclist.c : 
8138         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
8139         not GDK_BUTTON_PRESS.
8140         (resync_selection): resync only if selection_mode is
8141         GTK_SELECTION_EXTENDED
8142         * gtk/gtkctree.c (resync_selection): same here
8143
8144 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
8145
8146         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
8147         gdk_drag_get_selection() and gtk_menu_detach().
8148
8149         [ From Jeroen Ruigrok/Asmodai ]
8150
8151 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
8152
8153         * gtk/gtknotebook.c (gtk_notebook_size_request): 
8154         page->tab_label can be NULL.
8155
8156 2000-01-25  Havoc Pennington  <hp@pobox.com>
8157         
8158         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
8159         arg is boolean
8160
8161         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
8162
8163         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
8164
8165         * gdk/gdkproperty.c (gdk_property_get): return boolean
8166
8167         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
8168
8169         * gdk/gdkim.c (gdk_im_ready): return boolean
8170
8171         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
8172
8173         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
8174         glib clash, should fix glib)
8175
8176         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
8177         (gdk_get_show_events): return gboolean, and canonicalize 
8178         to TRUE/FALSE
8179
8180         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
8181         colormap is private
8182         (gdk_colors_alloc): gboolean whether to be contiguous
8183         (gdk_color_equal): return gboolean since we are a predicate
8184         and not a qsort() (this looks semi-wrong due to glib breakage,
8185         IMO glib should be fixed)
8186         
8187         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
8188         (gdk_get_use_xshm): return gboolean
8189         (gdk_pointer_is_grabbed): return gboolean
8190
8191         * gdk/gdk.h: Change prototypes to match all the above changes,
8192         and re-run egtk-format-protos as required.
8193
8194 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
8195
8196         * gtk/gtkctree.c (resync_selection): 
8197         * gtk/gtkclist.c (resync_selection):
8198
8199         Return immediately if clist->drag_pos < 0. This is a workaround
8200         for the corrupt state that the clist gets into when a
8201         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
8202
8203         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
8204         
8205         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
8206         variable from recent commit.
8207
8208 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
8209
8210         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
8211
8212 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
8213
8214         * gtk/Makefile.am: prefix all autogenerated source that get build in
8215         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
8216         in builddir. since we subsequently cd into srcdir for autogeneration,
8217         the paths have to be stripped from the target file names, thusly we
8218         use $(@F) as target names now.
8219         put a comment about configure.in's --disable-rebuilds option,
8220         which can be used for non-writable source directories, for development
8221         setups though, srcdir has to be *writable*.
8222
8223 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
8224
8225         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
8226           Finish the job of allowing event to be NULL.
8227           (Fixes bug #4283, reported by Chris Blizzard)
8228
8229         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
8230           things so that the cursor appears on screen, properly
8231           take into account INNER_BORDER.
8232           (Fixes bug #4754, reported by Antonio Campos)
8233
8234 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
8235
8236         * gtk/gtknotebook.c (gtk_notebook_map): Don't
8237           show the tab_label unless it itself is visible.
8238
8239           gtk/gtknotebook.c (gtk_notebook_size_request):
8240           Do a better job of making sure that the visibility
8241           of the tab label corresponds to whether it should
8242           be mapped or not.
8243
8244 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
8245
8246         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
8247           Use the requisition, not the allocation, since the
8248           allocation has not necessarily been computed yet.
8249           (Pointed out by Eugene Osintsev)
8250
8251 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
8252
8253         * gtk/gtkstyle.c (gtk_style_new): Dont' set
8254           style/base[GTK_STATE_INSENSITIVE] both to
8255           gtk_default_insensitive_bg!
8256           (Bug #2187, reported by Jonathan Blandford)
8257
8258         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
8259           Add Alt_L, Alt_R to list of invalid accelerators.
8260           (Bug #3736, reported by Vlad Harchev)
8261
8262 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
8263
8264         * gtk/gtkfilesel.c (open_ref_dir): Fix several
8265         bugs which occured after an attempt to open 
8266         invalid home directory left cmpl_state->reference_dir == NULL.
8267
8268          - completion on files in home directory didn't work
8269          - completion on an empty string caused  segfault
8270
8271          (Bug #3678, reported by Steve Ratcliffe)
8272
8273         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
8274         cut and paste error that was causing scales to
8275         be incorrectly positioned.
8276         (Bug #2956,
8277          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
8278
8279 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
8280
8281         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
8282         when checking for dcgettext, if we've found we needed
8283         it for dgettext.
8284 +
8285 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
8286
8287         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
8288         queue_clear on NO_WINDOW widgets during a reparent,
8289         since at that point the window and widget heirarchies
8290         are out of sync. This stops crashing in some cases
8291         (the scrolled window reparent test, for instance), and
8292         _probably_ won't cause drawing errors.
8293
8294         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
8295         test do what it was supposed to do and be robust against
8296         window closings, etc. (Bug #2443)
8297
8298 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
8299
8300         * gtk/gtkentry.c: Fix return values on mouse events.
8301         (Bug #2686, Sky <seb_sky@yahoo.com>)
8302
8303         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
8304         (pointed out by George Lebl)
8305
8306         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
8307         (From Ettore Perazzoli  <ettore@helixcode.com>)
8308  
8309 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
8310
8311         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
8312         clicks between rows or outside calender area correctly.
8313         (Patch from Damon Chaplin)
8314
8315         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
8316         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
8317           Call destroy function when overwriting existing data. 
8318           (Pointed out by Damon Chaplin)
8319
8320 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
8321
8322         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
8323           which was causing problems on various systems with Xmu.
8324           This hasn't been needed for a very long time.
8325           (Fixes #1185 3167)
8326
8327 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
8328
8329         * gdk/gdki18n.h: Include <ctype.h> when defining
8330           gdk_isw* in terms of is* as a fallback.
8331           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
8332
8333 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
8334
8335         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
8336           realize the widget when it is size allocated!
8337           (old, old bug)
8338
8339         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
8340           Removed unused call to gdk_window_get_size() that
8341           showed up when the above was fixed.
8342
8343 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
8344
8345         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
8346           fix up widget->window when the widget is a
8347           NO_WINDOW container widget.
8348
8349 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
8350
8351         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
8352           to account for the fact that feof() does _not_ 
8353           return TRUE on errors, and thus avoid infinite loops
8354           when trying to use gdk_pixmap_create_from_xpm()
8355           on unreadable values.
8356
8357 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
8358
8359         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
8360
8361 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
8362
8363         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
8364           gdk_gc_set_dashes to take gint8 instead of gchar to
8365           make it clearer that it is _not_ a NULL terminated string.
8366
8367         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
8368           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
8369           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
8370           arguments.
8371
8372 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
8373
8374         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
8375         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
8376         background size relative to our allocation, guard against small
8377         allocations, we may have not yet been size allocated.
8378
8379 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
8380
8381         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
8382         not just version == 3. We implement all 3 + most of 4 - 
8383         (we don't support matching text/plain;charset=iso-8859-1
8384         to a dest that expects text/plain). We'll still advertise
8385         3 to be safe, but any client implementing version >= 3
8386         must interoperate with 3.
8387         
8388 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8389
8390         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
8391         background and gc members, add a warning in gtk_tooltips_set_color()
8392         indicating that this function is deprecated.
8393
8394 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
8395
8396         * docs/gtkfaq.sgml: FAQ Update:
8397           - Minor cleanups (Emmanuel, me)
8398           - New questions:
8399                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
8400                 How can I retrieve the text from a GtkMenuItem? (timj)
8401                 How do I validate/limit/filter the input to a GtkEntry? (me)
8402                 Memory does not seem to be released when I free the list
8403                         nodes I've allocated (timj)
8404
8405 2000-03-07  Tor Lillqvist  <tml@iki.fi>
8406
8407         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
8408         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
8409         for which it is no use to call GetLastError onWin9x.
8410         (gdk_other_api_failed) New function, for general error
8411         reporting without calling GetLastError.
8412         (gdk_win32_api_failed) OTOH, this function always calls
8413         GetLastError. (gdk_win32_last_error_string) Remove this function,
8414         GLib has the equivalent now.
8415
8416         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
8417         call them with function name, file name and line number in the
8418         arguments.
8419
8420         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
8421         functions.
8422         
8423         * gtk/gtk.def: Add some missing entry points.
8424
8425         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
8426         gtk_paned_set_gutter_size, which don't exist any longer, as void.
8427         
8428         Fixes by Hans Breuer:
8429
8430         * gdk/makefile.msc: Update for debugging.
8431
8432         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
8433         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
8434         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
8435         in the dash_list.
8436
8437         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
8438         the x11 backend.
8439
8440         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
8441
8442         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
8443
8444 2000-03-04  Tor Lillqvist  <tml@iki.fi>
8445
8446         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
8447         just pixel value of background colour.
8448
8449         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
8450         containing code snippet previously duplicated in a couple of
8451         places.
8452         
8453         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
8454         gdk_colormap_color.
8455
8456         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
8457         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
8458         events for autorepeated Shift, Control and Alt keys. Use
8459         gdk_colormap_color.
8460
8461         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
8462         pointer is inside the window the cursor of which we are setting,
8463         call SetCursor immediately.
8464
8465         * gdk/win32/makefile.cygwin
8466         * gtk/makefile.cygwin: If we don't have the build number stamp
8467         file, use zero.
8468
8469         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
8470         gtk_paned_set_gutter_size as empty.
8471
8472         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
8473         
8474 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
8475
8476         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
8477           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
8478           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
8479           docs/gtk_tut.sgml docs/gtk.texi TODO:
8480
8481           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
8482
8483 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
8484
8485         * gtk/gtkcalendar.c: Implement num_marked_dates,
8486           and don't emit mutiple day_selected signals on
8487           month_prev.
8488
8489 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
8490
8491         * docs/make-todo (lineno): let title and logo be configurable so
8492         that GNOME can use this script too.
8493
8494         * TODO.xml: added logourl and a title
8495
8496 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
8497
8498         * TODO.xml: Added some UI items, and an explanatory
8499         comment at the top of the file.
8500
8501 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
8502
8503         * TODO.xml: some updates, added abunch of new entries.
8504         a note for those fiddeling with this file, when done
8505         with it, invoke:
8506         $ ./docs/make-todo TODO.xml >/dev/null
8507         and correct output errors before comitting changes.
8508
8509 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
8510
8511         * TODO.xml: Added XML-structured TODO file.
8512         * docs/make-todo: python script to turn TODO.xml into
8513           pretty XML output. 
8514
8515 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
8516
8517         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
8518         the function to let it draw the seven dots, instead of the old,
8519         much maligned, method.
8520         (draw_dot): New function to draw a dot.
8521
8522         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
8523         to draw the handle inside the border width as opposed to outside.
8524         Use paint function instead of gdk_draw_point.
8525
8526         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
8527         to draw the handle inside the border width as opposed to outside.
8528         Use paint function instead of gdk_draw_point.
8529
8530         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
8531         Change indenting to be more GTK like.
8532
8533 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
8534
8535         * docs/gtk_tut.sgml: New section on GtkCalendar
8536         * examples/calendar: Update example code
8537
8538 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
8539
8540         * docs/gtkfaq.sgml: FAQ Update
8541
8542 2000-02-19  Anders Carlsson  <andersca@gnu.org>
8543
8544         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
8545         to prevent the scroll event to be propagated upwards.
8546
8547 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
8548
8549         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
8550         OwnerGrabButtonMask from button entries for
8551         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
8552
8553         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
8554         to the event mask (which will result in button/press release
8555         being added to the event mask on Unix) so scrolling works
8556         for layouts in scroll windows.
8557
8558         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
8559
8560         Patch from Anders Carlsson  <andersca@gnu.org> to add
8561         a scroll event.
8562
8563         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
8564         scrolling to the "Test Scrolling" part of testgtk.
8565  
8566         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
8567  
8568         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
8569         it against GDK_SCROLL.
8570  
8571         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
8572         way of mouse wheel scrolling.
8573  
8574         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
8575  
8576         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
8577  
8578         * gtk/gtkmain.c: Removed previous mouse wheel hack.
8579  
8580         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
8581         gdk_event_mask_table.
8582  
8583         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
8584         GdkEventScroll handler.
8585  
8586         * gdk/gdkevents.h: Added GdkEventScroll structure.
8587  
8588 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
8589
8590         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
8591         and Anders Carlsson to change the Paned widgets so that they
8592         can be dragged from anywhere along the length. Also change
8593         the way that this is drawn to make this apparent.
8594
8595         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
8596         from George Lebl to check that option_menu->menu is present
8597         before getting history.
8598
8599 2000-02-14  Tor Lillqvist  <tml@iki.fi>
8600
8601         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
8602         before the assertion for non-NULL segment list.
8603
8604         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
8605         Seems that pattern brushes *must* be 8x8 pixels! At least on my
8606         machine, but it might be display driver dependent. Sigh, so make
8607         sure the stipple is that size. Does Windows suck or what?
8608
8609         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
8610         places.
8611
8612 2000-02-13  Havoc Pennington  <hp@pobox.com>
8613
8614         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
8615         refcount to 1
8616         (gdk_cursor_new): init refcount to 1
8617
8618         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
8619
8620 2000-02-13  Tor Lillqvist  <tml@iki.fi>
8621
8622         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
8623         so that we don't have to do unnecessary settings to the HDC.
8624
8625         * gdk/win32/gdkdrawable-win32.c
8626         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
8627         gdk_gc_predraw.
8628
8629         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
8630         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
8631         GDI paths, call WidenPath to get the outline of the stroken path,
8632         and then fill the outline (with the brush that was built from the
8633         stipple).
8634
8635         * gdk/win32/gdkgc-win32.c: Factor out common code from
8636         _gdk_win32_gc_new and gdk_win32_gc_set_values into
8637         gdk_win32_gc_values_to_win32values. Use correct colour for
8638         SetBkColor() (Until now the code actually used a random colour in
8639         the call to SetBkColor()... but that didn't show up as not many
8640         GDI APIs use the background colour. Pattern (opaque stippled)
8641         brushes do.)
8642
8643         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
8644         gdk_win32_api_failed): New functions for error logging.
8645
8646         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
8647         WIN32_API_FAILED to call them, passing function or file name and
8648         line number.
8649
8650         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
8651
8652         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
8653         GdkColor for foreground and background in GdkGCWin32Data.
8654
8655         * gdk/makefile.cygwin: Link in the resource object separately.
8656
8657         * gdk/win32/rc/gdk.rc
8658         * gtk/gtk.rc (New file)
8659         * gdk/win32/makefile.cygwin
8660         * gtk/makefile.cygwin: Update build number in DLLs automatically,
8661         as in GLib.
8662
8663 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
8664
8665         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
8666         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
8667         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
8668         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
8669         parameters given and cursor->ref_count. coding style fixups.
8670
8671         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
8672         not GtkWidget.
8673         
8674         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
8675         fix up widget macros and add _GET_CLASS() variant.
8676         
8677         * gtk/*.c: some GtkType fixups.
8678
8679 2000-02-09  Tor Lillqvist  <tml@iki.fi>
8680
8681         * gdk/win32/gdkproperty-win32.c
8682         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
8683         were reversed.
8684
8685 2000-02-04  Tor Lillqvist  <tml@iki.fi>
8686
8687         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
8688         g_filename_to_utf8 to convert the font names Windows gives us from
8689         whatever is the default codepage to UTF-8.
8690         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
8691         in the other direction.
8692
8693         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
8694         error in debugging output.
8695
8696 2000-02-02  Tor Lillqvist  <tml@iki.fi>
8697
8698         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
8699         and height parameters to gdk_window_clear_area(). Not minus one.
8700
8701 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
8702
8703         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
8704         checks if the widget passed to gtk_drag_get_data() was not the
8705         dest widget.
8706
8707 2000-02-01  Tor Lillqvist  <tml@iki.fi>
8708
8709         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
8710         g_filename_from_utf8 functions (which were added a moment ago to
8711         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
8712         size buffers.
8713
8714         gtk_file_selection_get_filename returns the filename in the C
8715         runtime encoding. It calls g_filename_from_utf8, but copies the
8716         returned string to a static buffer, which is returned. I think
8717         this is better than returning the result from g_filename_from_utf8
8718         directly, which would mean all apps that use it would have to free
8719         the return value. Or should this function care about this issue at
8720         all? Maybe a new function with clearly defined semantics.
8721
8722         * gtk/gtkfilesel.h: Add comment about
8723         gtk_file_selection_get_filename returning the filename in the C
8724         runtime's encoding.
8725
8726         * README.win32
8727         * gdk/gdk.def
8728         * gdk/makefile.{cygwin,msc}
8729         * gtk/gtk.def: Updates.
8730
8731         * gdk/gdkcursor-win32.c: Initialise refcount.
8732
8733 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
8734
8735         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
8736
8737 2000-01-30  Havoc Pennington  <hp@pobox.com>
8738
8739         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
8740         destroy
8741
8742         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
8743
8744         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
8745         implemented in platform-specific code
8746
8747         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
8748
8749         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
8750         underscore in front
8751
8752         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
8753         put an underscore in front
8754
8755         * gdk/gdkcursor.c: new file, implements
8756         gdk_cursor_ref/gdk_cursor_unref
8757
8758         * gdk/gdkcursor.h: Refcount GdkCursor
8759
8760         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
8761
8762 2000-01-29  Tor Lillqvist  <tml@iki.fi>
8763
8764         * gdk/gdkwindow.h
8765         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
8766
8767 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
8768
8769         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
8770         structures to properly inherit from GtkWidget not GtkBin.
8771
8772 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
8773
8774         * gtk+.spec.in: Added lib/gtk+/include/* to %files
8775         (bug #5178 - Peter Wainright)
8776         
8777         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
8778         so that it will be installed.
8779         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
8780
8781 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
8782
8783         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
8784         for the GtkStyleClass vtable const.
8785
8786         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
8787         take a const string argument like GtkTranslateFunc. This will
8788         require changes in use code.
8789
8790 2000-01-19  Tor Lillqvist  <tml@iki.fi>
8791
8792         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
8793         semantics (to mimic the X11 backend, which just calls XClearArea)
8794         is to check for zero width (and height), and in that case use the
8795         window's width minus x (height minus y). This fixes for instance
8796         some redraw problems with gtkclist, which were easily noticeable
8797         in the gtk file selection widget.
8798
8799         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
8800         windows.
8801
8802 2000-01-13  Tor Lillqvist  <tml@iki.fi>
8803
8804         * configure.in
8805         * gdk/Makefile.am
8806         * gdk/x11/Makefile.am
8807         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
8808         (bug #5177).
8809         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
8810         out later.
8811
8812 2000-01-09  Tor Lillqvist  <tml@iki.fi>
8813
8814         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
8815         WM_MOVE for iconified or invisible windows. This fixes various
8816         problems when minimising windows. Thanks to Bernd Herd.
8817
8818 2000-01-05  Tor Lillqvist  <tml@iki.fi>
8819
8820         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
8821         backend's draw_lines method, not draw_points.
8822
8823 2000-01-02  Tor Lillqvist  <tml@iki.fi>
8824
8825         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
8826         before Owen's reorganisation: Don't have queued_events and
8827         queued_tail statics in this file, but use gdk_queued_events and
8828         gdk_queued_tail. This makes exposure event compression work again.
8829
8830         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
8831         seem to be needed?
8832
8833 1999-12-30  Tor Lillqvist  <tml@iki.fi>
8834
8835         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
8836         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
8837         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
8838         doesn't do anything.
8839
8840         * gdk/gdk.def: Add gdk_xid_table_insert.
8841
8842         * gdk/win32/gdkprivate-win32.h
8843         * gdk/win32/gdkevents-win32.c
8844         * gdk/win32/gdkinput-win32.c
8845         
8846         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
8847         extension_events field in the GdkWindowWin32Data struct. Use only
8848         the extension_events field in GdkWindowPrivate. Previously one was
8849         set, and the other one tested, which broke tablet
8850         functionality. Thanks to Keishi Suenaga for pointing this out.
8851
8852 1999-12-18  Tor Lillqvist  <tml@iki.fi>
8853
8854         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
8855         When handling a single character (text length == 1), don't handle
8856         it as if it was UTF-8.
8857
8858 1999-12-11  Tor Lillqvist  <tml@iki.fi>
8859
8860         * Makefile.am: Distribute README.win32.
8861         
8862         * gdk/Makefile.am
8863         * gdk/win32/Makefile.am: Distribute Win32 files.
8864
8865         * gdk/makefile.msc: New file.
8866
8867         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
8868         after label).
8869
8870         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
8871         gdk_error_code as GDKVAR, as they are referred outside GDK.
8872
8873         * gdk/win32/makefile.msc: Update.
8874
8875         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
8876         tweaks. Check only if at least one of those Unicode subrange bits
8877         we care for is set. If no code page bits are set, guess (wildly)
8878         based on the charset.
8879
8880         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
8881
8882         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
8883         non-NULL.
8884
8885         * gtk/gtkdnd.c
8886         * gtk/gtklayout.c
8887         * gtk/gtkplug.c
8888         * gtk/gtkselection.c
8889         * gtk/gtksocket.c
8890         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
8891         appropriate. There must be a cleaner way to handle this?
8892
8893         * gtk/gtkrc.c: Must include windows.h on Win32.
8894
8895         * gtk/testgtk.c: No need to include gdkx.h.
8896
8897         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
8898
8899 1999-12-07  Tor Lillqvist  <tml@iki.fi>
8900
8901         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
8902         the rbearing is set to the same as the width, but this should be
8903         fixed.
8904
8905 1999-12-06  Tor Lillqvist  <tml@iki.fi>
8906
8907         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
8908         function. If Windows doesn't tell us what Unicode subranges a font
8909         covers, guesstimate based on the codepages it covers. This will
8910         hopefully help those Windows versions or fonts that don't give us
8911         any useful Unicode subrange information with GetTextCharsetInfo.
8912         Call this function in gdk_font_load_internal.
8913
8914         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
8915         minor changes.
8916
8917 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
8918
8919         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
8920         New function, long needed.
8921
8922 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
8923
8924         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
8925         only_if_exists argument of gdk_atom_intern to
8926         bool.
8927
8928 1999-11-25  Tor Lillqvist  <tml@iki.fi>
8929
8930         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
8931         Fix two copy&paste errors.
8932
8933         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
8934         win32 has changed.
8935
8936         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
8937         GdkWin32SingleFont struct.
8938
8939         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
8940         subranges of loaded fonts. Clear font signature first, in case
8941         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
8942         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
8943
8944         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
8945         Unoffset clip region.
8946
8947 1999-11-23  Tor Lillqvist  <tml@iki.fi>
8948
8949         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
8950         event->any.window before calling filter functions.
8951
8952 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
8953
8954         * gtk/gtkgamma.h: Adapt cast macros to standard.
8955
8956 [ Merges from 1.2 ]
8957
8958 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
8959
8960         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
8961         If translation does not include a '/', use entire
8962         translation instead of crashing.
8963
8964 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
8965
8966         * docs/gtk_tut.sgml:
8967         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
8968
8969 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
8970
8971         * gtk/gtkselection.c (gtk_target_list_remove): Use
8972         g_list_remove_link, not g_list_remove.
8973
8974         [ From Geert Bevin <gbevin@thunderstorms.org> ]
8975         
8976 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
8977
8978         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
8979         statement upon unselection (how the heck did that slip in?).
8980
8981 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
8982
8983         * gtk/gtktext.c (gtk_text_freeze): 
8984         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
8985         in frozen state (and aparently crashes). patch provided by Anders
8986         Melchiorsen <and@kampsax.dtu.dk>.
8987
8988 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
8989
8990         * fix insensitive default/focus widget activation,
8991         reported by Matt Goodall <mgg@isotek.co.uk>.
8992
8993         * gtk/gtkwindow.c (gtk_window_key_press_event): 
8994         (gtk_window_activate_default):
8995         (gtk_window_activate_focus):
8996         return handled=FALSE for actiavtion of insensitive default
8997         widgets. return handled=TRUE for activation of insensitive
8998         focus widgets. don't activate in either case.
8999
9000 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
9001
9002         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
9003         and $glib_cflags to match library order and in the
9004         theory that an old version of GLib is more likely to
9005         be in the include directory for X then vice-versa.
9006         (Bug #2776)
9007
9008 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
9009
9010         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
9011         to determine the locale for fontsets, not LC_MESSAGES;
9012         the user may want English messages with a handling
9013         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
9014         will still be broken) (Bug #2891)
9015
9016 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
9017
9018         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
9019
9020 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
9021
9022         * gtk/gtkrc.ko: Changed the Korean default fontset.
9023
9024 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
9025
9026         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
9027         where when scrolling to the left or top double exposes
9028         were done, causing major slowdowns.
9029
9030 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
9031
9032         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
9033         names to lowercase and alphanumeric, before looking
9034         them up.
9035
9036         * gtk/Makefile.am: Install codeset variant gtkrc files
9037         with normalized names.
9038
9039 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
9040
9041         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
9042         popup menus when the menu is already visible, but its parent
9043         is still hidden, (happens after tornoff window got hidden).
9044
9045 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
9046
9047         * gtk/Makefile.am (install-data-local): Fix
9048         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
9049         deleted, causing error messages on install.
9050
9051 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
9052
9053         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
9054         the handle as well, since we now sometimes ignore
9055         exposes on the handle while resizing.
9056
9057 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
9058
9059         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
9060         extra g_free introduced in one of the last one or two 
9061         commits.
9062
9063 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
9064
9065         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
9066         consistent, put each style that a gtkrc.* file creates
9067         in a unique namespace, remove old files before installing.
9068
9069 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
9070
9071         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
9072         gtk_rc_init is called multiple times. (Yes, people who
9073         do that have bugs in their code.)
9074
9075 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
9076
9077         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
9078         Remove it since it's generated by the Makefile anyway
9079
9080 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
9081
9082         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
9083         device->info.axes for core pointer.
9084
9085 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
9086
9087         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
9088         idle_id, to deal with obsolete, broken C libraries.
9089
9090 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
9091
9092         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
9093         allocation->x/y twice!
9094
9095         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
9096         consistent with gtk_vscale_pos_trough().
9097
9098 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
9099
9100         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
9101         be queueing a resize on a toplevel container between
9102         the time we show it and when we map it. So, we need
9103         to test GTK_WIDGET_VISIBLE() for toplevels, and only
9104         use GTK_WIDGET_DRAWABLE() for child windows.
9105
9106 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
9107
9108         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
9109         (fixes bug #2144)
9110
9111 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
9112
9113         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
9114         container DRAWABLE (instead of VISIBLE), so we don't queue
9115         resizes on non-toplevel containers.
9116
9117 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
9118
9119         * gtk/gtkselection.[ch]: Make the data argument
9120         const guchar *.
9121
9122 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
9123
9124         * gtk/gtkwindow.c: Try to behave sensibly if 
9125         the focus widget is the window itself. (Should
9126         we allow this at all?)
9127
9128 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
9129
9130         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
9131         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
9132         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
9133         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
9134         in prototypes and implementations consistent (Tomas Ogren).
9135
9136         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
9137         before the widget is unparented (reported by damon).
9138
9139         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
9140         since we provide unsigned data anyways.
9141
9142 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
9143
9144         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
9145         the call to gtk_tooltips_layout_text() until later.
9146
9147         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
9148         Call gtk_widget_ensure_style() before using the style.
9149
9150 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
9151
9152         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
9153         for old widgets that don't propagate draws to all
9154         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
9155
9156 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
9157
9158         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
9159         for a redraw but just the widget that requested the resize.
9160
9161 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
9162
9163         * gtk/gtkcontainer.c: added new widget level method
9164         gtk_container_set_reallocate_redraws() and a GtkContainer flag
9165         reallocate_redraws : 1 to reflect the setting, exported this through
9166         the argument system as a boolean ::reallocate_redraws.
9167
9168         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
9169         on the widget because the allocation changes, do so as well for
9170         widget->parent if the parent has reallocate_redraws set to TRUE.
9171         with that containers requesting reallocation redraws get automatically
9172         redrawn if their children changed allocation (this unfortunately
9173         affects also other children that didn't change allocation, but we
9174         cannot work around that before 1.3).
9175
9176 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
9177
9178         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
9179         _and_ height are >0 (not _or_).
9180
9181         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
9182         instead of gtk_container_queue_resize(), which is a core gtk internal
9183         function (must have been on crack when i queued that).
9184
9185         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
9186         we can check more reliably if we want to discard expose events.
9187         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
9188         flag.
9189         
9190         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
9191         we simply trust these events. for deciding whether to discard exposes,
9192         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
9193         
9194 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
9195
9196         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
9197         queues of areas that are completely off screen.
9198
9199         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
9200         logic for handleboxes.
9201
9202         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
9203         check on width/height.
9204
9205 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
9206
9207         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
9208         we are fine with using $@ the way we do (if we actually encounter
9209         brokeness with $@ in VPATH builds because of additional path prefixes,
9210         we need to use $(@F) actually).
9211
9212 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
9213
9214         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
9215         short lived bugs, that would allow language bindings to do surgeries
9216         to our guts.
9217
9218 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
9219
9220         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
9221         where comparison was being done against an uninitialized
9222         value causing intermittant results depending on
9223         compiler flags. Also make it clearer that we aren't
9224         ever initializing the child as 0x0 (though this will
9225         be caught in gtk_widget_size_allocate())
9226
9227 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
9228
9229         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
9230         gtk_window_unset_transient_for() call after we do checks
9231         involving the old transient parent.
9232         [ From Lance Capser <lmc@cyberhighway.net> ]
9233
9234 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
9235
9236         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
9237         an empty file.
9238
9239 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
9240
9241         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
9242         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
9243
9244 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
9245
9246         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
9247         `$@' is valid only in the build dir, not after we've done 
9248         `cd $srcdir'.  Also use `test -f' instead of less portable
9249         `test -e'.
9250
9251 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
9252
9253         * gtk/gtktext.c (correct_cache_insert): Rewrite
9254          for simplicity, and hopefully correctness.
9255          (Fixes bug #1322, which was a segfault when
9256           on some insertions with the properties around
9257           the insertion set up just wrong.)
9258
9259         * gtk/gtktext.c (gtk_text_adjustment): When we receive
9260          a "changed" signal, clamp the new value to the adjustment
9261          bounds to avoid segfaulting if someone tries to change
9262          the adjustment to a bogus value. (Bug #1795)
9263
9264 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
9265
9266         * gtk/gtkmain.c: Ignore unexpected destroy notifies
9267         for children, for toplevel windows handle them
9268         like delete_event.
9269
9270         * gtk/gtkplug.c: Add an unrealize handler so that
9271         we unref plug->socket_window when we are done
9272         with it.
9273
9274 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
9275
9276         * gtk/gtktext.c (clear_area): Fix stupid signedness
9277          problem that was causing background to sometimes
9278          be misaligned.
9279
9280 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
9281
9282         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
9283         
9284         * gtk/gtkmenu.c (gtk_menu_position): Make
9285          sure we never position menus with negative x, y,
9286          since gtk_widget_set_uposition() can't handle that.
9287
9288         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
9289          Modify the positioning code a bit so that we always
9290          put the top-left corner onscreen. (This is for
9291          UI reasons, gtk_menu_position() now takes care of
9292          gtk_widet_set_uposition() brokeness.)
9293
9294 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
9295
9296         * gtk/Makefile.am: fixed up things for -jx, x > 1.
9297
9298 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
9299
9300         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
9301           RC style that is passed in. The lack of the ref
9302           before was a bug. If people worked around this
9303           bug, this will introduce a slight memory leak
9304           in their code. The code should typically look like:
9305
9306             rc_style = gtk_rc_style_new ();
9307             [...]
9308             gtk_widget_modify_style (widget, rc_style);
9309             gtk_rc_style_unref (rc_style);
9310
9311         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
9312           the style if it was already set.
9313
9314         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
9315           style if it was set before.
9316
9317 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
9318
9319         * gtk/testgtk.c (main): Add a check to see if we
9320           are being run from the correct directory and
9321           to quit nicely if we are not.
9322
9323         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
9324           static.
9325
9326 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
9327
9328         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
9329
9330         * gtk/gtkwindow.c:
9331         queue resizes unconditionally (gtk_widget_queue_resize will figure
9332         what to do if the window is not realized).
9333         (gtk_window_move_resize): only recenter the window
9334         for GTK_WIN_POS_CENTER_ALWAYS.
9335         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
9336         the same way as GTK_WIN_POS_CENTER.
9337
9338 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
9339
9340         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
9341         with (!(info->last_flags & GDK_HINT_POS)) instead of
9342         (!info->last_flags & GDK_HINT_POS).
9343
9344         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
9345         new_height unconditionally, because we use these values even if
9346         !default_size_changed && !hints_changed.
9347         comented the (default_size_changed || hints_changed) case with
9348         respect to resize rejects from the window manager.
9349
9350         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
9351         in the zvt condition hack, since this includes the window hints, set
9352         the hints after the handling_resize case.
9353
9354         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
9355         window is initially shown with to the geometry.
9356
9357 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
9358
9359         * gtk/gtkwindow.c (gtk_window_move_resize):
9360         s/size_changed/default_size_changed/g so i know what's
9361         really going on (frying brain on smaller flame now).
9362
9363 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
9364
9365         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
9366         we have size_changed upon handling_resize. this is a gross
9367         workaround for the broken zvt widget and should be removed in
9368         1.3 again (search for FIXME).
9369         Owen provided an accurate comment for this:
9370
9371         /* We could be here for two reasons
9372          *  1) We coincidentally got a resize while handling
9373          *     another resize.
9374          *  2) Our computation of size_changed was completely
9375          *     screwed up, probably because one of our children
9376          *     is broken. It's probably a zvt widget.
9377          *
9378          * For 1), we could just go ahead and ask for the
9379          * new size right now, but doing that for 2)
9380          * might well be fighting the user (and can even
9381          * trigger a loop). Since we really don't want to
9382          * do that, we requeue a resize in hopes that
9383          * by the time it gets handled, the child has seen
9384          * the light and is willing to go along with the
9385          * new size. (this happens for the zvt widget, since
9386          * the size_allocate() above will have stored the
9387          * requisition corresponding to the new size in the
9388          * zvt widget)
9389          *
9390          * This doesn't buy us anything for 1), but it shouldn't
9391          * hurt us too badly, since it is what would have
9392          * happened if we had gotten the configure event before
9393          * the new size had been set.
9394          */
9395
9396 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
9397
9398         * gtk/gtkrc.c: deal properly with the fact that RC
9399           style lists may include rc styles more than once.
9400
9401         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
9402           unused static function.
9403
9404         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
9405           stack of directories of RC files currently being
9406           parsed and implicitely add them to pixmap path.
9407           
9408           This fixes a bug where the directory would get
9409           appended then overwritten by pixmap_path declarations.
9410
9411           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
9412
9413         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
9414           theme's exit function. (Patch from Peter Wainwright,
9415           bug #1454)
9416
9417         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
9418           Add a destroy() handler to take care of removing
9419           group for menu item. (Fixes bug #1197)
9420
9421         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
9422           in warning message.
9423
9424 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
9425
9426         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
9427         roundtrip to figure window's width and height, since we know that
9428         anyways from widget->allocation.
9429
9430 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
9431
9432         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
9433           the hints after we request the new size.
9434
9435 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
9436
9437         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
9438           GTK_WIDGET_REALIZED() assertion - we can compute the
9439           hints before we are realized.
9440
9441         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
9442           hint changing so that we have a value of hints_changed
9443           when we decide whether to constrain the window size.
9444
9445         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
9446
9447         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
9448         change back to G_MAXINT.
9449
9450 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
9451
9452         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
9453         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
9454         contain uncluttered values.
9455         (gtk_window_compute_hints): simply assert that window is realized
9456         and that geometry_info is valid, since we rely on this anyways.
9457         (gtk_window_constrain_size): major cleanups to the code.
9458         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
9459         for the base size, instead of the minimums. use 32767 as max width
9460         and height (like in gtkwindow.c) instead of G_MAXINT.
9461
9462 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
9463
9464         * cleaned up the GtkContainer.need_resize flag handling mess, we
9465         only need to force resize requests when we were prematurely
9466         realized, or our widget tree was modified when we were temporarily
9467         hidden. handling these cases directly upon showing the window (i.e.
9468         while the GdkWindow is still unmapped) avoids the need to wait for
9469         a configure event response and therefore makes the GUI more snappier
9470         and avoids blank windows during the roundtrip.
9471
9472         * gtk/gtkwidget.c:
9473         (gtk_widget_hide): 
9474         (gtk_widget_show): don't queue resizes on toplevels, they know how
9475         to deal with matters.
9476
9477         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
9478         flag directly for not visible resize containers and spare us unecessary
9479         signal emissions.
9480
9481         * gtk/gtkwindow.c:
9482         (gtk_window_realize): if we need to enforce premature size allocation,
9483         queue a container resize so we are correctly resized later on.
9484         (gtk_window_init):
9485         (gtk_window_size_request):
9486         don't freak around with the ->need_resize flag,
9487         gtk_container_queue_resize() will care about that.
9488         (gtk_window_show):
9489         handle initial resizing issues here, we can handle matters better in
9490         this place, especially since we know that our GdkWindow is still
9491         unmapped.
9492         (gtk_window_move_resize):
9493         don't care about ->need_resize at all.
9494         handle size changes properly that occoured while we waited for a
9495         configure event.
9496
9497 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
9498
9499         * gtk/gtkwidget.c (gtk_widget_set_uposition):
9500         * gtk/gtkwindow.[hc] (gtk_window_reposition):
9501         Move the hint setting code from gtk_widget_set_uposition
9502         to here; set the hints so that we respect any previously
9503         set geometry hints.
9504
9505         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
9506         change the window hints here or move the window here,
9507         let that happen in gtk_window_move_resize().
9508
9509 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
9510
9511         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
9512         to already queued resizes (and therefore redraws) on a widget, check
9513         its anchestry as well.
9514
9515         * gtk/gtkcontainer.c:
9516         (gtk_container_queue_resize): clear resize widgets for resize
9517         containers before aborting prematurely. this is especially important
9518         for toplevels which may need imemdiate processing or their resize
9519         handler to be queued.
9520         (gtk_container_dequeue_resize_handler): added new internal function for
9521         gtkwindow.c.
9522
9523         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
9524         configure event, take possible changes in window position into account
9525         as well.
9526         if we request a new window size, queue up a resize handler that will
9527         last until the configure event response arrives.
9528         combined the ->need_resize case (initial show) with the general size
9529         (hints) changed case and added even more comments.
9530         if !auto_shrink, only revert to the old allocation if the new size
9531         is smaller than the current allocation.
9532
9533 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
9534
9535         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
9536                            gtk_window_set_geometry_hints
9537                            gtk_window_set_default_size):
9538         When hints are set, queue a resize so that the hints will
9539         be eventually reset on the toplevel.
9540
9541         * gtk/gtkwindow.c (gtk_window_show): Use
9542         gtk_window_compute_default_size(). Clear the need_resize flag
9543         on the initail map so that we don't unnecessarily trigger the
9544         resize code.
9545
9546         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
9547         into separate functions. Compare the hints we are setting
9548         with what we set last time so that we can accurately
9549         tell when we need to reset the hints.
9550
9551         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
9552         function to figure out the size from requisition
9553         and default_size.
9554
9555         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
9556         from fvwm to constrain a size to the geometry hints.
9557
9558         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
9559         to compare two sets of geometry hints.
9560
9561         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
9562         from gtk_window_set_hints(), just compute the hints,
9563         don't set them.
9564
9565         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
9566         code from gtk_window_move_resize() to separate function,
9567         rationalize a bit.
9568
9569 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
9570
9571         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
9572         structure into a new private structure.
9573
9574         * gtkrc.c: Split GtkRcStyle into public/private.
9575         In the private part, add a list of pointers to the
9576         RcStyle lists this RcStyle participates in.
9577
9578         * gtkrc.c: When a RcStyle is free, remove all
9579         lists referencing it from the 
9580         realized_style_ht hash, and free those lists.
9581         
9582         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
9583         gtk_rc_init(), since that adds the default styles
9584         to the list of parsed RC files again.
9585
9586         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
9587         
9588 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
9589
9590         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
9591         checks that ensure that a widget's allocation is at least 1 in width
9592         and height. (GNOME note: this doesn't affect old panel code anymore,
9593         because GtkSocket will request width and height of at least 1 since
9594         Fri Jul 23).
9595
9596         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
9597         allocated yet (happens if the user realizes the window prematurely),
9598         size request and allocate it.
9599         (gtk_window_size_allocate): guard against guint underflows.
9600
9601 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
9602
9603         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
9604         in gtk_built_sources, so gtk.defs gets built prior to all other
9605         sources.
9606
9607 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
9608
9609         * gtk/Makefile.am:
9610         invoke indent on gtkmarshal.*. 
9611         rewrote source generation rules, use COPYING as oldest source tag for
9612         a piggyback rule to generate all sources from (don't touch it ;).
9613         major cleanups, strip spaces on build rules for GNU Make.
9614
9615         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
9616         source and target files from commandline arguments. don't invoke indent.
9617
9618 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
9619
9620         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
9621         notebook after switch to avoid drawing problems.
9622         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
9623         
9624         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
9625         show them instead. 
9626         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
9627
9628 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
9629
9630         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
9631         notebook after switch to avoid drawing problems.
9632         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
9633         
9634         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
9635         show them instead. 
9636         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
9637
9638 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
9639
9640         * gtk/gtkwindow.c:
9641         we use window->need_resize from configure_event now, to indicate that
9642         the gtkwindow should keep its allocation (e.g. because the user resized
9643         the window through window manager handles). resize_count is now reliably
9644         used to figure whether we got the allocation we requested from the
9645         window manager.
9646         configure events get queued as resizes now, the real stuff (size
9647         computation and allocation) now only goes on in gtk_window_move_resize().
9648         GtkWindow's requisition now contains its *real* requisition (like all
9649         other widgets), *not* taking usize into account.
9650         geometry_info->last_{width|height} is now updated from set_hints() only
9651         so it always contains the last hints we set for the window manager.
9652         made some event handlers return TRUE instead of FALSE.
9653         the overall code should be much more straight forward now, and the
9654         significant code portions are accompanied by comments now.
9655         (gtk_window_set_hints):
9656         removed requisition argument and made it
9657         fetch the requisition through gtk_widget_get_child_requisition.
9658         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
9659         does that now.
9660         (gtk_window_show):
9661         ensure that the widget is realized before calling 
9662         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
9663         ensure that we got properly size requested and allocated before
9664         realization.
9665         (gtk_window_configure_event):
9666         ignore plain window moves, or reallocate the widget tree through the
9667         resize queue otherwise.
9668         (gtk_window_move_resize):
9669         mostly rewrote this function to figure window manager hints more
9670         reliably, coalesce window moves and resizes to reduce configure events
9671         and do actuall size allocations.
9672
9673 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
9674
9675         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
9676         that have a resize pending, because a redraw is already queued for them.
9677
9678         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
9679         hack to clear resize_widgets.
9680
9681         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
9682         for resize containers prior to size allocation. (this is also a bit
9683         ugly, but avoids side effects for stopped emissions and is thus more
9684         reliable).
9685         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
9686
9687         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
9688         function from gtk_tooltips_expose, as we connect to ::expose_event
9689         *and* ::draw now.
9690
9691 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
9692
9693         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
9694         checks.
9695         (gtk_target_list_unref): Likewise.
9696
9697         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
9698
9699 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
9700
9701         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
9702         guard against division by zero. (Fixes bug #1339)
9703
9704 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
9705
9706         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
9707         Prevent the trivial leak of information of allowing
9708         word motion when the entry is not visible.
9709
9710 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
9711
9712         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
9713         modality to error dialog as well as confirmation dialogs.
9714         (Bug #1803, reported by Rosanna Wing Sze Yuen)
9715
9716 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
9717
9718         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
9719         tree->view_lines.
9720         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
9721
9722         * gtk/Makefile.am (install-data-local): Solaris apparently
9723         has various troubles with ln -f; use rm first instead.
9724         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
9725
9726 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
9727
9728         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
9729         use `cp' followed by `rm' (the `rm' was already there).
9730
9731 July 30, 1999 Elliot Lee <sopwith@redhat.com>
9732         
9733         * configure.in: Fix autoconf warnings about cross compilation by
9734         trying to provide sane defaults for AC_TRY_RUN.
9735         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
9736         put them into $(srcdir) when generated. Also add a dependency of
9737         gtksignal.h on gtkmarshal.h for -j builds. 
9738         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
9739
9740 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
9741
9742         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
9743         GDK_THREADS_{LEAVE,ENTER} pair.
9744         (From Paul Fisher <pnfisher@redhat.com>)
9745
9746 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
9747
9748         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
9749         width and height are always >0 (owen).
9750
9751 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
9752
9753         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
9754         change that assured that a widget's allocated with and height are
9755         always >1, since this breaks *buggy* panel code. unfortunately this
9756         back-breaks the gimp's color selector.
9757
9758         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
9759         allocation is always >0 in width and height, before sending the
9760         configure event; this is a *gross* hack to get the gimp back to work.
9761         
9762         * marked both cases with TODO-1.3
9763
9764 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
9765
9766         * gtk/gtktext.c: Don't display wrap indicators when
9767         text is not editable and word wrap is on.
9768
9769 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
9770
9771         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
9772         option menus here as they are not derived from menu shell, assure that
9773         the option menu has a menu we can add items to.
9774
9775 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
9776
9777         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
9778         width/height to (gint) before calculations and check against < 0 to
9779         avoid guint wraparounds.
9780
9781 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
9782
9783         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
9784         width and height is never zero. sanity check both dimensions against
9785         32767 and issue a warning if the allocation is greater than that.
9786
9787 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
9788
9789         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
9790         to g_main_pending() as well.
9791
9792 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
9793
9794         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
9795         call to g_main_iteration() - since that will regrab
9796         GTK+ lock to process events.
9797
9798 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
9799
9800         * gtk/gtkwindow.c
9801         - Regularize with the rest of GTK+ by making widget->requisition
9802           not reflect the set_usize()
9803         - Always recompute geometry hints, then check if they
9804           changed before sending them to the X server. The
9805           previous checks for changes would fail in a number
9806           of circumstances. 
9807
9808 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
9809
9810         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
9811
9812 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
9813
9814         * gtk/gtkdnd.c:
9815         - Code cleanups
9816         - Instantaneously update on modifier key presses
9817         - Allow cancellation of the drag with Escape.
9818
9819 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
9820
9821         * gtk/testgtk.c (create_handle_box): Set the policy
9822         to auto_shrink - otherwise the appearance is rather
9823         strange when flipping between horizontal and vertical.
9824
9825 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
9826
9827         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
9828         (gtk_window_set_default_size): don't change a value if it's < 0.
9829         queue a resize.
9830
9831 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
9832
9833         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
9834
9835 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
9836
9837         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
9838         add an extra "/" when concating "/" + filename.
9839         (From Matt Grossman <mattg@oz.net>)
9840
9841 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
9842
9843         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
9844         for fg_gc if we set it for drawing pixmap.
9845
9846 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
9847
9848         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
9849         
9850         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
9851         already set, call old engine's destroy function and
9852         unref the old engine.
9853
9854 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
9855
9856         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
9857
9858 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
9859
9860         * gtk/gtkaccelgroup.h: mark certain functions as internal.
9861
9862 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
9863
9864         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
9865         expand behaviour changed.
9866
9867         * gtk/gtklabel.c (gtk_label_set_pattern):
9868         (gtk_label_set_justify):
9869         (gtk_label_set_line_wrap):
9870         don't bother invoking queue_clear, the reallocation does
9871         that for us, always free_words so the upcoming resize will
9872         relayout the label's contents.
9873
9874 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
9875
9876         * applied argument implementation patches from Elena Devdariani
9877         <elena@cogent.ca>.
9878
9879         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
9880         ::space_style, ::relief
9881         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
9882         * gtk/gtkpreview.c: ::expand
9883         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
9884         * gtk/gtknotebook.c: ::homogeneous
9885         * gtk/gtklabel.c: ::wrap
9886         * gtk/gtklist.c: ::selection_mode
9887         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
9888         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
9889         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
9890         * gtk/gtkclist.c: ::sort_type
9891         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
9892         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
9893
9894 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
9895
9896         * gtk/gtkstyle.c: Removed ill-thought-out part of last
9897         comment.
9898
9899 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
9900
9901         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
9902         counting right when we have to attach a new style
9903         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
9904
9905         * gtk/gtkstyle.c: Documented the refcounting
9906         peculularities of gtk_style_attach.
9907
9908 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
9909
9910         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
9911         window types.
9912
9913         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
9914         of GTK_TOPLEVEL for creating the window.
9915
9916 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
9917
9918         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
9919         the last argument (reported by Per Winkvist).
9920         
9921 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
9922
9923         Fixes for invisible XOR lines (Frank Loemker
9924         <floemker@TechFak.Uni-Bielefeld.DE>)
9925         
9926         * gtk/gtkclist.c (gtk_clist_realize): Always use
9927         a non-zero pixel for GDK_XOR.
9928
9929         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
9930         Use GDK_INVERT instead of GDK_XOR.
9931
9932 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
9933
9934         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
9935         signals if h/voffsets differ from adjustment values.
9936         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
9937
9938 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
9939
9940         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
9941         ::selection-done emissions up to the topmost menu shell.
9942
9943 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
9944
9945         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
9946         the user data on the window before destroying it.
9947
9948         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
9949         unrealize handler to take care of destroying 
9950         notebook->panel properly. 
9951         (Bug #1198 - Morten Welinder <terra@diku.dk>)
9952
9953         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
9954         of g_new and g_realloc to stop memory leak. (Actually,
9955         we could just use g_realloc(), but I'm not 100% sure
9956         that is portable).
9957         (Bug #1196 - Morten Welinder <terra@diku.dk>)
9958
9959 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
9960
9961         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
9962
9963         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
9964         for fontsets.
9965
9966         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
9967         with bin/button confusion.
9968
9969 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
9970
9971         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
9972         and show how preselection of radio items is done.
9973
9974 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
9975
9976         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
9977         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
9978         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
9979         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
9980         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
9981         * gtk/gtktable.c (gtk_table_attach): 
9982         * gtk/gtklist.c (gtk_list_insert_items): 
9983         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
9984         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
9985         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
9986         * gtk/gtkbin.c (gtk_bin_add): 
9987         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
9988         * gtk/gtkfixed.c (gtk_fixed_put): 
9989         * gtk/gtklayout.c (gtk_layout_put):
9990         general fixups to container_add logic. always realize child if
9991         child->parent is realized, only map the child and queue a resize
9992         if child and child->parent are both visible.
9993
9994 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
9995
9996         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
9997         instead of gtk_container_foreach to walk and unrealize children, so
9998         composite children get also unrealized.
9999         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
10000         (gtk_widget_map): assert that the widget is visible (basic constrain).
10001         (gtk_widget_real_map): assert that the widget is realized (basic
10002         constrain).
10003
10004 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
10005
10006         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
10007
10008 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
10009
10010         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
10011         file for iso-8859-2 locales.
10012
10013         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
10014
10015 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
10016
10017         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
10018          (Pointed out by andy@rz.uni-karlsruhe.de and others).
10019          Remove some suspicious and useless lines. 
10020
10021 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
10022
10023         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
10024         width,height = 0, 0 to mean - here to edge of window,
10025         instead of -1, -1, since the former is all we support.
10026
10027 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
10028
10029         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
10030         when removing from quit_functions list.
10031
10032 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
10033
10034         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
10035
10036 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
10037
10038         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
10039          When redrawing characters on non-visible entry, use appropriate
10040          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
10041
10042 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
10043
10044         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
10045         from drag coordinates.
10046         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
10047         use drag_dest_cell.
10048
10049         * gtk/gtktree (drag_dest_cell)
10050         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
10051         (Bug #1129)
10052
10053 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
10054
10055         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
10056         translate_* fields.
10057         (gtk_item_factory_finalize): invoke translate_notify independant from
10058         translate_data.
10059         (gtk_item_factory_set_translate_func): likewise.
10060         (gtk_item_factory_destroy): only remove ifactory pointer from those
10061         widgets that belong to us (stupid me).
10062
10063 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
10064
10065         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
10066         rc_style list when lookup succeeeds.
10067
10068 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
10069
10070         * gtk/gtkctree.c (resync_selection): 
10071         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
10072         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
10073         bug.
10074
10075 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
10076
10077         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
10078         Add some missing GDK_THREADS_ENTER()/LEAVE around
10079         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
10080
10081 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
10082
10083         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
10084         rather than emit_by_name.
10085
10086         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
10087         on the widget across multiple signal emissions.
10088         (gtk_editable_delete_text): same here.
10089         (gtk_editable_class_init): set widget_class->activate_signal after
10090         editable_signals[ACTIVATE] has been created.
10091
10092 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
10093
10094         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
10095         position here prematurely -- we might not have the
10096         right ->min_position and ->max_position yet.
10097
10098 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
10099
10100         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
10101         Add error traps so if the other end of the connection
10102         dies, we survive.
10103
10104         * gtk/gtkselection.c (gtk_selection_notify): Clean
10105         up properly when selection property retrieval fails.
10106         
10107         * gtk/gtkselection.c (gtk_selection_request): Correctly
10108         reject SelectionRequest notifies where the handler
10109         returns no data.
10110
10111 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
10112
10113         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
10114         when we've previously highlighted.
10115
10116         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
10117         emit two "drag_leave" signals for Motif drops.
10118
10119         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
10120         back the correct status messages when dropping from
10121         Motif onto a proxy window that is rejecting the
10122         drop.
10123
10124 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
10125
10126         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
10127         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
10128         to compare two argument values. added gtk_arg_to_valueloc() to set a
10129         variable from an arg through its location (pointer).
10130
10131         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
10132         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
10133         as gfloat*, uchars are collected as guchar*, ints are collected as
10134         gint*, etc...
10135
10136 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
10137
10138         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
10139         Include <string.h> instead of <strings.h>.
10140
10141         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
10142         (actually, a lot more duplicate includes occur if
10143          you trace through the sequence of #include's)
10144         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
10145         
10146 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
10147
10148         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
10149         gtk-a-higuti-990322-[0-3]
10150
10151         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
10152         that was causing -DX_LOCALE not to work.
10153
10154         * gtk/gtkrc.c (gtk_rc_init):
10155         X_LOCALE will never have LC_MESSAGES defined
10156
10157 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
10158
10159         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
10160         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
10161
10162         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
10163         left/right as well (gtk-michael-980726-0.patch.gz).
10164
10165         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
10166         for pointer values, use gchar instead of char. fixed uline allocation
10167         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
10168         chunks instead of G_ALLOC_ONLY.
10169         (gtk_label_size_request): always alter requisition as passed and leave
10170         widget->requisition alone.
10171         (gtk_label_set_text): allow NULL strings.
10172         (gtk_label_new): likewise.
10173
10174 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
10175
10176         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
10177
10178 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
10179
10180         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
10181         *and* mapped (i.e. drawable).
10182         (gtk_bin_expose): only send exposes to drawable children.
10183
10184         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
10185         (gtk_box_expose): only send exposes to drawable children.
10186
10187         * gtk/gtkhscale.c (gtk_hscale_draw): 
10188         * gtk/gtkvscale.c (gtk_vscale_draw):
10189         hm, this is an ugly one. we first compute the size of our trough area
10190         here (window relative) and then check intersection with the draw_area
10191         which is parent relative because we're a NO_WINDOW widget, so we need
10192         to offset the trough area by allocation.x and allocation.y before the
10193         check. (this must not be done for the background area though, since
10194         that's already computed parent relative).
10195
10196 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
10197
10198         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
10199         unrealize title buttons.
10200
10201 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
10202
10203         * gtk/gtkclist.c (gtk_clist_column_title_passive)
10204         (gtk_clist_column_title_active): 
10205         only connect/disconnect to GtkWidgetClass::event to block mouse events.
10206
10207         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
10208         zero initialize event, removed superfluous gdk_window_get_pointer call
10209
10210         * gtk/gtklist.c (gtk_list_vertical_timeout)
10211         (gtk_list_horizontal_timeout): removed superfluous
10212         gdk_window_get_pointer call
10213
10214 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
10215
10216         * plugging problems reported by "Bruce Mitchener, Jr."
10217         <bruce@puremagic.com> due to a purify session.
10218
10219         * gtk/gtkstyle.c:
10220         (gtk_style_ref): 
10221         (gtk_style_unref): assert ref_count to be > 0.
10222
10223         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
10224         the requisition.
10225         (gtk_clist_set_shift): likewise.
10226
10227         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
10228         adjustments.
10229
10230         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
10231         event before sending it and set send_event to TRUE (which needs to
10232         be done for *all* synthesized events).
10233         (gtk_list_vertical_timeout): likewise.
10234
10235         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
10236         leaks.
10237
10238         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
10239         to TRUE when synthesizing events.
10240
10241 [ *** end of merges from 1.2 *** ]      
10242         
10243 1999-11-21  Tor Lillqvist  <tml@iki.fi>
10244
10245         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
10246         (or copied from gdkconfig.h.win32 on Win32, sigh).
10247
10248         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
10249
10250         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
10251
10252         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
10253
10254         * gdk/gdkconfig.h.win32: New file.
10255
10256         * gdk/win32/makefile.cygwin: Build just a static archive here.
10257
10258         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
10259         for the DLL from the static archive built above.
10260
10261         * gdk/gdk.def: Moved here from the win32 subdirectory.
10262
10263         * gdk/win32/*: Adapt for the changed private struct organisation.
10264
10265         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
10266
10267 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
10268
10269         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
10270         for wheel mice (buttons 4 and 5).
10271
10272 1999-11-18  Tor Lillqvist  <tml@iki.fi>
10273
10274         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
10275         drawables use just the pixel field in the foreground and
10276         background GdkColor of the GdkGC.
10277
10278         gdk_gc_set_{fore,back}ground() are called in the GIMP with
10279         GdkColors containing uninitialized (red,green,blue) fields, and
10280         just the pixel field filled in, and furthermore in the
10281         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
10282         It thus turns out that we really don't need to have the full
10283         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
10284         it later to have just the pixel values.
10285
10286 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
10287
10288         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
10289
10290 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
10291
10292         * docs/gtkfaq.sgml: threads example from Erik Mouw.
10293         New question on GtkLabel background colors.
10294
10295         * docs/gtk_tut.sgml:
10296           - Correct the example code callback
10297             function definitions.
10298           - Update the gtkdial example code, from Frans van Schaik.
10299           - Update setselection.c to current API.
10300
10301         * examples/Makefile examples/*/*.c: Update to code
10302         listed in tutorial.
10303
10304 1999-11-10  Tor Lillqvist  <tml@iki.fi>
10305
10306         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
10307         subrange table (from the "Developing International Software for
10308         WIndows 95 and Windows NT" book) was missing the Hangul syllable
10309         block... Get the loaded font's charset correctly.
10310
10311         (Note that this, and the other *-win32.c files, still really are
10312         the old ones, the win32 subdirectory is not ready for compilation
10313         yet after the reorg.)
10314
10315 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
10316
10317         * gtk/gtkclist.c: Fix off-by-one bug in parameter
10318         check.
10319
10320 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
10321
10322         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
10323         on results of XQueryDeviceState().
10324
10325 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
10326
10327         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
10328         we need to accesss only ->children. We need an accessor
10329         for the children.
10330
10331         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
10332         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
10333         to get rid of gdkx.h include.
10334         
10335         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
10336         and random references to 'None'.
10337
10338         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
10339         Get rid of unused #include <gdk/gdkx.h>
10340
10341         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
10342         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
10343         gdkconfig.h.
10344
10345 1999-11-08  Tor Lillqvist  <tml@iki.fi>
10346
10347         * gdk/win32/gdkdraw.c
10348         * gdk/win32/gdkfont.c
10349         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
10350         following yesterday's changes. (Unrelated to Owen's reorg.)
10351
10352 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
10353
10354         * gdk/x11/gdkinput-gxi.c: Add missing include,
10355           fix GdkWindowPrivate => GdkDrawablePrivate.
10356
10357         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
10358
10359         * gdk/x11/Makefile.am (xinput_sources): Add missing
10360         backslash to fix building with --with-xinput=none
10361
10362 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
10363
10364         Move all X specific code into the x11/ directory.
10365         Aside from shuffling things around, did the following:
10366
10367        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
10368          gdk_arg_context_* - a simple argument parsing system
10369          in the style of popt.
10370
10371        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
10372          gdk/x11/gdkprivate-x11.h:
10373          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
10374          add ->klass and ->klass_data fields. The klass_data
10375          field points to an auxilliary structure that is
10376          windowing system dependent.
10377
10378        * gdk/gdkfont.c: Make most of the measurement functions
10379          simply wrappers around gdk_text_extents().
10380
10381        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
10382          _gdk_font_strlen() function that hides the weird
10383          behavior in gtk+-1.[02] where a string is interpreted
10384          differently for 8-bit and 16-bit fonts.
10385
10386        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
10387          to store common code for synthesizing double/triple
10388          press events.
10389         
10390        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
10391          Make all the function that modify an existing GC
10392          simply wrappers around gdk_gc_set_values().
10393          
10394        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
10395          for throwing out later.
10396
10397        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
10398          GdkImagePrivate and GdkColormapPrivate to have a
10399          windowing system dependent part (GdkFontPrivateX etc.)
10400          that "derives" from the system-independent part.
10401
10402        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
10403          Got rid of the included-source-files for XInput in
10404          favor of automake conditionals. (Which didn't exist
10405          when XInput support was originally added.)
10406
10407        * gdk/gdkrgb.c: Remove the visual id from the debugging
10408          statements since that is X11 specific; print out
10409          type/depth info instead.
10410          
10411
10412 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
10413
10414         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
10415         loading duplicates of hashed fonts.
10416
10417         * gdk/gdk.c (gdk_keysym_convert_case): rename
10418         gdk_XConvertCase to gdk_keysym_convert_case, allow
10419         results to be NULL in the GTK+ style.
10420
10421         * gdk/gdkcompat.h: Started compatibility header
10422         for renames.
10423
10424 1999-11-07  Tor Lillqvist  <tml@iki.fi>
10425
10426         * gdk/win32/gdkprivate.h: New font private structures, related to
10427         fontsets.
10428
10429         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
10430         gdk_font_list_free(). On X11, will just be wrappers to
10431         XListFonts() and XFreeFontNames(). On Win32, the code previously
10432         in gtkfontsel.c is now here.
10433
10434         New function gdk_font_xlfd_create(). On X11 will get the FONT
10435         property of the font (for GDK_FONT_FONTs), or call
10436         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
10437         builds a XLFD style name from the font information in the LOGFONT
10438         struct(s).
10439
10440         New function gdk_font_xlfd_free(), which correspondingly frees the
10441         string returned by gdk_font_xlfd_create().
10442
10443         Implement fontsets on Win32. Add a function that iterates over a
10444         wide char string and calls a callback function for each substring
10445         of wide chars from the same Unicode subrange (and thus probably
10446         available in the same real font).
10447
10448         Improve the XLFD emulation a bit.
10449
10450         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
10451
10452         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
10453         Beta3, WM_IME_CHAR messages don't seem to contain the composed
10454         multi-byte char as with the Active IMM on Win9x. Oh well, handle
10455         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
10456         ImmGetCompositionStringW() to get the composed Unicode chars.
10457
10458         * gdk/win32/gdkgc.c
10459         * gdk/win32/gdkdraw.c: Changes needed because of the font private
10460         struct changes.
10461
10462         * gdk/win32/gdk.def: Add the new functions.
10463
10464 1999-11-04  Tor Lillqvist  <tml@iki.fi>
10465
10466         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
10467         get the Platform SDK to get <dimm.h>.
10468
10469         * gdk/win32/gdkevents.c: More event handling fixes and
10470         simplification. Never generate motion events with is_hint true. We
10471         used to do that on bogus grounds earlier. Windows sends
10472         WM_MOUSEMOVE messages on button events even if the mouse hasn't
10473         moved, ignore these.
10474
10475         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
10476
10477         * gdk/win32/gdkglobals.c
10478         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
10479         the TrackMouseEvent function, and use it.
10480
10481         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
10482         char before calling WideCharToMultiByte in order to get a string
10483         for the window title.
10484
10485         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
10486
10487         * gdk/win32/gdk.def: Remove obsolete functions.
10488
10489         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
10490         /nodefaultlib and /defaultlib switches.
10491
10492         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
10493
10494 1999-10-31  Tor Lillqvist  <tml@iki.fi>
10495
10496         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
10497         EuroSign).
10498
10499         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
10500         same type as GdkWChar, especially on Win32.
10501
10502         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
10503
10504         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
10505         before passing to Windows GDI for drawing etc. Convert to the
10506         system default codepage before passing to Windows as window
10507         titles.
10508
10509         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
10510         support changing input locale on the fly.
10511
10512         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
10513         on-the-fly changes. Convert incoming characters from the current
10514         codepage to Unicode (and then to a UTF-8 multi-byte string) based
10515         on the current input language. Use keysym<->Unicode mapping tables
10516         and functions borrowed from xterm sources.
10517
10518         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
10519         editions of Win9x, use the ActiveX-based Active IMM (Input Method
10520         Manager) if available. IMEs and the Active IMM are available under
10521         the disguise of Chinese, Korean and Japanese support for IE and
10522         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
10523         support is present in all editions (as long as you install it).
10524
10525         Call DispatchMessage from gdk_events_queue() (and thus
10526         gdk_WindowProc()), instead of duplicating the code in
10527         gdk_WindowProc().
10528
10529         Reworked the grab handling and propagation code, factored out
10530         duplicated code snippets into separate functions. Other cleanups,
10531         too.
10532
10533         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
10534         the <dimm.h> header describing the Active IMM.
10535
10536         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
10537         just do the same as for "single" fonts.
10538
10539         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
10540         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
10541         the new keysyms from gdkkeysyms.h.
10542
10543         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
10544         fontset, so that gtkentry uses wide characters.
10545
10546         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
10547         GTk+'s system directory "gtk+", not "gtk".
10548
10549 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
10550
10551         * docs/gtkfaq.sgml: FAQ update
10552
10553 1999-10-21  Tor Lillqvist  <tml@iki.fi>
10554
10555         * gdk/win32/gdkprivate.h: Add more font private data.
10556
10557         * gdk/win32/gdkfont.c
10558         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
10559         fonts and strings. Now works much better. You still have to
10560         have a correct font selected, though. No fontset emulation yet.
10561
10562 1999-10-19  Tor Lillqvist  <tml@iki.fi>
10563
10564         * gtk/maketypes.awk: Use G_OS_WIN32.
10565
10566         * gtk/gtk.def: Add some missing entry points. Also some non-public
10567         ones, but PyGTK porter claims to need them.
10568
10569         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
10570         built-in type generation.
10571
10572 1999-10-14  Tor Lillqvist  <tml@iki.fi>
10573
10574         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
10575         GDK_FONT_FONT fonts (which is all we have for now, we don't
10576         emulate fontsets). The X11 version uses plain XDrawString in that
10577         case, too. The string passed to gdk_draw_text_wc seems to be in
10578         fact (at least, when used by gtkentry and gtktext) either in a
10579         single-byte charset, or a DBCS. Not Unicode.
10580
10581         This fixes the problem in gtkfontsel, where even if you had
10582         selected a font with a non-Latin1 charset (windows-greek, for
10583         instance), the preview still used Latin-1 glyphs.
10584
10585         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
10586         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
10587         (gdk_font_load): Recognize the demibold etc weights, even if we
10588         don't have the corresponding constants in the headers.
10589         (gdk_font_hash_insert): Use same hash mechanism as in the X11
10590         version. Should save font resources a bit, when we don't have
10591         multiple HFONTs for the same font.
10592
10593         * gdk/win32/gdkprivate.h: Add the names field as in the X11
10594         version.
10595
10596 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
10597
10598         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
10599         X values
10600
10601 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
10602
10603         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
10604         layout support (as mentioned on
10605         http://www.jcinteractive.com/gnome-ui/software/widgets/)
10606
10607 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
10608
10609         * gtk/fnmatch.c
10610         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
10611
10612 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
10613
10614         * configure.in (ALL_LINGUAS): Added Galician (gl)
10615
10616 1999-10-05  Tor Lillqvist  <tml@iki.fi>
10617
10618         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
10619
10620         * gdk/win32/gdkcompat.c: New file, actually provide an
10621         implementation for the deprecated functions. (Just temporarily.)
10622
10623         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
10624
10625         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
10626
10627         * gdk/win32/gdk.def gtk/gtk.def: Updates.
10628
10629 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
10630
10631         * configure.in: Added "uk" to ALL_LINGUAS.
10632         
10633 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
10634
10635         * configure.in: correct checking for BeOS check
10636
10637         * gdk/gdktypes.h
10638         * gtk/fnmatch.c
10639         * gtk/gtkfilesel.c
10640         * gtk/gtkitemfactory.c
10641         * gtk/gtkmain.[ch]
10642         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
10643
10644 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
10645
10646         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
10647         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
10648         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
10649         by Bulgarian). 
10650
10651 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
10652
10653         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
10654         Fix a reference to window_private->destroyed.   
10655
10656         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
10657         (ugly) setting of an internal GdkWindow member to use
10658         a _slightly_ cleaner macro.
10659
10660         * gdk/gdkprivate.h: Split GdkWindowPrivate into
10661         GdkDrawablePrivate and GdkWindowPrivate.
10662         Add extra macros for accessing GDK_DRAWABLE_ components.
10663
10664         * *.[ch]: Massive adjustments for the above, use the
10665         new macros in a lot of places.
10666
10667 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
10668
10669         * gdk/gdktypes.h: Make GdkDrawable the base type,
10670         not GdkWindow.
10671
10672 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
10673
10674         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
10675
10676 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
10677
10678         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
10679
10680 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
10681
10682         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
10683         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
10684
10685         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
10686
10687         * docs/gtk-config.1: Now autogenerated.
10688         * docs/Changes-1.4.txt: started
10689         
10690 1999-10-03  Tor Lillqvist  <tml@iki.fi>
10691
10692         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
10693         to #ifdef also here.
10694
10695         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
10696         Owen did to the X11 backend.
10697
10698         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
10699         ScrollWindowEx when blitting inside a window, it can't be correct
10700         in the general case.
10701
10702         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
10703         WM_GETMINMAXINFO is easier.
10704
10705         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
10706         depth equal to the bitspixel value, not the visual's depth.
10707
10708         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
10709         to 24 even if the bitspixel value is 32.
10710
10711         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
10712         need to check for depth==32 when bpp==32, depth will always be 24.
10713
10714 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
10715
10716         * docs/Changes-1.4.txt: Started
10717         
10718         * gtk/Makefile.am (gdk_headers): Include all the new headers.
10719
10720         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
10721         
10722         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
10723         into C file.
10724         
10725         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
10726         header to gdkinputprivate.h.
10727
10728         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
10729         unused since before 1.2.
10730
10731 1999-09-30  Tor Lillqvist  <tml@iki.fi>
10732
10733         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
10734         expand possible hex escapes in the font family (put there by
10735         logfont_to_xlfd if the font name isn't a legal XLFD font family,
10736         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
10737         On Win32, add hex escapes here, too.
10738
10739 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
10740
10741         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
10742         to #ifdef GDK_WINDOWING_X11.
10743
10744 [ Merges from gtk-1-2 ]
10745
10746 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
10747
10748         * configure.in: fixed "GNU Make" check to pass with new make version
10749         3.77.95.
10750
10751 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
10752
10753         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
10754         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
10755         AM_PATH_GTK() macros don't get confused by the -pre1.
10756
10757 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
10758
10759         * configure.in (REBUILD): Change check for perl5
10760           to check explicitely for v >= 5.002. (5.001
10761           does not work with our scripts.)
10762
10763 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
10764
10765         * configure.in: evaluate $PERL for the perl version check. added
10766         --disable-rebuilds to give the user an option to completely disable
10767         any source autogeneration rules.
10768
10769 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
10770
10771         * configure.in: evaluate $ac_make when checking for GNU Make.
10772
10773 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
10774
10775         * docs/Makefile.am: added generation.txt.
10776
10777         * Makefile.am: require automake 1.4, build README from README.in and
10778         INSTALL from INSTALL.in in dist-hook.
10779         
10780         * README.in:
10781         * INSTALL.in: new files to autogenerate README and INSTALL from.
10782
10783         * configure.in: figure whether we have GNU Make
10784
10785         * docs/generation.txt: minor additions/corrections.
10786
10787 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
10788
10789         * docs/gtkfaq.sgml: FAQ Update
10790
10791 July 30, 1999 Elliot Lee <sopwith@redhat.com>
10792         
10793         * configure.in: Fix autoconf warnings about cross compilation by
10794         trying to provide sane defaults for AC_TRY_RUN.
10795
10796 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
10797
10798         * ltconfig
10799         * ltmain.sh: upgrade to libtool 1.3.3
10800
10801 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
10802
10803         * INSTALL: Indicate that the --with-glib= configure
10804         time flag is unsupported.
10805
10806 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
10807
10808         * docs/generation.txt: Added a file that gives
10809         documenation about the autogeneration process for
10810         various autogenerated files.
10811         
10812 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
10813
10814         * configure.in (LIBS): Look for libgmodule in the
10815         right location.
10816
10817 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
10818
10819         * docs/gtk_tut.sgml: Removed references to
10820         code examples in my directory on gtk.org as
10821         they should all be in the tutorial now.
10822
10823         * docs/gtk_tut.sgml: Added sources for dial-test
10824         and scribble-xinput programs that were previously
10825         missing.
10826
10827 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
10828
10829         * TODO: Added entry about menu keyboard navigation, removed
10830         some finished items.
10831
10832 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
10833
10834         * acinclude.m4: Standardize on func_dgettext
10835         not func_gettext, so that the checks for dgettext
10836         actually are paid attention to.
10837
10838 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
10839
10840         * configure.in (LIBS): Add $INTLLIBS into $LIBS
10841         directly, rather than repeating the checks for
10842         gettext.
10843
10844         * INSTALL: Added information about gettext and
10845         NLS support.
10846
10847         * acinclude.m4 (LIBM): Check for dgettext, not
10848         just gettext. This should hopefully fix things wrt
10849         systems with old versions of GNU gettext installed.
10850
10851 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
10852
10853         * configure.in (LIBS): Look for libgmodule in the
10854         right location.
10855
10856 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
10857
10858         * autogen.sh: add --enable-maintainer-mode
10859
10860         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
10861
10862 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
10863
10864         * docs/gtk-config.1.in:
10865           docs/Makefile.am:
10866           configure.in: gtk-config is now generated.
10867
10868         * docs/gtk-config.1: Removed, now generated.
10869
10870 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
10871
10872         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
10873         handle CreateNotify itself, still put out a debuging message for
10874         --gdk-debug=events. made the ReparentNotify debugging message more
10875         verbose.
10876         wrap xcoords translation for ConfigureEvents into an error trap,
10877         a destroy event may already be pending, and in that case, the
10878         actuall coordinate values are not at all critical.
10879
10880 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
10881
10882         * gdk/gdkcc.c: Stop leaking the color_hash all over
10883         the place. Simplify and improve the logic.
10884
10885 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
10886
10887         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
10888         for prototypes and function implementations consistent (reported
10889         by Tomas Ogren).
10890
10891 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
10892
10893         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
10894         send_event set in debugging output.
10895         (gdk_compress_exposures): default initialize the event so we don't
10896         operate on bogus values (namely send_event).
10897
10898 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
10899
10900         * gdk/gdkwindow.c: When we receive an unexpected
10901         destroy notify on one of our windows, don't just
10902         warn about it, also mark our windows as destroyed.
10903
10904 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
10905
10906         * gdk/gdkfont.c (gdk_font_hash_insert): Add
10907           name => font and name => fontset hashes. The 
10908           name => fontset hash is a _big_ win since we
10909           weren't previously caching fontsets at all and loading
10910           fontsets is expensive. The name => font hash
10911           is less of a win, but it does save us from doing
10912           repeated XQueryFont calls on the same font.
10913
10914         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
10915           list so we can remove font/fontset from hash.
10916
10917 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
10918
10919         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
10920           and slightly confusing test. [ XInternAtom (,,TRUE)
10921           will never return None ].
10922
10923 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
10924
10925         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
10926           gdk/gdkwindow.c (gdk_window_set_hints):
10927
10928         Don't omit setting the properties if flags == 0 -
10929         there may be an existing set of properties there
10930         already. (Very old bug. Would it be better to
10931         delete the property instead?)
10932
10933         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
10934           spelling error in comment.
10935
10936 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
10937
10938         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
10939           to avoid stomping over gdk_error_warnings.
10940
10941         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
10942           as (bits_per_pixel + 7) / 8. This gives the same
10943           result as before for multiples of 8, but actually
10944           a "reasonable" value for 1bit or 4bit displays.
10945
10946 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
10947
10948         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
10949         GNU Make.
10950
10951 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
10952
10953         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
10954         discarding configure events.
10955
10956 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
10957
10958         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
10959         refcount is greater than zero.
10960
10961         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
10962
10963         * gdk/gdkfont.c (gdk_font_unref): Likewise.
10964
10965         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
10966
10967         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
10968
10969 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
10970
10971         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
10972         that format 32 => sizeof(item) == 4. It really is
10973         sizeof(long).
10974
10975 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
10976
10977         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
10978         core dump at all on X IO errors, only core dump
10979         if --enable-debug for X errors.
10980
10981 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
10982
10983         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
10984         unknown window:" message. disabled ConfigureNotify discarding code,
10985         because it led to events being processed out of order.
10986
10987 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
10988
10989         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
10990
10991         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
10992         we export this function, supress error warnings and don't reset the
10993         error code in the first half of this function.
10994
10995         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
10996         code (instead of just -1) so gdk_error_trap_pop() reveals something
10997         actually informative about the error that happened.
10998
10999         * gdk/*.c:
11000         don't rely on gdk_error_code being -1 if an error occoured, but just
11001         gdk_error_code != 0.
11002
11003 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
11004
11005         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
11006         pointer *before* invoking the filter function, so we at least don't
11007         crash if a filter is removed that is currently executed. window filters
11008         *really* need to be made truely reentrant at some point.
11009
11010 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
11011
11012         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
11013         PropertyNotify debug messages.
11014
11015 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
11016         
11017         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
11018         
11019         * gdk/gdkim.c: Fix cut-and-paste errors for 
11020         x/y and PreeditAttributes/StatusAttributes.
11021
11022 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11023
11024         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
11025         G_MAXINT to 2^16 to alleviate overflow problems in
11026         various window managers.
11027
11028 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11029
11030         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11031         for fontsets.
11032
11033 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
11034
11035         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
11036         Initialize size_hints.x and size_hints.y because kwm
11037         brokenly pays attention to them.
11038         (Bug #1181 -  Lars Heete <hel@admin.de>)
11039
11040 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
11041
11042         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
11043         return value of gdk_list_visuals(). 
11044         (Bug #1193 - Morten Welinder <terra@diku.dk>)
11045
11046 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
11047
11048         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
11049         XSetIMValues to (void *) when comparing to NULL, to workaround
11050         the problem of some compilers barfing since older X headers don't
11051         have the prototype for it.
11052
11053 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
11054
11055         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
11056         for pseudocolor where colormap->colors was double
11057         allocated.
11058
11059         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
11060         color value in the hash table with the pixel filled
11061         in so when we do later hash table lookups, the color
11062         value is correct.
11063         
11064 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
11065
11066         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
11067         making the call
11068
11069 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
11070
11071         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
11072         pointed out by Morten Welinder <terra@diku.dk>.
11073
11074 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
11075
11076         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
11077           default filter from the list
11078
11079 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
11080
11081         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
11082           default filter from the list
11083
11084 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
11085
11086         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
11087
11088         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
11089         g_strdup_printf instead of calcing the length separately
11090
11091 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
11092
11093         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
11094         that we don't do in many other places. (Fixing duplicate 
11095         #include of config.h)
11096
11097         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
11098         Otherwise, #ifndef XINPUT_NONE check in the latter
11099         doesn't work. (Bug #546)
11100
11101 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
11102
11103         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
11104         "None" case insensitive.
11105
11106 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
11107
11108         * gdk/gdkselection.c: 
11109         Add error traps so if the other end of the connection
11110         dies, we survive.
11111
11112 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11113
11114         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
11115         dest_xid field into two fields - one for the window
11116         to send in messages, one to indicate the last looked
11117         up window for caching purposes. This is needed, so
11118         that Leave messages get the correct window.
11119
11120 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
11121
11122         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
11123         Fix warning created by people mucking around
11124         with the gsource API.
11125
11126         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
11127         Change mapping between GIOCondition and GdkInputCondition
11128         to match the way the Linux kernel does it. This should
11129         fix problems where closed pipes were no longer signalling
11130         GDK_INPUT_READ on systems with a native poll().
11131
11132 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
11133
11134         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
11135         explicitly for the string "None" - it is in the XPM
11136         spec and some servers treat unknown colors in odd ways
11137         (like asking the user!)
11138
11139 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
11140
11141         * gdk/gdkevents.c: made "->" into a "." of previous change so
11142         it compiles
11143
11144 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
11145
11146         * gdk/gdkevents.c (gdk_compress_exposures): Set the
11147         window field of the event structure before calling
11148         user filters.
11149
11150 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
11151
11152         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
11153         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
11154
11155 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
11156
11157         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
11158         intermediate text property - prevents major memory
11159         leak when gdk_use_mb.
11160         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
11161
11162 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
11163
11164         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
11165         gtk-a-higuti-990322-[0-3]
11166
11167         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
11168         sizeof(wchar_t) != sizeof (GdkWChar)
11169
11170         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
11171         that was causing -DX_LOCALE not to work.
11172
11173         * gtk/gtkrc.c (gtk_rc_init):
11174         X_LOCALE will never have LC_MESSAGES defined
11175
11176         * gdk/gdk.c (gdk_init_check):
11177         Remove --xim-preedit and --xim-status from argv properly.
11178
11179         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
11180         that the client window is present on the X server
11181         before we pass it to the input method.
11182
11183 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11184
11185         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
11186         if --display is specified on the command line, than
11187         the drag window will not be created on that display.
11188         
11189 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
11190
11191         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
11192         lookups with only_if_exists == TRUE were inserting
11193         bogus values into the atom cache.
11194
11195 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
11196
11197         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
11198         then reset it to NULL.
11199
11200         * gdk/gdkcolor.c:
11201         (gdk_colors_free): 
11202         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
11203         key for g_hash_table_remove() in both functions, this prevents us
11204         from accessing possibly uninitialized portions of a GdkColor structure
11205         where we are only interested in its pixel value.
11206
11207 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
11208
11209         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
11210         font hash table, if we have a GdkFontPrivate entry for this font
11211         already, simply increment its reference count, provided by Olaf Dietsche
11212         <olaf.dietsche+list.gtk@netcologne.de>.
11213
11214 1999-09-21  Tor Lillqvist  <tml@iki.fi>
11215
11216         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
11217         just to be sure.
11218
11219         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
11220         unused variables, leftovers from the X11 version.
11221
11222         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
11223
11224         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
11225         downcase fields on X11.
11226
11227 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
11228         
11229         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
11230         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
11231
11232 1999-09-17  Tor Lillqvist  <tml@iki.fi>
11233
11234         * gdk/win32/gdk.def: Add gdk_threads_mutex.
11235
11236         * gtk/makefile.msc: Correct path to libintl.
11237
11238         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
11239         use of gint vs. int, and gint vs. gboolean in headers and
11240         definitions. Use GtkType for the *_get_type functions. Note that
11241         these changes preserve binary compatibility.
11242
11243         * gdk/gdk.c
11244         * gdk/win32/gdk.c
11245         * gdk/gdk.h: Fix inconsistencies: gint vs int.
11246
11247         * gtk/gtkmain.c
11248         * gtk/gtkclist.c
11249         * gtk/gtkmenufactory.c
11250         * gtk/gtknotebook.c
11251         * gtk/gtkwidget.c: Fix inconsistencies, also gint
11252         vs. gboolean.
11253
11254         * gtk/gtkcolorsel.[ch]
11255         * gtk/gtkcombo.[ch]
11256         * gtk/gtkdrawingarea.[ch]
11257         * gtk/gtkgamma.[ch]
11258         * gtk/gtkhandlebox.[ch]
11259         * gtk/gtkhpaned.[ch]
11260         * gtk/gtkhruler.[ch]
11261         * gtk/gtkplug.[ch]
11262         * gtk/gtkpreview.[ch]
11263         * gtk/gtkruler.[ch]
11264         * gtk/gtksocket.[ch]
11265         * gtk/gtkstatusbar.[ch]
11266         * gtk/gtktoolbar.[ch]
11267         * gtk/gtkvbbox.[ch]
11268         * gtk/gtkvpaned.[ch]
11269         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
11270         functions.
11271
11272         * gtk/gtkgamma.h: Fix bug, missing () in call of
11273         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
11274
11275 1999-09-14  Tor Lillqvist  <tml@iki.fi>
11276
11277         * gdk/gdkcolor.c (gdk_colormap_new)
11278         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
11279         colormap->colors was allocated twice.
11280
11281         * gdk/win32/gdk.c: Remove some unused stuff.
11282
11283         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
11284         colormap.
11285
11286         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
11287         * gtk/gtklabel.h (gtk_label_get_type)
11288         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
11289         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
11290         in a couple of places, not guint.
11291
11292 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
11293
11294         * configure.in,po/et.po: added Estonian language file
11295
11296 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
11297
11298         * configure.in,po/da.po: added Danish file
11299
11300 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
11301
11302         * docs/gtkfaq.sgml: Minor FAQ Update
11303
11304 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
11305
11306         * docs/gtkfaq.sgml: FAQ update
11307
11308 1999-08-27  Tor Lillqvist  <tml@iki.fi>
11309
11310         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
11311         way to get window contents continually refreshed while resizing. I
11312         didn't like the effects myself, so it's not on by default.
11313
11314         * gdk/win32/gdkprivate.h: New flag variable
11315         gdk_event_func_from_window_proc, FALSE by default.
11316
11317         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
11318         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
11319         are passed --gdk-event-func-from-window-proc.
11320
11321         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
11322         and we have am event_func, call it instead of enqueing the event.
11323
11324 1999-08-23  Tor Lillqvist  <tml@iki.fi>
11325
11326         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
11327         Kelley: Set expose_count in GdkEventExposes correctly.
11328
11329         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
11330         MULTIPLE_WINDOW_CLASSES).
11331
11332         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
11333         for bug in NT, apparently NT *does* draw the end pixel, too, in
11334         LineTo with a one-pixel pen, so we don't have to do it ourselves.
11335
11336 1999-08-21  Tor Lillqvist  <tml@iki.fi>
11337
11338         Improvements by Hans Breuer: 
11339
11340         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
11341
11342         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
11343         CS_?REDRAW flags as they cause lots of (late) redraws when "show
11344         window contents while dragging" is turned on. Allocate at least
11345         one unique class for every GdkWindowType. If support for single
11346         window-specific icons is ever needed (eg. Dialog specific), every
11347         such window should get its own class.
11348
11349 1999-08-19  Tor Lillqvist  <tml@iki.fi>
11350
11351         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
11352         error that caused crashes.
11353
11354 1999-08-17  Tor Lillqvist  <tml@iki.fi>
11355
11356         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
11357         window, use ScrollWindowEx, and call UpdateWindow. This prevents
11358         bugs when for instance part of the window was outside the
11359         display. Thanks to Philippe Colantoni for finding and fixing this.
11360
11361 1999-08-16  Tor Lillqvist  <tml@iki.fi>
11362
11363         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
11364         endpoint calculations which were totally wrong. (A little RTFMing
11365         helps a lot ;-)
11366
11367         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
11368         from a separate directory, not from gettext, because of licensing
11369         issues (we want to use the LGPL version).
11370
11371         * README.win32: Mention the intl from glibc vs from gettext issue.
11372
11373 1999-08-13  Tor Lillqvist  <tml@iki.fi>
11374
11375         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
11376         in the key event handling: Now AltGr chars work again. Also,
11377         now Alt-digits are passed up as well as Control-digits.
11378         Pass keypad plus and minus as normal plus and minus.
11379
11380 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
11381
11382         * docs/gtkfaq.sgml: FAQ Update
11383
11384 1999-07-25  Tor Lillqvist  <tml@iki.fi>
11385
11386         * README.win32
11387         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
11388         the Wintab SDK.
11389
11390         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
11391         OK, but getting closer. Guard against bogus tilt data from Wacom
11392         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
11393         enable easier building without Wintab.
11394
11395         * gdk/win32/gdkinput.h
11396         * gdk/win32/gdkevents.c 
11397         * gdk/win32/gdkwindow.c: Minor changes related related to above.
11398         
11399         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
11400         code. As we have just one visual on Win32, no sense to have it in a
11401         table, and no need for the hash table.
11402
11403         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
11404         better on white background.
11405
11406 1999-07-21  Tor Lillqvist  <tml@iki.fi>
11407
11408         * README.win32: Update gcc build instructions. Mention gettext is
11409         GPL.
11410
11411         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
11412         supported cursor size with GetSystemMetrics.
11413
11414         * gdk/win32/gdkfont.c
11415         * gtk/gtkfontsel.c: Guard against some font weight and charset
11416         symbols being undefined (in mingw32 headers).
11417
11418         * gdk/win32/makefile.cygwin
11419         * gtk/makefile.cygwin
11420         * gtk/gtkthemes.c: No longer need to have differently named
11421         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
11422
11423 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
11424
11425         * docs/gtkfaq.sgml: Long awaited FAQ update.
11426
11427 1999-07-15  Tor Lillqvist  <tml@iki.fi>
11428
11429         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
11430         it. Obscure bit manipulation needed.
11431
11432         * gdk/win32/gdkevents.c: Logging.
11433         
11434         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
11435         style (file name include compiler name) for theme engines.
11436
11437 1999-07-13  Tor Lillqvist  <tml@iki.fi>
11438
11439         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
11440
11441         * gdk/win32/gdkevents.c: Fix long-standing bug in key
11442         events. The key.string wasn't zero-terminated, still we strdup'ed
11443         it in gdk_event_copy(). Synthesize crossing events for button
11444         events before possible propagation.
11445
11446         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
11447
11448         * gdk/win32/makefile.cygwin
11449         * gtk/makefile.cygwin: Use new DLL naming style for the
11450         GCC-compiled ones.
11451
11452         * gdk/win32/makefile.msc
11453         * gtk/makefile.msc: Cosmetics mostly.
11454
11455         * gtk/gtk.def: Add missing entry points.
11456
11457         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
11458
11459 1999-07-09  Tor Lillqvist  <tml@iki.fi>
11460
11461         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
11462         or height is zero. Don't print a warning if Pie or Arc fails, they
11463         always fail (?) for very narrow ellipses.
11464
11465         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
11466         the part or the destination window corresponding to source area
11467         outside of the source drawable's boundary.
11468
11469         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
11470         anything if less than two points.
11471
11472         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
11473         return NULL. Gtk cut-and-paste inside a single program works
11474         better this way. (It always gets the clipboard contents from
11475         Windows, not from its own copy, which is cleared anyway. I can't
11476         say I fully understand what happens... Emulating the X selection
11477         and property stuff is a bit of a mess.)
11478
11479         * gdk/win32/gdkevents.c
11480         * gdk/win32/gdkproperty.c: A bit more verbose logging.
11481
11482         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
11483         that never got deleted). Revamp gdk_region_shrink.
11484
11485         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
11486         after use.
11487
11488         * gtk/gtk.def: Add some missing entry points.
11489
11490         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
11491         component.
11492
11493 1999-07-04  Tor Lillqvist  <tml@iki.fi>
11494
11495         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
11496         Control-digits specially.
11497
11498 1999-07-03  Tor Lillqvist  <tml@iki.fi>
11499
11500         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
11501
11502 1999-06-28  Tor Lillqvist  <tml@iki.fi>
11503
11504         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
11505         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
11506         finding this.)
11507
11508 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
11509
11510         * gtk+.spec.in: Corrected some typos in files section.
11511         
11512 1999-06-15  Tor Lillqvist  <tml@iki.fi>
11513
11514         * README.win32: Mention using GNU gettext.
11515         * config.h.win32: Enable NLS stuff.
11516         * gtk/makefile.msc: Use GNU gettext.
11517         * gdk/win32/gdkdnd.c: Minor header reorg.
11518         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
11519         cosmetics.
11520         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
11521         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
11522
11523 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
11524
11525         * acinclude.m4
11526         * config.guess
11527         * config.status
11528         * ltconfig
11529         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
11530
11531 1999-05-30  Tor Lillqvist  <tml@iki.fi>
11532
11533         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
11534         SafeAdjustWindowRectEx. Don't override all calls to
11535         AdjustWindowRectEx by it, but use it only in two places: When
11536         creating a new top-level window and when moving a top-level
11537         window.
11538
11539         Use screen coordinate rectangle, not client rectangle, in
11540         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
11541         when we try to place a window so that the decoration (mainly,
11542         title bar) isn't visible.
11543
11544         These changes fix the bug that showed up for instance as the
11545         GIMP's saved top-level windows moving right and down (by an amount
11546         equal to the window decoration) for each session. This bug showed
11547         up also in testgtk's "Saved Position".
11548
11549         gdk_window_resize also redone a bit.
11550
11551 1999-05-25  Tor Lillqvist  <tml@iki.fi>
11552
11553         * gtk/testgtkrc: Add (commented out) Windows-style theme
11554         include line.
11555
11556         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
11557
11558 1999-05-18  Tor Lillqvist  <tml@iki.fi>
11559
11560         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
11561         gdkx.h to a gdk subdirectory, so that applications can include
11562         these with <gdk/*.h> without trouble.
11563
11564         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
11565         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
11566         have their bitmap destroyed.
11567
11568         * gdk/win32/gdk.def: Add gdk_root_parent.
11569
11570 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
11571
11572         * configure.in
11573           gtk-config.in
11574           ltconfig
11575           ltmain.sh     
11576           gtk/Makefile.am: changes to compile nicely (with xlib) 
11577           on BeOS
11578
11579 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
11580
11581         * acinclude.m4
11582         * config.guess
11583         * config.sub
11584         * ltconfig
11585         * ltmain.sh: upgrade to libtool 1.3
11586
11587 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
11588
11589         * gtk/gtkclist.c:
11590         * gtk/gtkctree.c: merges from gtk-1-2
11591
11592 1999-04-25  Tor Lillqvist  <tml@iki.fi>
11593
11594         Support added for building using a GNU toolchain on Win32,
11595         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
11596
11597         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
11598         * config.h.win32: Changes for gcc.
11599         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
11600         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
11601         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
11602         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
11603         Protect shl stuff unavaiilable with mingw32 headers.
11604         * gdk/win32/gdkevents.c: Fix typo.
11605         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
11606         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
11607         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
11608         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
11609         the mingw32 headers.
11610         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
11611         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
11612         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
11613         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
11614         Test for NATIVE_WIN32, not _MSC_VER.
11615         * gtk/gtkmain.c: No use warning about developer version on Win32,
11616         there aren't any non-developer versions anyhow.
11617         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
11618         * gtk/makefile.msc: Use pthread from another directory. Minor other
11619         changes. 
11620
11621 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
11622
11623         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
11624           default filter from the list
11625
11626 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
11627
11628         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
11629          when gtk_widget_grab_default() is called for a widget that
11630          is not within a GtkWindow.
11631
11632 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
11633
11634         * docs/gtk_tut.sgml, examples/clist.c: use a
11635           scrolled window in the clist example. Minor
11636           tutorial fixes.
11637
11638 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
11639
11640         * docs/gtk_tut.sgml: Style check from David King
11641           <dking@youvegotmail.net>
11642
11643 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
11644
11645         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
11646         compile with unknown value of GDK_WINDOWING
11647
11648 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
11649
11650         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
11651         after the rule is fired.
11652         (install-exec-local): Install gdkconfig.h only if the contents are
11653         different from the currently installed gdkconfig.h.
11654
11655 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
11656
11657         * gdk/Makefile.am (configexecincludedir): Rename from 
11658         configincludedir so that gdkconfig.h will be installed 
11659         as part of `make install-exec'. 
11660
11661 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
11662
11663         * acinclude.m4
11664         * config.guess
11665         * config.sub
11666         * ltconfig
11667         * ltmain.sh: upgrade to libtool 1.2f
11668
11669         * autogen.sh: libtool is not required to autogen gtk+
11670
11671         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
11672         needed)
11673
11674 1999-03-18  Tor Lillqvist  <tml@iki.fi>
11675
11676         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
11677         declaring gdk variables exported/imported from the DLL. New image
11678         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
11679         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
11680         GDK_DRAG_PROTO_OLE2.
11681
11682         * gdk/gdk.h: Merge in Win32 version: Two new functions,
11683         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
11684         declared only for the Win32 version, but could be in the X11
11685         version as well. (Needed for a Xlib-less gdk_imlib.)
11686         gdk_color_hash should have only one parameter. Declare
11687         gdk_threads_mutex with GDKVAR.
11688         
11689         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
11690         just one parameter.
11691
11692         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
11693         per pixel, not bits.
11694
11695         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
11696         Fetch bpp (which means bits-per-pixel here) from another place on
11697         Win32. Accept also depth==32 (which we might get on Win32) with
11698         bpp==32.
11699
11700         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
11701         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
11702         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
11703         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
11704         in the backend-dependent directory, not in the common gdk
11705         directory.
11706
11707         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
11708         headers.
11709
11710 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
11711
11712         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
11713         want to use the Gtk+ devel version (which is true, and yes - even i am
11714         currently working with the 1.2.x branch). so everyone reading this, you
11715         probably want to issue
11716         cvs checkout -r glib-1-2 glib
11717         and
11718         cvs checkout -r gtk-1-2 gtk+
11719         as your next two comands.
11720
11721 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
11722
11723         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
11724         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
11725
11726         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
11727         file. strongly deprecated the GTK_HAVE_* macros, we provide
11728         GTK_CHECK_VERSION() for people that need to check for certain
11729         Gtk+ versions.
11730
11731         * gtk/gtkcompat.h: removed this from CVS.
11732         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
11733         idea right from the start, it just didn't seem like that back then.
11734
11735 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
11736
11737         * merges from gtk-1-2:
11738
11739 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
11740
11741         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
11742         item factory class has been created.
11743         (gtk_item_factory_parse_rc): likewise.
11744
11745         * gtk/gtkmenu.c:
11746         keep proper references for old_active_menu_item.
11747         (gtk_menu_reparent): unset the usize of the new parent,
11748         so the menu can sanely be size requested and we don't get nasty screen
11749         artefacts upon next reparentation.
11750         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
11751         enter notify. only synthesize enter notifies if the pointer really is
11752         inside the event window.
11753         (gtk_menu_popdown): use gtk_menu_shell_deselect().
11754         (gtk_menu_popup): move the background setting stuff into
11755         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
11756
11757         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
11758         gtk_menu_shell_select_item() to select the new item.
11759         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
11760         do the right thing for deselection as well.
11761
11762 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
11763
11764         * gtk/gtkwidget.[hc]:
11765         (gtk_widget_accelerators_locked): return whether a widget's accelerators
11766         are locked.
11767
11768         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
11769         existing accelerators if the widget's accelerators are locked.
11770
11771 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
11772
11773         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
11774
11775         * gtk/gtkmenu.c: truely forward key press and key release events to
11776         the menu widget from the toplevel or tearoff window. we can't simply
11777         connect to that, we need to stop further processing of the events as
11778         well.
11779
11780 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
11781
11782         * gtk/gtkmenu.c:
11783         (gtk_menu_key_press): pass event->keyval, event->state to
11784         gtk_accelerator_valid, instead of event->keyval twice.
11785         refuse to install single letter accelerators for menus that use
11786         single letter shortcuts.
11787
11788         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
11789         gtk_menu_ensure_uline_accel_group().
11790
11791         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
11792         which will always return an uline accel group, made
11793         gtk_menu_get_uline_accel_group() return NULL if the group isn't
11794         yet created.
11795
11796 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
11797
11798         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
11799
11800         * gtk/gtkclist.c (gtk_clist_column_title_passive):
11801         Leave button sensitive, trap  button_press, button_release,
11802         motion_notify, enter_notify and leave_notify events instead.
11803         (gtk_clist_column_title_active): disconnect event handler.
11804         (gtk_clist_drag_data_get): fixed memory leak. Reported by
11805         Guillaume Laurent <glaurent@worldnet.fr>
11806
11807 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
11808
11809         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
11810         width/height mixups.
11811
11812         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
11813         if needed.
11814
11815 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
11816
11817         * gtk/testgtk.c (create_item_factory): unref the item factory after
11818         window's destruction.
11819
11820         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
11821         count on the menu shell around the menu item's activation, since the
11822         signal emission may cause menu shell destruction.
11823
11824         * gtk/gtkitemfactory.c:
11825         the previous code leaked one accel group per menu. we use
11826         gtk_menu_get_uline_accel_group() now to fix that, and with that
11827         also create the underline accelerator group of the menus only if
11828         required (i.e. an underline accelerator has been specified).
11829         (gtk_item_factory_construct):
11830         (gtk_item_factory_create_item): removed code that would create an
11831         extra accel group for the menu (and leak references).
11832         (gtk_item_factory_create_item): adapted the underline accelerator
11833         installation code to properly feature gtk_menu_get_uline_accel_group().
11834
11835         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
11836         menu->accel_group, this may return NULL if the accelerator group
11837         hasn't been set yet.
11838         added gtk_menu_get_uline_accel_group() to retrive the underline
11839         accelerator group of the menu, this will be created on demand
11840         and proper care is taken about its reference count.
11841
11842         * gtk/gtkitemfactory.h:
11843         * gtk/gtkitemfactory.c:
11844         dumped the approach of keeping a widgets by action list on the
11845         factory since the factory<->widget destroy negotiation didn't work
11846         and would be hard to get going at all. instead we keep a list of
11847         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
11848         persistant throughout a program's life time).
11849         also, i removed the static const gchar *key_* variables, and made
11850         them inline strings (they weren't actually used anyways).
11851         (gtk_item_factory_add_item): update ifactory->items.
11852         (gtk_item_factory_destroy): destroy ifactory->items (and remove
11853         the item factory pointer from the remaining ifactory widgets).
11854         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
11855         list to find the widget.
11856         (gtk_item_factory_get_item): new function that works around
11857         gtk_item_factory_get_widget() limitations, this function will only
11858         return menu items, even for <Branch> entries.
11859
11860 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
11861
11862         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
11863         font hash table, if we have a GdkFontPrivate entry for this font
11864         already, simply increment its reference count, provided by Olaf Dietsche
11865         <olaf.dietsche+list.gtk@netcologne.de>.
11866
11867         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
11868         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
11869
11870 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
11871
11872         * gtk/gtkcontainer.c:
11873         (gtk_container_add_with_args):
11874         (gtk_container_addv):
11875         (gtk_container_add): before adding a child to a conatiner, make sure
11876         it is (default) constructed, this is neccessary because under certain
11877         circumstances the child will get relized and mapped immediatedly, in
11878         which case it has to be constructed already.
11879
11880 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
11881
11882         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
11883         values > 1 as TRUE also.
11884
11885 1999-03-16  Tor Lillqvist  <tml@iki.fi>
11886
11887         * README.win32: New file.
11888                 
11889         * configure.in: Check for lstat.
11890
11891         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
11892         completeness.
11893
11894         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
11895
11896         * gtk/gtk.def: Removed CRs.
11897
11898         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
11899         ..\gdk\win32).
11900
11901         * gdk/win32/makefile.msc: Correct upwards relative paths.
11902         
11903 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
11904
11905         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
11906           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
11907           it was connecting a void function to expose_event and the int
11908           returning function to the draw signal
11909
11910 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
11911
11912         * configure.in:
11913         Use correct path to libgmodule.la when ref'ing uninstalled copy
11914         of glib.  (Already in stable branch, Bug #417)
11915
11916 1999-03-15  Tor Lillqvist  <tml@iki.fi>
11917
11918         Win32 merge and general portability stuff:
11919                 
11920         * acconfig.h,configure.in: Check for <sys/time.h>.
11921
11922         * gdk/win32: New directory (actually, been there for a while).
11923         
11924         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
11925         NATIVE_WIN32, and use these. Always case fold on Win32. No
11926         backslashed escapes on native Win32.
11927
11928         * gtk/{gtk.def,makefile.msc}: New files.
11929
11930         * gtk/Makefile.am: Add above new files.
11931         
11932         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
11933         instead of <strings.h>.
11934
11935         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
11936         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
11937         <unistd.h> appropriately.
11938
11939         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
11940         Use ABS() (from <glib.h>) instead of abs().
11941         
11942         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
11943         of gtk (and thus glib) headers, so that WIN32 will be
11944         defined. With MS C, include <direct.h> for mkdir prototype.
11945
11946         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
11947         some casts, needed by MS C.
11948
11949         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
11950         implemented).
11951
11952         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
11953         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
11954         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
11955
11956         * gtk/gtkmain.h: Mark variables for export/import on Win32.
11957                 
11958         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
11959         the event is not a hint, or its window is not the slider. Needed
11960         on Win32, at least.
11961
11962         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
11963         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
11964         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
11965         a subdirectory of the Windows directory as gtk system
11966         configuration directory.
11967
11968         * gtk/gtkselection.c: No chunks on Win32.
11969
11970         * gtk/gtksocket.c: Not implemented on Win32.
11971
11972         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
11973
11974         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
11975
11976         * gtk/maketypes.awk: Declare variables with a macro that expands to
11977         necessary export/import magic in the case of Win32.
11978                 
11979         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
11980
11981 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
11982
11983         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
11984         since those were meant only for gdki18n.h.  
11985         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
11986         for widechar tests.
11987         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
11988
11989 1999-03-13  Tor Lillqvist  <tml@iki.fi>
11990
11991         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
11992         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
11993
11994         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
11995         installed) to CFLAGS.
11996
11997         * gdk/Makefile.am: Add rules for gdkconfig.h.
11998
11999         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
12000         APIs.
12001
12002         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
12003         gdkx.h anyway when compiling for X11.
12004         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
12005         general): Merge in Win32 version.
12006         
12007         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
12008         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
12009         expansion (if we don't have HAVE_PWD_H), allow for drive
12010         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
12011         included code from Craig Setera's port to Win32 (the one that uses
12012         X11, and the cygwin dll), even if it probably will be abandoned.
12013
12014         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
12015         the user entered one herself.  This way one can complete *.h and
12016         don't get matches on any .help files, for instance.
12017         
12018 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12019
12020         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12021         font hash table, if we have a GdkFontPrivate entry for this font
12022         already, simply increment its reference count, provided by Olaf Dietsche
12023         <olaf.dietsche+list.gtk@netcologne.de>.
12024
12025         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
12026         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
12027
12028 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
12029
12030         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
12031         the number of calls to gdk_draw_point() (and thus to X) by
12032         clipping the points by hand.
12033
12034         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
12035         the clip parameter.
12036         (gtk_handle_box_paint): Only paint the handle if the expose area
12037         intersects it.
12038
12039 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
12040
12041         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
12042
12043 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
12044
12045         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
12046         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
12047
12048 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
12049
12050         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
12051          textmode (O_TEXT) for OS/2 version.
12052
12053 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
12054
12055         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
12056         GtkSpinButton, "input" and "output", to make the output more flexible.
12057         The user has to provide a mapping between adjustment->value and the
12058         output string (and vice versa, if the spin button is editable). 
12059         See testgtk for examples.
12060
12061 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
12062
12063         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
12064         new one.
12065         
12066         * configure.in: set gtk+ version to 1.3.0.