]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-0
1bdaddba80e9182f6a2619b9c838be5751c95027
[~andy/gtk] / ChangeLog.pre-2-0
1 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
2
3         * gtk/gtklabel.c (gtk_label_size_request): Set the
4         attributes onto the PangoLayout even if they are newly
5         created from label->pattern.
6
7 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
8
9         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
10
11         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
12         structures in functions. Fixes bug where gtk_dataset_*
13         was accidentally still being used in one place, causing
14         every dest side event to be treated independently.
15
16         * gtk/gtkdnd.c: Remove last vestages of handling
17         ::draw (fixes warning)
18         
19         * gtk/gtkentry.[ch]: Add drag and drop support.
20
21         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
22         new function gtk_check_drag_threshhold() for checking
23         to check if (dx,dy) has exceeded the threshhold for starting
24         a drag and use it everywhere.
25
26 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
27
28         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
29         add -I{includedir}/gtk-2.0.
30
31         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
32         gdk/gdk-pixbuf.h: Doc fixups.
33         
34         * gtk/gtkobject.h: Remove trailing , from enum
35
36 2001-01-17    <alexl@redhat.com>
37
38         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
39         Doh! Mixed up x and y.
40
41         * gdk/linux-fb/gdkglobals-fb.c:
42         Removed gdk_fb_pointer_grab_window_events,
43         added _gdk_fb_pointer_grab_owner_events and
44         _gdk_fb_keyboard_grab_owner_events.
45
46         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
47         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
48         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
49         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
50         Send crossing events after ungrab finished.
51         (gdk_keyboard_grab): Set ..._owner_events
52         (type_masks): Move out of function.
53         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
54         gdk_fb_keyboard_event_window): New functions, return the
55         window an event should be targeted at. Handles grabs and
56         event propagation. Can return NULL.
57         (gdk_event_make): Remove event_mask checking. Now always
58         returns an event.
59                 
60         * gdk/linux-fb/gdkkeyboard-fb.c:
61         * gdk/linux-fb/gdkproperty-fb.c:
62         * gdk/linux-fb/gdkselection-fb.c:
63         Use new event_window/gdk_event_make() behaviour.
64         
65         * gdk/linux-fb/gdkmouse-fb.c:
66         Use new event_window/gdk_event_make() behaviour.
67         Only send motion events if in the same window.
68         If grabbed, use cursor from window if sibling of grabbed
69         window, and cursor from grabbed window otherwise.
70
71         * gdk/linux-fb/gdkprivate-fb.h:
72         Update gdk_fb_window_send_crossing_events, gdk_event_make
73         and grab varaible declarations. Add gdk_fb_*_event_window().
74
75         * gdk/linux-fb/gdkwindow-fb.c:
76         Use new event_window/gdk_event_make() behaviour.
77         Keep correct track of focus window.
78         (gdk_window_set_events): Set all specific button motion masks
79         if GDK_BUTTON_MOTION_MASK set.
80
81         * gtk/gtkdnd.c (gtk_drag_update):
82         Free info->last_event if gdk_drag_motion returned FALSE.
83
84 >>>>>>> 1.1676
85 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
86
87         * docs/faq/gtk-faq.sgml: FAQ update:
88           - Update to bugzilla
89           - Add GTK+ and security/SUID/SGID
90           - Add DnD question
91
92 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
93
94         * gdk/linux-fb/gdkdnd-fb.c:
95         Some cleanups.
96         
97 2001-01-15  Havoc Pennington  <hp@pobox.com>
98
99         * tests/testtreeview.c: add test stuff for CellRendererToggle
100
101         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
102         accessor
103
104         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
105         only toggle on button press (would do release like GtkButton, but
106         we'd need implicit grab code for treeview cells)
107
108 2001-01-16  Tor Lillqvist  <tml@iki.fi>
109
110         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
111
112         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
113         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
114
115         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
116         to g_{locale,filename}_{to,from}_utf8 to match current API.
117
118         * gtk/makefile.msc.in (gtk_OBJECTS)
119         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
120
121         * gtk/gtk.def: Update.
122
123 2001-01-15  Tor Lillqvist  <tml@iki.fi>
124
125         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
126         implementaion that more closely mimics the events that an X server
127         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
128         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
129         with nested preview widgets, for instance, more responsive when
130         you move the mouse quickly into them.
131         (find_window_for_pointer_event): Make it actually compile.
132         (gdk_event_translate): Set send_event to the value of
133         InSendMessage (). This doesn't really mean the same as X11's
134         send_event flag, but is close enough, says jpe@archaeopteryx.com
135
136 2001-01-15  Alexander Larsson  <alexl@redhat.com>
137
138         * gdk/linux-fb/gdkdnd-fb.c:
139         Implemented drag and drop.
140         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
141         when it tries to free and then copy the same event (info->last_event).
142         I am not sure about why this happens, but will continue looking.
143
144 2001-01-15  Alexander Larsson  <alexl@redhat.com>
145
146         * gdk/linux-fb/gdkwindow-fb.c:
147         Use gdk_window_invalidate_rect instead of
148         gdk_window_invalidate_rect_clear to minimise flashing.
149         When hiding windows you need to clear the root window though.
150
151 2001-01-15  Alexander Larsson  <alexl@redhat.com>
152
153         * gdk/linux-fb/gdkdrawable-fb2.c:
154         For optization, add an full_shapes argument to gdk_fb_clip_region.
155         If this is false, only the cliprects of the shapes are used.
156
157         * gdk/linux-fb/gdkprivate-fb.h:
158         Export gdk_fb_window_peek_shape.
159         Add full_shapes to gdk_fb_clip_region.
160
161         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
162         When moving a window, don't clear everything under the it, just the
163         root window. Makes stuff faster and flash less.
164         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
165         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
166         offset of the shape.
167         
168
169 2001-01-12  Havoc Pennington  <hp@redhat.com>
170
171         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
172         current invalid region, fixes redraw bug while scrolling the 
173         text widget
174
175         * gtk/gtktextview.c, gtk/gtktextview.h:
176         Rearrange the scrolling/validation/etc. code in a major way, 
177         so it seems to make sense to me. Probably isn't genuinely that
178         much better, but...
179
180         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
181         notifies
182
183         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
184
185 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
186
187         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
188         Hide mouse pointer while rotation. Show it afterwards.
189
190 2001-01-12  Alexander Larsson  <alexl@redhat.com>
191
192         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
193         windows in consideration when generating clip region.
194
195         * gdk/linux-fb/gdkfb.h:
196         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
197
198         * gdk/linux-fb/gdkprivate-fb.h:
199         Add shape to GdkWindowFBDatat.
200         exported gdk_fb_window_get_abs_shape().
201         removed gdk_fb_draw_lines declaration.
202
203         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
204         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
205         send focus changes when there is a grabbed window.
206         (gdk_window_get_pointer): Handle shaped windows.
207         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
208         (gdk_fb_window_peek_shape): Returns the shape for a window,
209         handles GDK_FB_USE_CHILD_SHAPE.
210         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
211         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
212         (gdk_window_shape_combine_mask): Implement.
213
214         * gtk/gtkwindow-decorate.c:
215         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
216         setting the shape of a window makes the window transparent.
217
218 2001-01-11  Havoc Pennington  <hp@redhat.com>
219
220         * gtk/gtktreemodelsimple.h: Oops, broke some macros
221
222 2001-01-10  Havoc Pennington  <hp@redhat.com>
223
224         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
225         add this function, bug 40251
226
227         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
228         of type macro   
229
230 2001-01-11  Alexander Larsson  <alexl@redhat.com>
231
232         * acconfig.h:
233         Added ENABLE_SHADOW_FB
234
235         * configure.in:
236         Added --disable-shadowfb
237
238         * gdk/linux-fb/gdkcursor-fb.c:
239         Update shadowfb when updating cursor
240
241         * gdk/linux-fb/gdkdrawable-fb2.c:
242         Added wrappers for shadowfb that calls  the normal drawable
243         methods, but calls gdk_shadow_fb_update(bounding box) when
244         GdkWindows are drawed to.
245         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
246         which also returns the bounding box.
247
248         * gdk/linux-fb/gdkfb.h:
249         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
250
251         * gdk/linux-fb/gdkgeometry-fb.c:
252         Update shadowfb when scrolling window.
253
254         * gdk/linux-fb/gdkglobals-fb.c:
255         Add _gdk_fb_screen_angle.
256         
257         * gdk/linux-fb/gdkkeyboard-fb.c:
258         Test code for screen rotation. Shift-F2 in the xlate driver
259         rotates the screen.
260
261         * gdk/linux-fb/gdkmain-fb.c:
262         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
263
264         * gdk/linux-fb/gdkmouse-fb.c:
265         Use fb_width/height instead of modeinfo.xres/yres.
266
267         * gdk/linux-fb/gdkprivate-fb.h:
268         Added fb_men, fb_width, fb_height & fb_stride. When using
269         shadow fb these can differ from the framebuffer stuff.
270         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
271         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
272         _gdk_fb_screen_angle. Removed CM, RP.
273
274         * gdk/linux-fb/gdkrender-fb.c:
275         Added code for shadowfb handling and screen rotation using
276         shadowfb.
277
278         * gdk/linux-fb/gdkwindow-fb.c:
279         Use fb_mem, fb_stride, fb_width, fb_height.
280         Added recompute_rowstride to reset the rowstride of all windows.
281         Added gdk_fb_recompute_all() which recomputes rootwindow size,
282         window abs positions and window rowstrides. Usefull when the
283         rotation has changed.
284
285 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
286
287         * docs/faq/gtk-faq.sgml: update to make web site updating easier
288
289 2001-01-10  Havoc Pennington  <hp@redhat.com>
290
291         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
292         where sibling == iter
293         (gtk_tree_store_insert_after): handle sibling == iter
294         (gtk_tree_store_prepend): remove stamp checks
295         (gtk_tree_store_insert_before): ditto
296         (gtk_tree_store_append): ditto
297         (gtk_tree_store_get_path): ditto
298         (gtk_tree_store_get_value): ditto
299         (gtk_tree_store_iter_has_child): ditto
300         (gtk_tree_store_iter_n_children): ditto
301         (gtk_tree_store_iter_nth_child): ditto
302         (gtk_tree_store_insert_after): ditto
303         (gtk_tree_store_is_ancestor): ditto
304         (gtk_tree_store_iter_depth): ditto
305         (gtk_tree_store_insert_before): assert that sibling's parent is
306         the same as the passed-in parent
307         (gtk_tree_store_insert_after): assert that sibling's parent is
308         the same as the passed-in parent
309
310         
311         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
312         function to get the first iterator in a model
313         
314         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
315         conventionally the "root" in this sense is just NULL afaict.
316
317         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
318         where sibling == iter
319         (gtk_list_store_insert_after): handle case where sibling == iter
320
321         * tests/testtreeview.c (run_automated_tests): fairly lame basic
322         automated tests for ListStore, TreeStore
323
324         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
325         (gtk_list_store_insert): update tail pointer, and fix it to work
326         (gtk_list_store_insert_before): update tail pointer, and fix it to work
327         (gtk_list_store_append): use tail to be faster
328         (gtk_list_store_prepend): fix it, update tail pointer
329         (gtk_list_store_insert_after): fix it, update tail pointer
330
331         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
332         the list
333
334 2001-01-09  Havoc Pennington  <hp@redhat.com>
335
336         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
337         is NULL due to a pending resize
338
339         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
340         column width to values less than 1
341
342         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
343         width to be between min/max width, and still set the width 
344         even if autosize is turned on, so the tree view can use this 
345         function in order to autosize.
346         (gtk_tree_view_column_init): set initial width to 1 not 0
347
348         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
349         setter function to modify column width, so we get notification
350         (gtk_tree_view_insert_iter_height): ditto
351         (gtk_tree_view_calc_size): ditto
352         (gtk_tree_view_check_dirty): ditto
353
354         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
355         properties to change all the interesting attributes of the tree
356         view column.
357         (gtk_tree_view_column_set_header_clickable): rename set_clickable
358         (gtk_tree_view_column_get_clickable): add
359         (gtk_tree_view_column_set_cell_renderer): don't unset the current
360         attributes; assume a cell renderer with equivalent object
361         properties has been swapped in. Do g_object_notify().
362         (gtk_tree_view_column_set_visible): g_object_notify
363         (gtk_tree_view_column_get_sizing): rename from get_col_type
364         (gtk_tree_view_column_set_sizing): g_object_notify
365         (gtk_tree_view_column_set_width): add g_object_notify
366         (gtk_tree_view_column_set_min_width): ditto
367         (gtk_tree_view_column_set_max_width): ditto
368         (gtk_tree_view_column_set_title): ditto
369         (gtk_tree_view_column_set_clickable): ditto
370         (gtk_tree_view_column_set_widget): ditto
371         (gtk_tree_view_column_set_justification): ditto
372
373 2001-01-09  Havoc Pennington  <hp@redhat.com>
374
375         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
376         there are no rows in the model
377
378         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
379         NULL, then return the start of the list
380
381         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
382         if we can't get any rows from an empty model 
383
384         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
385         extraneous * after function pointer typedef usage
386
387         * Makefile.am: don't specify full path to cp and rm
388
389         * gtk/gtkcellrenderertextpixbuf.c
390         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
391         NULL before dereferencing, fixes a segfault that happened from
392         time to time
393
394         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
395         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
396         and reindent the function
397         (gtk_cell_renderer_pixbuf_get_size): indentation
398
399         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
400         we quit it
401         (gtk_dialog_add_buttons_valist): add g_return_if_fail
402         (gtk_dialog_set_default_response): New function, to set default
403         button
404         (gtk_dialog_set_response_sensitive): New function, to set 
405         sensitivity of buttons
406
407         * gtk/gtkcellrendererpixbuf.c
408         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
409         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
410
411         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
412         handle any G_TYPE_OBJECT subclass, not just the base class, and 
413         also boxed types.
414         (_gtk_tree_data_list_value_to_node): ditto
415
416         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
417         --gtk-debug=tree
418
419         * gtk/gtkmain.c: add GTK_DEBUG_TREE
420
421         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
422
423 2001-01-09  Tor Lillqvist  <tml@iki.fi>
424
425         * gdk/win32/gdkevents-win32.c: Implement better mouse
426         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
427         (find_window_for_pointer_event): New function.
428         (gdk_event_translate): Use it when handling mouse events.
429
430 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
431
432         * configure.in:
433         Added --with-included-loaders option
434
435         * gdk-pixbuf/Makefile.am:
436         * gdk-pixbuf/gdk-pixbuf-io.c:
437         Add support for including selected gdk-pixbuf loaders only.
438
439         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
440         gtk_window_set_has_frame):
441         Added inline documentation.
442
443         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
444         * docs/reference/gdk/tmpl/windows.sgml:
445         Added inline documentation.
446
447 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
448
449         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
450         realizing buttons that have already been realized.
451
452 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
453
454         * tests/testtreeview.c (main): Show menu items before adding to
455         option menu.
456
457         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
458         around if we kill them.
459
460         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
461         Return if we pass in a NULL model.
462
463 2001-01-08  Havoc Pennington  <hp@redhat.com>
464
465         * tests/testtreeview.c: hack on this some
466
467         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
468         gtk_tree_store_set_valist, v is for arrays, valist for varargs
469         list
470         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
471
472         * gtk/gtkliststore.h: Add varargs set() and get() convenience
473         functions
474
475 2001-01-08  Alexander Larsson  <alexl@redhat.com>
476
477         * gtk/gtkwindow-decorate.[hc]:
478         * gtk/Makefile.am:
479         New files. Contains an implementation of a minimal WM for
480         linux-fb.
481
482         * gtk/gtkwindow.h:
483         Add the possibility for GtkWindows to specify a frame. This
484         is used for the window decoration code, but could concievably
485         be used for X programs too (xmms style windows).
486         GtkWindow->frame is the toplevel window if the window is framed.
487         The signal frame_event gets all events that are targeted to
488         GtkWindow->frame.
489         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
490         
491         * gtk/gtkwindow.c:
492         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
493         Call out to gtkwindow-decorate.c for WM support in linx-fb.
494
495 2001-01-08  Alexander Larsson  <alexl@redhat.com>
496
497         * docs/README.linux-fb:
498         Correct filename ~/.pangoft2_aliases
499
500         * gdk/gdkwindow.h:
501         Added new function gdk_window_get_decorations.
502
503         * gdk/linux-fb/gdkfb.h:
504         Removed _gdk_window_get_decorations declaration.
505         Renamed _gdk_window_set_child_handler to
506         gdk_fb_window_set_child_handler.
507
508         * gdk/linux-fb/gdkwindow-fb.c:
509         Renamed _gdk_window_set_child_handler to
510         gdk_fb_window_set_child_handler.
511
512         * gdk/x11/gdkwindow-x11.c:
513         New function gdk_window_get_mwm_hints().
514         Implemented gdk_window_get_decorations.
515
516         * docs/reference/gdk/tmpl/windows.sgml:
517         * docs/reference/gdk/gdk-sections.txt:
518         Added gdk_window_get_decorations docs.
519         
520 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
521
522         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
523         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
524         gdk_fb_window_send_crossing_events):
525         Possibly send focus events when the mouse moves from one
526         window to another.
527
528 2001-01-07  Tor Lillqvist  <tml@iki.fi>
529
530         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
531         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
532         to match current API.
533
534         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
535         environment variable is set, don't call g_error when on a
536         palettized (PseudoColor) display. Some people want to use GTK+ 
537         in 256-colour mode even though works only partially.
538
539         * gdk/gdk.def
540         * gtk/gtk.def
541         * gtk/makefile.mingw.in: Update.
542
543 2001-01-05  Havoc Pennington  <hp@redhat.com>
544
545         * tests/testtreeview.c: hack on this a bit
546
547         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
548         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
549
550         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
551         was spelled incorrectly
552         (GTK_IS_TREE_MODEL_SIMPLE): ditto
553
554         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
555         from gtk_tree_view_set_headers_active   
556
557         * gtk/gtktexttag.c:
558         (gtk_text_tag_get_property): handle PROP_DIRECTION
559         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
560         properties, bug 40235
561
562         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
563         forward_to_line_end
564
565 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
566
567         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
568         modules/input/gtkimcontextxim.c: Adapt to new prototypes
569         for unicode,locale,filename conversion functions.
570
571 2001-01-05  Havoc Pennington  <hp@redhat.com>
572
573         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
574         broken if called on the first position in the buffer.
575
576         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
577         forward_to_delimiters to be called only if we aren't already at
578         the delimiters.
579
580 2001-01-05  Havoc Pennington  <hp@redhat.com>
581
582         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
583
584 2001-01-05  Alexander Larsson  <alexl@redhat.com>
585
586         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
587         colormap in here. Sync from X port.
588         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
589         Sync from X port.
590         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
591         This happens now and then, and i don't think it is a bug.
592         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
593         != endpoint.
594         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
595         GDK_LINE_SOLID.
596
597         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
598         some of the fields filled in at least.
599
600         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
601         miLineArcD is no more, remove it from the function definition.
602
603 2001-01-04  Havoc Pennington  <hp@redhat.com>
604
605         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
606         this
607
608         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
609         user_data instead of tree_node
610
611         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
612         TREE_VIEW_COLUMN_SIZE
613
614         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
615         "size" field to "width" finishes bug 40061
616
617         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
618         for bitfields, bug 40268
619
620 2001-01-04  Havoc Pennington  <hp@redhat.com>
621
622         Rename some stuff:
623         
624         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
625
626         s/GtkModelSimple/GtkTreeModelSimple/g;
627         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
628         s/gtk_model_simple/gtk_tree_model_simple/g;
629         s/gtkmodelsimple/gtktreemodelsimple/g;
630
631         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
632
633         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
634         s/column_set_col_type/column_set_sizing/g;
635
636         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
637         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
638
639         s/GtkCellRendererType/GtkCellRendererState/g;
640         
641         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
642         (gtk_cell_renderer_toggle_class_init): change "state" property to
643         "active", to match GtkToggleButton
644         (gtk_cell_renderer_toggle_get_active): new function, bug
645         40269
646         (gtk_cell_renderer_toggle_set_active): new function
647         (gtk_cell_renderer_toggle_set_property): route changes to toggle
648         state through gtk_cell_renderer_set_active
649
650 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
651
652         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
653         temporarily until they work again.  Brought up to date with
654         changes in the model.
655         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
656         model.
657
658 2001-01-04  Havoc Pennington  <hp@redhat.com>
659
660         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
661         equal to the line length, then position iterator before paragraph 
662         separators. Fixes crash reported by Mikael Hermansson when
663         pressing left arrow from the start of a line.   
664
665         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
666         about byte indexes off the end
667         (iter_set_from_char_offset): add g_error about char offsets
668         off the end
669
670 2001-01-03  Havoc Pennington  <hp@redhat.com>
671
672         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
673
674         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
675         of private functions; remove inclusion of private headers.
676
677         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
678         function, so we don't need private functions in gtktextdisplay.c
679
680         * gtk/gtktextiterprivate.h: underscore-ification
681
682         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
683         to instead say "only useful to implement widgets"
684
685         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
686         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
687         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
688
689         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
690         This function was completely broken
691
692         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
693
694         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
695
696         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
697
698         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
699
700         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
701
702         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
703
704         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
705         gtk_paint_layout
706
707         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
708         gtk_paint_layout
709
710         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
711         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
712         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
713         which were not implemented.     
714
715         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
716         insert_pixbuf signal. Rename delete_text to delete_range since it
717         also deletes pixbufs and child anchors. This almost closes bug
718         40245 (still need to deal with child anchors)
719
720         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
721         insert_pixbuf, change signal names as appropriate, change types of
722         signals taking marks/tags to have the specific type, not just
723         G_TYPE_OBJECT
724         
725         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
726         closes bug 40051
727
728         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
729         unnecessary remove_contents() call
730         (gtk_option_menu_class_init): add a "changed" signal, closes
731         bug 40039
732         (gtk_option_menu_update_contents): emit "changed" if the 
733         active menu item changes
734
735         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
736         cast to GtkObject, reported by Jonas Borgstrom
737         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
738         we can't do stuff with side effects in finalize. Instead, spew a
739         warning if the loader isn't closed.
740
741         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
742         colormap in here, non-X ports probably need to sync to this change
743
744         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
745         assertion that colormap != NULL, you can set the colormap to NULL
746         if you like.
747         
748         * Makefile.am: remove gtk-config-2.0
749
750         * configure.in: Use pkg-config to locate GLib. Remove
751         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
752         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
753         Use pkg-config to locate Pango. Output correct Pango libs to
754         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
755
756         * Makefile.am (pkgconfig_DATA): install only target-specific pc
757         files
758         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
759         X11 pc files
760
761         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
762         unref from here
763
764 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
765
766         * configure.in:
767         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
768
769 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
770
771         * gtk/gtktextlayout.c
772         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
773         variable when moving back onto a single line.
774
775 2001-01-01  Havoc Pennington  <hp@redhat.com>
776
777         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
778
779         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
780
781         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
782         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
783
784 2001-01-01  Havoc Pennington  <hp@redhat.com>
785
786         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
787
788         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
789         GtkTextAttributes
790
791         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
792         #40246
793         (gtk_text_attributes_copy_values): rename from 
794         gtk_text_attributes_copy
795         (gtk_text_attributes_copy): a more standard GTK copy function, 
796         which returns a new object
797
798 2001-01-01  Havoc Pennington  <hp@redhat.com>
799
800         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
801         
802         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
803         don't fill in tree_view->priv->selection, kind of an unexpected
804         side effect
805
806         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
807         gtkintl.h
808         
809         * gtk/gtkcellrenderer.c: Remove definition of _ and include
810         gtkintl.h
811         (gtk_cell_renderer_get_property): remove calls to g_value_init
812
813         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
814         gtkintl.h
815
816         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
817         and include gtkintl.h
818         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
819         property names
820
821         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
822         GtkTreeSelection
823         (_gtk_tree_selection_new_from_with_view): rename, return
824         GtkTreeSelection
825         (_gtk_tree_selection_set_tree_view): rename with uscore
826         (gtk_tree_selection_get_selected): fill in the "model" out param
827         first, so it gets filled in even if we return at the top of the 
828         function
829         (gtk_tree_selection_real_select_all): add a comment and an else{}
830         to clarify this a bit
831         (gtk_tree_selection_real_unselect_all): add the same else{}
832
833         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
834         set_tree_view to have underscore prefixes, move them to the
835         private header, fix return type of new_with_tree_view
836         (struct _GtkTreeSelection): mark struct
837         fields private  
838
839         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
840         GtkTreeModelFlags, not a guint
841         (gtk_tree_path_prev): return gboolean not gint
842         (gtk_tree_path_up): return gboolean not gint
843
844         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
845         return GtkTreeModelFlags, not a guint
846
847         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
848         that child model is non-null before unrefing it
849         (g_value_int_compare_func): make this a qsort compare func, not 
850         a boolean predicate
851
852         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
853         (add -umn to the end), and mark it unimplemented
854         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
855         I don't see what it's for - doesn't the model always sort itself?
856         (gtk_tree_model_sort_set_compare): this had the wrong signature
857
858         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
859         Fix the docs to say that it destructively replaces existing
860         attributes (previously said that it added attributes).
861         (gtk_tree_view_column_set_visible): canonicalize bool before
862         equality testing. Also, check for realization before
863         hiding/showing the tree_column->window; if this window could exist
864         before realization, then it's busted and needs fixing, we can't 
865         create GDK resources pre-realization. Also, remove
866         superfluous queue_resize(), since set_size() does that for us.
867         (gtk_tree_view_column_set_col_type): check realization before 
868         using tree_column->window
869
870         * gtk/gtktreedatalist.c: fix filename in copyright notice
871
872 2000-12-31  Havoc Pennington  <hp@pobox.com>
873
874         * gtk/gtktextview.c: Rearrange all the
875         scroll-while-dragging-or-selecting code to be different, not
876         necessarily better. ;-)
877         (gtk_text_view_scroll_to_mark): Change this
878         function to take within_margin as a fraction instead of a pixel
879         value, and to take alignment arguments (indicating where to align 
880         the mark inside the visible area)
881         
882         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
883         to GtkObject
884
885         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
886         behavior so that offsets past the end of the line are not 
887         allowed, and an offset equal to the line length moves the iterator
888         to the next line
889         (gtk_text_iter_set_line_index): make parallel change
890         (gtk_text_iter_get_bytes_in_line): add this function
891         
892         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
893         of byte indexes off the end of the line; byte index at the end of
894         the line now returns FALSE and doesn't fill in the requested
895         values, byte index past the end of the line is an error.  Also,
896         don't allow -1 offset anymore, since its meaning is unclear.
897
898         This change exposes some bug in visual cursor motion, where we
899         end up with a huge invalid byte index; needs fixing. Symptom of 
900         bug is a crash when you hit up arrow.
901         
902         (_gtk_text_line_char_locate): match the change to byte_locate
903
904         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
905         from start of line properly. fixes bug reported by Mikael
906         Hermansson where backspace would delete all text before the
907         cursor.
908
909 2000-12-30  Tor Lillqvist  <tml@iki.fi>
910
911         * gdk/win32/gdkwindow-win32.c
912         (gdk_window_impl_win32_get_visible_region): New function, as in
913         the X11 backend.
914         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
915         instead of duplicating the same code here.
916
917         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
918         GDK_COLORMAP macro.
919
920         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
921         destroy function.
922         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
923         access that.
924
925         * gtk/gtk.def: Update.
926
927         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
928
929 2000-12-30  Havoc Pennington  <hp@pobox.com>
930
931         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
932         colormap on input only windows, to avoid special cases all over
933         the code for these windows.
934
935 2000-12-26  Tor Lillqvist  <tml@iki.fi>
936
937         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
938         we are on a palettized display ("PseudoColor" in X11), as the code
939         for that doesn't work anyway, and never has.
940
941 2000-12-22  Alexander Larsson  <alexl@redhat.com>
942
943         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
944         Don't use isprint() for chars > 255.
945
946 2000-12-21  Havoc Pennington  <hp@redhat.com>
947
948         * tests/testtreeview.c: more work
949
950 2000-12-21  Alexander Larsson  <alexl@redhat.com>
951
952         * docs/README.linux-fb:
953         Update the docs to the new pangoft2 way.
954
955 2000-12-21  Alexander Larsson  <alexl@redhat.com>
956
957         * configure.in:
958         For linux-fb get the pangoft2 cflags and libs. This needs a recent
959         pango version.
960         Remove modules/linux-fb/Makefile.
961
962         * gdk/linux-fb/gdkdrawable-fb2.c:
963         Render glyphs using freetype.
964
965         * gdk/linux-fb/gdkfb.h:
966         Add new fb-specific functions needed for managing windows.
967
968         * gdk/linux-fb/gdkmain-fb.c:
969         Remove gdk_font_init/fini() calls.
970
971         * gdk/linux-fb/gdkpango-fb.c:
972         Remove old implementation. Use pangoft2 instead.
973
974         * gdk/linux-fb/gdkprivate-fb.h:
975         Remove PangoFBFont and related stuff.
976
977         * gdk/linux-fb/gdkwindow-fb.c:
978         Implement drawable->get_visible_region.
979         Implement support for _gdk_window_set_child_handler () and
980         _gdk_window_get_decorations().
981
982         * modules/Makefile.am:
983         Remove linux-fb subdir.
984
985         * modules/linux-fb/*:
986         Removed all.
987         
988 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
989
990         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
991         calls, as they are no longer needed.
992
993         * gtk/gtktreemodelsort.c: Fix up the comparison code.
994         
995         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
996         figure out how to emit a signal on an interface.
997
998 2000-12-20  Havoc Pennington  <hp@redhat.com>
999
1000         * tests: new directory to contain tests, gtk/test* should move
1001         here sometime (with appropriate on-cvs-server hackery)
1002
1003         * tests/testtreeview.c, tests/Makefile.am: a test
1004         
1005         * configure.in (AC_OUTPUT): add tests/Makefile
1006
1007         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
1008         and "invisible_set" which were missing
1009
1010         * gtk/gtkrbtree.h: some cheesy indentation fix
1011         
1012 2000-12-20  Alexander Larsson  <alexl@redhat.com>
1013
1014         * gtk/gtkinvisible.c (gtk_invisible_realize):
1015         Attach the style to the window so that the style it is not
1016         leaked when unrealizing the window.
1017
1018 2000-12-18  Havoc Pennington  <hp@redhat.com>
1019
1020         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
1021         begin/end user action where appropriate
1022         (gtk_text_view_commit_handler): add begin/end user action
1023
1024         * gtk/gtktextbuffer.c: add begin/end user action signals, and
1025         bracket interactive operations with begin/end user action pair.
1026         
1027         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
1028         "interactive" arg from insert_text and delete_text signals.
1029         Add begin_user_action, end_user_action signals
1030         (gtk_text_buffer_begin_user_action): 
1031         (gtk_text_buffer_end_user_action): New functions to delimit 
1032         a user-visible action
1033
1034         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
1035         signals.
1036         
1037 2000-12-18  Havoc Pennington  <hp@redhat.com>
1038
1039         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
1040         was pretty non-working.
1041
1042         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
1043         by passing the length to g_utf8_validate().
1044
1045 2000-12-16  Havoc Pennington  <hp@pobox.com>
1046
1047         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
1048         Port to GObject, can go back in gdk-pixbuf after setting up 
1049         a gdk-pixbuf-marshal.h header over there.
1050
1051         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
1052         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
1053         args
1054         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
1055         set
1056         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
1057         here, do it when we create the buttons later
1058         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
1059         (gtk_tree_view_map): paranoia checks that column->button is shown 
1060         and unmapped
1061         (gtk_tree_view_size_request): only request visible children.
1062         Move header size calculation in here, for cleanliness, and 
1063         to maintain invariants for child widgets if we eventually 
1064         let users set different children inside the buttons
1065         (gtk_tree_view_map_buttons): factor out code to map buttons,
1066         since it was being called several times
1067         (gtk_tree_view_size_allocate_buttons): move_resize the drag
1068         windows instead of just moving them; their height may change 
1069         if we allow random widgets in there, or the theme changes.
1070         (gtk_tree_view_size_allocate): move button size allocation 
1071         above emitting the scroll signals, to ensure a sane state when we
1072         hit user code
1073         (gtk_tree_view_button_release): remove queue_resize after
1074         tree_view_set_size(), set_size() will handle any resize queuing
1075         that's needed
1076         (gtk_tree_view_focus_in): just queue a draw, don't fool with
1077         draw_focus goo
1078         (gtk_tree_view_focus): use gtk_get_current_event() and
1079         gdk_event_get_state()
1080         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
1081         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
1082         semicolon
1083         (gtk_tree_view_create_button): show the button here
1084         (gtk_tree_view_button_clicked): actually emit the clicked signal
1085         on the column
1086         (_gtk_tree_view_set_size): return right away if the size is
1087         unchanged, as a cheesy optimization
1088         (gtk_tree_view_setup_model): rename set_model_realized to 
1089         setup_model to match the flag that indicates whether we've 
1090         called it
1091         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
1092         exist, because set_scroll_adjustment does that and it shouldn't
1093         matter what order you call these in
1094         (gtk_tree_view_get_vadjustment): ditto
1095         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
1096         for paranoia
1097         (gtk_tree_view_set_headers_visible): call
1098         gtk_tree_view_map_buttons() instead of using cut-and-paste code
1099         (gtk_tree_view_append_column): clarify whether the return value
1100         is the count of columns before or after, and do the increment 
1101         separately from the return statement so you can tell from the code.
1102         (gtk_tree_view_remove_column): ditto
1103         (gtk_tree_view_insert_column): ditto
1104         (gtk_tree_view_get_column): remove g_return_if_fail for columns
1105         outside the existing range, the docs say that outside-range
1106         columns are allowed, so we handle them as documented. (Presumably
1107         this allows a nice loop with column != NULL as test.)
1108         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
1109         mean (left/right/center etc.).
1110         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
1111         (gtk_tree_view_expand_row): add docs
1112         (gtk_tree_view_collapse_row): add docs
1113
1114         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
1115         function to emit the clicked signal on a column
1116         
1117         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
1118         state of an event
1119         (gdk_event_get_time): don't treat GDK_SCROLL 
1120         as a button event, remove default case from switch so gcc 
1121         will whine if we don't explicitly handle all event types
1122
1123         * gtk/gtktreeselection.h: added some FIXME 
1124         
1125         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
1126         "columns" to "n_columns" and "column" to "columns" for clarity
1127
1128 2000-12-16  Havoc Pennington  <hp@pobox.com>
1129         
1130         * gtk/gtktextiter.c: General cleanup of the log attr iteration
1131         stuff. This should make e.g. the delete key work again in the
1132         text widget...
1133         (gtk_text_iter_forward_cursor_positions): handle negative count
1134         (gtk_text_iter_backward_cursor_positions): handle negative count
1135         (gtk_text_iter_forward_word_ends): handle negative count
1136         (gtk_text_iter_backward_word_starts): handle negative count
1137
1138         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
1139         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
1140         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
1141         GObject. No doubt will cause breakage.
1142
1143         * demos/gtk-demo/textview.c: remove hacks around
1144         non-GObject-ification of the text objects
1145
1146         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
1147         the text tag
1148         
1149 2000-12-14  Havoc Pennington  <hp@pobox.com>
1150
1151         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
1152         that we have Xrender
1153
1154 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
1155
1156         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
1157         Add two virtualized functions gdk_drawable_get_clip_region - to
1158         get the clip region when drawing.
1159         
1160         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
1161         use invalidate_region.
1162
1163         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
1164         region.
1165
1166         * acconfig.h configure.in: Check for Xft. For now, assume
1167         that if Xft is found, Pango was compiled with Xft support
1168         as well.
1169
1170         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
1171         gdk_colormap_query_color().
1172         
1173         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
1174         with Xft if appropriate.
1175
1176         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
1177         a pangoxft context if we have XFT and the environment
1178         variable GD_USE_XFT is set.
1179         
1180         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
1181         and also possibly an XftDraw structure.
1182
1183         * gtk/gtkfontsel.c: Handle the case where the font from the
1184         style doesn't match any of the fonts a bit better.
1185         
1186         * gtk/testgtk.c: Add tabs between directional segments for
1187         hebrew/arabic test. (Not really necessary, just a little
1188         prettier.)
1189
1190 2000-12-14  Havoc Pennington  <hp@redhat.com>
1191
1192         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
1193         reading a file
1194
1195 2000-12-14  Havoc Pennington  <hp@redhat.com>
1196
1197         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
1198         unused call to get_last_line()
1199
1200         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
1201         here until boxed is working (and maybe after that - we should
1202         really not gratuitously break old code)
1203
1204         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
1205         specific types for font_desc and tabs args, move them to
1206         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
1207         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
1208
1209         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
1210         use GTK_TYPE_POINTER for signal signatures as a hack-around
1211
1212         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
1213         PangoTabArray
1214
1215         * gtk/gtktextlayout.c (line_display_iter_to_index): 
1216         make static
1217         (line_display_index_to_iter): make static
1218
1219         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
1220         to marshal a string not a boxed
1221
1222         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
1223
1224         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
1225         since the UTF-8 isn't validated yet
1226
1227         * gtk/gtktextsegment.c (char_segment_check_func): don't require
1228         lines to end in '\n'
1229         
1230         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
1231         forward_to_delimiters, and grapheme boundaries
1232         (gtk_text_view_delete_from_cursor): properly handle non-newline
1233         delimiters, and grapheme boundaries
1234
1235         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
1236         to gtk_text_iter_forward_to_delimiters, and make it work properly
1237         if empty lines end with a character other than '\n'
1238
1239         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
1240         position
1241
1242 2000-12-15  Tor Lillqvist  <tml@iki.fi>
1243
1244         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
1245
1246         * gtk/gtk.def
1247         * gdk/gdk.def: Update.
1248
1249         * gdk/win32/gdkmain-win32.c
1250         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
1251         gdkmain-win32.c here.
1252
1253         * gdk/win32/makefile.mingw.in (all): No need to make
1254         gdk-win32res.o here, the makefile one step up will call us to make
1255         it.
1256
1257         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
1258         gdkkeys-win32.
1259
1260         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
1261
1262         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
1263         call to g_source_add().
1264
1265         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
1266         leak. Thanks to Andreas Kemnade.
1267
1268 2000-12-13  Havoc Pennington  <hp@pobox.com>
1269
1270         * gtk/gtktextbtree.h: Remove double _ in front of some functions
1271
1272         * gtk/gtktext*.[hc]: update accordingly
1273         
1274 2000-12-13  Havoc Pennington  <hp@pobox.com>
1275
1276         * gtk/gtktextbtree.h: Put _ in front of every function in this 
1277         header file
1278
1279         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
1280
1281 2000-12-13  Alex Larsson  <alexl@redhat.com>
1282
1283         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
1284         Add support for ps2 intellimouse.
1285
1286         * gdkkeyboard-fb.c:
1287         Move shift-F1 repaint handling to xlate handler only.
1288         
1289         * docs/README.linux-fb:
1290         Add imps2 to docs.
1291         Document the new refresh keys.
1292         
1293 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
1294
1295         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
1296
1297         * gtk/gtkbox.c: change property types from (u)long to (u)int for
1298         ::position and ::padding.
1299
1300         * gtk/gtkcontainer.c: make ::border_width an INT property.
1301
1302         * gtk/gtkpacker.c: make ::position an INT property.
1303
1304         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
1305         guard against NULL h/v scrollbars, since this is used at construction
1306         time.
1307
1308         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
1309         internal gtk_clist_constructor().
1310
1311         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
1312         gtk_ctree_constructor().
1313
1314         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
1315         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
1316
1317         * docs/reference/Makefile.am: fun stuff, disabled docs generation
1318         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
1319
1320         * gtk/gtkwidget.[hc]:
1321         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
1322         and gtk_widget_get().
1323         (gtk_widget_new): use g_object_new_valist().
1324         (gtk_widget_set): use g_object_set_valist().
1325
1326         * gtk/gtkobject.[hc]:
1327         removed gtk_object_arg_get_info(), gtk_object_getv(),
1328         gtk_object_query_args(), gtk_object_newv(),
1329         gtk_object_class_add_signals(),
1330         gtk_object_class_user_signal_new(),
1331         gtk_object_class_user_signal_newv(),
1332         gtk_object_arg_set(), gtk_object_arg_get(),
1333         gtk_object_args_collect(),
1334         gtk_object_default_construct(),
1335         gtk_object_constructed(),
1336         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
1337         removed nsignals, signals and n_args members from GtkObjectClass.
1338         (gtk_object_new): use g_object_new_valist().
1339         (gtk_object_set): use g_object_set_valist().
1340         (gtk_object_get): use g_object_get_valist().
1341         
1342         * gtk/gtkcompat.h: define gtk_object_default_construct().
1343         
1344         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
1345         g_object_new().
1346
1347         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
1348         fucntions, cleaned up method assignments (make sure your structures
1349         are setup properly before calling out). removed all GTK_CONSTRUCTED
1350         hacks ;)
1351
1352 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
1353
1354         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
1355         off-by-one error in checks. (Dave Lambert)
1356
1357 2000-12-12  Alexander Larsson  <alexl@redhat.com>
1358
1359         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
1360         Don't free gdk_fb_keyboard twice.
1361
1362 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
1363
1364         * gtk/testgtk.c:
1365         (create_tooltips): 
1366         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
1367         use GObject swapped_signal:: properties instead.
1368
1369         * gtk/gtkcellrenderertoggle.c: 
1370         * gtk/gtkcellrenderertextpixbuf.c: 
1371         * gtk/gtkcellrenderertext.c: 
1372         * gtk/gtkcellrendererpixbuf.c: 
1373         * gtk/gtkcellrenderer.c:
1374         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
1375         missing warnings for invalid property ids, install properties
1376         with g_object_class_install_property() now.
1377         
1378         * gtk/gtksignal.c:
1379         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
1380         
1381 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
1382         
1383         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
1384         to determine if a window is the focus widget within
1385         its toplevel.
1386
1387         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
1388         to be boolean.
1389
1390         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
1391         of the case where the container CAN_FOCUS to here instead
1392         of having it in each individual move-the-focus place.
1393
1394         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
1395         focusing to be geometric in a much more obvious sense. Arrowing
1396         around is still non-intuitive because it isn't perfect and
1397         because entries, etc, grab the arrow keys, but it at least
1398         usually will do what you expect now.
1399         
1400         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
1401         file.
1402
1403         * gtk/gtknotebook.c: Change tabs to be a single item in
1404         the focus chain. Make movement of focus on tabs with arrow
1405         keys wrap around.
1406         
1407         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
1408         CHECK_FIND_CHILD macro to give informative error messages
1409         instead of silent returns.
1410
1411         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
1412         flag since we handle GdkReturn on the tabs.
1413
1414         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
1415         windows rather than sending expose events directly.
1416
1417         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
1418         definition for GtkNotebookPage into .c file, since it is private.
1419
1420         * gtk/testgtk.c (create_notebook): Add option for 
1421         testing borderless notebook.
1422
1423         * gtk/testgtk.c (page_switch): Removed egregious poking
1424         around in GTK+ internals.
1425
1426         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
1427
1428         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
1429         properly through gtk_clist_focus. Make the title headers a
1430         single item in the tab-focus chain, and make left-right wrap
1431         around.
1432
1433         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
1434         focus method so that wrapping around works properly.
1435
1436         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
1437         that is handled for the widget now. 
1438
1439 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
1440
1441         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
1442         widgets as TOPLEVEL.
1443
1444         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
1445         TOPLEVEL widgets are containers.
1446
1447         * gtk/gtkinvisible.h: Remove useless include.
1448
1449 2000-12-11  Havoc Pennington  <hp@redhat.com>
1450
1451         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
1452         Handle chopping off \r\n and 0x2029 in addition to \n before
1453         passing to PangoLayout
1454
1455         * gtk/gtkimcontextsimple.c
1456         (gtk_im_context_simple_get_preedit_string): 
1457         return an empty string if no match is pending
1458
1459         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
1460         assertion that the returned preedit string was sane
1461
1462         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
1463         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
1464         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
1465
1466 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
1467
1468         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
1469         Fix up finalizer to chain to its parent.
1470
1471 2000-12-11  Alexander Larsson  <alexl@redhat.com>
1472
1473         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
1474         Clearified the difference between the keyboard types. Wrote a note
1475         about the magic sysrq key to get out of raw mode.
1476
1477 2000-12-09  James Henstridge  <james@daa.com.au>
1478
1479         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
1480         member to hold masks for detecting the start of a protocol packet.
1481         (mouse_devs): add packet start masks for ps2 and ms device types.
1482         Left the mask for fidmour blank, as I have no idea what it should
1483         be.
1484         (handle_mouse_io): skip bytes until we get to the start of a
1485         packet.  My Logitech mouse seems to be passing an extra NULL pad
1486         byte, and GPM does a similar thing here.
1487         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
1488         this is the ms mouse driver.
1489         (gdk_fb_mouse_ms_packet): fix up button handling, which was
1490         completely broken except for button1.  It was checking the wrong
1491         bit in the packet for the status of the right mouse button, and
1492         wrongly assuming right == button2 rather than 3.  I fixed that and
1493         also added support for middle button (button2).
1494
1495 2000-12-08  Havoc Pennington  <hp@redhat.com>
1496
1497         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
1498         that cause a segfault on text insertion
1499
1500         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
1501         warning
1502
1503         * gtk/gtktextiter.c (test_log_attrs): use
1504         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
1505
1506         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
1507         Get log attrs for a line, using a cache stored on the buffer
1508         
1509         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
1510         reported by Jeff Franks
1511
1512 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
1513
1514         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
1515         /dev/ttyS0 -> /dev/mouse
1516
1517 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
1518
1519         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
1520         Added dummy gdk_fontset_load.
1521
1522 2000-12-08  Alexander Larsson  <alexl@redhat.com>
1523
1524         * docs/README.linux-fb:
1525         * docs/Makefile.am:
1526         Initial GtkFB docs.
1527         
1528         * gdk/linux-fb/Makefile.am:
1529         Define GDK_DATA_PREFIX.
1530
1531         * gdk/linux-fb/gdkmain-fb.c:
1532         Fix typo.
1533         Change default display to /dev/fb0.
1534
1535         * gdk/linux-fb/gdkpango-fb.c:
1536         Add $(prefix)/share/fonts/ to font path.
1537         
1538 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
1539
1540         * gdk/linux-fb/gdkkeyboard-fb.c:
1541         New file containing the abstracted keyboard driver. Most code
1542         taken from gdkinput-ps2.c
1543
1544         * gdk/linux-fb/gdkinput-ps2.c:
1545         Removed file.
1546         
1547         * gdk/linux-fb/Makefile.am:
1548         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
1549
1550         * gdk/linux-fb/gdkcolor-fb.c:
1551         display->fb was renamed to display->fb_fd.
1552
1553         * gdk/linux-fb/gdkcursor-fb.c:
1554         gdk_mouse_get_info -> gdk_fb_mouse_get_info
1555
1556         * gdk/linux-fb/gdkinput.c:
1557         Moved gdk_input_init here from gdkinput-ps2.c
1558
1559         * gdk/linux-fb/gdkmain-fb.c:
1560         display->fb was renamed to display->fb_fd.
1561         Now the tty and the console is opened here instead
1562         of in the keyboard driver. Also check GDK_VT to see what
1563         tty to open.
1564         Move gdk_beep () here from gdkinput-ps2.c
1565         gdk_mouse_get_info -> gdk_fb_mouse_get_info
1566
1567         * gdk/linux-fb/gdkmouse-fb.c:
1568         Add header.
1569         gdk_mouse_get_info -> gdk_fb_mouse_get_info
1570         Return correct keyboard modifiers.
1571         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
1572
1573         * gdk/linux-fb/gdkprivate-fb.h:
1574         Add tty and vt info to display.
1575         Add orignal modeinfo storage to display
1576         Update global functions
1577
1578         * gdk/linux-fb/gdkwindow-fb.c:
1579         Added gdk_fb_window_find_focus().
1580         gdk_mouse_get_info -> gdk_fb_mouse_get_info
1581
1582 2000-12-07  Havoc Pennington  <hp@pobox.com>
1583
1584         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
1585         function, noticed by Alex
1586
1587 2000-12-06  Elliot Lee  <sopwith@redhat.com>
1588
1589         * configure.in: Detect freetype properly
1590
1591         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
1592         above.
1593
1594 2000-12-06  Alexander Larsson  <alexl@redhat.com>
1595
1596         * gdk/linux-fb/Makefile.am:
1597         Add gdkmouse-fb.c
1598         
1599         * gdk/linux-fb/gdkmouse-fb.c:
1600         New file. Abstracted the mouse drivers a bit.
1601
1602         * gdk/linux-fb/gdkcursor-fb.c:
1603         The cursor hide/show functions was moved here from gdkinput-ps2.c.
1604
1605         * gdk/linux-fb/gdkinput-ps2.c:
1606         Removed old mouse handling code. Moved cursor handling code
1607         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
1608         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
1609         gdk_mouse_get_info.
1610
1611         * gdk/linux-fb/gdkmain-fb.c:
1612         Pass NULL pointers for x,y in gdk_mouse_get_info call.
1613
1614         * gdk/linux-fb/gdkprivate-fb.h:
1615         Removed public gdk_fb_find_common_ancestor, added and renamed
1616         functions for the new mouse handling code.
1617
1618         * gdk/linux-fb/gdkwindow-fb.c:
1619         Moved gdk_fb_window_send_crossing_events here. added global
1620         variable gdk_fb_window_containing_pointer. made
1621         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
1622         renamed to gdk_mouse_get_info.
1623
1624 2000-12-06  Alexander Larsson  <alexl@redhat.com>
1625
1626         * gdk/linux-fb/gdkevents-fb.c:
1627         Update to match latest gmain/gsource changes.
1628
1629         * gdk/linux-fb/gdkinput-ps2.c:
1630         Bogus gdk_keymap_get_entries_for_keycode implementation so that
1631         it links. Will be implemented later.
1632
1633 2000-12-03  Havoc Pennington  <hp@pobox.com>
1634
1635         * gdk/Makefile.am: add gdkkeys.[hc]
1636
1637         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
1638         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
1639
1640         * acconfig.h, configure.in: add checks and command line options
1641         for XKB
1642
1643         * gdk/x11/gdkkeys-x11.c: Implement the above functions
1644         
1645         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
1646         and group in the key event
1647
1648         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
1649         field with the low-level hardware key code, and a group
1650         field with the keyboard group
1651
1652         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
1653         and declare a couple globals used for keymap handling
1654         
1655         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
1656         hold down Shift-Control and type a hex number to get a Unicode 
1657         character corresponding to the hex number
1658         (gtk_im_context_simple_get_preedit_string): Fix cursor position
1659         (return bytes not chars)
1660
1661 2000-12-05  Elliot Lee  <sopwith@redhat.com>
1662
1663         * gdk/gdkcolor.h: Make GdkColor specify element sizes
1664         to avoid waste on 64-bit platforms.
1665
1666 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
1667
1668         * INSTALL: Fix link to PNG home, remove reference
1669         to fribidi.
1670
1671         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
1672         
1673         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
1674         tested.)
1675
1676         * gtk/gtkcheckmenuitem.c: Permanently turn on
1677         always_show_toggle.
1678
1679         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
1680         be NULL. (Vladimir Klebanov, #26545)
1681
1682         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
1683         some signed/unsigned comparison problems. (#6510,
1684         David Kaelbling)
1685
1686         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
1687         return type to boolean (Oskar Liljeblad, #18648)
1688
1689 2000-12-05  Alexander Larsson  <alexl@redhat.com>
1690
1691         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
1692         Remove bogus colormap setting.
1693
1694 2000-12-05  Alexander Larsson  <alexl@redhat.com>
1695
1696         * gdk/linux-fb/gdkcolor-fb.c:
1697         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
1698
1699         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
1700         Must set colormap.
1701         
1702 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
1703
1704         * docs/tutorial/gtk-tut.sgml: DND updates
1705
1706 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
1707
1708         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
1709         Remove old debug g_warning().
1710         (gdk_fb_draw_drawable): The src argument can be either a wrapper
1711         or an implementation, just pass the implementation to draw_drawable_2.
1712         
1713         * gdk/linux-fb/gdkprivate-fb.h:
1714         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
1715
1716         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
1717         clear and invalidate area when window is destroyed.
1718         (send_map_events): Remove old commented out code.
1719
1720 2000-12-05  Alexander Larsson  <alexl@redhat.com>
1721
1722         * gdk/linux-fb/gdkpango-fb.c:
1723         Use italic instead of oblique in font aliases.
1724         
1725         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
1726         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
1727         other unsupported functions.
1728
1729 2000-12-04  Havoc Pennington  <hp@redhat.com>
1730
1731         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
1732
1733         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
1734
1735         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
1736
1737         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
1738         hack to avoid infinite loops (synthetic expose event) - 
1739         Owen has more appropriate fixes in a branch he'll check in later.
1740
1741         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
1742         separator, CR, and CRLF as line ends
1743
1744         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
1745         into lines using pango_find_paragraph_boundary(); other bits of
1746         the widget are still going to be broken if the boundary isn't '\n'
1747         though
1748
1749 2000-12-04  Alexander Larsson  <alexl@redhat.com>
1750
1751         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
1752         multiply.
1753
1754         * gdk/linux-fb/gdkpango-fb.c:
1755         Copied some 26.6 scaling macros from pango to clean up the rounding.
1756         (pango_fb_font_get_glyph_info): Correct sign on x value.
1757
1758         * gdk/linux-fb/gdkprivate-fb.h:
1759         Removed unreferenced external functions.
1760
1761         * modules/linux-fb/Makefile.am: Use ` instead of '.
1762
1763         * modules/linux-fb/basic.c:
1764         Remove dead code. In particular the dummy lang engine which broke all
1765         pango layouts in GtkFB. Don't include tables-big.i anymore.
1766
1767         * modules/linux-fb/tables-big.i:
1768         Upgrade to latest version from pango. Left for reference, basic_ranges
1769         moved to basic.c.
1770         
1771 2000-12-04  Havoc Pennington  <hp@redhat.com>
1772
1773         Fix bugs Alex found:
1774         
1775         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
1776         to "draw"
1777
1778         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
1779
1780         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
1781
1782         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
1783         implementation in here, apparently the expose() implementation was
1784         dead code.
1785
1786 2000-12-04  Alexander Larsson  <alexl@redhat.com>
1787
1788         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
1789         Return positive descent.
1790
1791 2000-12-02  Havoc Pennington  <hp@pobox.com>
1792
1793         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
1794         method and signal
1795         
1796         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
1797         calls gdk_window_process_updates() to push the exposes through
1798         (gtk_widget_class_init): No more draw signal, no
1799         gtk_widget_real_draw()  
1800         
1801         * gtk/gtkbin.c (gtk_bin_draw): remove
1802
1803         * gtk/gtkbox.c (gtk_box_draw): remove
1804
1805         * gtk/gtkbutton.c (gtk_button_draw): remove
1806
1807         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
1808
1809         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
1810
1811         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
1812
1813         * gtk/gtkclist.c (gtk_clist_draw): remove
1814
1815         * gtk/gtkentry.c (gtk_entry_draw): remove
1816
1817         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
1818
1819         * gtk/gtkfixed.c (gtk_fixed_draw): remove
1820
1821         * gtk/gtkframe.c (gtk_frame_draw): remove
1822
1823         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
1824
1825         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
1826
1827         * gtk/gtklayout.c (gtk_layout_draw): remove
1828
1829         * gtk/gtklist.c (gtk_list_draw): remove
1830
1831         * gtk/gtklistitem.c (gtk_list_item_draw): remove
1832
1833         * gtk/gtkmenu.c (gtk_menu_draw): remove
1834
1835         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
1836
1837         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
1838
1839         * gtk/gtknotebook.c (gtk_notebook_draw): remove
1840
1841         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
1842
1843         * gtk/gtkpacker.c (gtk_packer_draw): remove
1844
1845         * gtk/gtkrange.c (gtk_range_draw): remove
1846
1847         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
1848
1849         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
1850
1851         * gtk/gtktable.c (gtk_table_draw): remove
1852
1853         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
1854
1855         * gtk/gtktext.c (gtk_text_draw): remove
1856
1857         * gtk/gtktextview.c (gtk_text_view_draw): remove
1858
1859         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
1860
1861         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
1862
1863         * gtk/gtktree.c (gtk_tree_draw): remove
1864
1865         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
1866
1867         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
1868
1869         * gtk/gtkviewport.c (gtk_viewport_draw): remove
1870
1871         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
1872
1873         * gtk/gtkvscale.c (gtk_vscale_draw): remove
1874
1875         * gtk/gtkwindow.c (gtk_window_draw): remove
1876
1877 2000-20-01  Anders Carlsson  <andersca@gnu.org>
1878
1879         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
1880         a GtkToggleButton is both insensitive and active, it was being
1881         drawn by the GtkButton draw handler which doesn't check the
1882         state. Now it's calling gtk_toggle_button_paint instead.
1883         
1884 2000-12-01  Havoc Pennington  <hp@redhat.com>
1885
1886         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
1887         dangling pointers to the appearance attributes from the 
1888         line display
1889
1890         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
1891         width/height to mean "full width/height of drawable"
1892
1893         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
1894         click to select word/line
1895         
1896         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
1897         when getting log attrs. Get a slice, so that pixmaps and stuff
1898         are properly handled.
1899
1900         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
1901         paste into the selection (replaces selection now, previously
1902         crashed or added to selection). Reveals longstanding btree bug -
1903         select multiple lines, middle-click on the selection, boom. This
1904         isn't related to my changes though.
1905
1906         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
1907         PangoLogAttrs changes
1908         (gtk_entry_move_backward_word): ditto
1909
1910         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
1911         functions return bool whether the iter moved onto a
1912         dereferenceable position.
1913  
1914         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
1915         functions for motion in terms of display lines.
1916
1917         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
1918         get the buffer a mark is inside
1919         
1920 2000-12-01  Alexander Larsson  <alexl@redhat.com>
1921
1922         * gdk/linux-fb/Makefile.am:
1923         * modules/linux-fb/Makefile.am:
1924         Freetype 2 final uses freetype-config
1925
1926         * gdk/linux-fb/gdkpango-fb.c:
1927         Upgrade to use Freetype 2 final.
1928         More flexible support for font aliases, this also fixes a bug with
1929         GtkFontSelector, as the aliases must be visible in the font/family list,
1930         or GtkFontSelector reads uninitialized memory.
1931
1932 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
1933
1934         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
1935         XGetIMValues to properly terminate variable argument list, and do
1936         NULL return check for ic_values and xim_styles.
1937
1938         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
1939         Restore preedit state after XmbResetIC().
1940         
1941         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
1942         XvaCreateNestedList() should take XvaNestedList, but not
1943         XvaNestedList*.
1944
1945         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
1946         preedit_draw_callback, preedit_caret_callback): Match
1947         "preedit-changed" signal name to "preedit_changed" to be
1948         consistent to the spec.
1949
1950         * gtk/gtkimcontextsimple.c (check_table):
1951         Match "preedit-changed" to "preedit_changed" to be consistent
1952         to the spec.
1953
1954 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
1955
1956         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
1957         gc->clip_region == NULL>
1958
1959 2000-11-30  Tor Lillqvist  <tml@iki.fi>
1960
1961         Changes by Hans Breuer:
1962         
1963         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
1964         Dont't use negative width and height as max_hints. This fixes
1965         Owen's recent testgtk changes for win32.
1966
1967         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
1968         gdk_win32_hdc_release): These are exported and may be called with
1969         other drawable types than our GdkDrawableImplWin32 (?).
1970
1971         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
1972         so always #define USE_BACKING_STORE.
1973
1974         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
1975         of printf for debugging output.
1976
1977         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
1978         
1979         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
1980
1981         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
1982         declaration.
1983
1984         * gtk/gtktexttypes.h: Ditto.
1985
1986         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
1987         (GDK_VoidSymbol) also if in case of arg check failure.
1988
1989         * gtk/gtkimcontextsimple.c
1990         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
1991         position to the pointer, but to the variable it points to.
1992
1993         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
1994
1995         * gtk/gtk.def: Updates.
1996
1997 2000-11-29  Elliot Lee  <sopwith@redhat.com>
1998
1999         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
2000         GTK_TYPE_TREE_MODEL.
2001
2002 2000-11-29  Alexander Larsson  <alexl@redhat.com>
2003
2004         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
2005         Set the size of the font from the description.
2006         (gdk_text_width): Gross hack that calculates the width
2007         of text by text_length * size/2. This is necessary because
2008         GtkLabel does some ugly gtk_string_width call to calculate
2009         an good size.
2010         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
2011
2012 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
2013
2014         * docs/tutorial/gtk-tut.sgml: DND updates
2015
2016 2000-11-29  Alexander Larsson  <alexl@redhat.com>
2017
2018         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
2019         If you pass width or height == 0 to gdk_window_clear_area they
2020         should be calculated from the window size.
2021
2022 2000-11-29  Alexander Larsson  <alexl@redhat.com>
2023
2024         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
2025         a grab, but no grab-cursor, use the cursor from the grabbed
2026         window. (gdk_fb_window_send_crossing_events): Send normal
2027         enter/leave notifications if grab and owner_events == TRUE.
2028
2029 2000-11-29  Alexander Larsson  <alexl@redhat.com>
2030
2031         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
2032         Do implicit button grabs, even if the window doesn't
2033         want the event.
2034         (gdk_fb_window_send_crossing_events): If there is a
2035         grab, only the grabbed window gets normal enter/leave
2036         notifications. On ungrab go from grabbed window to current.
2037         Don't send any notification to b when propagating from c -> b.
2038         If setting a grab on window, don't set prev_window.
2039         (handle_mouse_input): Send enter/leave events to the window the
2040         mouse is over, not the grabbed one.
2041         
2042 2000-11-28  Elliot Lee  <sopwith@redhat.com>
2043
2044         * gdk/gdkregion-generic.c: Zap warning.
2045         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
2046         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
2047
2048 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
2049
2050         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2051         The cursor should be hidden if it is part of either the
2052         source or destination region. Not only if it is in both.
2053         (gdk_window_set_transient_for): Silence warnings.
2054
2055 2000-11-28  Alexander Larsson  <alexl@redhat.com>
2056
2057         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
2058         The default mode in X is Pie Arcs, therefore that is
2059         what Gtk+ uses.
2060
2061 2000-11-28  Alexander Larsson  <alexl@redhat.com>
2062
2063         * gdk/linux-fb/gdkinput-ps2.c:
2064         Implement correct EnterNotify/LeaveNotify:
2065         (gdk_fb_window_send_crossing_events): New function that sends
2066         all GdkCrossingEvents from the last mouse-window to the specified
2067         destination.
2068         (gdk_fb_window_visibility_crossing): Removed function.
2069         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
2070         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
2071         instead of gdk_window_get_pointer() for better readability.
2072
2073         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
2074         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
2075
2076         * gdk/linux-fb/gdkprivate-fb.h:
2077         removed gdk_fb_window_visibility_crossing, added
2078         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
2079
2080         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
2081         New function that finds the least common ancestor of two windows.
2082         (gdk_window_show, gdk_window_hide):
2083         Use gdk_fb_window_send_crossing_events.
2084         (gdk_fb_window_move_resize): Send configure events to toplevel
2085         windows. Use gdk_fb_window_send_crossing_events.
2086
2087 2000-11-27  Havoc Pennington  <hp@redhat.com>
2088
2089         * gtk/gtkprivate.h (enum): Remove a trailing comma
2090
2091 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
2092
2093         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
2094         the "changed" callback of the adjustment.  We need to redraw the
2095         spin button's arrows when the adjustment's range changes.
2096         (adjustment_changed_cb): Draw the arrows.
2097         (gtk_spin_button_value_changed): Draw the arrows.
2098
2099 2000-11-23  Alexander Larsson  <alexl@redhat.com>
2100
2101         * gdk/linux-fb/gdkselection-fb.c:
2102         Initial selection implementation.
2103
2104         * gtk/gtkselection.c:
2105         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
2106         requestor in gtk_selection_request.
2107         
2108         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
2109         Added gdk_selection_property atom.
2110
2111         * gdk/linux-fb/gdkprivate-fb.h:
2112         Export _gdk_selection_window_destroyed.
2113         Removed mask_off_x/y from GdkCursorPrivateFB.
2114         Removed hbearing, added top, left to PangoFBGlyphInfo.
2115
2116         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
2117         Call _gdk_selection_window_destroyed
2118         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
2119         the root window has been created.
2120         (static_dx_hack, static_dy_hack, compare_draw_rects,
2121         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
2122         in region. They are already sorted. Instead just traverse them in
2123         reverse if draw_direction < 0.
2124         
2125         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
2126         Double-clicks must be sent after the normal button_press.
2127         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
2128         
2129         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
2130         Pass _gdk_fb_screen_gc instead of NULL.
2131
2132         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
2133         Initialize gdk_selection_property.
2134         (gdk_event_make): Remove unused code.
2135
2136         * gdk/linux-fb/gdkcursor-fb.c:
2137         Make the pixmap for the cursor the same size as the mask. Also remove
2138         the mask_off_x/y fields in GdkCursorPrivateFB and combine
2139         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
2140         Now the whole cursor is visible.
2141
2142         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
2143         Fix bug where xdest+height instead of ydest+height was used
2144         to calculate if the source and dest overlapped. This fixes the
2145         redraw bug when the main window in testgtk was scrolled when
2146         partially covered by a tall window.
2147         Copy rectangles in region in order depending on draw_direction.
2148         Also moved the draw_direction flipping of start_y and end_y into
2149         the gc functions, as this might not be what all of them want.
2150         (gdk_fb_draw_lines): Support dashed lines.
2151         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
2152         so that the text is positioned correctly (was 1 pixel high).
2153
2154         gdk/linux-fb/gdkgc-fb.c:
2155         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
2156         all lines were drawn a pixel to short. Also checked the default of
2157         the rest of the values, and they're the same as X now.
2158
2159         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
2160         Clean up pixel positioning of the glyphs. Just use bgy->top and
2161         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
2162         to all divisions to get correct rounding behaviour.
2163
2164         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
2165         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
2166         Moved start_y/end_y flip into draw_drawable implementations.
2167         Flip also x rendering when draw_direction < 0.
2168         Remove unneccesary multiply with draw_direction.
2169
2170 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
2171
2172         * docs/tutorial/gtk-tut.sgml:
2173           - get rid of gtk_toggle_button_toggled FUD
2174           - start DND section - needs work - based on:
2175                 http://wolfpack.twu.net/docs/gtkdnd/
2176
2177 2000-11-22  Alexander Larsson  <alexl@redhat.com>
2178
2179         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
2180         Correct calculation of font metrics. Now GtkEntrys have sane
2181         size.
2182
2183 2000-11-22  Alexander Larsson  <alexl@redhat.com>
2184
2185         * gdk/gdktypes.h:
2186         Add new type GdkSpan
2187         
2188         * docs/reference/gdk/gdk-sections.txt,
2189         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
2190         gdk/gdkregion.h:
2191         Implement and document gdk_region_spans_intersect_foreach.
2192
2193         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
2194         Add new file gdkrender-fb.c which contains all core
2195         rendering code.
2196         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
2197         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
2198         (optimized rectangle fillers).
2199
2200         * gdk/linux-fb/gdkdrawable-fb2.c:
2201         Move all rendering code to gdkrender-fb.c.
2202         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
2203         Use the new span intersection functions in gdk_fb_fill_spans.
2204         gdk_fb_draw_rectangle() clips filled rectangles and calls
2205         gc->fill_rectangle with the result.
2206         gdk_fb_fill_spans() gets extra argument "sorted".
2207
2208         * gdk/linux-fb/gdkevents-fb.c:
2209         Remove unused includes and defines.
2210         New function gdk_fb_get_time() to get correct time for events.
2211
2212         * gdk/linux-fb/gdkinput-ps2.c:
2213         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
2214         Make sure to set the time of all events.
2215
2216         * gdk/linux-fb/gdkmain-fb.c:
2217         Use gdk_fb_get_time ().
2218
2219         * gdk/linux-fb/gdkprivate-fb.h:
2220         New virtual GC calls: fill_span & fill_rectangle.
2221         Export gdk_fb_get_time().
2222         gdk_fb_fill_spans() gets extra argument "sorted".
2223
2224         * gdk/linux-fb/mi*.c:
2225         Use GdkSpan instead of GdkRectangle.
2226         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
2227         from XFree 4 source)
2228         
2229 2000-11-22    <jrb@redhat.com>
2230
2231         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
2232         reversing the order in an if statement will do.  Doing so managed
2233         to make the treemodelsort half work.  Other half will follow after
2234         I get the insert function fully fixed.
2235
2236 2000-11-21  Elliot Lee  <sopwith@redhat.com>
2237         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
2238         more than 2 bits. Besides, I need to implement an evil hack. :)
2239
2240 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
2241
2242         * docs/tutorial/gtk-tut.sgml: minor corrections
2243
2244 2000-11-20  Jonathan Blandford <jrb@redhat.com>
2245         * gtk/gtktreemodelsort.h: Add convertion functions to let you
2246           convert to and from relative path's and iters.
2247
2248         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
2249           testing sorting functions a bit better.  Currently broken -- will
2250           fix in morning.
2251
2252 2000-11-20  Havoc Pennington  <hp@redhat.com>
2253
2254         * gtk/gtkwidget.c: Documented a bunch of functions in here
2255         (gtk_widget_realize): Warn if you try to realize
2256         a widget with no parent that isn't a toplevel
2257         (gtk_widget_intersect): return a gboolean
2258
2259 2000-11-20  Havoc Pennington  <hp@redhat.com>
2260
2261         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
2262         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
2263         scrolling to be implemented in GDK to finish. Also, right now
2264         we just size_allocate all children on every layout change,
2265         which is pretty lame. Test commented out of testtext.c, 
2266         until it works better.
2267
2268 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
2269
2270         * gdk/linux-fb/gdkdrawable-fb2.c:
2271         Removed unused arguments from gdk_fb_drawable_get_pixel().
2272
2273         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
2274         Renamed fidur specific mouse packet data in MouseDevice to
2275         generic. Used it in ps2 mouse handling code to avoid blocking
2276         reads.
2277
2278 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
2279
2280         * demos/gtk-demo/main.c: Changed to have the list become
2281         non-italic when the demo window is destroyed through an external
2282         event (like a close button).  Doing so found three bugs in the
2283         widget.
2284
2285         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
2286
2287         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
2288         we actually set the cell.
2289
2290         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
2291
2292         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
2293         free a leaked path.  Thanks memprof.
2294
2295 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
2296
2297         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
2298         off-by-one error when destroying allocated segments
2299         on failure. (Elliot)
2300
2301 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
2302
2303         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
2304         memleaks found by Evan Martin.
2305
2306 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
2307
2308         * Released 1.3.2
2309         
2310         * NEWS: Updates for 1.3.2
2311
2312 2000-11-17  Tor Lillqvist  <tml@iki.fi>
2313
2314         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
2315         but in general for window system specific events.
2316
2317         * gtk/gtk.def
2318         * gtk/makefile.mingw.in
2319         * gtk/makefile.msc.in: Update.
2320         
2321         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
2322
2323 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
2324
2325         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
2326         distribute gtk.immodules.
2327
2328         * gtk/Makefile.am (install-data-local): Don't install the
2329         gtk.immodules file created for the uninstalled modules;
2330         instead run gtk-query-immodules after install
2331
2332 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
2333
2334         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
2335         -rpath to the right install location.
2336
2337         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
2338         -export-dynamic.
2339
2340         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
2341         properly.
2342
2343 2000-11-15  Havoc Pennington  <hp@pobox.com>
2344
2345         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
2346         patch from Mikael Hermansson to temporarily stop blinking while
2347         the user is using the keyboard to type or navigate. 
2348
2349         Also, when blinking, stay on for longer than we stay off. Also,
2350         return from start_cursor_blink if !cursor_visible, to save
2351         checking that flag all over the place before we call
2352         start_cursor_blink.
2353
2354 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
2355
2356         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
2357         only contain a "fontset" line, which is now ignored.
2358
2359         * gtk/gtkentry.c (gtk_entry_button_release): Make 
2360         double-click-to-select-word work.
2361         
2362 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
2363
2364         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
2365         Don't move back one char when we are actually at the end of the 
2366         paragraph.
2367
2368 2000-11-15  Robert Brady  <robert@suse.co.uk>
2369
2370         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
2371         'o' < 'p'.
2372         
2373         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
2374         bind_textdomain_codeset.
2375
2376         (gtk_init_check): Make the warning about translating default:LTR
2377         sterner.
2378         
2379 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
2380
2381         * **/Makefile.am : remove unecessary rules for win32-specific
2382         config-substituted targets. If you want these rules, use
2383         --enable-maintainer-mode (called automatically by autogen.sh).
2384         Stops a lot of unneccessary make-time warnings.
2385
2386         * gtk/gtktext{layout,display}.c: Factor in total width as
2387         well as screen when figuring alignment for word-wrap as well as
2388         no wrap; this is necessary to handle lines that cannot be wrapped
2389         at all.
2390
2391 2000-11-15  Havoc Pennington  <hp@redhat.com>
2392
2393         * gtk/testtext.c: Implement essential color cycling feature
2394
2395 2000-11-15  Havoc Pennington  <hp@redhat.com>
2396
2397         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
2398         when we invalidate the main window.
2399
2400         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
2401         GtkTextView will now invalidate the side windows for us when text
2402         changes.
2403
2404 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
2405
2406         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
2407         unconditionally, since we may need to update the horizontal
2408         scrollbars even if the height didn't change.
2409
2410         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
2411         the extra attrs, since some of them affect size.
2412
2413         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
2414         x_offset correctly.
2415
2416 2000-11-15  Havoc Pennington  <hp@redhat.com>
2417
2418         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
2419         don't move the first line out into the margin, instead move the
2420         whole paragraph in order to make space for the first line within 
2421         the margin
2422
2423 2000-11-15  Havoc Pennington  <hp@redhat.com>
2424
2425         * gtk/gtktextview.c (changed_handler): offset redraw rect by
2426         xoffset in addition to yoffset, so horizontal scrolling doesn't
2427         break redraws
2428
2429 2000-11-15  Havoc Pennington  <hp@redhat.com>
2430
2431         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
2432         from the cursor
2433         (render_layout_line): fix reversed test that caused weird
2434         underlines to get drawn
2435
2436 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
2437
2438         * gdk/linux-fb/gdkprivate-fb.h:
2439         Fix debug macros.
2440         
2441 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
2442
2443         * gdk/linux-fb/gdkprivate-fb.h:
2444         Added virtual functions set_pixel, get_color,
2445         fill_span and draw_drawable to the GC.
2446         Added global _gdk_fb_screen_gc to use instead of
2447         NULL when drawing to the screen.
2448         Added _gdk_fb_gc_calc_state() prototype.
2449
2450         * gdk/linux-fb/gdkgc-fb.c:
2451         Call _gdk_fb_gc_calc_state() on any gc state change.
2452
2453         * gdk/linux-fb/gdkglobals-fb.c:
2454         Add _gdk_fb_screen_gc
2455                 
2456         * gdk/linux-fb/gdkdrawable-fb2.c:
2457         _gdk_fb_gc_calc_state() calculates best functions
2458         for the GC state and depth.
2459         Moved bpp specialized code to separate functions.
2460         Added optimized 24 bpp AA draw_drawable.
2461
2462         * gdk/linux-fb/gdkevents-fb.c:
2463         Silence gcc warning.
2464
2465         * gdk/linux-fb/gdkimage-fb.c:
2466         Use _gdk_fb_screen_gc
2467
2468         * gdk/linux-fb/gdkwindow-fb.c:
2469         Init and use _gdk_fb_screen_gc
2470
2471         * gdk/linux-fb/mitypes.h:
2472         Remove unused types.
2473
2474 2000-11-14  Havoc Pennington  <hp@pobox.com>
2475
2476         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
2477         to pixels
2478
2479 2000-11-14  Havoc Pennington  <hp@pobox.com>
2480
2481         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
2482
2483         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
2484         unknown char, no real reason we were using a variable. 
2485         Remove gtk_text_unknown_char variable. Fix all the text widget
2486         files accordingly.
2487
2488         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
2489         since the Unicode spec seems to prefer that character for our
2490         purposes.
2491
2492 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
2493
2494         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
2495         value of g_getenv() isn't freeable, so g_strdup it.
2496
2497         * modules/input/inuktitut.c: Inuktitut input method.
2498
2499         * modules/input/Makefile.am: Build this.
2500         
2501 2000-11-14  Elliot Lee  <sopwith@redhat.com>
2502
2503         * gtk/Makefile.am: Install gtk.immodules, needed for operation
2504         of gtk programs.
2505
2506 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
2507
2508         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
2509         reversed > that was causing Home to go to end of previous line.
2510
2511         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
2512         modified-keypresses (leave for bindings.)
2513
2514         * modules/input/Makefile.am: Remove useless -export-dynamic
2515         from module LDFLAGS.
2516
2517 2000-11-14  Havoc Pennington  <hp@redhat.com>
2518
2519         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
2520         higher.
2521
2522         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
2523         account. Also, render rise, underline, background, etc. for
2524         pixbufs as well as text. Also, draw underlines one pixel higher.
2525
2526         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
2527         PangoAttribute for the rise, so it gets drawn properly. Also,
2528         add the GtkTextAppearance attribute for pixbuf/widget segments
2529         as well; we should go ahead and have rise, underline, background,
2530         stipple work for those
2531
2532         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
2533         Pango
2534
2535 2000-11-15  Tor Lillqvist  <tml@iki.fi>
2536
2537         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
2538
2539         * gtk/gtk.def: Update.
2540
2541         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
2542         included.
2543         (gtk_rc_get_im_module_file): Use run-time installation directory
2544         on Win32.
2545
2546         * gdk/win32/rc/gdk.rc: Remove.
2547         * gdk/win32/rc/gdk.rc.in: New file.
2548         * gdk/win32/rc/Makefile.am: New file
2549         * gdk/win32/Makefile.am: Corresponding changes.
2550
2551         * gtk/gtk.rc: Remove.
2552         * gtk/gtk-win32.rc.in: New file.
2553         * gtk/Makefile.am: Corresponding changes.
2554
2555         * configure.in: Corresponding changes.
2556
2557         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
2558         has a built gtkcompat.h. Developers using CVS code on Win32 can
2559         hand-edit it from gtkcompat.h.in.
2560
2561         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
2562         gtkcompat.h from gtkcompat.h.win32.
2563
2564 2000-11-14  Havoc Pennington  <hp@redhat.com>
2565
2566         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
2567         to default to GDK_ACTION_MOVE if the drag is within a single
2568         widget. Defaults to GDK_ACTION_COPY between widgets.
2569
2570 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
2571
2572         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
2573
2574         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
2575
2576         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
2577         srcdir != builddir
2578
2579         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
2580
2581         * configure.in (GTK_VERSION): Up to 1.3.2
2582
2583         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
2584         gtkimcontextxim.h
2585
2586         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
2587         missing doc comment.
2588
2589 2000-11-14  Alexander Larsson  <alexl@redhat.com>
2590
2591         * modules/linux-fb/basic.c:
2592         Use the glib iconv wrappers.
2593
2594 2000-11-13  Havoc Pennington  <hp@pobox.com>
2595
2596         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
2597         still more bugs.
2598
2599         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
2600         scroll the GdkWindows before realization.
2601
2602 2000-11-13  Havoc Pennington  <hp@redhat.com>
2603
2604         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
2605         where GC didn't always get updated properly
2606
2607         * demos/gtk-demo/textview.c (create_tags): Use subattributes
2608         of fonts instead of setting the entire font
2609
2610         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
2611         setting entire font
2612
2613         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
2614
2615         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
2616         a bunch of individually-settable font attributes. You can still 
2617         use the "font" and "font_desc" args, they just set all the font
2618         attributes at once.
2619
2620 2000-11-13 Elliot Lee <sopwith@redhat.com>
2621
2622         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
2623
2624 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
2625
2626         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
2627         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
2628
2629         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
2630         work better.
2631
2632 2000-11-13  Havoc Pennington  <hp@redhat.com>
2633
2634         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
2635         the module file.
2636
2637         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
2638         dest->language
2639
2640         * gtk/testtext.c: Test pixels above/below/inside paragraphs
2641         settings
2642
2643         * gtk/gtktextview.c: Implement object args and setters/getters for
2644         all the aspects of the GtkTextAttributes that are not set from
2645         GtkWidget attributes. This is spacing, justification, margins,
2646         etc.
2647
2648         (gtk_text_view_set_arg)
2649         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
2650         args
2651         (gtk_text_view_class_init): Add args for justify, left_margin,
2652         right_margin, indent, and tabs
2653         
2654
2655         * gtk/gtktextlayout.c (set_para_values): fix to display indent
2656         attribute properly
2657
2658         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
2659         replace with indent attribute
2660
2661         * gtk/gtktextlayout.c (set_para_values): multiply indent by
2662         PANGO_SCALE
2663
2664         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
2665         rearranging code to do that
2666         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
2667         i.e. don't subtract the top_margin first, just to keep
2668         all margin-futzing in one place.
2669
2670         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
2671
2672         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
2673         special case of last line, Pango now handles this itself.
2674         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
2675         Y coordinate
2676         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
2677         (find_display_line_above): wasn't moving the byte index as it
2678         iterated over lines, so always returned byte 0. Also, port to use
2679         PangoLayoutIter.
2680         (find_display_line_below): same problem as
2681         find_display_line_above. Also, port to use PangoLayoutIter.
2682
2683 2000-11-13  Alexander Larsson  <alexl@redhat.com>
2684
2685         * gdk/linux-fb/*.[ch]:
2686         Massive reindent to gtk+ standard. My hands hurt.
2687
2688         * gdk/linux-fb/gdkcolor-fb.c:
2689         Move GdkColorPrivateFB from inherited to windowing_data
2690
2691         * gdk/linux-fb/gdkcursor-fb.c:
2692         _gdk_cursor_new_from_pixmap made static
2693
2694         * gdk/linux-fb/gdkdnd-fb.c:
2695         GdkDragContextPrivate moved to windowing_data
2696
2697         * gdk/linux-fb/gdkdrawable-fb2.c:
2698         Removed endian.h, use glib endianness macros instead
2699         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
2700         and GDK_DRAWABLE_IMPL_FBDATA
2701
2702         * gdk/linux-fb/gdkfont-fb.c:
2703         Add empty gdk_font_load(). Needed for linking of Gtk+.
2704
2705         * gdk/linux-fb/gdkimage-fb.c:
2706         Removed endian.h, use glib endianness macros instead
2707         Moved GdkImagePrivateFB to windowing_data
2708         gdk_image_new_bitmap didn't always allocate enough
2709         memory.
2710
2711         * gdk/linux-fb/gdkinput-ps2.c:
2712         Added semi-working support for MS serial mice.
2713
2714         * gdk/linux-fb/gdkprivate-fb.h:
2715         s/GdkWindowPrivate/GdkWindowObject/
2716         Removed GdkWindowPrivate typedef
2717         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
2718         Removed GDK_DRAWABLE_P
2719         Move GdkColorPrivateFB from inherited to windowing_data
2720         Moved GdkImagePrivateFB to windowing_data
2721
2722         * gdk/linux-fb/gdkvisual-fb.c:
2723         Removed some unused debug code.
2724
2725         * gdk/linux-fb/gdkwindow-fb.c:
2726         Use stock cursors instead of including X headers.
2727         s/GdkWindowPrivate/GdkWindowObject/
2728
2729         * gdk/linux-fb/mitypes.h:
2730         Removed unused types.
2731
2732         * modules/linux-fb/basic.c:
2733         Use the pango fribidi wrappers.
2734
2735 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2736
2737         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
2738         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
2739         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
2740         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
2741         GEqualFunc where applicable.
2742         
2743         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
2744         pango_font_description_equal as changed in pango.
2745         
2746         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
2747
2748         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
2749
2750         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
2751
2752         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
2753
2754         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
2755
2756         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
2757
2758         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
2759         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
2760
2761         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
2762         gtk_rc_styles_compare -> gtk_rc_styles_equal.
2763
2764 2000-11-12  Havoc Pennington  <hp@pobox.com>
2765
2766         * demos/gtk-demo/Makefile.am (democodedir): change demo install
2767         dir to datadir/gtk+-2.0/demo
2768
2769         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
2770         sorts of text widget and Pango font bugs. Urgh.
2771
2772         * demos/gtk-demo/Makefile.am (demos): Add textview.c
2773
2774         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
2775         tree that you should double click to see the demo. Fix 
2776         types of variables to reflect changed return values from 
2777         GtkTreeStore and GtkTreeViewColumn constructors.
2778
2779         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
2780         newly-created buffer to prepare for GObject semantics
2781
2782         * gtk/testtext.c: don't leak the buffer with GObject semantics
2783
2784         * gtk/testtextbuffer.c: ditto
2785         
2786 2000-11-12  Havoc Pennington  <hp@pobox.com>
2787
2788         Rename this testgtk to gtk-demo to avoid confusion, and 
2789         install it so people can use it as a supplement to 
2790         the documentation.
2791         
2792         * demos/gtk-demo: Moved from demos/testgtk
2793
2794         * demos/testgtk: Removed
2795
2796         * configure.in: make Makefile in gtk-demo
2797         
2798         * demos/gtk-demo/Makefile.am: Install sample source to 
2799         datadir/gtk-demo (maybe there's a better place?), and 
2800         rename the binary to gtk-demo
2801         
2802         * demos/gtk-demo/main.c (load_file): Load installed sample
2803         source if source isn't found in pwd.
2804
2805 2000-11-09  Havoc Pennington  <hp@pobox.com>
2806
2807         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
2808         argument to set the char displayed when visibility == FALSE
2809         (gtk_entry_create_layout): If !entry->visible, replace 
2810         all chars with the "invisible char"
2811
2812         * gtk/testgtk.c: Test the invisible_char deal
2813         
2814 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
2815
2816         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
2817         can't get a native font in the right encoding.
2818
2819 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
2820
2821         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
2822         respectively.
2823
2824 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
2825
2826         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
2827         Fix warning when moving between paragraphs.
2828
2829         * gtk/gtkentry.[ch]: Change move => move_cursor, 
2830         delete => delete_from_cursor, insert => insert_at_cursor
2831
2832 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
2833
2834         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
2835
2836         * modules/input/imthai-broken.c: A Thai input method for use if
2837         Thai keys are really generating Latin1 keysyms.
2838
2839         * modules/input/Makefile.am: Build these.
2840
2841 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
2842
2843         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
2844         g_filename_{to,from}_utf8 now takes an extra parameter.
2845
2846         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
2847         strftime into UTF-8.
2848
2849         (column_from_x, gtk_calendar_paint_day_names): Support RTL
2850         calendars.
2851
2852         (gtk_calendar_paint_day_names): Draw day names in the right 
2853         place.
2854         
2855 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
2856
2857         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
2858         problem with using result of g_get_charset() backwards -
2859         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
2860
2861         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
2862         negative min_width/height and max_width/height to
2863         mean "requisition"; this allows setting a window
2864         to be user-resizable in only one direction easily.
2865
2866         * gtk/testgtk.c (create_main_window): Remove hard-coded
2867         usize - set a default size in the vertical direction.
2868
2869 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
2870
2871         * gtk/gtkrange.c: Add some missing casts. Support 
2872         2 and 3 button clicks on the arrows to mean 
2873         "move by pages" and "jump to end". (Like gtkspinbutton)
2874
2875 2000-11-12 Hans Breuer <Hans@Breuer.Org>
2876
2877         * gdk/win32/makefile.msc : reflect build module changes
2878
2879         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
2880         from GdkPixmap*, cast implementation member instead.
2881
2882         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
2883         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
2884         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
2885         more Gdi functions return value checking. 
2886         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
2887         GdkImagePrivateWin32 *.
2888
2889         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
2890         menus useable again. Add #pragma message to keep reminded on this issue.
2891         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
2892         windows. This allows to enable backing store on Win32!
2893
2894         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
2895         in drawable is of impl type. Correct specific type checks appropriate.
2896  
2897         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
2898         GDK_WINDOW_DESTROYED before allocating new resources.
2899
2900         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
2901
2902         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
2903         (gdk_window_foreign_new) initialize parent handle.
2904         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
2905
2906         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
2907         Let the GDI invalidate the window on MoveWindow call to fix scrolling
2908         problems (e.g. main buttons in testgtk). 
2909
2910 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
2911
2912         * gtk/gtkentry.c (gtk_entry_key_press): Call 
2913         gtk_widget_activate for GDK_Return.
2914
2915         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
2916         of preedit cursor position.
2917
2918 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
2919
2920         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
2921         static.
2922
2923 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
2924
2925         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
2926         out support for multiple locales; that simple doesn't
2927         work reliably with current Xlib
2928
2929         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
2930         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
2931         Add support for positioning the cursor within the preedit string.
2932
2933 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
2934
2935         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
2936         at XIM input method module.
2937
2938         * gtk/gtktextview.c: Check for bindings after passing
2939         events to im context filter.
2940
2941 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
2942
2943         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
2944         empty attribute lists properly.
2945
2946 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
2947
2948         * gtk/queryimmodules.c (main): Return non-zero exit
2949         status if errors were encountered querying any
2950         modules.
2951
2952         * modules/input/Makefile.am (moduledir): remove
2953         leftover bin program target.
2954
2955         * docs/make-todo: Fix typo in error message.
2956
2957 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
2958
2959         * configure.in: Add modules/input/Makefile
2960
2961 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
2962
2963         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
2964         don't include gtkthemes.h.
2965
2966         * gtk/testgtk.c gtk/testtext.c: Set environment variables
2967         to point
2968
2969         * gtk/Makefile.am: Add new .c and .h files, build 
2970         gtk-query-immodules and use it to create a gtk.immodules
2971         file for use of test programs.
2972
2973         * gtk/gtkpreview.c: remove extra blank line.
2974
2975 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
2976
2977         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
2978         Add the ability to add extra tables beyond the default
2979         one, and also the ability to have compose sequences 
2980         that are prefixes of other compose sequences. 
2981
2982         * gtk/gtkimcontextsimple.c: Export a preedit string which
2983         consists of possible candidates for keystrokes that have
2984         been entered but not yet committed.
2985
2986         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
2987         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
2988
2989         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
2990         Add a function to add input-method switching menu items
2991         to a menu.
2992
2993         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
2994         when switching input methods.
2995
2996         * gtk/gtkimcontextsimple.[ch]: Change the format of
2997         the compose table to allow compose tables of different
2998         lengths / sequence.
2999
3000 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
3001
3002         * gtk/gtkimmodule.[ch]: Support routines for loading
3003         GtkIMContext implementations dynamically at runtime.
3004
3005         * modules/input/imcyrillic-translit.c: A sample input
3006         method (based on GtkIMContextSimple with an extra table),
3007         which demonstrates preedit strings and the module
3008         system for input modules
3009
3010         * gtk/queryimmodules.c: Program to query the available
3011         input modules and write the results into a file.
3012          
3013         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
3014         extra config options "im_module_file" (cache file for
3015         input method modules), and "im_module_path" - path
3016         to look for modules when generating cache file.
3017
3018         This doesn't scale.
3019
3020 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
3021
3022         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
3023         generic code from gtkthemes into a new abstraction
3024         GtkModule which has the logic for implementing
3025         a loadable module which implements a number of 
3026         GObject types.
3027
3028 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
3029
3030         * gtk/gtkeditable.[ch]: Convert GtkEditable from
3031         a class into an interface  
3032         
3033         * gtk/gtkoldeditable.[ch]: Move the old editable
3034         implementation into here, so legacy widgets can
3035         still rely on the implemenation. GtkOldEditable
3036         exports GtkEditable. Make selection handling
3037         code use new text conversion functions (and
3038         handle UTF-8 as a side-effect). Use GtkClipboard
3039         for CLIPBOARD.
3040
3041         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
3042         Adopt to match above changes.
3043
3044         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
3045         avoid GtkOldEditable implementation. Restructure
3046         to reduce number of places that modify state directly.
3047         Move to GtkBindingSet. Display the preedit string.
3048         Queue recomputation of PangoLayout and scroll position
3049         to improve effiency of doing complex changes naively.
3050         Add a menu with cut/copy/paste and input method selection.
3051
3052 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
3053
3054         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
3055         to set preedit string and attributes; display preedit string by
3056         inserting string and attributes at cursor when creating the
3057         GtkTextLineDisplay.
3058
3059         * gtk/gtktextlayout.c: Move all conversions between byte
3060         positions in PangoLayout and GtkTextIter into new functions
3061         line_display_iter_to_index/index_to_iter that properly
3062         handle the preedit string.
3063
3064         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
3065         it to return const char * (eventually will end up
3066         as GCONST char *, most likely.)
3067
3068         * gtk/gtktextview.[ch]: Handle the preedit string, call
3069         gtk_im_context_reset() as necessary, add a menu to switch
3070         input methods.
3071         
3072         * gtk/gtktextlayout.[ch]: Remove useless
3073         gtk_text_layout_get_log_attrs() function.
3074
3075 2000-11-11  Tor Lillqvist  <tml@iki.fi>
3076
3077         * gdk/gdk.def
3078         * gtk/gtk.def: Update.
3079
3080         * gdk/win32/*.c: Add last argument to g_type_register_static()
3081         calls.
3082
3083         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
3084
3085         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
3086         generated by older wheel mouse drivers. Get the correct y
3087         coordinate from WM_MOUSEWHEEL messages.
3088
3089         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
3090         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
3091         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
3092         Debugging functions.
3093
3094         * gdk/win32/gdkprivate-win32.h: Declare them.
3095
3096         * gdk/win32/gdkinput-win32.h: Add declaration for
3097         gdk_input_window_destroy().
3098
3099         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
3100
3101 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
3102
3103         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
3104         function to help handle keeping things in sync.
3105
3106 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
3107
3108         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
3109         BOXED marshallers.
3110
3111         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
3112         (gtk_list_store_class_init): use the new BOXED marshallers.
3113
3114         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
3115         new_with_values to new_with_types.
3116         (gtk_tree_store_get_column_type): add this.
3117         (gtk_tree_store_class_init): use the new BOXED marshallers.
3118
3119         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
3120         mirror some POINTER marshallers.
3121
3122 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
3123
3124         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
3125         allow more interesting iterators.  Also, made the lifecycle of
3126         iterators more explicit.
3127
3128         * gtk/gtktreemodelsort.[ch]: New model for sorting.
3129
3130         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
3131         types.
3132
3133 2000-11-09  Alexander Larsson  <alexl@redhat.com>
3134
3135         * demos/testgtk/menus.c:
3136         Changes to make the new testgtk compile after
3137         gtk_menu_append was removed.
3138
3139         * gdk/linux-fb/gdkdrawable-fb2.c
3140         (gdk_fb_get_depth, gdk_fb_get_visual,
3141         gdk_drawable_impl_fb_class_init): Implement
3142         these drawable functions. Now GtkImages work again.
3143
3144         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
3145
3146         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
3147         
3148         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
3149         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
3150         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
3151         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
3152
3153 2000-11-08  Havoc Pennington  <hp@pobox.com>
3154
3155         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
3156         visible_set args, don't know where these had gone, I thought they
3157         used to be there
3158
3159         * gtk/testtext.c: Add a menu item to apply invisibility tag;
3160         now we can test the feature and see that it's totally broken.
3161
3162 2000-11-08  Havoc Pennington  <hp@pobox.com>
3163
3164         Make DND copy pixbufs and tags when source and target share a 
3165         tag table.
3166         
3167         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
3168         in-process GTK_TEXT_BUFFER_CONTENTS target
3169         (gtk_text_view_drag_data_received): Paste from
3170         GTK_TEXT_BUFFER_CONTENTS if we receive it.
3171
3172 2000-11-08  Alexander Larsson  <alexl@redhat.com>
3173
3174         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
3175         API changes.
3176
3177         * gtk/gtkmenu.c: Add support for scrolling menus.
3178         Remove gtk_menu_append/prepend/insert, these have been moved to
3179         gtkcompat.h as #defines.
3180
3181         * gtk/gtkcompat.h.in:
3182         Add compatibility #defines for gtk_menu_append/prepend/insert
3183
3184         * gtk/gtkmenu.h: Add data needed for scrolling menus.
3185         GtkMenuPositionFunc gets an extra argument push_in.
3186         gtk_menu_append/prepend/insert removed.
3187         
3188         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
3189         positioning behaviour to fit to scrolling menus.
3190
3191         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
3192         into menuitem->submeny. That is wrong, and broke torn
3193         off submenus of torn off menus, since they were unrealized
3194         when the first menu was unrealized.
3195
3196         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
3197         gtk_menu_shell_select_item() since these need to be overridden in
3198         GtkMenu.
3199
3200         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
3201         positioning behaviour to fit to scrolling menus.
3202         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
3203         the current item so that it is prelighted when the menu pops up.
3204         This is a workaround to the fact that the menu doesn't get the
3205         initial enter event (due to grabs).
3206
3207         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
3208         s/gtk_menu_append/gtk_menu_shell_append/
3209
3210         * gtk/gtknotebook.c:
3211         s/gtk_menu_insert/gtk_menu_shell_insert/
3212
3213         * gtk/testgtk.c (create_menu, create_menus):
3214         Create the first menu with 50 items so that menu scrolling
3215         can be tested.
3216         
3217         
3218         Patch from Jonathan Blandford  <jrb@redhat.com>
3219
3220         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
3221         system to handle size requests.  First, we ask what the size of
3222         the toggle is.  Then, when allocating the size, we allocate the
3223         toggle_size first.  This way we can have multiple menu-item
3224         classes w/o needing a seperate class for each.
3225
3226         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
3227         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
3228
3229         * gtk/gtkcheckmenuitem.c
3230         (gtk_check_menu_item_toggle_size_request): New function to handle
3231         the toggle size-request.
3232
3233 2000-11-07  Havoc Pennington  <hp@redhat.com>
3234
3235         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
3236         Half-ass somewhat fix this function, so that scrolling to the
3237         insertion point works. Pango hacking is in the future to really
3238         fix it.
3239
3240         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
3241         length of data, no longer used.
3242
3243         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
3244         method contents in here, get rid of destroy method
3245         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
3246         that were backward. Remove debug spew.
3247         (cut_or_copy): Make the clipboard work with insert_range to
3248         preserve tags and pixbufs, not just the primary selection.
3249
3250 2000-11-07  Havoc Pennington  <hp@redhat.com>
3251
3252         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
3253         to gtk_text_mark_get_visible
3254
3255         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
3256         bug that was generating an invalid iterator
3257
3258         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
3259         ensure_char_offsets() in front of code placing the iter in an
3260         invalid state.
3261
3262         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
3263         make override_location arg const
3264         (paste): Replace the selection if we paste into the 
3265         current selection
3266
3267         * gtk/gtkselection.h: Remove "GtkSelectioData"
3268         (struct _GtkSelectionData): move the definition here.
3269
3270         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
3271         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
3272
3273         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
3274
3275         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
3276         (gtk_text_buffer_insert_range_interactive): implement
3277         (gtk_text_buffer_get_tags): Remove, replaced by
3278         gtk_text_iter_get_tags()
3279
3280         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
3281         limit parameter, to avoid infinite linear scan.
3282         (gtk_text_iter_backward_search): Add search limit
3283         (gtk_text_iter_forward_find_char): Add search limit
3284         (gtk_text_iter_backward_find_char): Add search limit
3285
3286 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
3287
3288         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
3289         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
3290         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
3291         gdk/linux-fb/gdkwindow-fb.c:
3292         use g_object_new() instead of g_type_create_instance() which
3293         is a private function for fundamental type implementations.
3294
3295         * gdk/linux-fb/gdkinput-ps2.c:
3296         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
3297         instead just store the current modifier state. Add a (somewhat broken)
3298         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
3299         Rename exported function gdk_input_ps2_get_mouseinfo to
3300         gdk_input_get_mouseinfo.
3301
3302         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
3303         gdk/linux-fb/gdkwindow-fb.c:
3304         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
3305         
3306
3307 2000-11-02  Havoc Pennington  <hp@redhat.com>
3308
3309         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
3310         use stock buttons. Should be 100% source compatible, appropriate
3311         filesel fields now point to dialog->vbox and dialog->action_area.
3312         On the bizarre side, dialog->action_area and filesel->action_area
3313         are not the same widget.
3314         (gtk_file_selection_init): Put some padding around the selection
3315         entry, so it isn't touching the GtkDialog separator.    
3316
3317         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
3318         use stock buttons, etc. Should also be source compatible.
3319         Set the dialog default title in _init not _new().
3320         
3321         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
3322         Use stock buttons; don't put a button box inside the existing
3323         dialog button box. Don't bother with push/pop colormap anymore.
3324
3325         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
3326         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
3327         for message dialog, and necessary for the font selection and color
3328         selection with help and apply buttons.
3329         
3330         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
3331         to the created button widget. Set GTK_CAN_DEFAULT on the button.
3332         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
3333         between buttons, put less padding around the action area.
3334         (gtk_dialog_run): Exit on unmap rather than on destroy. 
3335         This will also exit the loop if the widget is hidden.
3336         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
3337         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
3338         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
3339         special-case delete event.
3340
3341         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
3342         formatting
3343         
3344 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
3345
3346         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
3347         button to temporarily disable position recording in the
3348         "saved position" test.
3349
3350 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
3351
3352         * gtk/gtkthemes.c: added compat code that temporarily implements
3353         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
3354         going to be revamped by owen's upcoming GtkModule patches, but
3355         untill then people want gtk to build, right? ;)
3356
3357 2000-11-04  Havoc Pennington  <hp@pobox.com>
3358
3359         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
3360         list
3361
3362         * docs/Changes-2.0.txt: Add note about
3363         gtk_container_get_toplevels()
3364
3365         * gtk/gtktextview.h: formatting
3366         
3367         * gtk/gtktextview.c: don't start descriptions with "Returns",
3368         confuses gtk-doc
3369
3370 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
3371
3372         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
3373         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
3374
3375 2000-11-03  Havoc Pennington  <hp@redhat.com>
3376
3377         * gtk/gtktexttagtable.c: Docs
3378         (gtk_text_tag_table_size): return a signed int
3379
3380         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
3381         (gtk_text_tag_event): make the event_object a GObject
3382
3383         * gtk/gtktextview.c: Write API docs for all functions.
3384
3385         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
3386         for gtk_text_view_get_window_type() called on one of the private
3387         windows.
3388
3389         * gtk/gtktextview.c: Instead of accessing text_view->buffer
3390         directly, call get_buffer() which demand-creates a default
3391         buffer. So gtk_text_view_new() can be used to create a view with a
3392         default buffer in it, if you just want an empty text box users can
3393         put data in. Useful for GUI builders also.
3394
3395 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
3396
3397         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
3398         the charset encodign portion MUST be in lowercase.
3399         * gtk/gtkrc.az: added file for Azeri language
3400
3401 2000-11-03  Havoc Pennington  <hp@redhat.com>
3402
3403         Get widgets working on the btree/buffer side. Display of them 
3404         still doesn't work.
3405         
3406         * gtk/gtktextview.c: start implementing child widget stuff
3407
3408         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
3409
3410         * gtk/gtktextlayout.c: handle embedded widgets
3411
3412         * gtk/gtktextdisplay.c: handle embedded widgets
3413
3414         * gtk/gtktextchild.c: Implement all the child anchor goo
3415
3416         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
3417         function
3418
3419         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
3420         (insert_pixbuf_or_widget_segment): abstract out common portions of 
3421         creating a child anchor or a pixbuf segment.
3422         (gtk_text_btree_create_child_anchor): new function
3423         (gtk_text_btree_unregister_child_anchor): new function
3424
3425         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
3426         allocate_child signal on GtkTextLayout
3427
3428         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
3429         values
3430         (gtk_text_iter_get_child_anchor): new function
3431
3432         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
3433         default handler for the changed signal, which calls
3434         gtk_text_buffer_set_modified(), instead of just always emitting
3435         changed then calling set_modified() manually. I guess this is
3436         maybe more flexible. It seems logical.
3437
3438 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
3439
3440         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
3441         now.
3442
3443         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
3444
3445 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
3446
3447         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
3448         been marked static.
3449
3450 2000-11-02  Havoc Pennington  <hp@redhat.com>
3451
3452         * gtk/testgtk.c (create_labels): had a test backward
3453
3454         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
3455         fields, so the dest GC ends up with the correct clip origin, 
3456         etc. Fixes a bug where colored labels didn't redraw 
3457         properly.
3458
3459 2000-11-02  Alexander Larsson  <alexl@redhat.com>
3460
3461         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
3462         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
3463         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
3464         Add last argument to t_type_register_static call.
3465         
3466         * gdk/linux-fb/gdkdrawable-fb2.c:
3467         Add last argument to t_type_register_static call.
3468         export the get_image drawable virtual function.
3469
3470         * gdk/linux-fb/gdkimage-fb.c:
3471         Add last argument to t_type_register_static call.
3472         rename gtk_image_get to _gdk_fb_get_image and
3473         export it for use by gdkdrawable-fb2.
3474
3475         * gdk/linux-fb/gdkprivate-fb.h:
3476         export _gdk_fb_get_image.
3477
3478         * gdk/linux-fb/gdkselection-fb.c:
3479         Add new api call stubs.
3480
3481         * gtk/Makefile.am:
3482         Missing ( in linux-fb part.
3483
3484         * modules/linux-fb/Makefile.am:
3485         Must link with gdk_pixbuf or get unresolved symbol.
3486
3487 2000-11-01  Havoc Pennington  <hp@pobox.com>
3488
3489         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
3490         GTK_TYPE_TEXT_ITER and BOXED marshallers
3491
3492         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
3493
3494         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
3495         
3496         * gtk/gtk-boxed.defs: add GtkTextIter
3497
3498         * gtk/gtkmarshal.list: Add marshallers for text widget that 
3499         properly use OBJECT and BOXED
3500
3501 2000-11-01  Havoc Pennington  <hp@redhat.com>
3502
3503         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
3504
3505         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
3506         before returning it. 
3507         
3508 2000-11-01  Havoc Pennington  <hp@redhat.com>
3509
3510         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
3511         Clip the rectangle to be rendered to the drawable, since
3512         get_from_drawable() requires a region within the drawable
3513
3514 2000-11-01  Havoc Pennington  <hp@redhat.com>
3515
3516         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
3517         from coordinates.
3518
3519 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
3520
3521         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
3522         it isn't NULL.
3523
3524 2000-11-01  Havoc Pennington  <hp@pobox.com>
3525
3526         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
3527         on a label
3528         (gtk_label_finalize): unref the attr list if any.
3529
3530         * gtk/testgtk.c (create_get_image): close test on second click
3531         (make_message_dialog): close dialog if it exists
3532
3533         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
3534
3535         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
3536         gdk-pixbuf
3537
3538         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
3539         from Pango markup format
3540         (gtk_label_set_markup_with_accel): ditto but with accelerator
3541         parsing
3542
3543         * gtk/gtkimage.c (gtk_image_expose): reformatting.
3544
3545         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
3546         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
3547         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
3548         call gdk_window_get_origin().
3549
3550         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
3551         implement GDK_PIXBUF_ALPHA_FULL
3552         
3553 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
3554
3555         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
3556         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
3557         g_signal_handlers_disconnect_matched to block/unblock and disconnect
3558         multiple handlers respectively, instead of only treating the
3559         first handler found (bug reported by owen).
3560
3561 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
3562
3563         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
3564
3565         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
3566
3567         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
3568         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
3569         gtk/gtktreeviewcolumn.h: Fixed inline docs.
3570
3571         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
3572         widget.  Needs writing someday.
3573
3574         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
3575         the docs.
3576
3577 2000-10-30  Havoc Pennington  <hp@redhat.com>
3578
3579         * gtk/gtktextview.h, gtk/gtktextview.c:
3580         Rename delete_at_cursor delete_from_cursor, and 
3581         move to move_cursor.
3582
3583 2000-10-30  Havoc Pennington  <hp@redhat.com>
3584
3585         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
3586         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
3587         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
3588         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
3589         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
3590         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
3591         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
3592         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
3593         gtktexttypes.h, gtktextview.c, gtktextview.h:
3594
3595         Massive reindentation and reformatting. Arg alignment and comments
3596         still need fixing in various places.
3597
3598 2000-10-30  Havoc Pennington  <hp@redhat.com>
3599
3600         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
3601         to be named insert_at_cursor and delete_at_cursor so C++ can
3602         handle them.
3603
3604 2000-10-28  Tor Lillqvist  <tml@iki.fi>
3605
3606         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
3607         to get a double directory separator in case the home directory
3608         ends with one. This would cause trouble especially on Windows,
3609         where the path will be confused with the syntax for an an UNC
3610         (network share) path \\server\share\path.
3611         (gtk_rc_add_initial_default_files): Ditto.
3612
3613 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
3614
3615         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
3616
3617         * gtk/gtktextview.c: Use correct marshallers.
3618
3619 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
3620
3621         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
3622         use new iter stuff, and added all the appropriate signals et al.
3623
3624         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
3625         code is internal to gtk only.
3626
3627 2000-10-28  Tor Lillqvist  <tml@iki.fi>
3628
3629         * gtk/gtk.def
3630         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
3631         glib-genmarshal etc.
3632
3633 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
3634
3635         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
3636         parallel builds.
3637
3638 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
3639
3640         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
3641
3642 2000-10-27  Robert Brady  <robert@suse.co.uk>
3643
3644         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
3645         en_GB (British), ia (Interlingua).
3646
3647 2000-10-26  Havoc Pennington  <hp@redhat.com>
3648
3649         * gtk/gtktextiter.c (my_strrstr): fix constness warning
3650
3651         Fixed output of:
3652         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
3653         
3654         * gtk/gtktextsegment.c (char_segment_new): rename
3655         (_char_segment_new_from_two_strings): rename
3656         (_toggle_segment_new): rename
3657         
3658         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
3659         (make_clipboard_widget): make it static
3660         (text_get_func): static
3661         (text_clear_func): static
3662
3663         * gtk/gtkcolorsel.c (adjustment_changed): make this function
3664         static
3665         (hex_changed): make it static
3666         (hsv_changed): make it static
3667         (opacity_entry_changed): make it static
3668
3669         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
3670         (toggle_segment_check_func): rename with _gtk
3671
3672         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
3673         (_widget_segment_new): rename
3674         (_widget_segment_add): rename
3675         (_widget_segment_remove): rename
3676         (_widget_segment_ref): rename
3677         (_widget_segment_unref): rename
3678
3679         * gtk/gtktextmark.c (_mark_segment_new): Rename
3680         _gtk_mark_segment_new   
3681
3682 2000-10-26  Havoc Pennington  <hp@redhat.com>
3683
3684         * gtk/gtkmarshal.list: add new marshallers used by the text widget
3685         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
3686         types
3687
3688         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
3689         marshaller types
3690
3691         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
3692         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
3693         license on these files.
3694
3695         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
3696         work.
3697
3698         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
3699         runtime random number different for each tree, instead of 
3700         a constant I made up.
3701
3702 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
3703
3704         * gtk/Makefile.am: buncha cleanups, kludged build sources
3705         dependencies with a Makefile: oldest-source-stamp dependancy
3706         for the moment. automake is really fighting us here, with
3707         intentionally not allowing user-defined rules or dependancies
3708         prior to it's -include $(DEP_FILES) statement. sucks rocks!
3709
3710         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
3711         to public headers. tehy have a comment stating that they are
3712         "semi-public" aren't included by gtk.h and if enums popup there,
3713         they can be /*< skip >*/-ed.
3714
3715         * gtk/gtktextlayout.h: 
3716         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
3717         added LGPL... <SIGH>
3718
3719 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
3720
3721         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
3722         GtkTreeIter.  Added iterators everywhere.
3723
3724         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
3725
3726         * gtk/gtktreeviewselection.c: Changed to use the iterators.
3727
3728         * gtk/gtktreestore.c: Changed to use the iterators.
3729
3730         * gtk/gtkliststore.c: Commented out the code.  Will convert to
3731         iterators tomorrow.
3732
3733         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
3734         iterators tomorrow.
3735
3736         * gtk/treestoretest.c: Changed to use iterators.
3737
3738         * demos/testgtk/main.c: Moved to use the new iterator system.
3739
3740 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
3741
3742         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
3743         localization misbehaviour.
3744
3745         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
3746         a useless type without copy/free.
3747
3748         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
3749         of GTK_TYPE_CTREE_NODE.
3750
3751 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
3752
3753         * gtk/gtksignal.c:
3754         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
3755         applicable.
3756
3757         * gtk/gtk-boxed.defs (GtkSelectionData): specify
3758         gtk_selection_data_copy and gtk_selection_data_free
3759         do GtkSelectionData work as params in signals.
3760
3761 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
3762
3763         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
3764         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
3765         couldn't they at least give it a non-standard name?
3766         
3767         * gtk/gtktextlayout.c: arg! yet another implementation of
3768         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
3769
3770         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
3771         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
3772         home. now i know this _is_ a conspiracy.
3773
3774         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
3775         ::state-changed.
3776
3777         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
3778         (gtk_accel_group_create_add): marshaller signature fixups.
3779
3780         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
3781         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
3782
3783         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
3784         anymore.
3785
3786 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
3787
3788         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
3789         due to the signal system changes, it wouldn't build currently. to
3790         be fixed soon.
3791
3792         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
3793
3794         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
3795         so it needs gtk_marshal_VOID__ENUM() instead of
3796         gtk_marshal_NONE__UINT().
3797
3798         * gdk/gdk*.c: adapted type registration functions.
3799
3800         * gtk/gtkbindings.c:
3801         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
3802         gone.
3803
3804         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
3805
3806         * gtk/gtkobject.c:
3807         (gtk_object_destroy):
3808         (gtk_object_shutdown): fixed recursion guards. basically we have to
3809         catch the case where any of GObject.shutdown() or gtk_object_destroy()
3810         is called during ::destroy, and avoid recursion there.
3811
3812         * gtk/gtktypeutils.c:
3813         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
3814         boxed_copy/boxed_free. this needs a more general solution based on a
3815         publically installed code-generator utility.
3816
3817         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
3818         glib's gobject has support for that now.
3819         define GtkSignalMarshaller in terms of GSignalCMarshaller.
3820
3821 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
3822
3823         * gtk/gtksignal.[hc]:
3824         * gtk/gtkmarshal.[hc]:
3825         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
3826         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
3827         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
3828         care of that.
3829
3830         * *.c: marshaller name fixups.
3831
3832         * gtk/gtkmarshal.list: added a comment briefing the format.
3833
3834 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
3835
3836         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
3837         compatibility macros here now. more specifically, most of
3838         the API is preserved (yes, _most_, nonwithstanding the
3839         following exceptions listed, the API is stil lHUGE ;)
3840         things that got removed completely:
3841         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
3842         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
3843         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
3844         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
3845         gtk_signal_remove_emission_hook().
3846         non-functional functions variants:
3847         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
3848         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
3849         not supported anymore.
3850         (gtk_signal_compat_matched): new internal function to aid
3851         implementation of the compatibility macros, it  provides
3852         functionality to block/unblock/disconnect handlers based
3853         on func/data.
3854
3855         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
3856
3857         * *.c: adaptions to new type registration API signatures.
3858
3859 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
3860
3861         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
3862
3863 2000-10-25  Robert Brady  <robert@suse.co.uk>
3864
3865         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
3866         gdk_property_delete): If window == NULL, assume the root window.
3867         (restoring the behaviour that was in 1.2).
3868         
3869         * gtk/testtext.c (save_buffer): Allow creation of new files when
3870         saving.
3871
3872         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
3873         calls to read().
3874
3875 2000-10-25  Tor Lillqvist  <tml@iki.fi>
3876
3877         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
3878
3879         * gdk/win32/gdkdrawable-win32.c
3880         * gdk/win32/gdkimage-win32.c
3881         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
3882         X11 backend.
3883
3884         * gdk/win32/gdkcc-win32.c
3885         * gdk/win32/gdkcolor-win32.c
3886         * gdk/win32/gdkfont-win32.c
3887         * gdk/win32/gdkinput-win32.c
3888         * gdk/win32/gdkmain-win32.c
3889         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
3890
3891 2000-10-24  Havoc Pennington  <hp@redhat.com>
3892
3893         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
3894         it a static function
3895
3896         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
3897         redraw text when a tag is applied to it.
3898
3899         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
3900         (gtk_text_tag_affects_nonsize_appearance): private functions to
3901         see if a tag requires various kinds of redraw/layout to be queued
3902         up.
3903
3904         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
3905
3906         * gtk/testtext.c (fill_example_buffer): Put the cursor 
3907         at the start of the buffer, so search works by default
3908
3909         * gtk/gtktextiter.c (lines_match): init match_start always
3910
3911         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
3912         function, get iter at a line + a byte index
3913
3914         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
3915         to set byte position within a line
3916         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
3917
3918 2000-10-23  Havoc Pennington  <hp@redhat.com>
3919
3920         * gtk/testtext.c: Re-enable the "find" dialog
3921
3922         * gtk/testgtk.c: Add test for gdk_drawable_get_image
3923         
3924         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
3925         the arguments to gdk_draw_drawable were in the wrong order
3926         (gdk_window_paint_init_bg): This function was ignoring the
3927         init_region, instead of clipping to it, so the entire backing
3928         pixmap was cleared on every begin_paint()
3929         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
3930         was in here again, the loop kept using the same GtkWindowPaint
3931         over and over.
3932         (gdk_window_begin_paint_region): Fix a bug where we had two
3933         x_offset instead of x_offset and y_offset
3934
3935         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
3936         before we get the image.
3937         (gdk_draw_drawable): get the composite before we draw the drawable.
3938         (gdk_drawable_real_get_composite_drawable): default
3939         get_composite_drawable implementation that returns the drawable 
3940         itself
3941
3942         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
3943         get_composite_drawable virtual function
3944
3945         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
3946         list-walking bug
3947
3948         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
3949         make this work if the source drawable is a GdkDrawableImplX11
3950         instead of a public drawable type. This is really broken; the
3951         problem is that GdkDrawable needs a virtual method get_xid(), but
3952         of course that doesn't work in practice. Enter RTTI.
3953
3954         Also, improve mismatched depth message.
3955
3956         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
3957         GdkPixmap
3958
3959         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
3960         install _gdk_x11_get_image as our implementation of get_image
3961         
3962         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
3963         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
3964
3965         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
3966         gdk_drawable_get_image
3967
3968         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
3969
3970         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
3971         get_image
3972
3973         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
3974         trailing semicolon after for loop
3975
3976 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
3977
3978         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
3979         where font_desc for widget's context lagged widget's font_desc by
3980         one step.
3981
3982 2000-10-22  Tor Lillqvist  <tml@iki.fi>
3983
3984         * gdk/win32/gdkgc-win32.c
3985         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
3986
3987         * gtk/makefile.mingw.in
3988         * gtk/gtk.def: Updates.
3989
3990         * gtk/testgtk.c: sleep() is called _sleep in MS's C
3991         library.
3992
3993         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
3994
3995         * gtk/makefile.msc: Remove
3996
3997         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
3998
3999         * gtk/Makefile.am: Add it.
4000
4001         * configure.in: Generate it.
4002
4003         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
4004         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
4005         something even if not implemented, to satisfy picky MSVC.
4006
4007         Patches by Hans Breuer:
4008         
4009         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
4010         SetBkMode() and SetTextAlign() before calling
4011         pango_win32_render().
4012
4013         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
4014         Set hcliprgn to NULL after destroying it.
4015         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
4016
4017         * gdk/win32/gdkgeometry-win32.c
4018         (_gdk_windowing_window_queue_antiexpose): More effective
4019         implementation.
4020
4021         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
4022         depth as default, not the visual's.
4023
4024         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
4025         against empty title.
4026
4027         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
4028         IMAGE_PRIVATE_DATA.
4029
4030         * gdk/win32/gdkimage-win32.c: Use it.
4031
4032 2000-10-22  Robert Brady  <robert@suse.co.uk>
4033
4034         * configure.in: Check for bind_textdomain_codeset
4035
4036         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
4037         present, make use of it.
4038
4039         Add a translatable string "default:LTR" which, if translated
4040         to "default:RTL", will cause the default direction to be
4041         Right-to-Left.
4042
4043         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
4044         direction if marked as flippable.
4045
4046         * gtk/gtkhscale.c: Mark widget as flippable.
4047         
4048 2000-10-04  Havoc Pennington  <hp@redhat.com>
4049
4050         * gtk/testgtk.c (create_buttons): create some stock buttons
4051         with the default accel group
4052         (create_image): test some new GtkImage features
4053         (make_message_dialog): test GtkMessageDialog
4054         (create_modal_window): fix someone's bizzarro indentation
4055
4056         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
4057         GTK_WIN_POS_CENTER_ON_PARENT. 
4058         Add "destroy with parent" setting, which means the window goes
4059         away with its transient parent.
4060         (gtk_window_get_default_accel_group): get the default accel group
4061         for the window.
4062         (gtk_window_set_destroy_with_parent): set/unset destroy with
4063         parent flag
4064         (gtk_window_read_rcfiles): invalidate icon set caches
4065         after reloading rcfiles 
4066
4067         * gtk/gtkenums.h (GtkWindowPosition): add
4068         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
4069         on its parent window when the dialog is mapped for the first time.
4070
4071         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
4072         a simple message dialog class
4073         
4074         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
4075         handler to emit response signal, and maybe later it would
4076         honor a hide_on_delete flag - though that isn't there yet.
4077         Set border width on the vbox to 2, so we get some padding.      
4078         Use a button box for the action area.
4079         (gtk_dialog_key_press): synthesize a delete event if Esc
4080         is pressed and the GtkWidget key press handler didn't 
4081         handle the escape key.
4082         (gtk_dialog_new_with_buttons): new function creates a dialog
4083         with some default buttons in it.
4084         (gtk_dialog_add_action_widget): add an activatable widget
4085         as a button in the dialog - you can also add a non-activatable
4086         widget by accessing the action area directly.
4087         (gtk_dialog_add_button): add a simple button - stock ID or 
4088         label - to the action area
4089         (gtk_dialog_response): emit response signal
4090         (gtk_dialog_run): block waiting for the dialog, return 
4091         the response. Override normal delete_event behavior, so that 
4092         delete_event does nothing inside gtk_dialog_run().
4093
4094         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
4095         emitted when an action widget is clicked or the dialog gets
4096         delete_event
4097
4098         * gtk/gtk.h: add gtkmessagedialog.h
4099
4100         * gtk/Makefile.am: add gtkmessagedialog.[hc]
4101
4102 2000-10-18  Havoc Pennington  <hp@redhat.com>
4103
4104         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
4105         where any number of empty lines would get skipped
4106
4107         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
4108         edge.
4109
4110         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
4111         warning about invalid iterators (explain more thoroughly)
4112         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
4113
4114         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
4115         big
4116
4117         * demos/*.c: Add error handling
4118
4119         * gtk/gtktextbuffer.c: don't modify const iterators
4120
4121         * gtk/gdk-pixbuf-loader.c: Add full error handling here
4122
4123         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
4124         on file load
4125
4126         * gtk/gtkiconfactory.c: Update to reflect addition of error
4127         handling to gdk-pixbuf loaders
4128
4129 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
4130
4131         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
4132         move to new modularized testgtk.
4133
4134 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
4135
4136         * gtk/gtktreeview.c: Draw the arrows correctly.
4137
4138         * gtk/gtktreemodel.c: Added user docs.
4139
4140         * gtk/gtk.h: remove gtktreedatalist.h.
4141
4142         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
4143         parent when generating my type.
4144
4145         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
4146         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
4147
4148 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
4149
4150         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
4151         GtkTreeModel from object to interface.
4152
4153 2000-10-16  Havoc Pennington  <hp@redhat.com>
4154
4155         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
4156         compilation
4157
4158 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
4159
4160         * gtk/gtktreeselection.c: Add API documentation to all public
4161         functions.
4162
4163         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
4164         functions.
4165
4166 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
4167
4168         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
4169         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
4170         docs to all public functions.
4171
4172         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
4173         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
4174         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
4175         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
4176         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
4177         issue.
4178
4179 2000-10-14  Robert Brady  <robert@suse.co.uk>
4180
4181         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
4182
4183 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
4184
4185         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
4186         values other then G_TYPE_STRING.
4187         * gtk/gtktreeselection.c: Minor commenting updates.
4188         * gtk/gtktreeview.c: Format updates.
4189
4190 2000-10-09  Tor Lillqvist  <tml@iki.fi>
4191
4192         * README.win32: Update.
4193
4194         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
4195         lines that had been deleted by mistake (?).
4196
4197         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
4198         also the case fg==white and bg==black (but still not randomly
4199         coloured cursors). Thanks to Wolfgang Sourdeau.
4200
4201         * gdk/win32/*.c: Silence gcc -Wall.
4202
4203         * gtk/gtk.def: Add missing entry points.
4204
4205         Fixes by Hans Breuer:
4206
4207         * gdk/makefile.msc
4208         * gdk/win32/makefile.msc: Update.
4209
4210         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
4211         some MSVC thing, presumably), cause breakpoint on failures. Add
4212         GDK_NOR case. Call g_log_set_always_fatal.
4213
4214         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
4215         should be pased by reference.
4216         
4217         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
4218         
4219         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
4220
4221         * gdk/win32/gdkevents-win32.c
4222         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
4223
4224         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
4225         implementation object.
4226
4227         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
4228         not just windows.
4229         
4230         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
4231         Use the wrapper object.
4232         
4233 2000-10-06  Havoc Pennington  <hp@redhat.com>
4234
4235         * Makefile.am (SRC_SUBDIRS): contrib subdir
4236
4237         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
4238         so it can be used in Xlib version
4239
4240         * demos/testpixbuf.c (update_timeout): error checking from 1.0
4241         tree
4242
4243         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
4244         change from 1.0 tree that returns first frame of animation
4245         if the loaded file is an animation.
4246
4247         * contrib: add new directory to hold stuff that comes with GTK+
4248         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
4249         
4250         * configure.in: add contrib/*
4251
4252 2000-10-05  Havoc Pennington  <hp@redhat.com>
4253
4254         * demos/testpixbuf-save.c: add pixbuf save test
4255
4256         * demos/Makefile.am: add testpixbuf-save.c
4257
4258 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
4259
4260         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
4261         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
4262         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
4263         * gtk/gtktreeselection.[ch]: Replaced
4264         "node_selected"/"node_unselected" signal with "selection_changed"
4265         signal.
4266
4267 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
4268
4269         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
4270         tree widget.
4271
4272 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
4273
4274         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
4275         drawing.
4276
4277 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
4278
4279         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
4280         Move list pointer forwards before removing item from
4281         list. (Crash reported by Salmaso Raffaele)
4282
4283         * gdk/gdkwindow.h: Remove spurious trailing ,
4284
4285         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
4286         dependencies on uninstalled libraries, sorry folks.
4287
4288 2000-10-04  Havoc Pennington  <hp@redhat.com>
4289
4290         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
4291         gtk/gtkiconfactory.c: Fix copyrights    
4292
4293         * demos/testpixbuf.c: add inline pixbuf test
4294         
4295 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
4296
4297         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
4298         Add gdk_window_iconify.
4299
4300         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
4301         (gdk_window_set_geometry_hints): Add win_gravity
4302         to geometry structure.
4303
4304         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
4305         Implement _NET_WM_PING.
4306
4307         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
4308         Set _NET_WM_PID on the client leader.
4309
4310         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
4311         Handle UTF-8 better.
4312
4313         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
4314         UTF-8 better, set _NET_WM_NAME as well. Only set
4315         icon name if it hasn't previously been explicitely 
4316         set.
4317
4318 2000-10-03  Havoc Pennington  <hp@redhat.com>
4319
4320         * gtk/testtextbuffer.c: clean up trailing whitespace,
4321         add extensive tests for tag toggle iteration.
4322         
4323         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
4324         distance
4325
4326         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
4327         optimize case where the tag root is on level 1
4328         (gtk_text_line_previous_could_contain_tag): attempt to implement
4329         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
4330         functionality
4331
4332         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
4333         Implement this, though not very efficiently.
4334
4335         * gtk/gtktextiterprivate.h: reformat
4336
4337         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
4338         iterator
4339
4340         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
4341         this to properly revalidate the iterators.
4342
4343         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
4344         properly at the end of the line (and therefore on empty lines)
4345
4346         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
4347         maybe we should return a value...
4348
4349 2000-10-03  Tor Lillqvist  <tml@iki.fi>
4350
4351         * config.h.win32: Guard definition of alloca(). glib.h now handles
4352         that.
4353
4354         * gdk/gdk.def
4355         * gtk/gtk.def: Add new entry points.
4356
4357         Changes just to make GTK+ build without errors on Win32. No hope
4358         of it working in its current state, though...:
4359         
4360         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
4361         some functions from the X11 backend, just to make GTK+ build.
4362
4363         * gdk/makefile.mingw.in
4364         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
4365         number. Add new object files.
4366
4367         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
4368         GetMessageTime to get timestamp (where on X11 uses
4369         gdk_x11_get_server_time()).
4370
4371 2000-10-02  Havoc Pennington  <hp@pobox.com>
4372
4373         * gtk/gtktextview.c: text_window_* weren't static and should have
4374         been.
4375         Start work on child widgets; not yet complete, syncing to 
4376         office computer.
4377
4378         * gtk/gtktextchild.h: change this to contain a public interface,
4379         starting work on child interfaces.
4380         * gtk/gtktextchildprivate.h: move private interfaces here
4381
4382         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
4383
4384         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
4385         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
4386         gtk/gtktextmark.c: copyright notices
4387
4388         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
4389         internal functions      
4390
4391         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
4392         internal function
4393
4394         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
4395         Reformatting    
4396
4397 2000-09-30  Havoc Pennington  <hp@pobox.com>
4398
4399         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
4400         NULL start/end pointers
4401
4402         * gtk/gtktextbuffer.c: Write some docs
4403         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
4404         NULL, so you can just check whether there's a selection.        
4405
4406         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
4407         cleanup_line or segments_changed ourselves, it gets done 
4408         in unlink_segment
4409
4410         * gtk/gtktextmark.h:
4411         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
4412         
4413         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
4414
4415         * gtk/gtktextmark.c: delete some more old Tk cruft
4416
4417         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
4418         mark before removing it, so we can emit MARK_DELETED with a valid
4419         pointer.
4420         (gtk_text_buffer_mark_set): hold ref across signal emission
4421
4422         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
4423         whining about attempts to delete special marks
4424
4425         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
4426         underscore, since it's internal.
4427
4428         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
4429         now implemented in terms of iterators in gtktextiter.h
4430
4431         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
4432         New function, destructively sets contents of buffer. Also 
4433         a convenient way to clear the buffer by setting text to ""
4434
4435         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
4436         multiline string literal
4437
4438         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
4439         text changes.
4440
4441         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
4442         is not dereferenceable
4443         (gtk_text_iter_forward_lines): fix return value
4444
4445 2000-09-29  Havoc Pennington  <hp@redhat.com>
4446
4447         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
4448
4449         * gtk/gtktextview.c: Implement drag thresholding; change functions 
4450         that set border window size to have nicer name
4451         (gtk_text_view_mark_set_handler):  Fix this to have the 
4452         right signature.
4453
4454         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
4455
4456         * gtk/testtext.c: Update with API changes, put line numbers on 
4457         both sides.
4458         
4459         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
4460         with this
4461
4462         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
4463         pixbuf; delete a big block of #if 0 Tk code
4464
4465         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
4466         insert_pixmap with insert_pixbuf
4467
4468 2000-09-29  Martin Baulig  <baulig@suse.de>
4469
4470         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
4471         confusion with the GdkPixbuf of the GNOME 1.x platform.
4472
4473 2000-09-29  Havoc Pennington  <hp@pobox.com>
4474
4475         * gtk/gtktextview.c: Implement the side windows.
4476
4477         * gtk/testtext.c: Implement simple line numbering in the 
4478         left side window; seems to make scrolling sloooow. Oops.
4479         Also, cursor blink is for some reason causing redraws
4480         of the line numbers. Should investigate...
4481
4482 2000-09-28  Havoc Pennington  <hp@redhat.com>
4483
4484         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
4485         scrolling child windows, and draw focus rectangle properly.
4486         
4487         (gtk_text_view_buffer_to_window_coords):
4488         Coordinate transformation to deal with all these freaking windows
4489         and offsets
4490         (gtk_text_view_window_to_buffer_coords): transform the other way
4491
4492         * gtk/testtext.c (create_buffer): Update to match Pango API change
4493
4494         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
4495         anonymous tags
4496         (foreach_unref): don't emit remove signal from finalize, just
4497         set tag's parent to NULL
4498
4499 2000-09-26  Havoc Pennington  <hp@redhat.com>
4500
4501         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
4502         Fix some warnings       
4503
4504 2000-09-26  Havoc Pennington  <hp@redhat.com>
4505
4506         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
4507         headers into the private header list
4508
4509         * Makefile.am (pkgconfig_DATA): install pkg-config files
4510
4511         * configure.in: add pkg-config files
4512
4513         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
4514
4515         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
4516         outstanding icon caches on theme change.
4517
4518         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
4519         important types:
4520
4521         (GtkIconSource): Specification for creating a pixbuf 
4522         appropriate for a direction/state/size triplet from 
4523         a source pixbuf or filename
4524
4525         (GtkIconSet): List of GtkIconSource objects that are used to
4526         create the "same" icon (e.g. an OK button icon), and cache for
4527         rendered icons
4528
4529         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
4530         up the icon set for a given stock ID.  GTK maintains a stack of
4531         GtkIconFactory to search, and applications or libraries can add
4532         additional icon factories on top of the stack
4533         
4534         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
4535         the set of GtkIconSource specified for a given stock ID into 
4536         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
4537         RcStyle, under the specified stock ID.
4538
4539         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
4540         render_icon used to derive a GdkPixbuf from a GtkIconSource.
4541         This allows people to theme how prelight, insensitive, etc. are
4542         done.
4543
4544         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
4545         icon factories for a style, and return the resulting 
4546         icon set if any.
4547
4548         (gtk_style_render_icon): Render an icon using the render_icon 
4549         method in the GtkStyleClass.
4550
4551         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
4552         Use the style for a given widget to look up a stock ID, get the
4553         icon set, and render an icon using the render_icon method 
4554         of the style
4555
4556         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
4557         (contains information about a stock item), the built-in stock item
4558         IDs, and functions to add/lookup stock items.
4559
4560         * gtk/stock-icons/*: Stock icons that come with GTK
4561
4562         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
4563         a button based on a GtkStockItem
4564         (gtk_button_new_accel): Takes a uline string and accel group, and
4565         installs the accelerator.
4566
4567         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
4568         image-display widget.
4569
4570 2000-09-25  Havoc Pennington  <hp@redhat.com>
4571
4572         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
4573
4574         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
4575         Fix a bug when removing node data, we didn't properly 
4576         re-splice the linked list after removing the data.
4577
4578         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
4579         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
4580
4581         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
4582
4583         * gtk/gtktextlayout.c (set_para_values): Set tab array 
4584         for the layout from the GtkTextTag.
4585
4586         * gtk/gtktexttypes.h: delete tab and search cruft, 
4587         remove g_convert() in favor of GLib version
4588
4589         * gtk/gtktexttypes.c: remove tab implementation from here,
4590         move to Pango
4591
4592         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
4593         tab stuff using new PangoTabArray from Pango
4594
4595         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
4596         unused border_width stuff
4597
4598 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
4599
4600         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
4601         glib) and now useless utf_to_latin1() latin1_to_utf()
4602
4603         * gtk/gtktextview.[ch]: Change ::move_insert and
4604         ::delete_text action signals to ::move and ::delete;
4605         create the signals with the right enumeration type,
4606         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
4607         C-v bindings, change Home, End to move to beginning/end
4608         of line, Add C-Home C-End to move to beginning/end
4609         of buffer. Change ::cut_text to ::cut_clipboard, etc;
4610         combine ::scroll_text into ::move; use new GtkSelectionData
4611         functions to simplify DND text handling.
4612         
4613         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
4614         deletion enumerations here, rename enumeration values to 
4615         be consistently plural.
4616
4617         * gtk/gtktextbuffer.c: Use new clipboard interfaces
4618         for cut/copy/paste and primary selection.
4619
4620         * gtk/gtktextbuffer.[ch]: Remove excess time and
4621         'interactive' arguments from cut/copy/paste;
4622         rename cut to cut_clipboard, etc; remove
4623         gtk_text_buffer_get_clipboard_contents().
4624
4625         * gtk/gtktextlayout.[ch]: Add 
4626         gtk_text_layout_move_iter_to_line_end() to move the iter to 
4627         line ends.
4628
4629         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
4630         Functions to set or get a UTF-8 string on the selection
4631         data.
4632
4633         * gtk/gtkclipboard.[ch]: New, simplified selection handling
4634         interfaces.
4635
4636         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
4637         created widgets - one of these is useless if we don't.
4638
4639         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
4640         a public function clear all targets registered for the
4641         widget.
4642
4643         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
4644         Never call gtk_widget_realize() - that was just asking
4645         for bizarre side-effects.
4646
4647         * gtk/gtkselection.c (gtk_selection_owner_set): Call
4648         gdk_selection_owner_set even if the widget is the
4649         same so that we reliably update the timestamp on
4650         the server.
4651
4652         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
4653         gdk_x11_get_server_time() function.
4654         
4655         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
4656         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
4657         Add some tricky filtering on serial numbers for
4658         selection clear events to fix up long-standard
4659         race condition FIXME's in gtkselection.c.
4660
4661         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
4662         routines to convert from utf8 to compound text or
4663         STRING and from a text property to UTF-8.
4664
4665         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
4666         a convenience function gdk_get_current_event_time().
4667
4668         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
4669         and free selection_data->data properly
4670
4671 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
4672
4673         * gtk/gtkthemes.c: Remove some unecessary includes.
4674
4675 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
4676
4677         * gtk/gtktextdisplay.c
4678         * gtk/gtktextlayout.c
4679         * gtk/gtktexttag.c
4680         * gtk/gtktexttag.h
4681         * gtk/testtext.c: Change the overstrike property to strikethrough,
4682         to closer match pango.
4683
4684 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
4685
4686         * gtk/gtktextview.c: Fix up visibility so that focus,
4687         cursor_visible and blink interact properly.  Reenable cursor blink
4688         which had been roughly disabled. Make blink and focus
4689         properly per-view.
4690
4691         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
4692         Add a flag for whether to display insertion cursor and
4693         a function to set the flag.
4694
4695         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
4696         get_line_y() to get_line_yrange(), to be a bit more generally
4697         useful.
4698
4699 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
4700
4701         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
4702           do stop_navigating_submenu, to clear last timeout properly.
4703           Also in gtk_menu_motion_notify move ignore_enter above
4704           the conditional to make it always happen as suggested by Owen
4705
4706 2000-09-07  Tor Lillqvist  <tml@iki.fi>
4707
4708         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
4709
4710         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
4711         w32api headers.
4712
4713         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
4714         declarations.
4715
4716         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
4717         (gdk_win32_get_colormap): A line had been deleted by mistake.
4718
4719         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
4720         (gdk_event_translate): Handle more virtual keycodes to be able to
4721         generate GDK events for Control-comma, Control-period, etc.
4722
4723         * gtk/gtk.def: Add some missing entry points.
4724
4725 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
4726
4727         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
4728         Doc comment fixing. (Mostly non-matching parameter names.)
4729
4730         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
4731         comments a little to avoid looking like a doc comment.
4732
4733         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
4734         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
4735         conversions be changed to GError?)
4736
4737         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
4738         Move private #defines into .c file.
4739
4740         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
4741         order of argument addition, remove duplicates.
4742
4743         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
4744         parent class is FrameClass, not BinClass.
4745
4746         * gtk/gtk.h: Add gtkinvisible, which was missing.
4747         (It's occasionalyl useful for client apps, if seldom.)
4748
4749         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
4750         #define.
4751
4752 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
4753
4754         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
4755         coordinates when creating window, instead of GDK-space
4756         coordinates. (Avoid BadValue on too large windows.)
4757
4758 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4759
4760         * configure.in (use_mmx_asm): Remove conftest* after use along the
4761         lines of AC_TRY_COMPILE.        
4762         
4763         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
4764         of g_dirname, which is deprecated.
4765         (gtk_rc_parse_any): Removed calls to
4766         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
4767
4768         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
4769         Removed calls to g_hash_table_{freeze,thaw}, as they are
4770         deprecated now.
4771
4772         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
4773         instead of g_basename.
4774         
4775 2000-09-04 Elliot Lee <sopwith@redhat.com>
4776         
4777         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
4778         ANSI warning.
4779
4780 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
4781
4782         * gtk/gtkwidget.h:  Add some documenting comments about 
4783           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
4784           just as owen said on irc.
4785
4786         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
4787           set HAS_DEFAULT.  Only set it if there isn't another window
4788           holding it (a focus window which RECEIVES_DEFAULT) and only unset
4789           it if the widget is not the focused window with RECEIVES_DEFAULT.
4790           This fixes weird double default bugs in dialogs which has things
4791           call gtk_window_set_default at times.
4792
4793 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
4794
4795         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
4796         Nils Barth and David Santiago to improve submenu
4797         navigation. The patch does this by creating a triangular
4798         region from the point where the pointer leaves the
4799         menu to the submenu.  While the pointer is in
4800         that region and a timeout has not expired, events 
4801         that would cause the active submenu to change are
4802         ignored.
4803
4804 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
4805
4806         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
4807         moving a toplevel window immediately after sizing it would
4808         result in it being sized back to the old size since 
4809         impl->width, impl->height aren't updated until we hear
4810         back from the server. There is still a (longstanding) bug
4811         here that gdk_window_get_size() will give the wrong size
4812         until we do hear back.
4813
4814 2000-08-31  Havoc Pennington  <hp@redhat.com>
4815
4816         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
4817         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
4818         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
4819         Rename GtkTextStyleValues to GtkTextAttributes
4820
4821 2000-08-31  Havoc Pennington  <hp@pobox.com>
4822
4823         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
4824         for rapid testing whether an iterator is the end iterator
4825         (gtk_text_btree_new): init end line cache
4826         (gtk_text_line_is_last): use fast cached line to 
4827         see if we're the last line.
4828         (get_last_line): use cached line here too, should 
4829         speed up some random unrelated code.
4830         
4831 2000-08-30  Havoc Pennington  <hp@pobox.com>
4832
4833         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
4834         signals.
4835
4836         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
4837         delete_text signals. This allows the signals to be used for
4838         implementing undo.
4839
4840         * gtk/gtktextbuffer.c: Change signal handler signatures; 
4841         provide "interactive" argument when emitting insert_text or
4842         delete_text signal.
4843         
4844 2000-08-30  Havoc Pennington  <hp@pobox.com>
4845
4846         * gtk/gtktextbuffer.c: Docs
4847
4848 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
4849
4850         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
4851         from switch statements, since Tor removed the enumeration
4852         value.
4853         
4854         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
4855         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
4856
4857 2000-08-29 Elliot Lee <sopwith@redhat.com>
4858         * */*.h: Use G_GNUC_CONST.
4859
4860 2000-08-27  Havoc Pennington  <hp@pobox.com>
4861
4862         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
4863         minor indentation fixes, inserted some FIXME about stuff I
4864         realized was broken while documenting it.
4865         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
4866         GTK convention  
4867
4868 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
4869
4870         * gtk/testgtk.c (create_styles): Fix double free of
4871         font desc.
4872
4873 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
4874
4875         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
4876         
4877         * gtk/testgtk.c (create_styles): Add a test for modifying
4878         the style through gtk_widget_modify_*.
4879
4880         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
4881         a function to get the current modifier style.
4882
4883         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
4884         of the passed in GtkRcStyle instead of ref'ing it.
4885
4886         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
4887
4888 2000-08-20  Tor Lillqvist  <tml@iki.fi>
4889
4890         * gdk/gdkimage.h
4891         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
4892         shared memory image+pixmap GdkImage type, or
4893         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
4894         I am dropping that.
4895
4896         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
4897         actually call gtk_init_abi_check(), passing also
4898         sizeof(GtkWindow). Ditto for gtk_init_check(). 
4899
4900         * gtk/gtk.def
4901         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
4902         New functions, used to check that the GTK+-using code has been
4903         compiled using the correct compiler and switches. In particular,
4904         with gcc one has to use the -fnative-struct switch as GTK+ is
4905         compiled with that.
4906
4907 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
4908
4909         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
4910         ->prev fields when merging lists. (Found simultaneously
4911         by Pawel Salek and Jakub Jelinek)
4912
4913 2000-08-12  Tor Lillqvist  <tml@iki.fi>
4914
4915         * gdk/gdk.def
4916         * gtk/gtk.def: Add missing entries.
4917
4918         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
4919         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
4920
4921         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
4922         function. Dummy implementation at this point.
4923
4924         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
4925         rules. Undefine GTK_COMPILATION when compiling the test programs.
4926         
4927         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
4928
4929 2000-08-11  Tor Lillqvist  <tml@iki.fi>
4930
4931         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
4932         to convert back and forth from UTF-8 and the "system" (or "current
4933         locale") charset when necessary. Indentation/spacing cleanup.
4934
4935 2000-08-10  Havoc Pennington  <hp@redhat.com>
4936
4937         * Makefile.am (snapshot): Change the format of the snapshot
4938         version to match glib
4939
4940         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
4941         from EXTRA_DIST since it doesn't seem to exist
4942
4943 2000-08-10  Tor Lillqvist  <tml@iki.fi>
4944
4945         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
4946         version of the directory name (not the UTF-8 one) when building
4947         the path name to stat().
4948
4949 2000-08-03  Elliot Lee  <sopwith@redhat.com>
4950
4951         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
4952         PANGO_ATTR_SHAPE set.
4953
4954 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
4955
4956         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
4957         Peter Osterlund to simplify the code while keeping the
4958         functionality the same.
4959
4960 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
4961
4962         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
4963         is_viewable() test further inside the function, since removing the 
4964         window from the redraw list without clearing ->update_area
4965         was also very broken.
4966
4967 2000-08-02  Tor Lillqvist  <tml@iki.fi>
4968
4969         * configure.in: Check for <unistd.h>.
4970
4971 2000-08-01  Martin Baulig  <baulig@suse.de>
4972
4973         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
4974         to display the message that this is a development version of GTK+.
4975
4976 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
4977
4978         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
4979         was depending on widget->allocation instead of the width of text_area,
4980         which was incorrect for subclasses like GtkSpinButton.
4981
4982         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
4983         with width == 1 tests that should be width == -1.
4984
4985 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
4986
4987         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
4988         (broken, Elliot, every single window blank on X) custom code with call
4989         to gdk_window_is_viewable() which a) prevents code duplicate and
4990         b) works. 
4991
4992 2000-07-31  Elliot Lee  <sopwith@redhat.com>
4993
4994         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
4995         to get the GDK_PARENT_ROOT() macro to work.
4996         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
4997         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
4998         of, windows that aren't shown.
4999         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
5000         pointer grab stuff.
5001
5002 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
5003
5004         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
5005           s/gtk_main_iteration/g_main_iteration/
5006
5007           Did this already in change:
5008                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
5009           don't know how it got reverted.
5010
5011 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
5012
5013         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
5014         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
5015
5016         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
5017         not gdk_pixbuf.
5018
5019 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
5020
5021         * configure.in,po/{sp,sr}.po: Added Serbian files
5022
5023 2000-07-30  Tor Lillqvist  <tml@iki.fi>
5024
5025         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
5026
5027         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
5028         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
5029         GIOChannel implementation.
5030
5031         * gdk/win32/gdkinput.c
5032         * gdk/win32/gdkpango-win32.c: Update license name here, too.
5033
5034         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
5035         definition to match prototype.
5036
5037         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
5038
5039 2000-07-27  Elliot Lee  <sopwith@redhat.com>
5040
5041         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
5042         function, to allow handling image formats that cannot be detected
5043         by looking at content alone.
5044
5045 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
5046
5047         * docs/tutorial/*.gif *.jpg *.eps
5048           Update these to the same look-n-feel.
5049           Why does including images in DocBook suck so badly?
5050
5051 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
5052
5053         * gtk/gtktable.c: applied patch from Phil Thompson
5054         <phil@river-bank.demon.co.uk> that enables space settings for
5055         the last row/columns as well.
5056
5057 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
5058
5059         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
5060         updates the license headers to the GNU Lesser General Public License,
5061         as well as updating the copyright year to 2000.
5062
5063 2000-07-26  Robert Brady  <rwb197@zepler.org>
5064
5065         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
5066           and po/Makefile, was installing and looking for them under gtk20
5067           and gtk2 respectively.
5068
5069 2000-07-25  Havoc Pennington  <hp@redhat.com>
5070
5071         * gtk/testtext.c: Comment out some stuff that depends on the rest
5072         of my patches.
5073
5074 2000-07-25  Havoc Pennington  <hp@redhat.com>
5075
5076         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
5077         buffer
5078
5079 2000-07-25  Havoc Pennington  <hp@redhat.com>
5080
5081         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
5082         widget changes.
5083
5084         * gtk/gtktextview.h: To be consistent with usage of "line"
5085         throughout the API to mean "newline-terminated thingy", change
5086         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
5087         to MOVEMENT_LINE.
5088
5089         (GtkTextView): Add flags for default editability, and whether to
5090         show the cursor. Add functions to get/set that. Add 
5091
5092         (gtk_text_view_get_iter_location): new function
5093
5094         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
5095         gtktextlayout.h
5096         (g_convert): Add g_convert temporarily, will go in glib in a bit
5097         
5098         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
5099         GtkTextTagTableForeach instead of brokenly using GHFunc.
5100         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
5101
5102         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
5103         moved to public header.
5104
5105         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
5106         "invisible", since "elide" was a bad name.
5107         (gtk_text_tag_get_priority): Added
5108
5109         (GtkTextStyleValues): put this in public header, along with
5110         functions to use it.
5111
5112         * gtk/gtktextmarkprivate.h: Include more headers, since we no
5113         longer include gtktextbtree.h.
5114
5115         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
5116         gtk_text_mark_deleted
5117
5118         * gtk/gtktextlayout.h: Don't include the "really private" headers,
5119         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
5120         to make this possible. Now we only need to install
5121         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
5122         (However the Makefile.am isn't changed yet because of the
5123         logistics of merging gtk-hp-patches piecemeal)
5124
5125         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
5126         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
5127         gtk_text_iter_get_line is now used in the public API for a
5128         different purpose.
5129
5130         * gtk/gtktextiter.h: Clean up function names to be more
5131         consistent. Always call char offset "offset" and byte index
5132         "index". A "line" is always a line number. 
5133
5134         (gtk_text_iter_is_last): new function, more efficient than 
5135         the existing way to check
5136         (gtk_text_iter_is_first): new function, also more efficient
5137
5138         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
5139
5140         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
5141         gtk_text_iter_forward_char, etc.
5142
5143         (gtk_text_iter_forward_to_tag_toggle): Renamed from
5144         forward_find_tag_toggle, since this isn't a linear search
5145
5146         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
5147
5148         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
5149         New functions, search for a buffer substring.
5150
5151         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
5152         interactive and default editable (since we need to store that info
5153         until we receive the selection data).
5154
5155         Remove all the _at_char and at_line etc. versions of functions;
5156         only have iterator versions.
5157
5158         Add _interactive() versions of functions, that consider the
5159         editability of text. (FIXME add interactive flag to the 
5160         insert/delete signals per Darin's suggestion)
5161
5162         (gtk_text_buffer_get_tag_table): new function, demand-creates the
5163         tag table if necessary
5164
5165         Remove declaration of gtk_text_buffer_get_iter_from_string
5166
5167         (_gtk_text_buffer_get_btree): private/internal function, added.
5168         
5169
5170         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
5171         (gtk_text_line_is_last): new function
5172
5173 2000-07-25  Havoc Pennington  <hp@redhat.com>
5174
5175         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
5176         using GtkProgressBar. See Changes-2.0.txt for details.
5177
5178         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
5179         "pulse_step" which are the equivalent of
5180         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
5181         Implement new API.
5182         
5183         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
5184         (use_text_format) to mark whether text set on the progress bar is
5185         a format string. Deprecate entire GtkProgress interface.
5186
5187         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
5188         (gtk_progress_build_string): make this a no-op if use_text_format
5189         is FALSE
5190
5191         * docs/Changes-2.0.txt: Describe progress bar changes.
5192
5193 2000-07-25  Tor Lillqvist  <tml@iki.fi>
5194
5195         * Makefile.am: Include the build directory.
5196
5197         * configure.in: Generate build/Makefile, build/win32/Makefile,
5198         gdk/, gdk/win32/, and gtk/makefile.mingw.
5199
5200         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
5201         Add GETTEXT_PACKAGE.
5202         
5203         * gdk/gdk.def
5204         * gtk/gtk.def: Updates.
5205
5206         * gdk/gdkfont.h
5207         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
5208         need them any longer.
5209
5210         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
5211
5212         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
5213         PANGOWIN32_LIBS and gdk_pixbuf.
5214
5215         * gdk/win32: Compiles, but no doubt doesn't work at all.
5216
5217         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
5218
5219         * gdk/win32/gdkinput.c: New file, temporarily.
5220         
5221         * gdk/win32/gdkinput-win32.h: New file
5222
5223         * gdk/win32/gdkinputprivate.h: Remove.
5224
5225         * gdk/win32/gdkpango-win32.c: New file.
5226
5227         * gtk/makefile.mingw.in: New file
5228
5229         * gtk/makefile.cygwin: Removed
5230         
5231         * gtk/Makefile.am: Update accordingly.
5232
5233         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
5234         made externally visible.
5235
5236         * gtk/gtkmain.c: Use it.
5237         
5238         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
5239         is enough.
5240
5241         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
5242
5243 2000-07-24 Elliot Lee <sopwith@redhat.com>
5244         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
5245         individual backends already.
5246         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
5247         again. Yes, there really is a good reason for this, if you are using the gdkregion
5248         internals, and if you're not, why do you care?
5249         * gdk/gdkwindow.c: Fix inverted condition
5250         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
5251         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
5252         * gtk/gtkrange.c: Redraw trough when moving.
5253         * gtk/gtktypeutils.c: Fix warning by adding const cast.
5254         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
5255
5256 2000-07-23  Tor Lillqvist  <tml@iki.fi>
5257
5258         * configure.in: Check for mkstemp and sigsetjmp. Output
5259         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
5260
5261         More work on GDK for Win32. Still in an intermediate state.
5262
5263         * gdk/makefile.cygwin
5264         * gdk/win32/makefile.cygwin: Removed.
5265         
5266         * gdk/makefile.mingw.in
5267         * gdk/win32/makefile.mingw.in: New files.
5268
5269         * gdk/Makefile.am
5270         * gdk/win32/Makefile.am: Generate and distribute them.
5271
5272         * gdk/win32/gdkwindow-win32.h
5273         * gdk/win32/gdkdrawable-win32.h
5274         * gdk/win32/gdkpixmap-win32.h: New files.
5275
5276         * gdk/win32/gdkcolor-win32.c
5277         * gdk/win32/gdkcursor-win32.c
5278         * gdk/win32/gdkdrawable-win32.c
5279         * gdk/win32/gdkgc-win32.c
5280         * gdk/win32/gdkimage-win32.c
5281         * gdk/win32/gdkprivate-win32.h
5282         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
5283         Rename fields and variables called xcursor, xid, etc (these names
5284         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
5285
5286 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
5287
5288         * gtk/gtkentry.[ch]: Fix some problems with vertical
5289         alignment.
5290
5291         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
5292         char/byte confusion.
5293
5294 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
5295
5296         * gtk/gtktextview.c (changed_handler): Fix bug where
5297         redraw wasn't being done properly when height of
5298         dirty region changed.
5299
5300         * demos/Makefile.am: Remove various references to
5301         -lgmodule
5302
5303 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
5304
5305         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
5306         PangoAttrShape to reserve space for pixmaps, add 
5307         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
5308         in the display functions.
5309         
5310         * gtk/testgtk.c (create_layout): Set some more exotic
5311         scrolled window options
5312
5313         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
5314         Add function to set the shadow type of a window, to allow
5315         putting a shadow around widgets such as GtkLayout or GnomeCanvas
5316         which don't draw their own frame.
5317
5318 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
5319
5320         * docs/tutorial/package-db-tutorial.sh: New file for
5321           packaging DocBook format tutorial
5322
5323 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
5324
5325         * docs/tutorial/gtk-tut.sgml: Minor updates
5326
5327         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
5328
5329 2000-07-19  Tor Lillqvist  <tml@iki.fi>
5330
5331         * gtk/gtksignal.c: Fix C++ comment.
5332
5333         * gtk/gtkimmulticontext.c
5334         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
5335         don't return value from void functions.
5336
5337         * gtk/gtk.def: Add gtk_rc_style_unref.
5338
5339 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5340
5341         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
5342         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
5343         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
5344         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
5345         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
5346         gtk/gtktypeutils.h: Include files outside of the extern "C"
5347         block. Makes some C++ compiler happy. Reported by Denis Vakatov
5348         <vakatov@peony.nlm.nih.gov>.
5349
5350 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
5351
5352         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
5353           Completes first pass. Hurrah!
5354
5355 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
5356
5357         * docs/tutorial/gtk-tut.sgml: More clean ups.
5358
5359 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
5360
5361         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
5362         paint the background of the text area which was accidentally
5363         removed at some point.
5364
5365         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
5366           
5367          - Move most of the functionality from the theme vtable
5368            into GtkRcStyleClass and GtkStyleClass. The moved
5369            vtable functions were changed a bit in the move to
5370            work better in their new home.
5371
5372          - Get rid of the engine and engine_data fields from
5373            GtkRcStyle and GtkStyle; instead the theme
5374            engine derives theme-specific subclasses of GtkRcStyle
5375            and GtkStyle
5376
5377          - Add extra dlsym() found entry point to themes,
5378            theme_create_rc_style().
5379
5380         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
5381         in gtk_style_real_copy.
5382
5383         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
5384         to register a type associated with an engine. (The engine
5385         won't be unloaded as there is an instance of the type.)
5386
5387
5388 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
5389
5390         * docs/tutorial/gtk-tut.sgml: Clean ups.
5391
5392 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
5393
5394         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
5395           of cleaning up to do.
5396
5397 2000-07-15  Tor Lillqvist  <tml@iki.fi>
5398
5399         * gdk/testgdk.c: New file, quick hack to test backends for
5400         pixel-by-pixel correctness of the most simple graphic operations.
5401
5402 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
5403
5404         * Really release 1.3.1
5405         
5406         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
5407         include structure.
5408
5409 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
5410
5411         * Released 1.3.1
5412
5413 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
5414
5415         * gtk/gtktextlayout.c: use FALSE for size_only most
5416         of the time when calling gtk_text_layout_get_line_display()
5417         to avoid causing double reshapes when a redraw follows
5418         immediately after.
5419
5420 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
5421
5422         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
5423         appropriate region and gdk_window_process_updates() so trough
5424         updating doesn't lag behind the window being scrolled.
5425
5426         * gdk/gdkgc.c: Make parent_class pointer static.
5427          
5428 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
5429
5430         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
5431         include <string.h>.
5432          
5433         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
5434         cut-and-paste error in computing memory offset for 4 channels.
5435
5436 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
5437
5438         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
5439         gtk_rc_append_default_pixmap_path(), since it wasn't
5440         adding an interesting path and we don't have a meaningful
5441         default for this value.
5442
5443 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
5444
5445         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
5446         gtk-config to gtk-config-2.0 move gtk_.m4 to
5447         gtk-2.0.m4
5448
5449         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
5450         gdk/Makefile.am demos/Makefile.am: Change 
5451         library names to libgtk-1.3.la, etc, so that we
5452         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
5453
5454         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
5455         gdk/Makefile.am gdk/x11/Makfile.am
5456         Move include files into /usr/include/gtk-2.0, 
5457         /usr/lib/gtk-2.0/include/
5458          
5459         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
5460         gtk/gtkintl.h: Change package for gettext from 
5461         gtk+ to gtk20. Put hack in autogen.sh to modify
5462         po/Makefile.in.in after gettextize to make this
5463         possible.
5464
5465         * gtk+.spec: Some updates, not tested.
5466
5467         * gdk-pixbuf/Makefile.am: Move loaders into
5468         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
5469
5470         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
5471         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
5472         to THEMENAME/gtk-2.0/. Move engine directory  to
5473         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
5474         
5475 2000-07-12  Tor Lillqvist  <tml@iki.fi>
5476
5477         Win32 changes, still doesn't build though.
5478
5479         * gdk/makefile.cygwin
5480         * gdk/win32/makefile.cygwin
5481         * gtk/makefile.cygwin: Updates.
5482
5483         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
5484         default values for fg and bg pixel as X11 does (0 and 1), not
5485         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
5486         Use 0 for pen width by default (treated as 1 anyway later, but for
5487         apps that might check the value in the GdkGC).
5488         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
5489         interface to gdk_gc_predraw and _postdraw.
5490
5491         * gdk/win32/gdkwin32.h
5492         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
5493
5494         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
5495         extraneous semicolon.
5496
5497         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
5498
5499         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
5500         not the Win32 bitspixel value.
5501
5502         * gdk/win32/gdkcc-win32.c:
5503         * gdk/win32/gdkcolor-win32.c 
5504         * gdk/win32/gdkprivate-win32.h
5505         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
5506         GDK object structure.
5507
5508 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
5509
5510         * docs/tutorial/gtk_tut_12.es.sgml (name): 
5511         * docs/tutorial/gtk_tut_it.sgml (name): 
5512         * docs/tutorial/gtk_tut_fr.sgml (name): 
5513         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
5514         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
5515
5516 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
5517
5518         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
5519           small changes.
5520
5521 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
5522
5523         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
5524         a bug here, never been here and never fixed anything ;(
5525         (don't segfault if tree->root_tree is NULL, which happens prior
5526         to widget realization, but puke instead).
5527
5528 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
5529
5530         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
5531         add the necessary tokens.
5532
5533         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
5534         (gtk_rc_style_to_style): copy thicknesses.
5535         (gtk_rc_init_style): apply thicknesses.
5536         (gtk_rc_parse_style): parse xthickness and ythickness.
5537
5538         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
5539
5540         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
5541         (gdk_window_new): 
5542         (_gdk_windowing_window_init): 
5543         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
5544         (gdk_pixmap_create_from_data): 
5545         (gdk_bitmap_create_from_data): 
5546         (gdk_pixmap_new): 
5547         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
5548         (gdk_image_new): 
5549         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
5550         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
5551         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
5552         (gdk_colormap_get_system): 
5553         (gdk_colormap_new): 
5554         * gdk/gdkwindow.c (gdk_window_init): 
5555         * gtk/gtkstyle.c (gtk_style_new):
5556         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
5557         * gdk/gdkpixmap.c (gdk_pixmap_init): 
5558         * gtk/gtkrc.c (gtk_rc_style_new):
5559         use g_object_new() instead of g_type_create_instance() which
5560         is a private function for fundamental type implementations.
5561
5562 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
5563
5564         * configure.in: Add check for db2html
5565
5566 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
5567
5568         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
5569         hack to set glib_debug_objects based on gtk_debug_flags.
5570
5571 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
5572
5573         * INSTALL.in: Update the Prerequisites section.
5574
5575         * Makefile.am demos/Makefile.am docs/Makefile.am
5576         docs/tutorial/Makefile.am gdk/x11/Makefile.am
5577         gdk/linux-fb/Makefile.am: Dist fixes
5578
5579 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
5580
5581         * NEWS: 10,000 foot view of 1.3.1 changes.
5582
5583 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
5584
5585         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
5586         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
5587         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
5588         gdk/x11/gdkmain-x11.c: 
5589
5590         Patch from George Lebl to add a GdkGrabStatus enumeration to use
5591         as a return value of gdk_*_grab(). Previously, we just
5592         returned the X11 values directly.
5593
5594 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
5595
5596         * gdk/x11/Makefile.am: Patch from George Lebl to 
5597         install all the headers in the right place.
5598
5599 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
5600
5601         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
5602           initial conversion to DocBook.
5603
5604 2000-07-04  Tor Lillqvist  <tml@iki.fi>
5605
5606         * README.win32: Improve a bit.
5607
5608         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
5609         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
5610         Alt+0nnn on the numpad (used to enter characters by numeric code
5611         from current DOS or ANSI codepage) working correctly, as in other
5612         Windows apps.
5613
5614         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
5615         same argument validity tests as in X11 version.
5616         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
5617
5618         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
5619         definitions in case missing from headers.
5620
5621         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
5622         destroy the window-specific cursor.
5623         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
5624         calling GetModuleHandle(NULL).
5625         (gdk_window_set_cursor): Reworked to always copy the passed cursor
5626         with CopyCursor before setting it as the window-specific
5627         cursor. It is OK for the caller to destroy the GdkCursor (and thus
5628         also its Windows cursor) after calling this function. Destroy any
5629         previous window-specific cursor.
5630
5631 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
5632
5633         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
5634         font charset is iso8859-1, not iso-8859-1.
5635
5636 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
5637
5638         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
5639         Use g_get_charset() instead of g_get_codeset().
5640
5641         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
5642         Comment out some strdup'ing functions to keep timj
5643         happy until we finish fighting this out.
5644
5645 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
5646
5647         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
5648         <= width or height.
5649
5650         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
5651         from 1.2 for parent/child states.
5652
5653         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
5654         of typos.
5655
5656         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
5657         event structures, replace with a generic axes field. Replace 
5658         deviceid/sourec with GdkDevice *device.
5659
5660         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
5661         to extract particular axis use value from event. (Also
5662         can be used for normal X/Y.)
5663
5664         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
5665         allow for arbitrary number of axes, namespace everything
5666         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
5667         everywhere.
5668
5669         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
5670         Get rid of the gdk_input_vtable setup if favor of simply
5671         defining the functions in gdkinput-none/gxi/xfree.c in
5672         a similar fashion to the way that the port structure is 
5673         done.
5674
5675         * gtk/gtkdnd.c: Fix fields of synthesized button press event
5676         for new event structures. 
5677
5678         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
5679         new device interfaces.
5680
5681 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
5682
5683         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
5684         set the initial text.
5685
5686         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
5687         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
5688         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
5689         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
5690
5691         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
5692         pango_layout_set_font_description to simplify.
5693
5694 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
5695
5696         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
5697         pango_layout_set_font_description to simplify.
5698
5699 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
5700
5701         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
5702         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
5703         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
5704
5705         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
5706         PANGO_PIXELS() macro.
5707
5708 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
5709
5710         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
5711         that returns a PangoContext owned by the widget and updated to
5712         match future changes in the widget. Also, make 
5713         gtk_widget_create_pango_layout() use this context. If we ever
5714         add a ::changed signal to PangoContext, this will make things
5715         much more convenient. 
5716
5717         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
5718         in the appropriate places instead of destroying the layouts and
5719         creating new ones.
5720
5721         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
5722         in a few strategic places.
5723
5724 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
5725
5726         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
5727         gtk_widget_size_request() on reparented child, if one. Otherwise,
5728         queue_resize() on the child never results in it getting size-requested
5729         at all.
5730
5731         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
5732         in option menus, so that (with luck) people won't copy it into
5733         their apps in the future.
5734
5735         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
5736         to gtk_option_menu_calc_size. This isn't perfect, but should fix
5737         a lot of problems with changing the size of the menu's menu
5738         items after adding it to the option menu.
5739
5740         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
5741
5742         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
5743         the text direction for a widget changes.
5744
5745         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
5746         ::direction_changed to get rid of various hacks.
5747
5748 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
5749
5750         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
5751         name.
5752
5753 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
5754
5755         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
5756         flag to the structure. Do not call XFreePixmap on pixmaps created
5757         by gdk_pixmap_foreign_new().
5758
5759 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
5760
5761         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
5762         value using GdkRGB functionality given GdkColormap and GdkColor.
5763         (name not final, waiting for inspiration.)
5764         
5765         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
5766         set the foreground/background of a GC using the GC's colormap
5767         and GdkRGB. (name not final, waiting for inspiration.)
5768
5769         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
5770         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
5771
5772         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
5773         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
5774         purely a function of the corresponding colormap. Make
5775         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
5776
5777         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
5778         gdk_pixbuf_*create_from_xpm_* in terms of
5779         gdk_pixbuf_new_from_xpm_data(), move into platform independent
5780         code.
5781
5782         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
5783         advantage of the new draw_rgb_32_image_dithalign.
5784
5785         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
5786
5787         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
5788         on each created GC.
5789
5790         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
5791
5792         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
5793         which we initialize from the drawable when the GC is created,
5794         if the drawable has a colormap.
5795
5796         * gdk/x11/gdkgc-x11.c: include string.h for memset.
5797
5798         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
5799
5800         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
5801
5802 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
5803
5804         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
5805         actually returning expose events, make sure to set
5806         the count field properly.
5807
5808         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
5809         accidentally reintroced bug which always cleared
5810         the graphics_exposures value. 
5811
5812 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
5813
5814         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
5815
5816 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
5817
5818         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
5819
5820 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
5821
5822         * docs/faq/gtk-faq.sgml: Start of Section 6.
5823
5824 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
5825
5826         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
5827         
5828         (Fixes problem with drawing childless frames. Pointed out
5829         by and a first patch from Anders)
5830         
5831         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
5832         compute a child_allocation, even if we don't have a child.
5833
5834         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
5835         Always chain to the parent's impl, even if we don't have a child.
5836
5837 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
5838
5839         * gdk/gdkrgb.c: If possible, create only a single shm segment and
5840         use multiple parts of it instead of creating a bunch of separate
5841         segments, since the maximum number of segments per system is not
5842         large. (This might be worth backporting to GTK+-1.2.x if we make a
5843         new release )
5844
5845         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
5846         structure in preparation for per-colormap GdkRGB.
5847
5848         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
5849         to False when we get EINVAL from shmget so that the caller of
5850         gdk_image_new can retry with a smaller segment size.
5851
5852 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
5853
5854         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
5855
5856 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
5857
5858         * configure.in: make the current version number 1.3.1 (binary age 0,
5859         interface age 0).
5860         
5861         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
5862         gtkcompat.h is all we want.
5863
5864         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
5865         GLib primitive types. fixed g_type_register_fundamental() argument
5866         ordering.
5867
5868         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
5869         compiles.
5870
5871         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
5872         object code cleanup, comment trigraph fixes, etc...
5873
5874 2000-06-23  Havoc Pennington  <hp@redhat.com>
5875
5876         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
5877         instead of making up a bogus name for first_para_mark
5878
5879         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
5880         0 as a context ID
5881
5882 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
5883
5884         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
5885
5886 2000-06-21  Havoc Pennington  <hp@pobox.com>
5887
5888         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
5889         we didn't check window->bg_pixmap != GDK_NO_BG.
5890
5891         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
5892         gdk-pixbuf
5893
5894 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
5895
5896         * docs/faq/gtk-faq.sgm: Move file to here.
5897           TODO: Update Makfile.am 
5898
5899 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
5900
5901         * docs/gtk-faq.sgm: Add Section 2
5902
5903 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
5904
5905         * docs/gtk-faq.sgm: New file. Start of DocBook
5906           version of the FAQ.
5907
5908 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
5909
5910         * configure.in (GDK_PIXBUF_MAJOR): Define version
5911         numbers for GDK_PIXBUF_*, as they get substituted
5912         into a header file. Need to consider versioning
5913         for gdk-pixbuf more carefully later.
5914
5915 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
5916
5917         Work with srcdir != builddir.   
5918         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
5919         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
5920         * demos/testpixbuf.c: Likewise.
5921         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
5922         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
5923         <gdk/x11/gdkx.h>.
5924         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
5925         "gdk-pixbuf.h".
5926         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
5927
5928 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
5929
5930         * TODO.xml: Change 1.4 version numbers to 2.0.
5931
5932 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
5933
5934         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
5935         fixups to GTK+ standard.
5936
5937 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
5938
5939         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
5940         gdk-pixbuf.
5941
5942         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
5943         fixups for GObject.
5944
5945         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
5946         gdk-pixbuf with GDK dependencies moved into GDK.
5947         
5948         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
5949         move gdk-pixbuf-loader here until GObject has signals.
5950
5951         * demos/: New directory of demos. Move demos from
5952         gdk-pixbuf here.
5953
5954         * demos/pixbuf-init.c: Small bit of code to check for
5955         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
5956         set GDK_PIXBUF_MODULEDIR appropriately.
5957
5958         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
5959         define which no longer makes sense.
5960
5961 2000-06-21  Havoc Pennington  <hp@redhat.com>
5962
5963         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
5964         gtk_get_default_language
5965
5966         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
5967         new function to get the default language
5968
5969         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
5970         s/gtk_text_view_style_values/gtk_text_style_values/
5971
5972         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
5973         Add a "language" field to tags.
5974
5975         (gtk_text_tag_set_arg): Fix bug in setting
5976         "bg_full_height_set" tag.
5977
5978 2000-06-21  Havoc Pennington  <hp@redhat.com>
5979
5980         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
5981         in the interfaces
5982
5983         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
5984         stuff instead when possible.
5985
5986         * gtk/gtktexttypes.h: Delete some unused constants
5987
5988         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
5989         testtextbuffer.c: use glib instead of custom unicode routines
5990
5991 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
5992
5993         * docs/es/: Removed mistakenly added generated sgml
5994
5995         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
5996         Remove outdated info files.
5997
5998         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
5999         Moved tutorial files into subdir
6000
6001         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
6002         subdir.
6003
6004         * docs/man/gtk_button.pod: Remove. (contents will be
6005         integrated into gtk-reference button page.)
6006
6007         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
6008         docs/faq/Makefile.am: Adjust for new organization
6009
6010 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
6011
6012         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
6013         not $(MKINSTALLDIRS)
6014
6015 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
6016
6017         * gtk/testgtk.c (create_text): Finish the job Elliot started
6018         of removing font setting test for text widget. (Since text widget
6019         and GdkFont are not deprecated, and cause portability problems.)
6020
6021 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
6022
6023         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
6024         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
6025         Remove use of libunicode in favor of new GLib functions.
6026
6027         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
6028         nano-x, framebuffer. The X11 include is just a hack until we get
6029         the necessary functions in gdkcolor.h, so there is no reason to
6030         add other includes of platforms.
6031
6032         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
6033         window bigger than the screen change.
6034
6035         * gtk/testgtk.c: Revert some random changes from Elliot
6036         that had no particular point and were causing testgtkrc
6037         not to function correctly.
6038         
6039         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
6040         because GdkSegment and GdkRegionBox have the same fields,
6041         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
6042         results in clearer code.
6043
6044         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
6045         gdk_input_translate_coordinates): Fix missed GdkObjectification
6046
6047 2000-06-18  Elliot Lee  <sopwith@redhat.com>
6048
6049         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
6050         * gtk/gtk{plug,socket}.h: Missed commits from previous.
6051
6052 2000-06-20  Havoc Pennington  <hp@redhat.com>
6053
6054         * modules/linux-fb/Makefile.am: Make this compile
6055         without framebuffer enabled
6056
6057         * gdk/linux-fb/Makefile.am: Add conditional to not build
6058         framebuffer unless specified in configure
6059
6060         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
6061         the size of the target instead of source if -1 was passed for
6062         width/height
6063
6064         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
6065         width/height confusion.
6066
6067 2000-06-19  Havoc Pennington  <hp@redhat.com>
6068
6069         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
6070         GDK_DRAWABLE_XID. In the future, we probably want to make it
6071         faster with G_DISABLE_CHECKS turned on.
6072
6073 2000-06-14  Havoc Pennington  <hp@redhat.com>
6074
6075         * gdk/Makefile.am: add gdkpixmap.c
6076
6077         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
6078         s/gdk_image_init/_gdk_windowing_image_init
6079
6080         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
6081         ref/unref
6082
6083         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
6084
6085         * gdk/gdkcompat.h: remove GdkWindowType compat, since
6086         GdkWindowType is now non-deprecated; 
6087         change gdk_window_get_type() compat to be
6088         gdk_window_get_window_type().
6089
6090         * gdk/gdkdnd.h: make GdkDragContext a GObject.
6091
6092         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
6093         virtual GObject. Make all functions call into the vtable.
6094         Move gdk_image_put() guts in here. Remove GdkDrawableType
6095         and gdk_drawable_get_type(), these are now GdkWindow-specific.
6096         draw_image, get_depth, get_size, set_colormap, get_colormap,
6097         get_visual added to the vtable.
6098         
6099         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
6100         GObject. Virtualize everything. 
6101         (gdk_gc_new_with_values): remove check for destroyed window,
6102         because now GdkWindow::create_gc will check this.
6103         (gdk_gc_set_values): New function to set GC values, this 
6104         was already implemented but wasn't in the header
6105
6106         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
6107
6108         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
6109         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
6110         remove _gdk_window_class; add _gdk_window_impl_get_type() and
6111         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
6112         _gdk_windowing_window_init, rename gdk_image_init to
6113         _gdk_windowing_image_init.
6114         
6115         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
6116         (gdk_draw_layout): Remove check for destroyed window, 
6117         because all the drawable methods already check it.
6118         
6119         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
6120         Add gdkpixmap.c which contains implementation of GdkDrawable
6121         virtual table (by chaining to a platform-specific implementation
6122         object).
6123         
6124         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
6125         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
6126         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
6127         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
6128         GdkColormapPrivate. 
6129
6130         * gdk/gdktypes.h: #include <glib-object.h>
6131
6132         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
6133         Move most functionality to platform-specific implementation
6134         object. GdkWindow itself now handles the backing store, then
6135         chains to the platform-specific implementation.
6136         (gdk_window_get_window_type): return GdkWindowType of the window.
6137         (gdk_window_peek_children): New routine, returns the children of 
6138         a GdkWindow
6139         (gdk_window_get_children): Was in X11-specific code and did 
6140         XQueryTree. Changed to simply return a copy of window->children; 
6141         so it can go in cross-platform code.
6142         
6143         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
6144
6145         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
6146         GdkColormap; just changed to use the new private data instead
6147         of casting to GdkColormapPrivate.
6148
6149         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
6150         gdk_cursor_new().
6151
6152         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
6153         (private data member in the GObject). 
6154         (xdnd_manager_source_filter): Function had broken 
6155         error handling, fix it (use gdk_error_trap_push).
6156
6157         * gdk/x11/gdkdrawable-x11.c: This file now implements
6158         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
6159         base class is purely for the convenience of the X port,
6160         and not part of the interface to cross-platform GDK.
6161
6162         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
6163         
6164         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
6165         specific to X, and returned by the create_gc virtual method
6166         of GdkDrawableImplX11. 
6167         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
6168         rather than gchar, this was also changed in the GdkGC vtable.
6169         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
6170         mask is 0, return immediately, instead of checking every flag.
6171         This is faster, and keeps us from segfaulting if values is NULL
6172         and the mask contains some nonzero flags.
6173
6174         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
6175         GdkWindow.
6176
6177         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
6178         GdkWindowPrivate is gone.
6179
6180         * gdk/x11/gdkim-x11.c: rename things that got renamed.
6181
6182         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
6183         remove the image_put stuff that got transferred to GdkDrawable.
6184         
6185         * gdk/x11/gdkinput.c: renamings
6186
6187         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
6188
6189         * gdk/x11/gdkpixmap-x11.c: GObject conversion
6190
6191         * gdk/x11/gdkprivate-x11.h: indentation fixes
6192
6193         * gdk/x11/gdkproperty-x11.c: renamings
6194
6195         * gdk/x11/gdkselection-x11.c: renamings
6196
6197         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
6198         implements the platform-specific "impl" object.
6199         Moved gdk_window_get_children to gdk/gdkwindow.c
6200
6201         * gdk/x11/gdkx.h: Remove all the private structs and private datas
6202         that no longer exist. Add declaration of GdkGCX11 object here.
6203         Fix all the macros to still work. 
6204
6205         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
6206         GdkDragContext from the boxed types since they are now GObjects.
6207
6208         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
6209         moved xthickness/ythickness into the instance. GtkStyleClass
6210         functions are now in the standard vtable for GtkStyle, so you have
6211         to create a GObject subclass to write a theme engine.
6212         (gtk_style_copy): fixed a leaked PangoFontDescription
6213         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
6214         can be the standard GObject function.
6215         
6216         * Throughout GTK:
6217         s/style->klass->[xy]thickness/style->[xy]thickness
6218         s/pango_layout_unref/g_object_unref/
6219
6220         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
6221         
6222         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
6223         accessing GDK internals.
6224
6225         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
6226         accessing GDK internals.
6227
6228 2000-06-18  Elliot Lee  <sopwith@redhat.com>
6229
6230         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
6231
6232         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
6233         problem by calculating event position relative to the trough
6234         rather than the slider.
6235         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
6236
6237         * gdk/gdkgc.h: Add GDK_NOR.
6238
6239         * configure.in, Makefile.am: Add modules top level dir
6240         * configure.in: Only use pangox library if building x11 target.
6241         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
6242
6243 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
6244
6245         * gtk/gtkcolorsel.c: Change private class member to be named
6246         private_data throughout the file.
6247
6248         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
6249         private_data to avoid clashing with keyword.
6250
6251 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
6252
6253         * gdk/gdkdnd.h: Add comment to remove warning.
6254
6255 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
6256
6257         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
6258         Byelorussian language; changed the Makefile and file names 
6259         to reflect that.
6260
6261 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
6262
6263         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
6264         rather than gdk_window_hide; this makes things work
6265         correctly if the window is programmatically hidden while
6266         iconified.
6267
6268 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
6269
6270         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
6271         cut and paste typo where wrong pixmap was being
6272         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
6273
6274 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
6275
6276         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
6277         Add helper function to compute format / bytes 
6278         relationship. Use in a couple places to fix up
6279         errors which assume 8 * format.
6280
6281         * gtk/gtkselection.c (gtk_selection_request): Use 32
6282         rather than 8 * sizeof (GdkAtom), to work correctly
6283         on Alpha.
6284
6285 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
6286
6287         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
6288         libgtk.la
6289         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
6290         versions
6291
6292         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
6293         checking macros return NULL since the function has a return value.
6294
6295 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
6296
6297         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
6298         GTK+ from building at all.
6299
6300         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
6301
6302 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
6303
6304         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
6305         gtk/Makefile.am: make it possible to configure gtk for different
6306         targets on the same platform. The library name is now 
6307         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
6308         flag. Only the x11 target compiles right now.
6309         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
6310         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
6311         * gdk/nanox/gdk*generic*: delete generic region code.
6312         * gdk/linux-fb/gdk*generic*: delete generic region code.
6313         * README.nanox: update information.
6314         
6315 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
6316
6317         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
6318         prepend not append. (Pointed out by Brett Hall.)
6319
6320 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
6321
6322         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
6323
6324 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
6325
6326         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
6327         need this later, and this makes sure that the atexit for
6328         glib gets called after that for GDK, so atexits are
6329         properly ordered for object leak checking.
6330
6331         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
6332
6333         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
6334         pango_x_shutdown_display()
6335
6336         * gtk/simple.c (main): Close window on destroy.
6337
6338 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
6339
6340         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
6341         to treat initial creation different from setting with 
6342         regards to the graphics-exposures parameter, so add a parameter
6343         indicating whether this is initial or not.
6344
6345 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
6346
6347         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
6348         to sort of work by adding an extra return_exposes arg
6349         to gdk_event_translate() - it might be better to simply
6350         deprecate the function altogether and force people to rewrite
6351         without it. gdk_window_scroll() handles most of it, and where
6352         gdk_window_scroll() doesn't work, simply redrawing more does.
6353
6354         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
6355         assertion.
6356
6357         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
6358
6359         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
6360         bunch of pretty much useless /* Print debugging info */ comments 
6361         which had drifted away from the code they were commenting.
6362
6363 2000-06-02  Havoc Pennington  <hp@pobox.com>
6364
6365         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
6366         is in working order.
6367         
6368         * gtk/testtext.c: Change to reflect anonymous mark API
6369
6370         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
6371
6372         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
6373         field, which was unused.
6374
6375         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
6376         saves some typing.
6377
6378         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
6379
6380         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
6381         flag on the insertion point and selection bound
6382
6383         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
6384         make mark-manipulation functions take a GtkTextMark* instead of a
6385         mark name.
6386         
6387         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
6388         GtkTextMarkBody; will be used to detect attempts to delete
6389         the permanent marks (insert and selection bound)
6390
6391         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
6392
6393 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
6394
6395         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
6396         flag to on.
6397
6398         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
6399         Honor DOUBLE_BUFFRED_FLAG
6400
6401         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
6402         function to set the DOUBLE_BUFFERED flag.
6403
6404         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
6405         or not exposes done on the widget should be double-buffered.
6406
6407         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
6408         to be what would be expected. (Fixes problem with a
6409         g_return_if_fail() validating a TextDirection enumeration)
6410
6411 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
6412
6413         * gtk/gtkwidget.c: Remove all references to 
6414         offscreen flag which was no longer used.
6415
6416         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
6417
6418         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
6419         for non-null label_widget->parent.
6420
6421         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
6422         which no longer was used.
6423
6424         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
6425
6426         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
6427         for null arguments.
6428
6429         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
6430         check for destroyed windows.
6431
6432 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
6433
6434         * gtk/gtkimmulticontext.c: Add a finalize method and unref
6435         the slave context there.
6436
6437         * gtk/gtkinvisible.[ch]: Make reference counting behavior
6438         identical to GtkWindow.
6439
6440 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
6441
6442         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
6443         pangox to here, so we can write them independent of rendering
6444         system, using GDK primitives.
6445
6446         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
6447         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
6448         since we have a rendering-system independent implementation in
6449         terms of draw_glyphs().
6450         
6451         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
6452         function to render a single line.
6453
6454         * gdk/x11/gdkpango.c: Move the guts of this file mostly
6455         into ../gdkpango.c, which simplifies things, since we
6456         don't have to deal with raw X gc's.
6457
6458 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
6459
6460         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
6461         get the logical attributes for a given GtkTextLine.
6462
6463 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
6464
6465         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
6466         g_locale_get_codeset() to g_get_codeset() change.
6467
6468 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
6469
6470         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
6471         descriptions.
6472
6473         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
6474         the entry.
6475
6476         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
6477         redoing (vastly simplifying) for Pango. Still needs quite
6478         a bit of work. (Size selection is currently poor. List of 
6479         predefined sizes is not a good idea, since all of these
6480         sizes won't necessarily be distinct.)
6481
6482 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
6483
6484         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
6485         CODESET results for LANG=C.
6486
6487 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
6488
6489         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
6490         which takes a stringized pango font description;
6491         ignore the older 'font' and 'fontset' declarations.
6492
6493         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
6494         field with a GdkFont derived via gdk_font_from_description(),
6495         for compatibility. (Should we just remove it entirely?
6496         Probably too much compatibility breakage, but people
6497         should be migrating to the new Pango stuff as quickly
6498         as possible.)
6499
6500 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
6501
6502         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
6503
6504 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
6505
6506         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
6507         redoing; there are some bugs in size allocation right
6508         now, the semi-existant distinction between header / day
6509         fonts was removed, but, with Pango, could actually
6510         be made functional in a nice way.
6511         
6512         * gtk/testcalender: Move calender from examples into this
6513         directory as a test program. (We really need to restrcture
6514         testgtk into a whole directory full of tests for every
6515         widget or functionality group, separated into multiple .c
6516         files.)
6517
6518 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
6519
6520         * gtk/testgtk.c (file_exists): Fix stupid typo that
6521         was keeping RC file from being loaded.
6522
6523         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
6524         RC file font code.
6525
6526 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
6527
6528         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
6529         Add function to load a GdkFont from a PangoFontDescription.
6530
6531 2000-05-29  Tor Lillqvist  <tml@iki.fi>
6532
6533         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
6534         variable should be of type GdkEventPrivate.
6535
6536 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
6537
6538         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
6539         to have any widget for the label, use a GtkLabel widget
6540         to display the text. (Based partially on a patch from
6541         Anders Carlson.)
6542
6543         (Quite a bit of code reorganization - strip 90% of the
6544         guts out of gtkaspectframe and add a single virtual
6545         func to GtkFrameClass - compute_child_allocation.)
6546
6547 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
6548
6549         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
6550         (Removed clist->row_center_offset field because caching
6551         it wasn't saving time or code, added private function
6552         _gtk_clist_create_cell_layout()).
6553
6554 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
6555
6556         * gtk/gtkaccellabel.c: Pangoized.
6557
6558         * gtk/[hv]ruler.c: Pangoized
6559
6560 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
6561
6562         * gtk/gtkfilesel.c (gtk_file_selection_init):
6563         Use gtk_clist_set_column_auto_resize() to remove need
6564         need for manual column width computations.
6565
6566 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
6567
6568         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
6569         ensuring Pango correctness, and considerably simplifying the
6570         code.
6571         
6572         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
6573
6574         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
6575         getting of numbers of lines.
6576
6577         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
6578         to the actual requested width of the lable, not to the wrap
6579         width we set.
6580
6581         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
6582
6583         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
6584           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
6585
6586         * gtk/gtktextview.c: Fix structure inheritance.
6587
6588         * gtk/gtkprogressbar.c: Pangoize.
6589
6590 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
6591
6592         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
6593         in a function.
6594
6595         * gtk/gtktextlayout.c (find_display_line_above): Fixed
6596         bug with computing line tops.
6597
6598         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
6599
6600 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
6601
6602         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
6603         and y_offset coordinates to do what we need now. (The offset between
6604         buffer and layout coordinates has been reintroduced, but is a 
6605         bit different than before.)
6606
6607         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
6608         handle the adjustments ourselves, and scroll as necessary using
6609         the new gdk_window_scroll().
6610         
6611         The advantage of this is that when we are incrementally revalidating,
6612         we are essentially rearranging things around the visible portion
6613         of the screen. With the old setup, the visible portion of the
6614         screen was moved around in the layout, so scrolling and redrawing
6615         to track that caused jumping of the display. Since we now
6616         control the scrolling ourselves, we can suppress this and
6617         only redraw when things actually change.
6618
6619 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
6620
6621         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
6622         the region not just redisplay it after-all, since we store the
6623         cursors in the LineDisplay. (Ugly interactions here between
6624         GtkLayout and GtkTextBTree here.)
6625         
6626         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
6627
6628 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
6629
6630         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
6631         Added function to scroll contents of a window while keeping the
6632         window constant. Works by XCopyArea or guffaw-scrolling depending
6633         on the details of how the window is set up. (guffaw-scrolling
6634         still needs to be filled in.)
6635
6636 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
6637
6638         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
6639         move the debugging that was tied to a global variable
6640         to that.
6641
6642         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
6643
6644         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
6645         validated flag, in line data instead of setting height/width to
6646         -1. This allows us to perform operations with partially invalid
6647         buffer (using the old size for invalid lines) and thus to do
6648         incremental vaidation. Keep height/width aggregates up to date
6649         when deleting text and rebalancing the tree.
6650
6651         * gtk/gtktextbtree.[ch]: Add functions validate a line
6652         (gtk_text_btree_validate_line), and to validate up
6653         to a number of pixels (gtk_text_btree_validate).
6654
6655         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
6656         that indicates that something is changed and a revalidation
6657         pass is needed. Change ::need_repaint to ::changed, and
6658         make it take old and new yranges instead of a rectangle.
6659
6660         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
6661         the line_data_destroy() function from 
6662         gtk_text_btree_add_view() to a virtual function in 
6663         GtkTextLayout
6664
6665         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
6666         since we are handling partial repaints in a different fashion
6667         now.
6668
6669         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
6670         of the selection instead of queueing a repaint on the
6671         entire widget.
6672
6673         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
6674         get_selection_bounds() down to btree, make the function
6675         in buffer a wrapper around the btree function.
6676
6677         * gtk/gtktextlayout.[ch]: Add functions to check if the
6678         layout is valid and to recompute either a range of pixels
6679         aroudn a line or a certain total number of pixels.
6680
6681         * gtk/gtktextlayout.[ch]: Cache a single line display;
6682         now that we only redraw the needed portions, the hit rate
6683         for this cache is quite high.
6684         
6685         * gtk/gtktextview.[ch]: Keep track of the first paragraph
6686         on the screen so that when re-laying-out the buffer, we can
6687         keep the same place. This requires connecting to ::value_changed
6688         on the adjustments
6689
6690         * gtk/gtktextview.[ch]: Add idle functions to revalidate
6691         the buffer after we receive an ::invalidated signal.
6692         
6693 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
6694
6695         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
6696         to max of allocation and layout size, not just to the
6697         layout size.
6698
6699         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
6700         Invalidate window so it gets redrawn properly.
6701
6702         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
6703         to mean the entire window.
6704
6705         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
6706         into public header.
6707
6708 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
6709
6710         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
6711         to get the name of a mark.
6712
6713         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
6714         to find the paragraph from a y position.
6715
6716 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
6717
6718         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
6719         nodes have width/height >= 0, not > 0.
6720
6721 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
6722
6723         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
6724         Add a size_only flag, so when we only need the size, we don't create
6725         useless appearance attributes.
6726
6727         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
6728         duplicate setting of font description.
6729
6730         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
6731
6732 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
6733
6734         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
6735         EXTRA_DIST. It does not work well when the file that
6736         everything depends on is not in the tarball.
6737
6738 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
6739
6740         * gtk/testgtk.c: Some hacks and fixes so that it basically
6741         works when not sitting in the GTK+ build tree.
6742
6743 2000-05-03  Havoc Pennington  <hp@redhat.com>
6744
6745         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
6746         Properly determine the ordering of the tag root and the current
6747         line within the tree. Previous algorithm only worked if the tag
6748         root's immediate parent was the common root of both the current
6749         line and the tag root.
6750
6751 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
6752
6753         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
6754         alignment.
6755
6756         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
6757         the widget text directional dynamically.
6758
6759         * gtk/gtktextview.[ch]: Added functions to get and set default
6760         wrap mode.
6761
6762 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
6763
6764         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
6765         in cursor location computation.
6766
6767 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
6768
6769         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
6770         vadjusment values properly when layout gets smaller.
6771
6772         * gtk/gtktextview.c (need_repaint_handler): Areas being
6773         passed in are far completely inaccurate, and sometimes
6774         too small, so, for now, just queue a redraw on the
6775         whole visible region.
6776
6777 2000-04-25  Havoc Pennington  <hp@redhat.com>
6778
6779         * gtk/gtktextbtree.c (summary_destroy): new function to 
6780         destroy tag summary nodes
6781         (gtk_text_line_next_could_contain_tag): this function was 
6782         totally broken if the line passed in wasn't below the tag
6783         root. Fix it.
6784         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
6785         "wildcard" case, we have to do a linear scan. Blah.
6786         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
6787         we have to do the linear scan
6788         (tag_removed_cb): When a tag is removed from the tag table, 
6789         remove the GtkTextTagInfo node from the btree.
6790         (gtk_text_btree_spew): Implement the spew function, for 
6791         our debugging pleasure.
6792
6793 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
6794
6795         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
6796         a problem with referring to the wrong buffer.
6797
6798         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
6799
6800         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
6801         font description to gtk_style_new() - otherwise things
6802         don't work without a .gtkrc file.
6803
6804         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
6805         tags table if we create it ourself, too.
6806
6807         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
6808         it was conflicting with XKB modifiers.
6809
6810         * gtk/gtktextview.[ch]: Add simple support for 
6811         GtkIMContext.
6812
6813 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
6814
6815         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
6816         with deletion from last commit.
6817
6818 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
6819
6820         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
6821         in the context from the current locale.
6822         
6823         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
6824         context, not hardcoded value.
6825
6826         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
6827         not logical.
6828
6829 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
6830
6831         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
6832         attributes - that doesn't handle partial-glyph selection
6833         properly. Instead use new pango_layout_line_get_x_ranges()
6834         functionality to draw the selection.
6835
6836         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
6837         now properly handles out-of-range coordinates.
6838
6839         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
6840
6841         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
6842         public.
6843
6844         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
6845         for paragraphs opposite to the base direction of the widget.
6846
6847         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
6848
6849         * gtk/gtktextlayout.c: Don't split segments on marks, since that
6850         causes Arabic words to reshape as you cursor through.
6851
6852         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
6853         cursor position when moving vertically with the arrow keys and
6854         scrolling with page-up/page-down. (Arrow keys save only the X,
6855         scrolling saves both X and Y.)
6856
6857         This means you can line-up / line-down or page-up / page-down
6858         without losing your place, and also that moving vertically
6859         with the cursor keys keeps the same X position, not the same
6860         character count:
6861
6862         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
6863         arrow keys move by display lines, not paragraphs.
6864
6865 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
6866
6867         * gtk/gtklayout.c: Make sure that the bin window is at least
6868         as big as the allocation. (Should we also make sure that the
6869         bin window is big enough to completely cover widget->window?)
6870
6871         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
6872         function to get the onscreen rectangle.
6873
6874         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
6875         for offsets in window coordinates.
6876
6877 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
6878
6879         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
6880         confusion.
6881
6882         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
6883         from the widget direction.
6884
6885         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
6886         Add a "direction" attribute.
6887
6888         * gtk/gtktextview.c: global s/tkxt/text_view/.
6889
6890         * gtk/testtext.c: Added long block of text in Arabic, to test out
6891         the direction attributes. (Some problems with the shaping system
6892         for arabic become obvious - like the fact the cursor splits words
6893         into unjoined pieces.)
6894
6895 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
6896
6897         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
6898
6899         * gtk/gtktextlayout.c: Fix up alignment.
6900
6901         * gtk/testtext.c: Add some tests for centering, wrapping.
6902
6903 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
6904
6905         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
6906         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
6907         If we wrote GTK+-specific layout-render function this could just replace
6908         the draw_layout() operation in the vtable.
6909
6910         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
6911         pango_layout_get_cursor_pos() and use that function.
6912
6913         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
6914         is a non-static symbol.
6915
6916         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
6917         with gtk_text_btree_find_line_by_y()
6918
6919         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
6920         renderer that handles GtkTextAppearance attributes.
6921
6922         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
6923
6924           - Move the values in the style that don't affect geometry into a
6925             GtkTextAppearance structure.
6926           - Change underline to take a PangoUnderline and "font" a string
6927             representation of a font description
6928           - Add a "font_desc" attribute which takes a FontDescription structure.
6929
6930         * gtk/gtktextlayout.[ch]:
6931
6932           - Get rid of the display-line list per each line. Instead, we
6933             generate, on demand, a GtkTextLineDisplay structure which]
6934             contains a PangoLayout * and other necesary information
6935             (offsets, cursor locations) for displaying a paragraph.
6936           - Get rid of the code to wrap lines, create display chunks,
6937             etc. Instead, we just go through a paragraph and convert
6938             it into the necessary inputs to a PangoLayout.
6939           - Implement a new attribute type, GtkTextAttrAppearance. This
6940             holds a GtkTextAppearance, and is used to pass colors, 
6941             stipple, etc, through from the layout to the display without
6942             having to use lots and lots of individual attributes.
6943           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
6944             in terms of PangoLayout functions.
6945         
6946         * gtk/gtktextview.c: 
6947          
6948           - Handle passing the necessary PangoContext to the layout
6949           - Some fixups in painting to deal with the automatic backing store
6950             and offsetting of GTK+-1.4
6951           - Add a style_set handler so that the default style reacts
6952             properly to theme changes.
6953         
6954         * gtk/gtktext?*.[ch]: Random code-style fixes.
6955
6956         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
6957
6958 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
6959
6960         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
6961         in original form preparatory to Pango-ization and gdkimcontext-ization.
6962
6963 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
6964
6965         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
6966         so that we can derive from gtkimcontext in language bindings properly.
6967
6968 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
6969
6970         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
6971         Add a compose table including (almost) all the compose combinations
6972         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
6973         data in the XIM implementation.
6974
6975         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
6976         Moved functions to convert keyvalues from and to unicode here from
6977         the win32 port and made them public.
6978
6979 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
6980
6981         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
6982
6983 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
6984
6985         * gtk/gtkimcontext.[ch]: Base class for new input context system
6986
6987         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
6988         the real input context implementation to be loaded from modules
6989         and switched on the fly.
6990
6991         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
6992         context that just does direct keysymbol => unicode translation.
6993
6994         * gtk/gtkentry.[ch]: Start switching editing over to using
6995         GtkInputContext. (No handling of preedit yet.)
6996
6997 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
6998
6999         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
7000         many substitutions. (klass should not be subsituted.)
7001
7002 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
7003
7004         * configure.in: Add checks for Pango
7005
7006         * configure.in docs/Makefile.am: Add test for sgml2html
7007         and allow 'make dist' without building html, but print out
7008         warnings in that case. (For making snapshots)
7009
7010         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
7011         Add Pango libraries and C flags
7012
7013         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
7014         Add function (gdk_draw_layout) to draw a pango layout.
7015
7016         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
7017         for getting Pango contexts for GDK.
7018
7019         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
7020
7021         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
7022         editing.
7023
7024         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
7025         keysym => unicode translations. More languages can be added
7026         here, but real input-method support is needed.
7027
7028         * docs/Changes-1.4.txt: Added note about entry behavior.
7029         
7030         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
7031         to set the reading direction for a widget and the global direction.
7032         Add test which allows toggling the global direction. Two private
7033         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
7034
7035         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
7036           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
7037
7038         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
7039
7040         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
7041         underlining now handled by Pango.
7042
7043         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
7044         to RCStyle and Style. (Having both this and the old font name and GdkFont 
7045         is temporary.)
7046
7047         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
7048         convenience functions for creating contexts and layouts for widgets.
7049
7050         * gtk/testgtk.c: Enhance label tests with multilingual labels.
7051
7052 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
7053
7054         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
7055         titles to be active, even if they aren't visible.
7056         (gtk_clist_column_titles_passive):  Ditto.
7057
7058 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
7059
7060         * gtkmenu.c:
7061         * gtkmenu.h:
7062         * gtktypeutils.h: Spelling/grammar fixes in comments.
7063
7064 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
7065
7066         * gdk/nanox/*.h: add missing header files.
7067
7068 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
7069
7070         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
7071         send_event to TRUE.
7072         (gtk_drawing_area_size): queue a resize.
7073
7074 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
7075
7076         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
7077         the handlers, also invalidate them. bug nailed down by Karl Nelson
7078         <kenelson@ece.ucdavis.edu>.
7079
7080 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
7081
7082         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
7083         "(nil)" foundries, patch from Grigorios Magklis.
7084
7085         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
7086         on non-available fonts, based on a patch by Grigorios Magklis
7087         <maglis@cs.rochester.edu>.
7088
7089 2000-05-18  Elliot Lee  <sopwith@redhat.com>
7090
7091         * gdk/x11/gdkregion-generic.c: If a region does not have any
7092         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
7093         instead of GDK_OVERLAP_RECTANGLE_IN.
7094
7095 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
7096
7097         * gtk/gtklayout.c (gtk_layout_map): Remove references to
7098         OFFSCREEN, as it is no longer necessary.
7099
7100 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
7101
7102         * gtk/gtkcolorsel.c: Patch from David Santiago
7103         <mrcooger@cyberverse.com> to change things so that the 
7104         indicator of the active palette entry is done independently,
7105         not via the focus, since it should always be visible.
7106
7107 2000-05-17  Tor Lillqvist  <tml@iki.fi>
7108
7109         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
7110         refcount leaks as in the X11 backend.
7111
7112         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
7113         cosmetics.
7114
7115         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
7116         backend. Add _gdk_windowing_window_destroy().
7117
7118         * gtk/gtkcolorsel.c: Include correct backend-specific header.
7119         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
7120         either, but these probably do exist on nanox?)
7121         
7122         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
7123         which isn't necessarily defined by <math.h>.
7124
7125         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
7126         ancestry past GtkObject.
7127
7128         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
7129         from DLL on Win32.
7130
7131         * gtk/gtk.def: Update corresponding to recent changes.
7132
7133         * gtk/makefile.{cygwin,msc}: Updates.
7134
7135 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
7136
7137         * docs/Changes-1.4.txt: A bit of editing.
7138
7139         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
7140         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
7141         to clear the update area for the window, and clear it
7142         when hiding a window.
7143
7144         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
7145         if window destroyed.
7146
7147         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
7148
7149         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
7150         gdk_window_destroy() to the generic code, since there was a lot of 
7151         window-system-independent logic it in. Add a function:
7152         
7153          _gdk_window_destroy() 
7154
7155         to the internal API to destroy a window without unreferencing it.
7156         Add a function:
7157
7158          _gdk_windowing_window_destroy()
7159
7160         That does the windowing-system-dependent part of destroying 
7161         the window.
7162
7163 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
7164
7165         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
7166
7167 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
7168
7169         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
7170         Make gtk_widget_shape_combine_mask() keep a reference count on
7171         the pixmap since it keeps it around.
7172
7173 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
7174
7175         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
7176         leak.
7177
7178         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
7179         leak with event filters.
7180
7181 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
7182
7183         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
7184         signal handlers with the right data arguments. (Fixes
7185         some warnings when a widget was repeatedly set as a drag
7186         destination.)
7187
7188         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
7189         window so we can avoid avoid setting the DND properties on the
7190         toplevel window repeatedly.
7191
7192 2000-05-13  Tor Lillqvist  <tml@iki.fi>
7193
7194         * gdk/win32/gdkwin32.h: Define more message types missing from
7195         mingw headers.
7196
7197         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
7198         call gdk_window_destroy_notify(). It was never called. This
7199         probably meant that the GdkWindow was never freed. Thanks Owen for
7200         noticing (!).
7201
7202         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
7203         window as destroyed before calling DestroyWindow(). DestroyWindow()
7204         causes a call to the window procedure (gdk_WindowProc), which
7205         calls gdk_event_translate(), which calls
7206         gdk_window_destroy_notify(), which gets confused unless the window
7207         is set as destroyed.
7208
7209         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
7210         this function to indicate it's win32 only. Put inside #ifdef
7211         G_ENABLE_DEBUG.
7212
7213         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
7214         debugging function. (gdk_event_translate:) Add a default branch
7215         that uses the above function to print debug messages with all
7216         Windows messages symbolically.
7217
7218         * gdk/win32/gdkprivate-win32.h: Declare it, and
7219         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
7220
7221 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
7222
7223         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
7224         public header file.
7225
7226 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
7227
7228         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
7229
7230         * gtk/gtktext.c: made the adjustments no-construct args, simply
7231         provide default adjustments.
7232         (gtk_text_destroy): release adjustments.
7233
7234         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
7235         adjustment argument non-construct.
7236
7237         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
7238         instead of in finalize.
7239         (gtk_progress_get_text_from_value): 
7240         (gtk_progress_get_current_text): 
7241         (gtk_progress_set_value): 
7242         (gtk_progress_get_percentage_from_value): 
7243         (gtk_progress_get_current_percentage): 
7244         (gtk_progress_set_percentage): 
7245         (gtk_progress_configure): ensure an adjustment is present.
7246
7247 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
7248
7249         * gtk/gtkcolorsel.[hc]:
7250         * gtk/gtkcolorseldialog.[hc]:
7251         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
7252         their parent implementation, use bit fields for boolean values, don't
7253         create unused widgets, usage of glib types, braces go on their own
7254         lines, function argument alignment, #include directives etc. etc. etc..
7255
7256         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
7257
7258 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
7259
7260         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
7261
7262         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
7263         of NULL.
7264
7265         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
7266         to freed data.
7267         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
7268
7269         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
7270         to NULL when the toplevel is getting destroyed.
7271         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
7272         (gtk_menu_destroy): 
7273         (gtk_menu_init): store the information of whether we have to
7274         readd the initial child ref_count during destruction in a new
7275         GtkMenu field needs_destruction_ref_count.
7276
7277         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
7278         here, those reading: learn from my mistake! ;)
7279         in order for set_?adjustment to support a default adjustemnt if
7280         invoked with an adjustment pointer of NULL, the code read (pseudo):
7281         if (v->adjustment) unref (v->adjustment);
7282         if (!adjustment) adjustment = adjustment_new ();
7283         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
7284         now imagine the first unref to actually free the old adjustment and
7285         adjustment_new() creating a new adjustment from the very same memory
7286         portion. here, the latter comparision will unintendedly fail, and
7287         all hell breaks loose.
7288         (gtk_viewport_set_hadjustment):
7289         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
7290         after unreferencing it.
7291
7292         * gtk/gtkcontainer.[hc]: removed toplevel registration
7293         functions: gtk_container_register_toplevel(),
7294         gtk_container_unregister_toplevel() and
7295         gtk_container_get_toplevels() which had wrong semantics
7296         anyways: it didn't reference and copy the list.
7297
7298         * gtk/gtkwindow.c: we take over the container toplevel registration
7299         bussiness now. windows are registered across multiple destructions,
7300         untill they are finalized. the initial implicit reference count
7301         users are holding on windows is removed with the first destruction
7302         though.
7303         (gtk_window_init): ref & sink and set has_user_ref_count, got
7304         rid of gtk_container_register_toplevel() call. add window to
7305         toplevel_list.
7306         (gtk_window_destroy): unref the window if has_user_ref_count
7307         is still set, got rid of call to
7308         gtk_container_unregister_toplevel().
7309         (gtk_window_finalize): remove window from toplevel list.
7310         (gtk_window_list_toplevels): new function to return a newly
7311         created list with referenced toplevels.
7312         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
7313
7314         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
7315         adjustment a non-construct arg.
7316         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
7317         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
7318         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
7319
7320         * gtk/gtkrange.c: added some realized checks.
7321         (gtk_range_destroy): get rid of the h/v adjustments in the
7322         destroy handler instead of finalize. remove timer.
7323         (gtk_range_get_adjustment): demand create adjustment.
7324
7325         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
7326         we simply create them on demand now and get rid of them in
7327         the destroy handler.
7328         (gtk_viewport_destroy): get rid of the h/v adjustments in the
7329         destroy handler instead of finalize.
7330         (gtk_viewport_get_hadjustment): 
7331         (gtk_viewport_get_vadjustment): 
7332         (gtk_viewport_size_allocate): demand create h/v adjustment
7333         if required.
7334
7335         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
7336         gtk_widget_real_destroy () functionality.
7337         (gtk_widget_real_destroy): reinitialize with a new style, instead
7338         of setting widget->style to NULL.
7339
7340 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
7341
7342         * gtk/gtkcalendar.c:
7343         * gtk/gtkbutton.c: ported _get_type() implementation over to
7344         GType, either to preserve memchunks allocation facilities,
7345         or because Gtk+ 1.0 GtkTypeInfo was still being used.
7346
7347         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
7348         over. prepare for ::destroy to be emitted multiple times.
7349         removed reference tracer magic. chain into GObjectClass.shutdown()
7350         to emit ::destroy signal.
7351
7352         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
7353         fundamental.
7354
7355         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
7356         cludge.
7357
7358         * gtk/gtksocket.c:
7359         * gtk/gtkplug.c:
7360         * gtk/gtklayout.c:
7361         * gtk/gtklabel.c:
7362         * gtk/gtkargcollector.c:
7363         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
7364         not being a fundamental anymore, and to work with the new
7365         type system (nuked fundamental type varargs clutter).
7366
7367         * gtk/*.c: install finalize handlers in the GObjectClass
7368         part of the class structure.
7369         changed direct GTK_OBJECT()->klass accesses to
7370         GTK_*_GET_CLASS().
7371         changed direct object_class->type accesses to GTK_CLASS_TYPE().
7372
7373         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
7374         GType. made most of the GTK_*() type macros and Gtk* typedefs
7375         simple wrappers around macros and types provided by GType.
7376         most notably, a significant portion of the old API vanished:
7377         GTK_TYPE_MAKE(),
7378         GTK_TYPE_SEQNO(),
7379         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
7380         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
7381         GTK_TYPE_ARGS,
7382         GTK_TYPE_CALLBACK,
7383         GTK_TYPE_C_CALLBACK,
7384         GTK_TYPE_FOREIGN,
7385         GtkTypeQuery,
7386         gtk_type_query(),
7387         gtk_type_set_varargs_type(),
7388         gtk_type_get_varargs_type(),
7389         gtk_type_check_object_cast(),
7390         gtk_type_check_class_cast(),
7391         gtk_type_describe_tree(),
7392         gtk_type_describe_heritage(),
7393         gtk_type_free(),
7394         gtk_type_children_types(),
7395         gtk_type_set_chunk_alloc(),
7396         gtk_type_register_enum(),
7397         gtk_type_register_flags(),
7398         gtk_type_parent_class().
7399         replacements, where available are described in ../docs/Changes-1.4.txt.
7400         implemented compatibility functions for the remaining API.
7401
7402         * configure.in: depend on glib 1.3.1, use gobject module.
7403
7404 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
7405
7406         * TODO.xml: Various updates to current status.
7407
7408 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
7409
7410         * gtk.m4: Print out version when test succeeds.
7411
7412 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
7413
7414         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
7415         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
7416         
7417         (Original triangle color selector from Simon Budig
7418         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
7419         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
7420         Santiago <mrcooger@cyberverse.com>)
7421
7422         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
7423         out into a separate widget.
7424
7425         * gtk/testgtk.c: Add some checkbuttons for toggling palette
7426         and opacity controls.
7427
7428 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
7429
7430         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
7431         snuck in prematurely.
7432
7433 2000-05-07  Tor Lillqvist  <tml@iki.fi>
7434
7435         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
7436         had deleted a ! operator by mistake, which caused
7437         GDK_SELECTION_CLEAR events never to be generated, which caused
7438         only the first copy to the clipboard from an gtkeditable to
7439         actually cause a copy to the Windows clipboard.
7440
7441 2000-05-06  Tor Lillqvist  <tml@iki.fi>
7442
7443         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
7444         compilation, too. Current mingw gcc distributions include the
7445         necessary headers. Also the necessary IIDs are now in mingw
7446         headers/libraries, and own definitions unnecessary.
7447
7448         More hacking on OLE2 DND, still doesn't work though, and thus
7449         ifdeffed out.
7450
7451         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
7452         here, too.
7453
7454 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
7455
7456         * gdk/nanox/*: nano-X port work in progress.
7457         * gdk/simple.c: simple test for Gdk.
7458         * README.nanox: notes about the port: read this first!
7459         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
7460         with nano-X.
7461
7462 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
7463
7464         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
7465         gdk_window_clear() into common code, implement in terms of
7466         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
7467         not redirected to the backing rectangle.
7468
7469 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
7470
7471         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
7472         EXTRA_DIST. It does not work well when the file that
7473         everything depends on is not in the tarball.
7474
7475 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
7476
7477         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
7478         with recursion where process_updates() is called from
7479         an expose handler. (GtkTextView is highly broken in
7480         doing this, but it should work, so it is a nice test
7481         case.)
7482
7483 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7484
7485         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
7486         handle the case where updates are queued during processing of
7487         updates.
7488
7489 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
7490
7491         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
7492         window is on gdk_display - use that instead of segfaulting.
7493
7494 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
7495
7496         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
7497         broken and require an empty arg, give it to them.
7498
7499 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
7500
7501         * gtk/gtklabel.h: indentation fixes.
7502
7503 2000-05-02  Tor Lillqvist  <tml@iki.fi>
7504
7505         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
7506         draw too narrow or too low arcs, they seem to fail, at least with
7507         some display drivers.
7508
7509         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
7510
7511         Large changes to the Win32 backend, partially made necessary by
7512         the changes to the backend-independent internal
7513         structures. Attempts to implement similar backing store stuff as
7514         on X11. The current (CVS) version of the Win32 backend is *not* as
7515         stable as it was before the no-flicker branch was merged. A
7516         zipfile with that version is available from
7517         http://www.gimp.org/win32/. That should be use by "production"
7518         code until this CVS version is usable. (But note, the Win32
7519         backend has never been claimed to be "production quality".)
7520
7521         * README.win32: Add the above comment about versions.
7522
7523         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
7524
7525         * gdk/gdk.def: Update.
7526
7527         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
7528         presumably be replaced by some more better mechanism as 1.4 gets
7529         closer to release shape.
7530
7531         * gdk/makefile.{cygwin,msc}: Update.
7532
7533         * gdk/win32/*.c: Correct inclusions of the backend-specific and
7534         internal headers. Change code according to changes in these. Use
7535         gdk_drawable_*, not gdk_window_* where necessary.
7536
7537         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
7538         our old DND.
7539
7540         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
7541         to interpret single characters as UTF-8. Thanks to Hans Breuer.
7542         Use correct function name in warning messages.
7543
7544         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
7545         GSourceFuncs gdk_event_prepare and gdk_event_check.
7546         (gdk_event_get_graphics_expose): Do implement, use
7547         PeekMessage. Thanks to Hans Breuer.
7548         (event_mask_string): Debugging function to print an GdkEventMask.
7549         (gdk_pointer_grab): Use it.
7550
7551         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
7552         (old) book I used claimed was Hangul actually is CJK Unified
7553         Ideographs Extension A. Also, Hangul Syllables were missing.
7554         Improve logging.
7555
7556         * gdk/win32/gdkgc-win32.c: Largish changes.
7557
7558         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
7559         g_win32_getlocale() from GLib, and not setlocale() to get current
7560         locale name.
7561
7562         * gdk/win32/gdkprivate-win32.h
7563         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
7564         gdkwin32.h, similarily as in the X11 backend.
7565
7566         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
7567         assignment was used instead of equals in if test. Thanks to Hans
7568         Breuer.
7569
7570         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
7571         the X11 version.
7572
7573         * gdk/win32/makefile.{cygwin,msc}
7574         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
7575         path to the Win32 headers that works also with the mingw compiler.
7576
7577         * gtk/gtkstyle.c: Include <string.h>.
7578
7579 2000-04-26  Havoc Pennington  <hp@redhat.com>
7580
7581         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
7582         replacing the broken gtk_label_get ()
7583
7584 2000-04-15  Havoc Pennington  <hp@pobox.com>
7585
7586         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
7587         this keeps scanner scripts from getting confused.
7588
7589         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
7590         data, rather than void
7591
7592 2000-04-15  Tor Lillqvist  <tml@iki.fi>
7593
7594         * gtk/gtkclist.c (gtk_clist_motion)
7595         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
7596         with is_hint FALSE, get x and y from the event. They used to be
7597         used uninitialised. The Win32 backend never sends motion events
7598         marked as hints. This for instance fixes the annoying file and
7599         font selector behaviour in the Win32 version.
7600
7601 2000-04-14  Tor Lillqvist  <tml@iki.fi>
7602
7603         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
7604         gtk_private_n_signals variables, they are used by some software,
7605         sigh.
7606
7607         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
7608         installation directory from the Registry, where the installer
7609         should have put it.
7610
7611 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
7612
7613         * gdk/x11/Makefile.am: Fix problem with installation directory for
7614         gdkx.h
7615
7616         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
7617         <mrcooger@cyberverse.com> so that when selecting menus with the
7618         mouse, the first item will not be selected, but when selecting
7619         with an accelerator, or navigating left-right on a menubar with
7620         the menus popped up, the first item will be selected.
7621
7622 2000-04-05  Dan Damian  <dand@dnttm.ro>
7623
7624         * configure.in: Added "ro" to ALL_LINGUAS.
7625
7626 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
7627
7628         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
7629         indentation.
7630
7631         * Makefile.am (EXTRA_DIST): Fix typo.
7632
7633         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
7634         to catch gdkconfig.h
7635
7636         * gtk/gtkitemfactory.c: Added FIXME.
7637
7638 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
7639
7640         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
7641         s/return_if_fail/return_val_if_fail/g and add a return value.
7642
7643 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
7644
7645         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
7646         merge slipup.
7647
7648         * gdk/gdkinput.h: Fix missing line from merge.
7649
7650 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
7651
7652         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
7653         instead of gdkprivate.h.
7654
7655 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
7656
7657         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
7658         parent class to correctly be GtkDialogClass.
7659
7660 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
7661
7662         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
7663         toplevel windows and their immediate children by their parents,
7664         since the size of toplevel windows is out of our immediate
7665         control and we don't get any real benefit from trying to track
7666         this size for clipping.
7667
7668         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
7669         for input_only windows.
7670
7671         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
7672         to fix some hacks and make sure that we don't try to set the
7673         background of input only windows.
7674
7675 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
7676
7677         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
7678         the _really_ internal stuff, and leave gdkprivate.h for the fake private
7679         stuff that we've traditionally exposed.
7680
7681         * gdk/**.c: Use gdkinternals.h where appropriate.
7682
7683         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
7684         not include gdkprivate-x11.h, move all stuff of conceivable public
7685         interest into gdkx.h; keep all really private stuff in
7686         uninstalled header gdkprivate-x11.h.
7687
7688         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
7689         image->image_put on windows through a new function _gdk_window_draw_image()
7690         to allow us to do backing store for images. (Sort of ugly)
7691
7692         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
7693         contexts locally so that we can offset them properly when drawing 
7694         onto backing pixmaps.
7695
7696         * gdk/gdkinput.h: Reindented
7697
7698         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
7699         pixmap or color for the window, so we can properly initialize
7700         our double-buffer pixmaps, and also so that we temporarily set
7701         a background of None while scrolling.
7702
7703         * gdk/gdkregion.h: Revise region boolean operators to have an
7704         interface that is actually convenient - switch from creating new
7705         regions on every op, to "methods" that modify existing regions
7706         (A = A OP B). 3 argument forms which allow dest == src, would also
7707         be possible, but the current interfaces seem to map nicely
7708         onto what needs to be done. (There is quite a lot of region
7709         code in GDK now.)
7710
7711         * gdk/gdkregion.h: Add constructor from rectangle and a copy
7712         operator.
7713
7714         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
7715         gdkpoly-generic.h: Copy region code from Xlib, switch it over
7716         to 32 bit coordinates, modify it to be mostly GTK+ style
7717         and to have interfaces that match gdkregion.h.
7718
7719         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
7720         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
7721         create a backing pixmap and redirect all drawing to
7722         that backing pixmap until a matching gdk_window_end_paint().
7723
7724         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
7725         Create a special drawable class for GtkWindow's that 
7726         redirects the drawing to the backing pixmap as necessary
7727         and then calls the real operations in _gdk_windowing_window_class.
7728
7729         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
7730         Store invalid region for each window. Generate expose events for invalid
7731         region in an idle. This replaces both the expose compression
7732         and the redrawing queuing in GTK+. It is both more efficient and
7733         simpler than either one individually and far more so then the
7734         combination.
7735
7736         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
7737         Emulate 32 bit coordinates for windows with 16 bit coordinates
7738         by offsetting drawing, guffaw scrolling techniques and
7739         mapping/unmapping child windows as necessary.
7740
7741         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
7742         where, when invalid regions are processed, the region is stored,
7743         and if expose events come in that are detectably duplicate
7744         the processed exposes (by comparison of event serial numbers),
7745         the stored region is subtracted out of those exposes.
7746
7747         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
7748         regions newly exposed when scrolling or resizing windows.
7749         This, combined with forcing processesing of queued invalidated
7750         regions, gives nice flicker-free scrolling.
7751
7752         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
7753         invalidated regions after every scroll.
7754
7755         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
7756         emulation in GDK. Its, for all practical purposes just a
7757         GtkViewport/GtkFixed hybrid now.
7758
7759         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
7760         (16-bit) structures as necessary instead of just casting.
7761
7762         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
7763         in terms of the structures from gdkregion-generic.c, using appropriate
7764         offsets from GDK to X11 coordinates. Cache clip mask and
7765         origin and ts origin locally and only flush to the server
7766         when drawing, to avoid constantly setting and resetting these
7767         values when offsetting GC's for scrolling and backing pixmaps.
7768
7769         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
7770
7771         * gtk/gtkcontainer.c: Call process_all_updates at end
7772         of resizing to reduce flicker. (Avoids having redraw
7773         lag arbitrarily behind resize under some circumstances)
7774
7775         * gtk/gtkentry.c: Remove old backing store code, and simply take
7776         advantage of the new backing store capabilities of GDK.
7777
7778         * gtk/gtkmain.c: Simple implementation of widget backing
7779         store - simply push a paint while handling each expose.
7780         (Should really be configurable widget for widget.)
7781         
7782         * gtk/gtkwidget.c: Remove all the old complicated redraw
7783         code, and simply invalidate the GDK windows from
7784         gdk_window_queue_clear(), etc. (Sigh, so much carefully
7785         debugged complexity ... gone to the winds.)
7786
7787         Remove all the code for suppressing expose events while
7788         resizes are pending; this isn't needed since the invalid
7789         areas won't be processed until after the resizes are
7790         processed, since they are in a lower priority idle.
7791
7792 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
7793
7794         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
7795         and height of dest rectangle for non-intersecting rectangles.
7796
7797 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
7798
7799         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
7800         for GdkRectangle.
7801
7802 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
7803
7804         * gdk/gdk{events,image,private,types,window}.h
7805          gdk/x11/gdkinputprivate.h: Change all coordinates
7806          from int16 to int. Also, Change width and height from
7807          unsigned to signed to avoid all the stupid C 
7808          signedness bugs.
7809
7810 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
7811
7812         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
7813         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
7814         Add some more detailed checking.
7815
7816         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
7817         New function to retrieve the depth of a drawable.
7818
7819         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
7820         field, reorder fields to save memory. 
7821
7822 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
7823
7824         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
7825         of the background image instead of scaling the background down to
7826         a line.
7827
7828         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
7829         which temporarily set slider to wrong size.
7830
7831         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
7832         queue_clear().
7833
7834 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
7835
7836 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
7837
7838         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
7839
7840 2000-03-17  Tor Lillqvist  <tml@iki.fi>
7841
7842         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
7843         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
7844
7845         * gdk/win32/gdkfont-win32.c
7846         * gdk/win32/gdkproperty-win32.c
7847         * gdk/win32/gdkselection-win32.c
7848         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
7849         now declared such.
7850
7851 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
7852
7853         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
7854
7855 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
7856
7857         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
7858         is called without trapping X errors.
7859
7860 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
7861
7862         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
7863         way into the fontset lists.
7864
7865 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
7866
7867         * gtk/gtkthemes.h: add extern "C" scope.
7868
7869 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
7870
7871         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
7872         to make appends to the list constant. (gtk-guy-990901-0.patch)
7873
7874 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
7875
7876         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
7877         for the typename hash table.
7878
7879 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
7880
7881         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
7882         to make sure we never divide by zero. 
7883         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
7884
7885 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
7886
7887         * gtk/gtkfontsel.c: Apply patch from
7888         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
7889         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
7890
7891         Also, some cleanups in atom handling.
7892
7893 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
7894
7895         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
7896         not GtkWidget.
7897
7898 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
7899
7900         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
7901         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
7902         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
7903         more guint wrap-around bugs before going to bed.
7904
7905 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
7906
7907         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
7908         guint wrap arounds in allocation.width.
7909
7910         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
7911         process untill we fit the allocation given.
7912
7913 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
7914
7915         * gtk/gtkwidget.c:
7916         (gtk_widget_unrealize): guard widget access with ref/unref
7917         around signal emission.
7918         (gtk_widget_hide): same here, but also check its destroyed
7919         state before queueing a resize.
7920
7921 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
7922
7923         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
7924         of gtk_default_insensitive_bg as insensitive base color.
7925
7926         * gtk/gtktext.c (gtk_text_style_set): set the background color according
7927         to the widget's state.
7928         (gtk_text_realize): same here.
7929         (gtk_text_state_changed): same here.
7930         (draw_bg_rect): compare background color against base[] from
7931         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
7932
7933 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
7934
7935         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
7936         grabs are active, unless a delete event is send to the toplevel
7937         of the currently grab holding widget.
7938
7939 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
7940
7941         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
7942         debugging g_print's.
7943
7944 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
7945
7946         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
7947         ever make the scrolled-window requisition ever depend on the 
7948         visibility state of the scrollbars for the AUTOMATIC policy. 
7949         This breaks the GTK+ requisition model, and causes loops.
7950
7951 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
7952
7953         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
7954         the default font to avoid problems with XFree86-4.0 where the
7955         default charset is iso10646-1, not iso8859-1.
7956
7957 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
7958
7959         * acinclude.m4
7960         * config.guess
7961         * config.sub
7962         * ltconfig
7963         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
7964
7965         * gtk/Makefile.am: minor cosmetic consistency tweak
7966
7967 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
7968
7969         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
7970         the activate_time to 0, so that we handle a quick
7971         press/release press/release properly and don't suppress
7972         the second release. (Red Hat bug #7545)
7973
7974 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
7975
7976         * gtk/gtkctree.c (row_delete):
7977         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
7978         bugs with destruction notifier, *always* update internal
7979         structures *before* calling user code.
7980
7981 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
7982
7983         A few more fixes for bug #5487, #2051, #2677.
7984         * gtk/gtkclist.c : 
7985         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
7986         not GDK_BUTTON_PRESS.
7987         (resync_selection): resync only if selection_mode is
7988         GTK_SELECTION_EXTENDED
7989         * gtk/gtkctree.c (resync_selection): same here
7990
7991 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
7992
7993         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
7994         gdk_drag_get_selection() and gtk_menu_detach().
7995
7996         [ From Jeroen Ruigrok/Asmodai ]
7997
7998 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
7999
8000         * gtk/gtknotebook.c (gtk_notebook_size_request): 
8001         page->tab_label can be NULL.
8002
8003 2000-01-25  Havoc Pennington  <hp@pobox.com>
8004         
8005         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
8006         arg is boolean
8007
8008         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
8009
8010         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
8011
8012         * gdk/gdkproperty.c (gdk_property_get): return boolean
8013
8014         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
8015
8016         * gdk/gdkim.c (gdk_im_ready): return boolean
8017
8018         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
8019
8020         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
8021         glib clash, should fix glib)
8022
8023         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
8024         (gdk_get_show_events): return gboolean, and canonicalize 
8025         to TRUE/FALSE
8026
8027         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
8028         colormap is private
8029         (gdk_colors_alloc): gboolean whether to be contiguous
8030         (gdk_color_equal): return gboolean since we are a predicate
8031         and not a qsort() (this looks semi-wrong due to glib breakage,
8032         IMO glib should be fixed)
8033         
8034         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
8035         (gdk_get_use_xshm): return gboolean
8036         (gdk_pointer_is_grabbed): return gboolean
8037
8038         * gdk/gdk.h: Change prototypes to match all the above changes,
8039         and re-run egtk-format-protos as required.
8040
8041 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
8042
8043         * gtk/gtkctree.c (resync_selection): 
8044         * gtk/gtkclist.c (resync_selection):
8045
8046         Return immediately if clist->drag_pos < 0. This is a workaround
8047         for the corrupt state that the clist gets into when a
8048         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
8049
8050         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
8051         
8052         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
8053         variable from recent commit.
8054
8055 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
8056
8057         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
8058
8059 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
8060
8061         * gtk/Makefile.am: prefix all autogenerated source that get build in
8062         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
8063         in builddir. since we subsequently cd into srcdir for autogeneration,
8064         the paths have to be stripped from the target file names, thusly we
8065         use $(@F) as target names now.
8066         put a comment about configure.in's --disable-rebuilds option,
8067         which can be used for non-writable source directories, for development
8068         setups though, srcdir has to be *writable*.
8069
8070 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
8071
8072         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
8073           Finish the job of allowing event to be NULL.
8074           (Fixes bug #4283, reported by Chris Blizzard)
8075
8076         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
8077           things so that the cursor appears on screen, properly
8078           take into account INNER_BORDER.
8079           (Fixes bug #4754, reported by Antonio Campos)
8080
8081 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
8082
8083         * gtk/gtknotebook.c (gtk_notebook_map): Don't
8084           show the tab_label unless it itself is visible.
8085
8086           gtk/gtknotebook.c (gtk_notebook_size_request):
8087           Do a better job of making sure that the visibility
8088           of the tab label corresponds to whether it should
8089           be mapped or not.
8090
8091 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
8092
8093         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
8094           Use the requisition, not the allocation, since the
8095           allocation has not necessarily been computed yet.
8096           (Pointed out by Eugene Osintsev)
8097
8098 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
8099
8100         * gtk/gtkstyle.c (gtk_style_new): Dont' set
8101           style/base[GTK_STATE_INSENSITIVE] both to
8102           gtk_default_insensitive_bg!
8103           (Bug #2187, reported by Jonathan Blandford)
8104
8105         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
8106           Add Alt_L, Alt_R to list of invalid accelerators.
8107           (Bug #3736, reported by Vlad Harchev)
8108
8109 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
8110
8111         * gtk/gtkfilesel.c (open_ref_dir): Fix several
8112         bugs which occured after an attempt to open 
8113         invalid home directory left cmpl_state->reference_dir == NULL.
8114
8115          - completion on files in home directory didn't work
8116          - completion on an empty string caused  segfault
8117
8118          (Bug #3678, reported by Steve Ratcliffe)
8119
8120         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
8121         cut and paste error that was causing scales to
8122         be incorrectly positioned.
8123         (Bug #2956,
8124          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
8125
8126 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
8127
8128         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
8129         when checking for dcgettext, if we've found we needed
8130         it for dgettext.
8131 +
8132 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
8133
8134         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
8135         queue_clear on NO_WINDOW widgets during a reparent,
8136         since at that point the window and widget heirarchies
8137         are out of sync. This stops crashing in some cases
8138         (the scrolled window reparent test, for instance), and
8139         _probably_ won't cause drawing errors.
8140
8141         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
8142         test do what it was supposed to do and be robust against
8143         window closings, etc. (Bug #2443)
8144
8145 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
8146
8147         * gtk/gtkentry.c: Fix return values on mouse events.
8148         (Bug #2686, Sky <seb_sky@yahoo.com>)
8149
8150         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
8151         (pointed out by George Lebl)
8152
8153         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
8154         (From Ettore Perazzoli  <ettore@helixcode.com>)
8155  
8156 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
8157
8158         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
8159         clicks between rows or outside calender area correctly.
8160         (Patch from Damon Chaplin)
8161
8162         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
8163         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
8164           Call destroy function when overwriting existing data. 
8165           (Pointed out by Damon Chaplin)
8166
8167 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
8168
8169         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
8170           which was causing problems on various systems with Xmu.
8171           This hasn't been needed for a very long time.
8172           (Fixes #1185 3167)
8173
8174 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
8175
8176         * gdk/gdki18n.h: Include <ctype.h> when defining
8177           gdk_isw* in terms of is* as a fallback.
8178           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
8179
8180 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
8181
8182         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
8183           realize the widget when it is size allocated!
8184           (old, old bug)
8185
8186         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
8187           Removed unused call to gdk_window_get_size() that
8188           showed up when the above was fixed.
8189
8190 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
8191
8192         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
8193           fix up widget->window when the widget is a
8194           NO_WINDOW container widget.
8195
8196 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
8197
8198         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
8199           to account for the fact that feof() does _not_ 
8200           return TRUE on errors, and thus avoid infinite loops
8201           when trying to use gdk_pixmap_create_from_xpm()
8202           on unreadable values.
8203
8204 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
8205
8206         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
8207
8208 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
8209
8210         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
8211           gdk_gc_set_dashes to take gint8 instead of gchar to
8212           make it clearer that it is _not_ a NULL terminated string.
8213
8214         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
8215           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
8216           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
8217           arguments.
8218
8219 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
8220
8221         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
8222         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
8223         background size relative to our allocation, guard against small
8224         allocations, we may have not yet been size allocated.
8225
8226 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
8227
8228         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
8229         not just version == 3. We implement all 3 + most of 4 - 
8230         (we don't support matching text/plain;charset=iso-8859-1
8231         to a dest that expects text/plain). We'll still advertise
8232         3 to be safe, but any client implementing version >= 3
8233         must interoperate with 3.
8234         
8235 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8236
8237         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
8238         background and gc members, add a warning in gtk_tooltips_set_color()
8239         indicating that this function is deprecated.
8240
8241 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
8242
8243         * docs/gtkfaq.sgml: FAQ Update:
8244           - Minor cleanups (Emmanuel, me)
8245           - New questions:
8246                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
8247                 How can I retrieve the text from a GtkMenuItem? (timj)
8248                 How do I validate/limit/filter the input to a GtkEntry? (me)
8249                 Memory does not seem to be released when I free the list
8250                         nodes I've allocated (timj)
8251
8252 2000-03-07  Tor Lillqvist  <tml@iki.fi>
8253
8254         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
8255         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
8256         for which it is no use to call GetLastError onWin9x.
8257         (gdk_other_api_failed) New function, for general error
8258         reporting without calling GetLastError.
8259         (gdk_win32_api_failed) OTOH, this function always calls
8260         GetLastError. (gdk_win32_last_error_string) Remove this function,
8261         GLib has the equivalent now.
8262
8263         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
8264         call them with function name, file name and line number in the
8265         arguments.
8266
8267         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
8268         functions.
8269         
8270         * gtk/gtk.def: Add some missing entry points.
8271
8272         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
8273         gtk_paned_set_gutter_size, which don't exist any longer, as void.
8274         
8275         Fixes by Hans Breuer:
8276
8277         * gdk/makefile.msc: Update for debugging.
8278
8279         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
8280         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
8281         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
8282         in the dash_list.
8283
8284         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
8285         the x11 backend.
8286
8287         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
8288
8289         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
8290
8291 2000-03-04  Tor Lillqvist  <tml@iki.fi>
8292
8293         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
8294         just pixel value of background colour.
8295
8296         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
8297         containing code snippet previously duplicated in a couple of
8298         places.
8299         
8300         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
8301         gdk_colormap_color.
8302
8303         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
8304         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
8305         events for autorepeated Shift, Control and Alt keys. Use
8306         gdk_colormap_color.
8307
8308         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
8309         pointer is inside the window the cursor of which we are setting,
8310         call SetCursor immediately.
8311
8312         * gdk/win32/makefile.cygwin
8313         * gtk/makefile.cygwin: If we don't have the build number stamp
8314         file, use zero.
8315
8316         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
8317         gtk_paned_set_gutter_size as empty.
8318
8319         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
8320         
8321 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
8322
8323         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
8324           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
8325           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
8326           docs/gtk_tut.sgml docs/gtk.texi TODO:
8327
8328           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
8329
8330 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
8331
8332         * gtk/gtkcalendar.c: Implement num_marked_dates,
8333           and don't emit mutiple day_selected signals on
8334           month_prev.
8335
8336 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
8337
8338         * docs/make-todo (lineno): let title and logo be configurable so
8339         that GNOME can use this script too.
8340
8341         * TODO.xml: added logourl and a title
8342
8343 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
8344
8345         * TODO.xml: Added some UI items, and an explanatory
8346         comment at the top of the file.
8347
8348 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
8349
8350         * TODO.xml: some updates, added abunch of new entries.
8351         a note for those fiddeling with this file, when done
8352         with it, invoke:
8353         $ ./docs/make-todo TODO.xml >/dev/null
8354         and correct output errors before comitting changes.
8355
8356 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
8357
8358         * TODO.xml: Added XML-structured TODO file.
8359         * docs/make-todo: python script to turn TODO.xml into
8360           pretty XML output. 
8361
8362 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
8363
8364         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
8365         the function to let it draw the seven dots, instead of the old,
8366         much maligned, method.
8367         (draw_dot): New function to draw a dot.
8368
8369         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
8370         to draw the handle inside the border width as opposed to outside.
8371         Use paint function instead of gdk_draw_point.
8372
8373         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
8374         to draw the handle inside the border width as opposed to outside.
8375         Use paint function instead of gdk_draw_point.
8376
8377         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
8378         Change indenting to be more GTK like.
8379
8380 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
8381
8382         * docs/gtk_tut.sgml: New section on GtkCalendar
8383         * examples/calendar: Update example code
8384
8385 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
8386
8387         * docs/gtkfaq.sgml: FAQ Update
8388
8389 2000-02-19  Anders Carlsson  <andersca@gnu.org>
8390
8391         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
8392         to prevent the scroll event to be propagated upwards.
8393
8394 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
8395
8396         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
8397         OwnerGrabButtonMask from button entries for
8398         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
8399
8400         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
8401         to the event mask (which will result in button/press release
8402         being added to the event mask on Unix) so scrolling works
8403         for layouts in scroll windows.
8404
8405         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
8406
8407         Patch from Anders Carlsson  <andersca@gnu.org> to add
8408         a scroll event.
8409
8410         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
8411         scrolling to the "Test Scrolling" part of testgtk.
8412  
8413         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
8414  
8415         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
8416         it against GDK_SCROLL.
8417  
8418         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
8419         way of mouse wheel scrolling.
8420  
8421         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
8422  
8423         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
8424  
8425         * gtk/gtkmain.c: Removed previous mouse wheel hack.
8426  
8427         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
8428         gdk_event_mask_table.
8429  
8430         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
8431         GdkEventScroll handler.
8432  
8433         * gdk/gdkevents.h: Added GdkEventScroll structure.
8434  
8435 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
8436
8437         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
8438         and Anders Carlsson to change the Paned widgets so that they
8439         can be dragged from anywhere along the length. Also change
8440         the way that this is drawn to make this apparent.
8441
8442         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
8443         from George Lebl to check that option_menu->menu is present
8444         before getting history.
8445
8446 2000-02-14  Tor Lillqvist  <tml@iki.fi>
8447
8448         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
8449         before the assertion for non-NULL segment list.
8450
8451         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
8452         Seems that pattern brushes *must* be 8x8 pixels! At least on my
8453         machine, but it might be display driver dependent. Sigh, so make
8454         sure the stipple is that size. Does Windows suck or what?
8455
8456         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
8457         places.
8458
8459 2000-02-13  Havoc Pennington  <hp@pobox.com>
8460
8461         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
8462         refcount to 1
8463         (gdk_cursor_new): init refcount to 1
8464
8465         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
8466
8467 2000-02-13  Tor Lillqvist  <tml@iki.fi>
8468
8469         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
8470         so that we don't have to do unnecessary settings to the HDC.
8471
8472         * gdk/win32/gdkdrawable-win32.c
8473         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
8474         gdk_gc_predraw.
8475
8476         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
8477         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
8478         GDI paths, call WidenPath to get the outline of the stroken path,
8479         and then fill the outline (with the brush that was built from the
8480         stipple).
8481
8482         * gdk/win32/gdkgc-win32.c: Factor out common code from
8483         _gdk_win32_gc_new and gdk_win32_gc_set_values into
8484         gdk_win32_gc_values_to_win32values. Use correct colour for
8485         SetBkColor() (Until now the code actually used a random colour in
8486         the call to SetBkColor()... but that didn't show up as not many
8487         GDI APIs use the background colour. Pattern (opaque stippled)
8488         brushes do.)
8489
8490         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
8491         gdk_win32_api_failed): New functions for error logging.
8492
8493         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
8494         WIN32_API_FAILED to call them, passing function or file name and
8495         line number.
8496
8497         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
8498
8499         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
8500         GdkColor for foreground and background in GdkGCWin32Data.
8501
8502         * gdk/makefile.cygwin: Link in the resource object separately.
8503
8504         * gdk/win32/rc/gdk.rc
8505         * gtk/gtk.rc (New file)
8506         * gdk/win32/makefile.cygwin
8507         * gtk/makefile.cygwin: Update build number in DLLs automatically,
8508         as in GLib.
8509
8510 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
8511
8512         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
8513         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
8514         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
8515         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
8516         parameters given and cursor->ref_count. coding style fixups.
8517
8518         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
8519         not GtkWidget.
8520         
8521         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
8522         fix up widget macros and add _GET_CLASS() variant.
8523         
8524         * gtk/*.c: some GtkType fixups.
8525
8526 2000-02-09  Tor Lillqvist  <tml@iki.fi>
8527
8528         * gdk/win32/gdkproperty-win32.c
8529         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
8530         were reversed.
8531
8532 2000-02-04  Tor Lillqvist  <tml@iki.fi>
8533
8534         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
8535         g_filename_to_utf8 to convert the font names Windows gives us from
8536         whatever is the default codepage to UTF-8.
8537         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
8538         in the other direction.
8539
8540         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
8541         error in debugging output.
8542
8543 2000-02-02  Tor Lillqvist  <tml@iki.fi>
8544
8545         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
8546         and height parameters to gdk_window_clear_area(). Not minus one.
8547
8548 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
8549
8550         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
8551         checks if the widget passed to gtk_drag_get_data() was not the
8552         dest widget.
8553
8554 2000-02-01  Tor Lillqvist  <tml@iki.fi>
8555
8556         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
8557         g_filename_from_utf8 functions (which were added a moment ago to
8558         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
8559         size buffers.
8560
8561         gtk_file_selection_get_filename returns the filename in the C
8562         runtime encoding. It calls g_filename_from_utf8, but copies the
8563         returned string to a static buffer, which is returned. I think
8564         this is better than returning the result from g_filename_from_utf8
8565         directly, which would mean all apps that use it would have to free
8566         the return value. Or should this function care about this issue at
8567         all? Maybe a new function with clearly defined semantics.
8568
8569         * gtk/gtkfilesel.h: Add comment about
8570         gtk_file_selection_get_filename returning the filename in the C
8571         runtime's encoding.
8572
8573         * README.win32
8574         * gdk/gdk.def
8575         * gdk/makefile.{cygwin,msc}
8576         * gtk/gtk.def: Updates.
8577
8578         * gdk/gdkcursor-win32.c: Initialise refcount.
8579
8580 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
8581
8582         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
8583
8584 2000-01-30  Havoc Pennington  <hp@pobox.com>
8585
8586         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
8587         destroy
8588
8589         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
8590
8591         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
8592         implemented in platform-specific code
8593
8594         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
8595
8596         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
8597         underscore in front
8598
8599         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
8600         put an underscore in front
8601
8602         * gdk/gdkcursor.c: new file, implements
8603         gdk_cursor_ref/gdk_cursor_unref
8604
8605         * gdk/gdkcursor.h: Refcount GdkCursor
8606
8607         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
8608
8609 2000-01-29  Tor Lillqvist  <tml@iki.fi>
8610
8611         * gdk/gdkwindow.h
8612         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
8613
8614 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
8615
8616         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
8617         structures to properly inherit from GtkWidget not GtkBin.
8618
8619 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
8620
8621         * gtk+.spec.in: Added lib/gtk+/include/* to %files
8622         (bug #5178 - Peter Wainright)
8623         
8624         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
8625         so that it will be installed.
8626         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
8627
8628 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
8629
8630         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
8631         for the GtkStyleClass vtable const.
8632
8633         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
8634         take a const string argument like GtkTranslateFunc. This will
8635         require changes in use code.
8636
8637 2000-01-19  Tor Lillqvist  <tml@iki.fi>
8638
8639         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
8640         semantics (to mimic the X11 backend, which just calls XClearArea)
8641         is to check for zero width (and height), and in that case use the
8642         window's width minus x (height minus y). This fixes for instance
8643         some redraw problems with gtkclist, which were easily noticeable
8644         in the gtk file selection widget.
8645
8646         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
8647         windows.
8648
8649 2000-01-13  Tor Lillqvist  <tml@iki.fi>
8650
8651         * configure.in
8652         * gdk/Makefile.am
8653         * gdk/x11/Makefile.am
8654         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
8655         (bug #5177).
8656         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
8657         out later.
8658
8659 2000-01-09  Tor Lillqvist  <tml@iki.fi>
8660
8661         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
8662         WM_MOVE for iconified or invisible windows. This fixes various
8663         problems when minimising windows. Thanks to Bernd Herd.
8664
8665 2000-01-05  Tor Lillqvist  <tml@iki.fi>
8666
8667         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
8668         backend's draw_lines method, not draw_points.
8669
8670 2000-01-02  Tor Lillqvist  <tml@iki.fi>
8671
8672         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
8673         before Owen's reorganisation: Don't have queued_events and
8674         queued_tail statics in this file, but use gdk_queued_events and
8675         gdk_queued_tail. This makes exposure event compression work again.
8676
8677         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
8678         seem to be needed?
8679
8680 1999-12-30  Tor Lillqvist  <tml@iki.fi>
8681
8682         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
8683         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
8684         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
8685         doesn't do anything.
8686
8687         * gdk/gdk.def: Add gdk_xid_table_insert.
8688
8689         * gdk/win32/gdkprivate-win32.h
8690         * gdk/win32/gdkevents-win32.c
8691         * gdk/win32/gdkinput-win32.c
8692         
8693         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
8694         extension_events field in the GdkWindowWin32Data struct. Use only
8695         the extension_events field in GdkWindowPrivate. Previously one was
8696         set, and the other one tested, which broke tablet
8697         functionality. Thanks to Keishi Suenaga for pointing this out.
8698
8699 1999-12-18  Tor Lillqvist  <tml@iki.fi>
8700
8701         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
8702         When handling a single character (text length == 1), don't handle
8703         it as if it was UTF-8.
8704
8705 1999-12-11  Tor Lillqvist  <tml@iki.fi>
8706
8707         * Makefile.am: Distribute README.win32.
8708         
8709         * gdk/Makefile.am
8710         * gdk/win32/Makefile.am: Distribute Win32 files.
8711
8712         * gdk/makefile.msc: New file.
8713
8714         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
8715         after label).
8716
8717         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
8718         gdk_error_code as GDKVAR, as they are referred outside GDK.
8719
8720         * gdk/win32/makefile.msc: Update.
8721
8722         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
8723         tweaks. Check only if at least one of those Unicode subrange bits
8724         we care for is set. If no code page bits are set, guess (wildly)
8725         based on the charset.
8726
8727         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
8728
8729         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
8730         non-NULL.
8731
8732         * gtk/gtkdnd.c
8733         * gtk/gtklayout.c
8734         * gtk/gtkplug.c
8735         * gtk/gtkselection.c
8736         * gtk/gtksocket.c
8737         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
8738         appropriate. There must be a cleaner way to handle this?
8739
8740         * gtk/gtkrc.c: Must include windows.h on Win32.
8741
8742         * gtk/testgtk.c: No need to include gdkx.h.
8743
8744         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
8745
8746 1999-12-07  Tor Lillqvist  <tml@iki.fi>
8747
8748         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
8749         the rbearing is set to the same as the width, but this should be
8750         fixed.
8751
8752 1999-12-06  Tor Lillqvist  <tml@iki.fi>
8753
8754         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
8755         function. If Windows doesn't tell us what Unicode subranges a font
8756         covers, guesstimate based on the codepages it covers. This will
8757         hopefully help those Windows versions or fonts that don't give us
8758         any useful Unicode subrange information with GetTextCharsetInfo.
8759         Call this function in gdk_font_load_internal.
8760
8761         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
8762         minor changes.
8763
8764 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
8765
8766         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
8767         New function, long needed.
8768
8769 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
8770
8771         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
8772         only_if_exists argument of gdk_atom_intern to
8773         bool.
8774
8775 1999-11-25  Tor Lillqvist  <tml@iki.fi>
8776
8777         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
8778         Fix two copy&paste errors.
8779
8780         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
8781         win32 has changed.
8782
8783         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
8784         GdkWin32SingleFont struct.
8785
8786         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
8787         subranges of loaded fonts. Clear font signature first, in case
8788         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
8789         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
8790
8791         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
8792         Unoffset clip region.
8793
8794 1999-11-23  Tor Lillqvist  <tml@iki.fi>
8795
8796         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
8797         event->any.window before calling filter functions.
8798
8799 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
8800
8801         * gtk/gtkgamma.h: Adapt cast macros to standard.
8802
8803 [ Merges from 1.2 ]
8804
8805 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
8806
8807         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
8808         If translation does not include a '/', use entire
8809         translation instead of crashing.
8810
8811 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
8812
8813         * docs/gtk_tut.sgml:
8814         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
8815
8816 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
8817
8818         * gtk/gtkselection.c (gtk_target_list_remove): Use
8819         g_list_remove_link, not g_list_remove.
8820
8821         [ From Geert Bevin <gbevin@thunderstorms.org> ]
8822         
8823 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
8824
8825         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
8826         statement upon unselection (how the heck did that slip in?).
8827
8828 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
8829
8830         * gtk/gtktext.c (gtk_text_freeze): 
8831         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
8832         in frozen state (and aparently crashes). patch provided by Anders
8833         Melchiorsen <and@kampsax.dtu.dk>.
8834
8835 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
8836
8837         * fix insensitive default/focus widget activation,
8838         reported by Matt Goodall <mgg@isotek.co.uk>.
8839
8840         * gtk/gtkwindow.c (gtk_window_key_press_event): 
8841         (gtk_window_activate_default):
8842         (gtk_window_activate_focus):
8843         return handled=FALSE for actiavtion of insensitive default
8844         widgets. return handled=TRUE for activation of insensitive
8845         focus widgets. don't activate in either case.
8846
8847 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
8848
8849         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
8850         and $glib_cflags to match library order and in the
8851         theory that an old version of GLib is more likely to
8852         be in the include directory for X then vice-versa.
8853         (Bug #2776)
8854
8855 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
8856
8857         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
8858         to determine the locale for fontsets, not LC_MESSAGES;
8859         the user may want English messages with a handling
8860         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
8861         will still be broken) (Bug #2891)
8862
8863 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
8864
8865         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
8866
8867 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
8868
8869         * gtk/gtkrc.ko: Changed the Korean default fontset.
8870
8871 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
8872
8873         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
8874         where when scrolling to the left or top double exposes
8875         were done, causing major slowdowns.
8876
8877 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
8878
8879         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
8880         names to lowercase and alphanumeric, before looking
8881         them up.
8882
8883         * gtk/Makefile.am: Install codeset variant gtkrc files
8884         with normalized names.
8885
8886 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
8887
8888         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
8889         popup menus when the menu is already visible, but its parent
8890         is still hidden, (happens after tornoff window got hidden).
8891
8892 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
8893
8894         * gtk/Makefile.am (install-data-local): Fix
8895         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
8896         deleted, causing error messages on install.
8897
8898 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
8899
8900         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
8901         the handle as well, since we now sometimes ignore
8902         exposes on the handle while resizing.
8903
8904 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
8905
8906         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
8907         extra g_free introduced in one of the last one or two 
8908         commits.
8909
8910 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
8911
8912         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
8913         consistent, put each style that a gtkrc.* file creates
8914         in a unique namespace, remove old files before installing.
8915
8916 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
8917
8918         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
8919         gtk_rc_init is called multiple times. (Yes, people who
8920         do that have bugs in their code.)
8921
8922 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
8923
8924         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
8925         Remove it since it's generated by the Makefile anyway
8926
8927 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
8928
8929         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
8930         device->info.axes for core pointer.
8931
8932 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
8933
8934         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
8935         idle_id, to deal with obsolete, broken C libraries.
8936
8937 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
8938
8939         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
8940         allocation->x/y twice!
8941
8942         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
8943         consistent with gtk_vscale_pos_trough().
8944
8945 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
8946
8947         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
8948         be queueing a resize on a toplevel container between
8949         the time we show it and when we map it. So, we need
8950         to test GTK_WIDGET_VISIBLE() for toplevels, and only
8951         use GTK_WIDGET_DRAWABLE() for child windows.
8952
8953 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
8954
8955         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
8956         (fixes bug #2144)
8957
8958 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
8959
8960         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
8961         container DRAWABLE (instead of VISIBLE), so we don't queue
8962         resizes on non-toplevel containers.
8963
8964 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
8965
8966         * gtk/gtkselection.[ch]: Make the data argument
8967         const guchar *.
8968
8969 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
8970
8971         * gtk/gtkwindow.c: Try to behave sensibly if 
8972         the focus widget is the window itself. (Should
8973         we allow this at all?)
8974
8975 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
8976
8977         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
8978         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
8979         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
8980         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
8981         in prototypes and implementations consistent (Tomas Ogren).
8982
8983         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
8984         before the widget is unparented (reported by damon).
8985
8986         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
8987         since we provide unsigned data anyways.
8988
8989 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
8990
8991         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
8992         the call to gtk_tooltips_layout_text() until later.
8993
8994         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
8995         Call gtk_widget_ensure_style() before using the style.
8996
8997 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
8998
8999         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
9000         for old widgets that don't propagate draws to all
9001         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
9002
9003 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
9004
9005         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
9006         for a redraw but just the widget that requested the resize.
9007
9008 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
9009
9010         * gtk/gtkcontainer.c: added new widget level method
9011         gtk_container_set_reallocate_redraws() and a GtkContainer flag
9012         reallocate_redraws : 1 to reflect the setting, exported this through
9013         the argument system as a boolean ::reallocate_redraws.
9014
9015         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
9016         on the widget because the allocation changes, do so as well for
9017         widget->parent if the parent has reallocate_redraws set to TRUE.
9018         with that containers requesting reallocation redraws get automatically
9019         redrawn if their children changed allocation (this unfortunately
9020         affects also other children that didn't change allocation, but we
9021         cannot work around that before 1.3).
9022
9023 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
9024
9025         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
9026         _and_ height are >0 (not _or_).
9027
9028         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
9029         instead of gtk_container_queue_resize(), which is a core gtk internal
9030         function (must have been on crack when i queued that).
9031
9032         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
9033         we can check more reliably if we want to discard expose events.
9034         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
9035         flag.
9036         
9037         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
9038         we simply trust these events. for deciding whether to discard exposes,
9039         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
9040         
9041 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
9042
9043         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
9044         queues of areas that are completely off screen.
9045
9046         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
9047         logic for handleboxes.
9048
9049         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
9050         check on width/height.
9051
9052 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
9053
9054         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
9055         we are fine with using $@ the way we do (if we actually encounter
9056         brokeness with $@ in VPATH builds because of additional path prefixes,
9057         we need to use $(@F) actually).
9058
9059 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
9060
9061         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
9062         short lived bugs, that would allow language bindings to do surgeries
9063         to our guts.
9064
9065 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
9066
9067         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
9068         where comparison was being done against an uninitialized
9069         value causing intermittant results depending on
9070         compiler flags. Also make it clearer that we aren't
9071         ever initializing the child as 0x0 (though this will
9072         be caught in gtk_widget_size_allocate())
9073
9074 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
9075
9076         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
9077         gtk_window_unset_transient_for() call after we do checks
9078         involving the old transient parent.
9079         [ From Lance Capser <lmc@cyberhighway.net> ]
9080
9081 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
9082
9083         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
9084         an empty file.
9085
9086 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
9087
9088         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
9089         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
9090
9091 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
9092
9093         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
9094         `$@' is valid only in the build dir, not after we've done 
9095         `cd $srcdir'.  Also use `test -f' instead of less portable
9096         `test -e'.
9097
9098 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
9099
9100         * gtk/gtktext.c (correct_cache_insert): Rewrite
9101          for simplicity, and hopefully correctness.
9102          (Fixes bug #1322, which was a segfault when
9103           on some insertions with the properties around
9104           the insertion set up just wrong.)
9105
9106         * gtk/gtktext.c (gtk_text_adjustment): When we receive
9107          a "changed" signal, clamp the new value to the adjustment
9108          bounds to avoid segfaulting if someone tries to change
9109          the adjustment to a bogus value. (Bug #1795)
9110
9111 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
9112
9113         * gtk/gtkmain.c: Ignore unexpected destroy notifies
9114         for children, for toplevel windows handle them
9115         like delete_event.
9116
9117         * gtk/gtkplug.c: Add an unrealize handler so that
9118         we unref plug->socket_window when we are done
9119         with it.
9120
9121 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
9122
9123         * gtk/gtktext.c (clear_area): Fix stupid signedness
9124          problem that was causing background to sometimes
9125          be misaligned.
9126
9127 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
9128
9129         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
9130         
9131         * gtk/gtkmenu.c (gtk_menu_position): Make
9132          sure we never position menus with negative x, y,
9133          since gtk_widget_set_uposition() can't handle that.
9134
9135         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
9136          Modify the positioning code a bit so that we always
9137          put the top-left corner onscreen. (This is for
9138          UI reasons, gtk_menu_position() now takes care of
9139          gtk_widet_set_uposition() brokeness.)
9140
9141 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
9142
9143         * gtk/Makefile.am: fixed up things for -jx, x > 1.
9144
9145 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
9146
9147         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
9148           RC style that is passed in. The lack of the ref
9149           before was a bug. If people worked around this
9150           bug, this will introduce a slight memory leak
9151           in their code. The code should typically look like:
9152
9153             rc_style = gtk_rc_style_new ();
9154             [...]
9155             gtk_widget_modify_style (widget, rc_style);
9156             gtk_rc_style_unref (rc_style);
9157
9158         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
9159           the style if it was already set.
9160
9161         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
9162           style if it was set before.
9163
9164 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
9165
9166         * gtk/testgtk.c (main): Add a check to see if we
9167           are being run from the correct directory and
9168           to quit nicely if we are not.
9169
9170         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
9171           static.
9172
9173 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
9174
9175         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
9176
9177         * gtk/gtkwindow.c:
9178         queue resizes unconditionally (gtk_widget_queue_resize will figure
9179         what to do if the window is not realized).
9180         (gtk_window_move_resize): only recenter the window
9181         for GTK_WIN_POS_CENTER_ALWAYS.
9182         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
9183         the same way as GTK_WIN_POS_CENTER.
9184
9185 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
9186
9187         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
9188         with (!(info->last_flags & GDK_HINT_POS)) instead of
9189         (!info->last_flags & GDK_HINT_POS).
9190
9191         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
9192         new_height unconditionally, because we use these values even if
9193         !default_size_changed && !hints_changed.
9194         comented the (default_size_changed || hints_changed) case with
9195         respect to resize rejects from the window manager.
9196
9197         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
9198         in the zvt condition hack, since this includes the window hints, set
9199         the hints after the handling_resize case.
9200
9201         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
9202         window is initially shown with to the geometry.
9203
9204 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
9205
9206         * gtk/gtkwindow.c (gtk_window_move_resize):
9207         s/size_changed/default_size_changed/g so i know what's
9208         really going on (frying brain on smaller flame now).
9209
9210 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
9211
9212         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
9213         we have size_changed upon handling_resize. this is a gross
9214         workaround for the broken zvt widget and should be removed in
9215         1.3 again (search for FIXME).
9216         Owen provided an accurate comment for this:
9217
9218         /* We could be here for two reasons
9219          *  1) We coincidentally got a resize while handling
9220          *     another resize.
9221          *  2) Our computation of size_changed was completely
9222          *     screwed up, probably because one of our children
9223          *     is broken. It's probably a zvt widget.
9224          *
9225          * For 1), we could just go ahead and ask for the
9226          * new size right now, but doing that for 2)
9227          * might well be fighting the user (and can even
9228          * trigger a loop). Since we really don't want to
9229          * do that, we requeue a resize in hopes that
9230          * by the time it gets handled, the child has seen
9231          * the light and is willing to go along with the
9232          * new size. (this happens for the zvt widget, since
9233          * the size_allocate() above will have stored the
9234          * requisition corresponding to the new size in the
9235          * zvt widget)
9236          *
9237          * This doesn't buy us anything for 1), but it shouldn't
9238          * hurt us too badly, since it is what would have
9239          * happened if we had gotten the configure event before
9240          * the new size had been set.
9241          */
9242
9243 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
9244
9245         * gtk/gtkrc.c: deal properly with the fact that RC
9246           style lists may include rc styles more than once.
9247
9248         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
9249           unused static function.
9250
9251         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
9252           stack of directories of RC files currently being
9253           parsed and implicitely add them to pixmap path.
9254           
9255           This fixes a bug where the directory would get
9256           appended then overwritten by pixmap_path declarations.
9257
9258           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
9259
9260         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
9261           theme's exit function. (Patch from Peter Wainwright,
9262           bug #1454)
9263
9264         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
9265           Add a destroy() handler to take care of removing
9266           group for menu item. (Fixes bug #1197)
9267
9268         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
9269           in warning message.
9270
9271 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
9272
9273         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
9274         roundtrip to figure window's width and height, since we know that
9275         anyways from widget->allocation.
9276
9277 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
9278
9279         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
9280           the hints after we request the new size.
9281
9282 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
9283
9284         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
9285           GTK_WIDGET_REALIZED() assertion - we can compute the
9286           hints before we are realized.
9287
9288         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
9289           hint changing so that we have a value of hints_changed
9290           when we decide whether to constrain the window size.
9291
9292         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
9293
9294         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
9295         change back to G_MAXINT.
9296
9297 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
9298
9299         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
9300         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
9301         contain uncluttered values.
9302         (gtk_window_compute_hints): simply assert that window is realized
9303         and that geometry_info is valid, since we rely on this anyways.
9304         (gtk_window_constrain_size): major cleanups to the code.
9305         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
9306         for the base size, instead of the minimums. use 32767 as max width
9307         and height (like in gtkwindow.c) instead of G_MAXINT.
9308
9309 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
9310
9311         * cleaned up the GtkContainer.need_resize flag handling mess, we
9312         only need to force resize requests when we were prematurely
9313         realized, or our widget tree was modified when we were temporarily
9314         hidden. handling these cases directly upon showing the window (i.e.
9315         while the GdkWindow is still unmapped) avoids the need to wait for
9316         a configure event response and therefore makes the GUI more snappier
9317         and avoids blank windows during the roundtrip.
9318
9319         * gtk/gtkwidget.c:
9320         (gtk_widget_hide): 
9321         (gtk_widget_show): don't queue resizes on toplevels, they know how
9322         to deal with matters.
9323
9324         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
9325         flag directly for not visible resize containers and spare us unecessary
9326         signal emissions.
9327
9328         * gtk/gtkwindow.c:
9329         (gtk_window_realize): if we need to enforce premature size allocation,
9330         queue a container resize so we are correctly resized later on.
9331         (gtk_window_init):
9332         (gtk_window_size_request):
9333         don't freak around with the ->need_resize flag,
9334         gtk_container_queue_resize() will care about that.
9335         (gtk_window_show):
9336         handle initial resizing issues here, we can handle matters better in
9337         this place, especially since we know that our GdkWindow is still
9338         unmapped.
9339         (gtk_window_move_resize):
9340         don't care about ->need_resize at all.
9341         handle size changes properly that occoured while we waited for a
9342         configure event.
9343
9344 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
9345
9346         * gtk/gtkwidget.c (gtk_widget_set_uposition):
9347         * gtk/gtkwindow.[hc] (gtk_window_reposition):
9348         Move the hint setting code from gtk_widget_set_uposition
9349         to here; set the hints so that we respect any previously
9350         set geometry hints.
9351
9352         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
9353         change the window hints here or move the window here,
9354         let that happen in gtk_window_move_resize().
9355
9356 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
9357
9358         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
9359         to already queued resizes (and therefore redraws) on a widget, check
9360         its anchestry as well.
9361
9362         * gtk/gtkcontainer.c:
9363         (gtk_container_queue_resize): clear resize widgets for resize
9364         containers before aborting prematurely. this is especially important
9365         for toplevels which may need imemdiate processing or their resize
9366         handler to be queued.
9367         (gtk_container_dequeue_resize_handler): added new internal function for
9368         gtkwindow.c.
9369
9370         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
9371         configure event, take possible changes in window position into account
9372         as well.
9373         if we request a new window size, queue up a resize handler that will
9374         last until the configure event response arrives.
9375         combined the ->need_resize case (initial show) with the general size
9376         (hints) changed case and added even more comments.
9377         if !auto_shrink, only revert to the old allocation if the new size
9378         is smaller than the current allocation.
9379
9380 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
9381
9382         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
9383                            gtk_window_set_geometry_hints
9384                            gtk_window_set_default_size):
9385         When hints are set, queue a resize so that the hints will
9386         be eventually reset on the toplevel.
9387
9388         * gtk/gtkwindow.c (gtk_window_show): Use
9389         gtk_window_compute_default_size(). Clear the need_resize flag
9390         on the initail map so that we don't unnecessarily trigger the
9391         resize code.
9392
9393         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
9394         into separate functions. Compare the hints we are setting
9395         with what we set last time so that we can accurately
9396         tell when we need to reset the hints.
9397
9398         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
9399         function to figure out the size from requisition
9400         and default_size.
9401
9402         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
9403         from fvwm to constrain a size to the geometry hints.
9404
9405         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
9406         to compare two sets of geometry hints.
9407
9408         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
9409         from gtk_window_set_hints(), just compute the hints,
9410         don't set them.
9411
9412         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
9413         code from gtk_window_move_resize() to separate function,
9414         rationalize a bit.
9415
9416 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
9417
9418         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
9419         structure into a new private structure.
9420
9421         * gtkrc.c: Split GtkRcStyle into public/private.
9422         In the private part, add a list of pointers to the
9423         RcStyle lists this RcStyle participates in.
9424
9425         * gtkrc.c: When a RcStyle is free, remove all
9426         lists referencing it from the 
9427         realized_style_ht hash, and free those lists.
9428         
9429         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
9430         gtk_rc_init(), since that adds the default styles
9431         to the list of parsed RC files again.
9432
9433         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
9434         
9435 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
9436
9437         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
9438         checks that ensure that a widget's allocation is at least 1 in width
9439         and height. (GNOME note: this doesn't affect old panel code anymore,
9440         because GtkSocket will request width and height of at least 1 since
9441         Fri Jul 23).
9442
9443         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
9444         allocated yet (happens if the user realizes the window prematurely),
9445         size request and allocate it.
9446         (gtk_window_size_allocate): guard against guint underflows.
9447
9448 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
9449
9450         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
9451         in gtk_built_sources, so gtk.defs gets built prior to all other
9452         sources.
9453
9454 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
9455
9456         * gtk/Makefile.am:
9457         invoke indent on gtkmarshal.*. 
9458         rewrote source generation rules, use COPYING as oldest source tag for
9459         a piggyback rule to generate all sources from (don't touch it ;).
9460         major cleanups, strip spaces on build rules for GNU Make.
9461
9462         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
9463         source and target files from commandline arguments. don't invoke indent.
9464
9465 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
9466
9467         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
9468         notebook after switch to avoid drawing problems.
9469         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
9470         
9471         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
9472         show them instead. 
9473         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
9474
9475 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
9476
9477         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
9478         notebook after switch to avoid drawing problems.
9479         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
9480         
9481         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
9482         show them instead. 
9483         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
9484
9485 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
9486
9487         * gtk/gtkwindow.c:
9488         we use window->need_resize from configure_event now, to indicate that
9489         the gtkwindow should keep its allocation (e.g. because the user resized
9490         the window through window manager handles). resize_count is now reliably
9491         used to figure whether we got the allocation we requested from the
9492         window manager.
9493         configure events get queued as resizes now, the real stuff (size
9494         computation and allocation) now only goes on in gtk_window_move_resize().
9495         GtkWindow's requisition now contains its *real* requisition (like all
9496         other widgets), *not* taking usize into account.
9497         geometry_info->last_{width|height} is now updated from set_hints() only
9498         so it always contains the last hints we set for the window manager.
9499         made some event handlers return TRUE instead of FALSE.
9500         the overall code should be much more straight forward now, and the
9501         significant code portions are accompanied by comments now.
9502         (gtk_window_set_hints):
9503         removed requisition argument and made it
9504         fetch the requisition through gtk_widget_get_child_requisition.
9505         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
9506         does that now.
9507         (gtk_window_show):
9508         ensure that the widget is realized before calling 
9509         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
9510         ensure that we got properly size requested and allocated before
9511         realization.
9512         (gtk_window_configure_event):
9513         ignore plain window moves, or reallocate the widget tree through the
9514         resize queue otherwise.
9515         (gtk_window_move_resize):
9516         mostly rewrote this function to figure window manager hints more
9517         reliably, coalesce window moves and resizes to reduce configure events
9518         and do actuall size allocations.
9519
9520 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
9521
9522         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
9523         that have a resize pending, because a redraw is already queued for them.
9524
9525         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
9526         hack to clear resize_widgets.
9527
9528         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
9529         for resize containers prior to size allocation. (this is also a bit
9530         ugly, but avoids side effects for stopped emissions and is thus more
9531         reliable).
9532         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
9533
9534         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
9535         function from gtk_tooltips_expose, as we connect to ::expose_event
9536         *and* ::draw now.
9537
9538 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
9539
9540         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
9541         checks.
9542         (gtk_target_list_unref): Likewise.
9543
9544         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
9545
9546 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
9547
9548         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
9549         guard against division by zero. (Fixes bug #1339)
9550
9551 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
9552
9553         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
9554         Prevent the trivial leak of information of allowing
9555         word motion when the entry is not visible.
9556
9557 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
9558
9559         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
9560         modality to error dialog as well as confirmation dialogs.
9561         (Bug #1803, reported by Rosanna Wing Sze Yuen)
9562
9563 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
9564
9565         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
9566         tree->view_lines.
9567         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
9568
9569         * gtk/Makefile.am (install-data-local): Solaris apparently
9570         has various troubles with ln -f; use rm first instead.
9571         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
9572
9573 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
9574
9575         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
9576         use `cp' followed by `rm' (the `rm' was already there).
9577
9578 July 30, 1999 Elliot Lee <sopwith@redhat.com>
9579         
9580         * configure.in: Fix autoconf warnings about cross compilation by
9581         trying to provide sane defaults for AC_TRY_RUN.
9582         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
9583         put them into $(srcdir) when generated. Also add a dependency of
9584         gtksignal.h on gtkmarshal.h for -j builds. 
9585         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
9586
9587 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
9588
9589         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
9590         GDK_THREADS_{LEAVE,ENTER} pair.
9591         (From Paul Fisher <pnfisher@redhat.com>)
9592
9593 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
9594
9595         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
9596         width and height are always >0 (owen).
9597
9598 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
9599
9600         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
9601         change that assured that a widget's allocated with and height are
9602         always >1, since this breaks *buggy* panel code. unfortunately this
9603         back-breaks the gimp's color selector.
9604
9605         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
9606         allocation is always >0 in width and height, before sending the
9607         configure event; this is a *gross* hack to get the gimp back to work.
9608         
9609         * marked both cases with TODO-1.3
9610
9611 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
9612
9613         * gtk/gtktext.c: Don't display wrap indicators when
9614         text is not editable and word wrap is on.
9615
9616 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
9617
9618         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
9619         option menus here as they are not derived from menu shell, assure that
9620         the option menu has a menu we can add items to.
9621
9622 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
9623
9624         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
9625         width/height to (gint) before calculations and check against < 0 to
9626         avoid guint wraparounds.
9627
9628 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
9629
9630         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
9631         width and height is never zero. sanity check both dimensions against
9632         32767 and issue a warning if the allocation is greater than that.
9633
9634 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
9635
9636         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
9637         to g_main_pending() as well.
9638
9639 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
9640
9641         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
9642         call to g_main_iteration() - since that will regrab
9643         GTK+ lock to process events.
9644
9645 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
9646
9647         * gtk/gtkwindow.c
9648         - Regularize with the rest of GTK+ by making widget->requisition
9649           not reflect the set_usize()
9650         - Always recompute geometry hints, then check if they
9651           changed before sending them to the X server. The
9652           previous checks for changes would fail in a number
9653           of circumstances. 
9654
9655 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
9656
9657         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
9658
9659 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
9660
9661         * gtk/gtkdnd.c:
9662         - Code cleanups
9663         - Instantaneously update on modifier key presses
9664         - Allow cancellation of the drag with Escape.
9665
9666 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
9667
9668         * gtk/testgtk.c (create_handle_box): Set the policy
9669         to auto_shrink - otherwise the appearance is rather
9670         strange when flipping between horizontal and vertical.
9671
9672 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
9673
9674         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
9675         (gtk_window_set_default_size): don't change a value if it's < 0.
9676         queue a resize.
9677
9678 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
9679
9680         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
9681
9682 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
9683
9684         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
9685         add an extra "/" when concating "/" + filename.
9686         (From Matt Grossman <mattg@oz.net>)
9687
9688 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
9689
9690         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
9691         for fg_gc if we set it for drawing pixmap.
9692
9693 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
9694
9695         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
9696         
9697         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
9698         already set, call old engine's destroy function and
9699         unref the old engine.
9700
9701 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
9702
9703         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
9704
9705 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
9706
9707         * gtk/gtkaccelgroup.h: mark certain functions as internal.
9708
9709 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
9710
9711         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
9712         expand behaviour changed.
9713
9714         * gtk/gtklabel.c (gtk_label_set_pattern):
9715         (gtk_label_set_justify):
9716         (gtk_label_set_line_wrap):
9717         don't bother invoking queue_clear, the reallocation does
9718         that for us, always free_words so the upcoming resize will
9719         relayout the label's contents.
9720
9721 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
9722
9723         * applied argument implementation patches from Elena Devdariani
9724         <elena@cogent.ca>.
9725
9726         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
9727         ::space_style, ::relief
9728         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
9729         * gtk/gtkpreview.c: ::expand
9730         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
9731         * gtk/gtknotebook.c: ::homogeneous
9732         * gtk/gtklabel.c: ::wrap
9733         * gtk/gtklist.c: ::selection_mode
9734         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
9735         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
9736         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
9737         * gtk/gtkclist.c: ::sort_type
9738         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
9739         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
9740
9741 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
9742
9743         * gtk/gtkstyle.c: Removed ill-thought-out part of last
9744         comment.
9745
9746 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
9747
9748         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
9749         counting right when we have to attach a new style
9750         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
9751
9752         * gtk/gtkstyle.c: Documented the refcounting
9753         peculularities of gtk_style_attach.
9754
9755 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
9756
9757         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
9758         window types.
9759
9760         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
9761         of GTK_TOPLEVEL for creating the window.
9762
9763 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
9764
9765         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
9766         the last argument (reported by Per Winkvist).
9767         
9768 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
9769
9770         Fixes for invisible XOR lines (Frank Loemker
9771         <floemker@TechFak.Uni-Bielefeld.DE>)
9772         
9773         * gtk/gtkclist.c (gtk_clist_realize): Always use
9774         a non-zero pixel for GDK_XOR.
9775
9776         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
9777         Use GDK_INVERT instead of GDK_XOR.
9778
9779 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
9780
9781         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
9782         signals if h/voffsets differ from adjustment values.
9783         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
9784
9785 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
9786
9787         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
9788         ::selection-done emissions up to the topmost menu shell.
9789
9790 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
9791
9792         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
9793         the user data on the window before destroying it.
9794
9795         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
9796         unrealize handler to take care of destroying 
9797         notebook->panel properly. 
9798         (Bug #1198 - Morten Welinder <terra@diku.dk>)
9799
9800         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
9801         of g_new and g_realloc to stop memory leak. (Actually,
9802         we could just use g_realloc(), but I'm not 100% sure
9803         that is portable).
9804         (Bug #1196 - Morten Welinder <terra@diku.dk>)
9805
9806 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
9807
9808         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
9809
9810         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
9811         for fontsets.
9812
9813         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
9814         with bin/button confusion.
9815
9816 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
9817
9818         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
9819         and show how preselection of radio items is done.
9820
9821 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
9822
9823         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
9824         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
9825         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
9826         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
9827         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
9828         * gtk/gtktable.c (gtk_table_attach): 
9829         * gtk/gtklist.c (gtk_list_insert_items): 
9830         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
9831         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
9832         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
9833         * gtk/gtkbin.c (gtk_bin_add): 
9834         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
9835         * gtk/gtkfixed.c (gtk_fixed_put): 
9836         * gtk/gtklayout.c (gtk_layout_put):
9837         general fixups to container_add logic. always realize child if
9838         child->parent is realized, only map the child and queue a resize
9839         if child and child->parent are both visible.
9840
9841 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
9842
9843         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
9844         instead of gtk_container_foreach to walk and unrealize children, so
9845         composite children get also unrealized.
9846         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
9847         (gtk_widget_map): assert that the widget is visible (basic constrain).
9848         (gtk_widget_real_map): assert that the widget is realized (basic
9849         constrain).
9850
9851 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
9852
9853         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
9854
9855 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
9856
9857         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
9858         file for iso-8859-2 locales.
9859
9860         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
9861
9862 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
9863
9864         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
9865          (Pointed out by andy@rz.uni-karlsruhe.de and others).
9866          Remove some suspicious and useless lines. 
9867
9868 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
9869
9870         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
9871         width,height = 0, 0 to mean - here to edge of window,
9872         instead of -1, -1, since the former is all we support.
9873
9874 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
9875
9876         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
9877         when removing from quit_functions list.
9878
9879 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
9880
9881         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
9882
9883 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
9884
9885         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
9886          When redrawing characters on non-visible entry, use appropriate
9887          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
9888
9889 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
9890
9891         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
9892         from drag coordinates.
9893         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
9894         use drag_dest_cell.
9895
9896         * gtk/gtktree (drag_dest_cell)
9897         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
9898         (Bug #1129)
9899
9900 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
9901
9902         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
9903         translate_* fields.
9904         (gtk_item_factory_finalize): invoke translate_notify independant from
9905         translate_data.
9906         (gtk_item_factory_set_translate_func): likewise.
9907         (gtk_item_factory_destroy): only remove ifactory pointer from those
9908         widgets that belong to us (stupid me).
9909
9910 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
9911
9912         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
9913         rc_style list when lookup succeeeds.
9914
9915 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
9916
9917         * gtk/gtkctree.c (resync_selection): 
9918         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
9919         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
9920         bug.
9921
9922 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
9923
9924         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
9925         Add some missing GDK_THREADS_ENTER()/LEAVE around
9926         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
9927
9928 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
9929
9930         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
9931         rather than emit_by_name.
9932
9933         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
9934         on the widget across multiple signal emissions.
9935         (gtk_editable_delete_text): same here.
9936         (gtk_editable_class_init): set widget_class->activate_signal after
9937         editable_signals[ACTIVATE] has been created.
9938
9939 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
9940
9941         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
9942         position here prematurely -- we might not have the
9943         right ->min_position and ->max_position yet.
9944
9945 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
9946
9947         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
9948         Add error traps so if the other end of the connection
9949         dies, we survive.
9950
9951         * gtk/gtkselection.c (gtk_selection_notify): Clean
9952         up properly when selection property retrieval fails.
9953         
9954         * gtk/gtkselection.c (gtk_selection_request): Correctly
9955         reject SelectionRequest notifies where the handler
9956         returns no data.
9957
9958 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
9959
9960         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
9961         when we've previously highlighted.
9962
9963         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
9964         emit two "drag_leave" signals for Motif drops.
9965
9966         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
9967         back the correct status messages when dropping from
9968         Motif onto a proxy window that is rejecting the
9969         drop.
9970
9971 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
9972
9973         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
9974         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
9975         to compare two argument values. added gtk_arg_to_valueloc() to set a
9976         variable from an arg through its location (pointer).
9977
9978         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
9979         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
9980         as gfloat*, uchars are collected as guchar*, ints are collected as
9981         gint*, etc...
9982
9983 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
9984
9985         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
9986         Include <string.h> instead of <strings.h>.
9987
9988         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
9989         (actually, a lot more duplicate includes occur if
9990          you trace through the sequence of #include's)
9991         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
9992         
9993 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
9994
9995         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
9996         gtk-a-higuti-990322-[0-3]
9997
9998         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
9999         that was causing -DX_LOCALE not to work.
10000
10001         * gtk/gtkrc.c (gtk_rc_init):
10002         X_LOCALE will never have LC_MESSAGES defined
10003
10004 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
10005
10006         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
10007         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
10008
10009         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
10010         left/right as well (gtk-michael-980726-0.patch.gz).
10011
10012         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
10013         for pointer values, use gchar instead of char. fixed uline allocation
10014         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
10015         chunks instead of G_ALLOC_ONLY.
10016         (gtk_label_size_request): always alter requisition as passed and leave
10017         widget->requisition alone.
10018         (gtk_label_set_text): allow NULL strings.
10019         (gtk_label_new): likewise.
10020
10021 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
10022
10023         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
10024
10025 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
10026
10027         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
10028         *and* mapped (i.e. drawable).
10029         (gtk_bin_expose): only send exposes to drawable children.
10030
10031         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
10032         (gtk_box_expose): only send exposes to drawable children.
10033
10034         * gtk/gtkhscale.c (gtk_hscale_draw): 
10035         * gtk/gtkvscale.c (gtk_vscale_draw):
10036         hm, this is an ugly one. we first compute the size of our trough area
10037         here (window relative) and then check intersection with the draw_area
10038         which is parent relative because we're a NO_WINDOW widget, so we need
10039         to offset the trough area by allocation.x and allocation.y before the
10040         check. (this must not be done for the background area though, since
10041         that's already computed parent relative).
10042
10043 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
10044
10045         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
10046         unrealize title buttons.
10047
10048 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
10049
10050         * gtk/gtkclist.c (gtk_clist_column_title_passive)
10051         (gtk_clist_column_title_active): 
10052         only connect/disconnect to GtkWidgetClass::event to block mouse events.
10053
10054         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
10055         zero initialize event, removed superfluous gdk_window_get_pointer call
10056
10057         * gtk/gtklist.c (gtk_list_vertical_timeout)
10058         (gtk_list_horizontal_timeout): removed superfluous
10059         gdk_window_get_pointer call
10060
10061 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
10062
10063         * plugging problems reported by "Bruce Mitchener, Jr."
10064         <bruce@puremagic.com> due to a purify session.
10065
10066         * gtk/gtkstyle.c:
10067         (gtk_style_ref): 
10068         (gtk_style_unref): assert ref_count to be > 0.
10069
10070         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
10071         the requisition.
10072         (gtk_clist_set_shift): likewise.
10073
10074         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
10075         adjustments.
10076
10077         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
10078         event before sending it and set send_event to TRUE (which needs to
10079         be done for *all* synthesized events).
10080         (gtk_list_vertical_timeout): likewise.
10081
10082         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
10083         leaks.
10084
10085         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
10086         to TRUE when synthesizing events.
10087
10088 [ *** end of merges from 1.2 *** ]      
10089         
10090 1999-11-21  Tor Lillqvist  <tml@iki.fi>
10091
10092         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
10093         (or copied from gdkconfig.h.win32 on Win32, sigh).
10094
10095         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
10096
10097         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
10098
10099         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
10100
10101         * gdk/gdkconfig.h.win32: New file.
10102
10103         * gdk/win32/makefile.cygwin: Build just a static archive here.
10104
10105         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
10106         for the DLL from the static archive built above.
10107
10108         * gdk/gdk.def: Moved here from the win32 subdirectory.
10109
10110         * gdk/win32/*: Adapt for the changed private struct organisation.
10111
10112         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
10113
10114 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
10115
10116         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
10117         for wheel mice (buttons 4 and 5).
10118
10119 1999-11-18  Tor Lillqvist  <tml@iki.fi>
10120
10121         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
10122         drawables use just the pixel field in the foreground and
10123         background GdkColor of the GdkGC.
10124
10125         gdk_gc_set_{fore,back}ground() are called in the GIMP with
10126         GdkColors containing uninitialized (red,green,blue) fields, and
10127         just the pixel field filled in, and furthermore in the
10128         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
10129         It thus turns out that we really don't need to have the full
10130         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
10131         it later to have just the pixel values.
10132
10133 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
10134
10135         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
10136
10137 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
10138
10139         * docs/gtkfaq.sgml: threads example from Erik Mouw.
10140         New question on GtkLabel background colors.
10141
10142         * docs/gtk_tut.sgml:
10143           - Correct the example code callback
10144             function definitions.
10145           - Update the gtkdial example code, from Frans van Schaik.
10146           - Update setselection.c to current API.
10147
10148         * examples/Makefile examples/*/*.c: Update to code
10149         listed in tutorial.
10150
10151 1999-11-10  Tor Lillqvist  <tml@iki.fi>
10152
10153         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
10154         subrange table (from the "Developing International Software for
10155         WIndows 95 and Windows NT" book) was missing the Hangul syllable
10156         block... Get the loaded font's charset correctly.
10157
10158         (Note that this, and the other *-win32.c files, still really are
10159         the old ones, the win32 subdirectory is not ready for compilation
10160         yet after the reorg.)
10161
10162 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
10163
10164         * gtk/gtkclist.c: Fix off-by-one bug in parameter
10165         check.
10166
10167 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
10168
10169         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
10170         on results of XQueryDeviceState().
10171
10172 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
10173
10174         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
10175         we need to accesss only ->children. We need an accessor
10176         for the children.
10177
10178         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
10179         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
10180         to get rid of gdkx.h include.
10181         
10182         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
10183         and random references to 'None'.
10184
10185         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
10186         Get rid of unused #include <gdk/gdkx.h>
10187
10188         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
10189         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
10190         gdkconfig.h.
10191
10192 1999-11-08  Tor Lillqvist  <tml@iki.fi>
10193
10194         * gdk/win32/gdkdraw.c
10195         * gdk/win32/gdkfont.c
10196         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
10197         following yesterday's changes. (Unrelated to Owen's reorg.)
10198
10199 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
10200
10201         * gdk/x11/gdkinput-gxi.c: Add missing include,
10202           fix GdkWindowPrivate => GdkDrawablePrivate.
10203
10204         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
10205
10206         * gdk/x11/Makefile.am (xinput_sources): Add missing
10207         backslash to fix building with --with-xinput=none
10208
10209 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
10210
10211         Move all X specific code into the x11/ directory.
10212         Aside from shuffling things around, did the following:
10213
10214        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
10215          gdk_arg_context_* - a simple argument parsing system
10216          in the style of popt.
10217
10218        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
10219          gdk/x11/gdkprivate-x11.h:
10220          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
10221          add ->klass and ->klass_data fields. The klass_data
10222          field points to an auxilliary structure that is
10223          windowing system dependent.
10224
10225        * gdk/gdkfont.c: Make most of the measurement functions
10226          simply wrappers around gdk_text_extents().
10227
10228        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
10229          _gdk_font_strlen() function that hides the weird
10230          behavior in gtk+-1.[02] where a string is interpreted
10231          differently for 8-bit and 16-bit fonts.
10232
10233        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
10234          to store common code for synthesizing double/triple
10235          press events.
10236         
10237        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
10238          Make all the function that modify an existing GC
10239          simply wrappers around gdk_gc_set_values().
10240          
10241        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
10242          for throwing out later.
10243
10244        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
10245          GdkImagePrivate and GdkColormapPrivate to have a
10246          windowing system dependent part (GdkFontPrivateX etc.)
10247          that "derives" from the system-independent part.
10248
10249        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
10250          Got rid of the included-source-files for XInput in
10251          favor of automake conditionals. (Which didn't exist
10252          when XInput support was originally added.)
10253
10254        * gdk/gdkrgb.c: Remove the visual id from the debugging
10255          statements since that is X11 specific; print out
10256          type/depth info instead.
10257          
10258
10259 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
10260
10261         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
10262         loading duplicates of hashed fonts.
10263
10264         * gdk/gdk.c (gdk_keysym_convert_case): rename
10265         gdk_XConvertCase to gdk_keysym_convert_case, allow
10266         results to be NULL in the GTK+ style.
10267
10268         * gdk/gdkcompat.h: Started compatibility header
10269         for renames.
10270
10271 1999-11-07  Tor Lillqvist  <tml@iki.fi>
10272
10273         * gdk/win32/gdkprivate.h: New font private structures, related to
10274         fontsets.
10275
10276         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
10277         gdk_font_list_free(). On X11, will just be wrappers to
10278         XListFonts() and XFreeFontNames(). On Win32, the code previously
10279         in gtkfontsel.c is now here.
10280
10281         New function gdk_font_xlfd_create(). On X11 will get the FONT
10282         property of the font (for GDK_FONT_FONTs), or call
10283         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
10284         builds a XLFD style name from the font information in the LOGFONT
10285         struct(s).
10286
10287         New function gdk_font_xlfd_free(), which correspondingly frees the
10288         string returned by gdk_font_xlfd_create().
10289
10290         Implement fontsets on Win32. Add a function that iterates over a
10291         wide char string and calls a callback function for each substring
10292         of wide chars from the same Unicode subrange (and thus probably
10293         available in the same real font).
10294
10295         Improve the XLFD emulation a bit.
10296
10297         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
10298
10299         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
10300         Beta3, WM_IME_CHAR messages don't seem to contain the composed
10301         multi-byte char as with the Active IMM on Win9x. Oh well, handle
10302         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
10303         ImmGetCompositionStringW() to get the composed Unicode chars.
10304
10305         * gdk/win32/gdkgc.c
10306         * gdk/win32/gdkdraw.c: Changes needed because of the font private
10307         struct changes.
10308
10309         * gdk/win32/gdk.def: Add the new functions.
10310
10311 1999-11-04  Tor Lillqvist  <tml@iki.fi>
10312
10313         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
10314         get the Platform SDK to get <dimm.h>.
10315
10316         * gdk/win32/gdkevents.c: More event handling fixes and
10317         simplification. Never generate motion events with is_hint true. We
10318         used to do that on bogus grounds earlier. Windows sends
10319         WM_MOUSEMOVE messages on button events even if the mouse hasn't
10320         moved, ignore these.
10321
10322         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
10323
10324         * gdk/win32/gdkglobals.c
10325         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
10326         the TrackMouseEvent function, and use it.
10327
10328         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
10329         char before calling WideCharToMultiByte in order to get a string
10330         for the window title.
10331
10332         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
10333
10334         * gdk/win32/gdk.def: Remove obsolete functions.
10335
10336         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
10337         /nodefaultlib and /defaultlib switches.
10338
10339         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
10340
10341 1999-10-31  Tor Lillqvist  <tml@iki.fi>
10342
10343         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
10344         EuroSign).
10345
10346         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
10347         same type as GdkWChar, especially on Win32.
10348
10349         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
10350
10351         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
10352         before passing to Windows GDI for drawing etc. Convert to the
10353         system default codepage before passing to Windows as window
10354         titles.
10355
10356         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
10357         support changing input locale on the fly.
10358
10359         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
10360         on-the-fly changes. Convert incoming characters from the current
10361         codepage to Unicode (and then to a UTF-8 multi-byte string) based
10362         on the current input language. Use keysym<->Unicode mapping tables
10363         and functions borrowed from xterm sources.
10364
10365         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
10366         editions of Win9x, use the ActiveX-based Active IMM (Input Method
10367         Manager) if available. IMEs and the Active IMM are available under
10368         the disguise of Chinese, Korean and Japanese support for IE and
10369         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
10370         support is present in all editions (as long as you install it).
10371
10372         Call DispatchMessage from gdk_events_queue() (and thus
10373         gdk_WindowProc()), instead of duplicating the code in
10374         gdk_WindowProc().
10375
10376         Reworked the grab handling and propagation code, factored out
10377         duplicated code snippets into separate functions. Other cleanups,
10378         too.
10379
10380         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
10381         the <dimm.h> header describing the Active IMM.
10382
10383         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
10384         just do the same as for "single" fonts.
10385
10386         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
10387         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
10388         the new keysyms from gdkkeysyms.h.
10389
10390         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
10391         fontset, so that gtkentry uses wide characters.
10392
10393         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
10394         GTk+'s system directory "gtk+", not "gtk".
10395
10396 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
10397
10398         * docs/gtkfaq.sgml: FAQ update
10399
10400 1999-10-21  Tor Lillqvist  <tml@iki.fi>
10401
10402         * gdk/win32/gdkprivate.h: Add more font private data.
10403
10404         * gdk/win32/gdkfont.c
10405         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
10406         fonts and strings. Now works much better. You still have to
10407         have a correct font selected, though. No fontset emulation yet.
10408
10409 1999-10-19  Tor Lillqvist  <tml@iki.fi>
10410
10411         * gtk/maketypes.awk: Use G_OS_WIN32.
10412
10413         * gtk/gtk.def: Add some missing entry points. Also some non-public
10414         ones, but PyGTK porter claims to need them.
10415
10416         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
10417         built-in type generation.
10418
10419 1999-10-14  Tor Lillqvist  <tml@iki.fi>
10420
10421         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
10422         GDK_FONT_FONT fonts (which is all we have for now, we don't
10423         emulate fontsets). The X11 version uses plain XDrawString in that
10424         case, too. The string passed to gdk_draw_text_wc seems to be in
10425         fact (at least, when used by gtkentry and gtktext) either in a
10426         single-byte charset, or a DBCS. Not Unicode.
10427
10428         This fixes the problem in gtkfontsel, where even if you had
10429         selected a font with a non-Latin1 charset (windows-greek, for
10430         instance), the preview still used Latin-1 glyphs.
10431
10432         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
10433         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
10434         (gdk_font_load): Recognize the demibold etc weights, even if we
10435         don't have the corresponding constants in the headers.
10436         (gdk_font_hash_insert): Use same hash mechanism as in the X11
10437         version. Should save font resources a bit, when we don't have
10438         multiple HFONTs for the same font.
10439
10440         * gdk/win32/gdkprivate.h: Add the names field as in the X11
10441         version.
10442
10443 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
10444
10445         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
10446         X values
10447
10448 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
10449
10450         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
10451         layout support (as mentioned on
10452         http://www.jcinteractive.com/gnome-ui/software/widgets/)
10453
10454 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
10455
10456         * gtk/fnmatch.c
10457         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
10458
10459 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
10460
10461         * configure.in (ALL_LINGUAS): Added Galician (gl)
10462
10463 1999-10-05  Tor Lillqvist  <tml@iki.fi>
10464
10465         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
10466
10467         * gdk/win32/gdkcompat.c: New file, actually provide an
10468         implementation for the deprecated functions. (Just temporarily.)
10469
10470         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
10471
10472         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
10473
10474         * gdk/win32/gdk.def gtk/gtk.def: Updates.
10475
10476 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
10477
10478         * configure.in: Added "uk" to ALL_LINGUAS.
10479         
10480 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
10481
10482         * configure.in: correct checking for BeOS check
10483
10484         * gdk/gdktypes.h
10485         * gtk/fnmatch.c
10486         * gtk/gtkfilesel.c
10487         * gtk/gtkitemfactory.c
10488         * gtk/gtkmain.[ch]
10489         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
10490
10491 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
10492
10493         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
10494         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
10495         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
10496         by Bulgarian). 
10497
10498 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
10499
10500         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
10501         Fix a reference to window_private->destroyed.   
10502
10503         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
10504         (ugly) setting of an internal GdkWindow member to use
10505         a _slightly_ cleaner macro.
10506
10507         * gdk/gdkprivate.h: Split GdkWindowPrivate into
10508         GdkDrawablePrivate and GdkWindowPrivate.
10509         Add extra macros for accessing GDK_DRAWABLE_ components.
10510
10511         * *.[ch]: Massive adjustments for the above, use the
10512         new macros in a lot of places.
10513
10514 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
10515
10516         * gdk/gdktypes.h: Make GdkDrawable the base type,
10517         not GdkWindow.
10518
10519 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
10520
10521         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
10522
10523 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
10524
10525         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
10526
10527 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
10528
10529         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
10530         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
10531
10532         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
10533
10534         * docs/gtk-config.1: Now autogenerated.
10535         * docs/Changes-1.4.txt: started
10536         
10537 1999-10-03  Tor Lillqvist  <tml@iki.fi>
10538
10539         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
10540         to #ifdef also here.
10541
10542         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
10543         Owen did to the X11 backend.
10544
10545         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
10546         ScrollWindowEx when blitting inside a window, it can't be correct
10547         in the general case.
10548
10549         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
10550         WM_GETMINMAXINFO is easier.
10551
10552         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
10553         depth equal to the bitspixel value, not the visual's depth.
10554
10555         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
10556         to 24 even if the bitspixel value is 32.
10557
10558         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
10559         need to check for depth==32 when bpp==32, depth will always be 24.
10560
10561 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
10562
10563         * docs/Changes-1.4.txt: Started
10564         
10565         * gtk/Makefile.am (gdk_headers): Include all the new headers.
10566
10567         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
10568         
10569         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
10570         into C file.
10571         
10572         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
10573         header to gdkinputprivate.h.
10574
10575         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
10576         unused since before 1.2.
10577
10578 1999-09-30  Tor Lillqvist  <tml@iki.fi>
10579
10580         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
10581         expand possible hex escapes in the font family (put there by
10582         logfont_to_xlfd if the font name isn't a legal XLFD font family,
10583         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
10584         On Win32, add hex escapes here, too.
10585
10586 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
10587
10588         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
10589         to #ifdef GDK_WINDOWING_X11.
10590
10591 [ Merges from gtk-1-2 ]
10592
10593 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
10594
10595         * configure.in: fixed "GNU Make" check to pass with new make version
10596         3.77.95.
10597
10598 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
10599
10600         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
10601         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
10602         AM_PATH_GTK() macros don't get confused by the -pre1.
10603
10604 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
10605
10606         * configure.in (REBUILD): Change check for perl5
10607           to check explicitely for v >= 5.002. (5.001
10608           does not work with our scripts.)
10609
10610 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
10611
10612         * configure.in: evaluate $PERL for the perl version check. added
10613         --disable-rebuilds to give the user an option to completely disable
10614         any source autogeneration rules.
10615
10616 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
10617
10618         * configure.in: evaluate $ac_make when checking for GNU Make.
10619
10620 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
10621
10622         * docs/Makefile.am: added generation.txt.
10623
10624         * Makefile.am: require automake 1.4, build README from README.in and
10625         INSTALL from INSTALL.in in dist-hook.
10626         
10627         * README.in:
10628         * INSTALL.in: new files to autogenerate README and INSTALL from.
10629
10630         * configure.in: figure whether we have GNU Make
10631
10632         * docs/generation.txt: minor additions/corrections.
10633
10634 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
10635
10636         * docs/gtkfaq.sgml: FAQ Update
10637
10638 July 30, 1999 Elliot Lee <sopwith@redhat.com>
10639         
10640         * configure.in: Fix autoconf warnings about cross compilation by
10641         trying to provide sane defaults for AC_TRY_RUN.
10642
10643 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
10644
10645         * ltconfig
10646         * ltmain.sh: upgrade to libtool 1.3.3
10647
10648 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
10649
10650         * INSTALL: Indicate that the --with-glib= configure
10651         time flag is unsupported.
10652
10653 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
10654
10655         * docs/generation.txt: Added a file that gives
10656         documenation about the autogeneration process for
10657         various autogenerated files.
10658         
10659 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
10660
10661         * configure.in (LIBS): Look for libgmodule in the
10662         right location.
10663
10664 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
10665
10666         * docs/gtk_tut.sgml: Removed references to
10667         code examples in my directory on gtk.org as
10668         they should all be in the tutorial now.
10669
10670         * docs/gtk_tut.sgml: Added sources for dial-test
10671         and scribble-xinput programs that were previously
10672         missing.
10673
10674 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
10675
10676         * TODO: Added entry about menu keyboard navigation, removed
10677         some finished items.
10678
10679 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
10680
10681         * acinclude.m4: Standardize on func_dgettext
10682         not func_gettext, so that the checks for dgettext
10683         actually are paid attention to.
10684
10685 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
10686
10687         * configure.in (LIBS): Add $INTLLIBS into $LIBS
10688         directly, rather than repeating the checks for
10689         gettext.
10690
10691         * INSTALL: Added information about gettext and
10692         NLS support.
10693
10694         * acinclude.m4 (LIBM): Check for dgettext, not
10695         just gettext. This should hopefully fix things wrt
10696         systems with old versions of GNU gettext installed.
10697
10698 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
10699
10700         * configure.in (LIBS): Look for libgmodule in the
10701         right location.
10702
10703 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
10704
10705         * autogen.sh: add --enable-maintainer-mode
10706
10707         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
10708
10709 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
10710
10711         * docs/gtk-config.1.in:
10712           docs/Makefile.am:
10713           configure.in: gtk-config is now generated.
10714
10715         * docs/gtk-config.1: Removed, now generated.
10716
10717 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
10718
10719         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
10720         handle CreateNotify itself, still put out a debuging message for
10721         --gdk-debug=events. made the ReparentNotify debugging message more
10722         verbose.
10723         wrap xcoords translation for ConfigureEvents into an error trap,
10724         a destroy event may already be pending, and in that case, the
10725         actuall coordinate values are not at all critical.
10726
10727 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
10728
10729         * gdk/gdkcc.c: Stop leaking the color_hash all over
10730         the place. Simplify and improve the logic.
10731
10732 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
10733
10734         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
10735         for prototypes and function implementations consistent (reported
10736         by Tomas Ogren).
10737
10738 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
10739
10740         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
10741         send_event set in debugging output.
10742         (gdk_compress_exposures): default initialize the event so we don't
10743         operate on bogus values (namely send_event).
10744
10745 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
10746
10747         * gdk/gdkwindow.c: When we receive an unexpected
10748         destroy notify on one of our windows, don't just
10749         warn about it, also mark our windows as destroyed.
10750
10751 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
10752
10753         * gdk/gdkfont.c (gdk_font_hash_insert): Add
10754           name => font and name => fontset hashes. The 
10755           name => fontset hash is a _big_ win since we
10756           weren't previously caching fontsets at all and loading
10757           fontsets is expensive. The name => font hash
10758           is less of a win, but it does save us from doing
10759           repeated XQueryFont calls on the same font.
10760
10761         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
10762           list so we can remove font/fontset from hash.
10763
10764 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
10765
10766         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
10767           and slightly confusing test. [ XInternAtom (,,TRUE)
10768           will never return None ].
10769
10770 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
10771
10772         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
10773           gdk/gdkwindow.c (gdk_window_set_hints):
10774
10775         Don't omit setting the properties if flags == 0 -
10776         there may be an existing set of properties there
10777         already. (Very old bug. Would it be better to
10778         delete the property instead?)
10779
10780         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
10781           spelling error in comment.
10782
10783 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
10784
10785         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
10786           to avoid stomping over gdk_error_warnings.
10787
10788         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
10789           as (bits_per_pixel + 7) / 8. This gives the same
10790           result as before for multiples of 8, but actually
10791           a "reasonable" value for 1bit or 4bit displays.
10792
10793 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
10794
10795         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
10796         GNU Make.
10797
10798 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
10799
10800         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
10801         discarding configure events.
10802
10803 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
10804
10805         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
10806         refcount is greater than zero.
10807
10808         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
10809
10810         * gdk/gdkfont.c (gdk_font_unref): Likewise.
10811
10812         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
10813
10814         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
10815
10816 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
10817
10818         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
10819         that format 32 => sizeof(item) == 4. It really is
10820         sizeof(long).
10821
10822 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
10823
10824         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
10825         core dump at all on X IO errors, only core dump
10826         if --enable-debug for X errors.
10827
10828 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
10829
10830         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
10831         unknown window:" message. disabled ConfigureNotify discarding code,
10832         because it led to events being processed out of order.
10833
10834 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
10835
10836         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
10837
10838         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
10839         we export this function, supress error warnings and don't reset the
10840         error code in the first half of this function.
10841
10842         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
10843         code (instead of just -1) so gdk_error_trap_pop() reveals something
10844         actually informative about the error that happened.
10845
10846         * gdk/*.c:
10847         don't rely on gdk_error_code being -1 if an error occoured, but just
10848         gdk_error_code != 0.
10849
10850 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
10851
10852         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
10853         pointer *before* invoking the filter function, so we at least don't
10854         crash if a filter is removed that is currently executed. window filters
10855         *really* need to be made truely reentrant at some point.
10856
10857 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
10858
10859         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
10860         PropertyNotify debug messages.
10861
10862 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
10863         
10864         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
10865         
10866         * gdk/gdkim.c: Fix cut-and-paste errors for 
10867         x/y and PreeditAttributes/StatusAttributes.
10868
10869 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
10870
10871         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
10872         G_MAXINT to 2^16 to alleviate overflow problems in
10873         various window managers.
10874
10875 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
10876
10877         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
10878         for fontsets.
10879
10880 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
10881
10882         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
10883         Initialize size_hints.x and size_hints.y because kwm
10884         brokenly pays attention to them.
10885         (Bug #1181 -  Lars Heete <hel@admin.de>)
10886
10887 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
10888
10889         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
10890         return value of gdk_list_visuals(). 
10891         (Bug #1193 - Morten Welinder <terra@diku.dk>)
10892
10893 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
10894
10895         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
10896         XSetIMValues to (void *) when comparing to NULL, to workaround
10897         the problem of some compilers barfing since older X headers don't
10898         have the prototype for it.
10899
10900 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
10901
10902         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
10903         for pseudocolor where colormap->colors was double
10904         allocated.
10905
10906         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
10907         color value in the hash table with the pixel filled
10908         in so when we do later hash table lookups, the color
10909         value is correct.
10910         
10911 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
10912
10913         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
10914         making the call
10915
10916 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
10917
10918         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
10919         pointed out by Morten Welinder <terra@diku.dk>.
10920
10921 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
10922
10923         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
10924           default filter from the list
10925
10926 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
10927
10928         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
10929           default filter from the list
10930
10931 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
10932
10933         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
10934
10935         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
10936         g_strdup_printf instead of calcing the length separately
10937
10938 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
10939
10940         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
10941         that we don't do in many other places. (Fixing duplicate 
10942         #include of config.h)
10943
10944         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
10945         Otherwise, #ifndef XINPUT_NONE check in the latter
10946         doesn't work. (Bug #546)
10947
10948 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
10949
10950         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
10951         "None" case insensitive.
10952
10953 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
10954
10955         * gdk/gdkselection.c: 
10956         Add error traps so if the other end of the connection
10957         dies, we survive.
10958
10959 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
10960
10961         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
10962         dest_xid field into two fields - one for the window
10963         to send in messages, one to indicate the last looked
10964         up window for caching purposes. This is needed, so
10965         that Leave messages get the correct window.
10966
10967 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
10968
10969         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
10970         Fix warning created by people mucking around
10971         with the gsource API.
10972
10973         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
10974         Change mapping between GIOCondition and GdkInputCondition
10975         to match the way the Linux kernel does it. This should
10976         fix problems where closed pipes were no longer signalling
10977         GDK_INPUT_READ on systems with a native poll().
10978
10979 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
10980
10981         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
10982         explicitly for the string "None" - it is in the XPM
10983         spec and some servers treat unknown colors in odd ways
10984         (like asking the user!)
10985
10986 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
10987
10988         * gdk/gdkevents.c: made "->" into a "." of previous change so
10989         it compiles
10990
10991 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
10992
10993         * gdk/gdkevents.c (gdk_compress_exposures): Set the
10994         window field of the event structure before calling
10995         user filters.
10996
10997 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
10998
10999         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
11000         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
11001
11002 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
11003
11004         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
11005         intermediate text property - prevents major memory
11006         leak when gdk_use_mb.
11007         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
11008
11009 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
11010
11011         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
11012         gtk-a-higuti-990322-[0-3]
11013
11014         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
11015         sizeof(wchar_t) != sizeof (GdkWChar)
11016
11017         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
11018         that was causing -DX_LOCALE not to work.
11019
11020         * gtk/gtkrc.c (gtk_rc_init):
11021         X_LOCALE will never have LC_MESSAGES defined
11022
11023         * gdk/gdk.c (gdk_init_check):
11024         Remove --xim-preedit and --xim-status from argv properly.
11025
11026         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
11027         that the client window is present on the X server
11028         before we pass it to the input method.
11029
11030 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11031
11032         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
11033         if --display is specified on the command line, than
11034         the drag window will not be created on that display.
11035         
11036 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
11037
11038         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
11039         lookups with only_if_exists == TRUE were inserting
11040         bogus values into the atom cache.
11041
11042 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
11043
11044         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
11045         then reset it to NULL.
11046
11047         * gdk/gdkcolor.c:
11048         (gdk_colors_free): 
11049         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
11050         key for g_hash_table_remove() in both functions, this prevents us
11051         from accessing possibly uninitialized portions of a GdkColor structure
11052         where we are only interested in its pixel value.
11053
11054 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
11055
11056         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
11057         font hash table, if we have a GdkFontPrivate entry for this font
11058         already, simply increment its reference count, provided by Olaf Dietsche
11059         <olaf.dietsche+list.gtk@netcologne.de>.
11060
11061 1999-09-21  Tor Lillqvist  <tml@iki.fi>
11062
11063         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
11064         just to be sure.
11065
11066         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
11067         unused variables, leftovers from the X11 version.
11068
11069         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
11070
11071         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
11072         downcase fields on X11.
11073
11074 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
11075         
11076         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
11077         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
11078
11079 1999-09-17  Tor Lillqvist  <tml@iki.fi>
11080
11081         * gdk/win32/gdk.def: Add gdk_threads_mutex.
11082
11083         * gtk/makefile.msc: Correct path to libintl.
11084
11085         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
11086         use of gint vs. int, and gint vs. gboolean in headers and
11087         definitions. Use GtkType for the *_get_type functions. Note that
11088         these changes preserve binary compatibility.
11089
11090         * gdk/gdk.c
11091         * gdk/win32/gdk.c
11092         * gdk/gdk.h: Fix inconsistencies: gint vs int.
11093
11094         * gtk/gtkmain.c
11095         * gtk/gtkclist.c
11096         * gtk/gtkmenufactory.c
11097         * gtk/gtknotebook.c
11098         * gtk/gtkwidget.c: Fix inconsistencies, also gint
11099         vs. gboolean.
11100
11101         * gtk/gtkcolorsel.[ch]
11102         * gtk/gtkcombo.[ch]
11103         * gtk/gtkdrawingarea.[ch]
11104         * gtk/gtkgamma.[ch]
11105         * gtk/gtkhandlebox.[ch]
11106         * gtk/gtkhpaned.[ch]
11107         * gtk/gtkhruler.[ch]
11108         * gtk/gtkplug.[ch]
11109         * gtk/gtkpreview.[ch]
11110         * gtk/gtkruler.[ch]
11111         * gtk/gtksocket.[ch]
11112         * gtk/gtkstatusbar.[ch]
11113         * gtk/gtktoolbar.[ch]
11114         * gtk/gtkvbbox.[ch]
11115         * gtk/gtkvpaned.[ch]
11116         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
11117         functions.
11118
11119         * gtk/gtkgamma.h: Fix bug, missing () in call of
11120         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
11121
11122 1999-09-14  Tor Lillqvist  <tml@iki.fi>
11123
11124         * gdk/gdkcolor.c (gdk_colormap_new)
11125         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
11126         colormap->colors was allocated twice.
11127
11128         * gdk/win32/gdk.c: Remove some unused stuff.
11129
11130         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
11131         colormap.
11132
11133         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
11134         * gtk/gtklabel.h (gtk_label_get_type)
11135         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
11136         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
11137         in a couple of places, not guint.
11138
11139 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
11140
11141         * configure.in,po/et.po: added Estonian language file
11142
11143 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
11144
11145         * configure.in,po/da.po: added Danish file
11146
11147 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
11148
11149         * docs/gtkfaq.sgml: Minor FAQ Update
11150
11151 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
11152
11153         * docs/gtkfaq.sgml: FAQ update
11154
11155 1999-08-27  Tor Lillqvist  <tml@iki.fi>
11156
11157         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
11158         way to get window contents continually refreshed while resizing. I
11159         didn't like the effects myself, so it's not on by default.
11160
11161         * gdk/win32/gdkprivate.h: New flag variable
11162         gdk_event_func_from_window_proc, FALSE by default.
11163
11164         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
11165         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
11166         are passed --gdk-event-func-from-window-proc.
11167
11168         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
11169         and we have am event_func, call it instead of enqueing the event.
11170
11171 1999-08-23  Tor Lillqvist  <tml@iki.fi>
11172
11173         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
11174         Kelley: Set expose_count in GdkEventExposes correctly.
11175
11176         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
11177         MULTIPLE_WINDOW_CLASSES).
11178
11179         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
11180         for bug in NT, apparently NT *does* draw the end pixel, too, in
11181         LineTo with a one-pixel pen, so we don't have to do it ourselves.
11182
11183 1999-08-21  Tor Lillqvist  <tml@iki.fi>
11184
11185         Improvements by Hans Breuer: 
11186
11187         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
11188
11189         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
11190         CS_?REDRAW flags as they cause lots of (late) redraws when "show
11191         window contents while dragging" is turned on. Allocate at least
11192         one unique class for every GdkWindowType. If support for single
11193         window-specific icons is ever needed (eg. Dialog specific), every
11194         such window should get its own class.
11195
11196 1999-08-19  Tor Lillqvist  <tml@iki.fi>
11197
11198         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
11199         error that caused crashes.
11200
11201 1999-08-17  Tor Lillqvist  <tml@iki.fi>
11202
11203         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
11204         window, use ScrollWindowEx, and call UpdateWindow. This prevents
11205         bugs when for instance part of the window was outside the
11206         display. Thanks to Philippe Colantoni for finding and fixing this.
11207
11208 1999-08-16  Tor Lillqvist  <tml@iki.fi>
11209
11210         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
11211         endpoint calculations which were totally wrong. (A little RTFMing
11212         helps a lot ;-)
11213
11214         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
11215         from a separate directory, not from gettext, because of licensing
11216         issues (we want to use the LGPL version).
11217
11218         * README.win32: Mention the intl from glibc vs from gettext issue.
11219
11220 1999-08-13  Tor Lillqvist  <tml@iki.fi>
11221
11222         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
11223         in the key event handling: Now AltGr chars work again. Also,
11224         now Alt-digits are passed up as well as Control-digits.
11225         Pass keypad plus and minus as normal plus and minus.
11226
11227 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
11228
11229         * docs/gtkfaq.sgml: FAQ Update
11230
11231 1999-07-25  Tor Lillqvist  <tml@iki.fi>
11232
11233         * README.win32
11234         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
11235         the Wintab SDK.
11236
11237         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
11238         OK, but getting closer. Guard against bogus tilt data from Wacom
11239         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
11240         enable easier building without Wintab.
11241
11242         * gdk/win32/gdkinput.h
11243         * gdk/win32/gdkevents.c 
11244         * gdk/win32/gdkwindow.c: Minor changes related related to above.
11245         
11246         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
11247         code. As we have just one visual on Win32, no sense to have it in a
11248         table, and no need for the hash table.
11249
11250         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
11251         better on white background.
11252
11253 1999-07-21  Tor Lillqvist  <tml@iki.fi>
11254
11255         * README.win32: Update gcc build instructions. Mention gettext is
11256         GPL.
11257
11258         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
11259         supported cursor size with GetSystemMetrics.
11260
11261         * gdk/win32/gdkfont.c
11262         * gtk/gtkfontsel.c: Guard against some font weight and charset
11263         symbols being undefined (in mingw32 headers).
11264
11265         * gdk/win32/makefile.cygwin
11266         * gtk/makefile.cygwin
11267         * gtk/gtkthemes.c: No longer need to have differently named
11268         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
11269
11270 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
11271
11272         * docs/gtkfaq.sgml: Long awaited FAQ update.
11273
11274 1999-07-15  Tor Lillqvist  <tml@iki.fi>
11275
11276         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
11277         it. Obscure bit manipulation needed.
11278
11279         * gdk/win32/gdkevents.c: Logging.
11280         
11281         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
11282         style (file name include compiler name) for theme engines.
11283
11284 1999-07-13  Tor Lillqvist  <tml@iki.fi>
11285
11286         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
11287
11288         * gdk/win32/gdkevents.c: Fix long-standing bug in key
11289         events. The key.string wasn't zero-terminated, still we strdup'ed
11290         it in gdk_event_copy(). Synthesize crossing events for button
11291         events before possible propagation.
11292
11293         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
11294
11295         * gdk/win32/makefile.cygwin
11296         * gtk/makefile.cygwin: Use new DLL naming style for the
11297         GCC-compiled ones.
11298
11299         * gdk/win32/makefile.msc
11300         * gtk/makefile.msc: Cosmetics mostly.
11301
11302         * gtk/gtk.def: Add missing entry points.
11303
11304         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
11305
11306 1999-07-09  Tor Lillqvist  <tml@iki.fi>
11307
11308         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
11309         or height is zero. Don't print a warning if Pie or Arc fails, they
11310         always fail (?) for very narrow ellipses.
11311
11312         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
11313         the part or the destination window corresponding to source area
11314         outside of the source drawable's boundary.
11315
11316         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
11317         anything if less than two points.
11318
11319         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
11320         return NULL. Gtk cut-and-paste inside a single program works
11321         better this way. (It always gets the clipboard contents from
11322         Windows, not from its own copy, which is cleared anyway. I can't
11323         say I fully understand what happens... Emulating the X selection
11324         and property stuff is a bit of a mess.)
11325
11326         * gdk/win32/gdkevents.c
11327         * gdk/win32/gdkproperty.c: A bit more verbose logging.
11328
11329         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
11330         that never got deleted). Revamp gdk_region_shrink.
11331
11332         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
11333         after use.
11334
11335         * gtk/gtk.def: Add some missing entry points.
11336
11337         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
11338         component.
11339
11340 1999-07-04  Tor Lillqvist  <tml@iki.fi>
11341
11342         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
11343         Control-digits specially.
11344
11345 1999-07-03  Tor Lillqvist  <tml@iki.fi>
11346
11347         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
11348
11349 1999-06-28  Tor Lillqvist  <tml@iki.fi>
11350
11351         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
11352         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
11353         finding this.)
11354
11355 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
11356
11357         * gtk+.spec.in: Corrected some typos in files section.
11358         
11359 1999-06-15  Tor Lillqvist  <tml@iki.fi>
11360
11361         * README.win32: Mention using GNU gettext.
11362         * config.h.win32: Enable NLS stuff.
11363         * gtk/makefile.msc: Use GNU gettext.
11364         * gdk/win32/gdkdnd.c: Minor header reorg.
11365         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
11366         cosmetics.
11367         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
11368         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
11369
11370 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
11371
11372         * acinclude.m4
11373         * config.guess
11374         * config.status
11375         * ltconfig
11376         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
11377
11378 1999-05-30  Tor Lillqvist  <tml@iki.fi>
11379
11380         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
11381         SafeAdjustWindowRectEx. Don't override all calls to
11382         AdjustWindowRectEx by it, but use it only in two places: When
11383         creating a new top-level window and when moving a top-level
11384         window.
11385
11386         Use screen coordinate rectangle, not client rectangle, in
11387         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
11388         when we try to place a window so that the decoration (mainly,
11389         title bar) isn't visible.
11390
11391         These changes fix the bug that showed up for instance as the
11392         GIMP's saved top-level windows moving right and down (by an amount
11393         equal to the window decoration) for each session. This bug showed
11394         up also in testgtk's "Saved Position".
11395
11396         gdk_window_resize also redone a bit.
11397
11398 1999-05-25  Tor Lillqvist  <tml@iki.fi>
11399
11400         * gtk/testgtkrc: Add (commented out) Windows-style theme
11401         include line.
11402
11403         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
11404
11405 1999-05-18  Tor Lillqvist  <tml@iki.fi>
11406
11407         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
11408         gdkx.h to a gdk subdirectory, so that applications can include
11409         these with <gdk/*.h> without trouble.
11410
11411         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
11412         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
11413         have their bitmap destroyed.
11414
11415         * gdk/win32/gdk.def: Add gdk_root_parent.
11416
11417 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
11418
11419         * configure.in
11420           gtk-config.in
11421           ltconfig
11422           ltmain.sh     
11423           gtk/Makefile.am: changes to compile nicely (with xlib) 
11424           on BeOS
11425
11426 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
11427
11428         * acinclude.m4
11429         * config.guess
11430         * config.sub
11431         * ltconfig
11432         * ltmain.sh: upgrade to libtool 1.3
11433
11434 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
11435
11436         * gtk/gtkclist.c:
11437         * gtk/gtkctree.c: merges from gtk-1-2
11438
11439 1999-04-25  Tor Lillqvist  <tml@iki.fi>
11440
11441         Support added for building using a GNU toolchain on Win32,
11442         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
11443
11444         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
11445         * config.h.win32: Changes for gcc.
11446         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
11447         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
11448         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
11449         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
11450         Protect shl stuff unavaiilable with mingw32 headers.
11451         * gdk/win32/gdkevents.c: Fix typo.
11452         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
11453         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
11454         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
11455         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
11456         the mingw32 headers.
11457         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
11458         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
11459         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
11460         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
11461         Test for NATIVE_WIN32, not _MSC_VER.
11462         * gtk/gtkmain.c: No use warning about developer version on Win32,
11463         there aren't any non-developer versions anyhow.
11464         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
11465         * gtk/makefile.msc: Use pthread from another directory. Minor other
11466         changes. 
11467
11468 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
11469
11470         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
11471           default filter from the list
11472
11473 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
11474
11475         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
11476          when gtk_widget_grab_default() is called for a widget that
11477          is not within a GtkWindow.
11478
11479 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
11480
11481         * docs/gtk_tut.sgml, examples/clist.c: use a
11482           scrolled window in the clist example. Minor
11483           tutorial fixes.
11484
11485 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
11486
11487         * docs/gtk_tut.sgml: Style check from David King
11488           <dking@youvegotmail.net>
11489
11490 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
11491
11492         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
11493         compile with unknown value of GDK_WINDOWING
11494
11495 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
11496
11497         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
11498         after the rule is fired.
11499         (install-exec-local): Install gdkconfig.h only if the contents are
11500         different from the currently installed gdkconfig.h.
11501
11502 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
11503
11504         * gdk/Makefile.am (configexecincludedir): Rename from 
11505         configincludedir so that gdkconfig.h will be installed 
11506         as part of `make install-exec'. 
11507
11508 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
11509
11510         * acinclude.m4
11511         * config.guess
11512         * config.sub
11513         * ltconfig
11514         * ltmain.sh: upgrade to libtool 1.2f
11515
11516         * autogen.sh: libtool is not required to autogen gtk+
11517
11518         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
11519         needed)
11520
11521 1999-03-18  Tor Lillqvist  <tml@iki.fi>
11522
11523         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
11524         declaring gdk variables exported/imported from the DLL. New image
11525         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
11526         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
11527         GDK_DRAG_PROTO_OLE2.
11528
11529         * gdk/gdk.h: Merge in Win32 version: Two new functions,
11530         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
11531         declared only for the Win32 version, but could be in the X11
11532         version as well. (Needed for a Xlib-less gdk_imlib.)
11533         gdk_color_hash should have only one parameter. Declare
11534         gdk_threads_mutex with GDKVAR.
11535         
11536         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
11537         just one parameter.
11538
11539         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
11540         per pixel, not bits.
11541
11542         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
11543         Fetch bpp (which means bits-per-pixel here) from another place on
11544         Win32. Accept also depth==32 (which we might get on Win32) with
11545         bpp==32.
11546
11547         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
11548         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
11549         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
11550         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
11551         in the backend-dependent directory, not in the common gdk
11552         directory.
11553
11554         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
11555         headers.
11556
11557 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
11558
11559         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
11560         want to use the Gtk+ devel version (which is true, and yes - even i am
11561         currently working with the 1.2.x branch). so everyone reading this, you
11562         probably want to issue
11563         cvs checkout -r glib-1-2 glib
11564         and
11565         cvs checkout -r gtk-1-2 gtk+
11566         as your next two comands.
11567
11568 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
11569
11570         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
11571         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
11572
11573         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
11574         file. strongly deprecated the GTK_HAVE_* macros, we provide
11575         GTK_CHECK_VERSION() for people that need to check for certain
11576         Gtk+ versions.
11577
11578         * gtk/gtkcompat.h: removed this from CVS.
11579         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
11580         idea right from the start, it just didn't seem like that back then.
11581
11582 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
11583
11584         * merges from gtk-1-2:
11585
11586 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
11587
11588         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
11589         item factory class has been created.
11590         (gtk_item_factory_parse_rc): likewise.
11591
11592         * gtk/gtkmenu.c:
11593         keep proper references for old_active_menu_item.
11594         (gtk_menu_reparent): unset the usize of the new parent,
11595         so the menu can sanely be size requested and we don't get nasty screen
11596         artefacts upon next reparentation.
11597         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
11598         enter notify. only synthesize enter notifies if the pointer really is
11599         inside the event window.
11600         (gtk_menu_popdown): use gtk_menu_shell_deselect().
11601         (gtk_menu_popup): move the background setting stuff into
11602         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
11603
11604         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
11605         gtk_menu_shell_select_item() to select the new item.
11606         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
11607         do the right thing for deselection as well.
11608
11609 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
11610
11611         * gtk/gtkwidget.[hc]:
11612         (gtk_widget_accelerators_locked): return whether a widget's accelerators
11613         are locked.
11614
11615         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
11616         existing accelerators if the widget's accelerators are locked.
11617
11618 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
11619
11620         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
11621
11622         * gtk/gtkmenu.c: truely forward key press and key release events to
11623         the menu widget from the toplevel or tearoff window. we can't simply
11624         connect to that, we need to stop further processing of the events as
11625         well.
11626
11627 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
11628
11629         * gtk/gtkmenu.c:
11630         (gtk_menu_key_press): pass event->keyval, event->state to
11631         gtk_accelerator_valid, instead of event->keyval twice.
11632         refuse to install single letter accelerators for menus that use
11633         single letter shortcuts.
11634
11635         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
11636         gtk_menu_ensure_uline_accel_group().
11637
11638         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
11639         which will always return an uline accel group, made
11640         gtk_menu_get_uline_accel_group() return NULL if the group isn't
11641         yet created.
11642
11643 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
11644
11645         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
11646
11647         * gtk/gtkclist.c (gtk_clist_column_title_passive):
11648         Leave button sensitive, trap  button_press, button_release,
11649         motion_notify, enter_notify and leave_notify events instead.
11650         (gtk_clist_column_title_active): disconnect event handler.
11651         (gtk_clist_drag_data_get): fixed memory leak. Reported by
11652         Guillaume Laurent <glaurent@worldnet.fr>
11653
11654 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
11655
11656         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
11657         width/height mixups.
11658
11659         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
11660         if needed.
11661
11662 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
11663
11664         * gtk/testgtk.c (create_item_factory): unref the item factory after
11665         window's destruction.
11666
11667         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
11668         count on the menu shell around the menu item's activation, since the
11669         signal emission may cause menu shell destruction.
11670
11671         * gtk/gtkitemfactory.c:
11672         the previous code leaked one accel group per menu. we use
11673         gtk_menu_get_uline_accel_group() now to fix that, and with that
11674         also create the underline accelerator group of the menus only if
11675         required (i.e. an underline accelerator has been specified).
11676         (gtk_item_factory_construct):
11677         (gtk_item_factory_create_item): removed code that would create an
11678         extra accel group for the menu (and leak references).
11679         (gtk_item_factory_create_item): adapted the underline accelerator
11680         installation code to properly feature gtk_menu_get_uline_accel_group().
11681
11682         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
11683         menu->accel_group, this may return NULL if the accelerator group
11684         hasn't been set yet.
11685         added gtk_menu_get_uline_accel_group() to retrive the underline
11686         accelerator group of the menu, this will be created on demand
11687         and proper care is taken about its reference count.
11688
11689         * gtk/gtkitemfactory.h:
11690         * gtk/gtkitemfactory.c:
11691         dumped the approach of keeping a widgets by action list on the
11692         factory since the factory<->widget destroy negotiation didn't work
11693         and would be hard to get going at all. instead we keep a list of
11694         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
11695         persistant throughout a program's life time).
11696         also, i removed the static const gchar *key_* variables, and made
11697         them inline strings (they weren't actually used anyways).
11698         (gtk_item_factory_add_item): update ifactory->items.
11699         (gtk_item_factory_destroy): destroy ifactory->items (and remove
11700         the item factory pointer from the remaining ifactory widgets).
11701         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
11702         list to find the widget.
11703         (gtk_item_factory_get_item): new function that works around
11704         gtk_item_factory_get_widget() limitations, this function will only
11705         return menu items, even for <Branch> entries.
11706
11707 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
11708
11709         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
11710         font hash table, if we have a GdkFontPrivate entry for this font
11711         already, simply increment its reference count, provided by Olaf Dietsche
11712         <olaf.dietsche+list.gtk@netcologne.de>.
11713
11714         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
11715         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
11716
11717 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
11718
11719         * gtk/gtkcontainer.c:
11720         (gtk_container_add_with_args):
11721         (gtk_container_addv):
11722         (gtk_container_add): before adding a child to a conatiner, make sure
11723         it is (default) constructed, this is neccessary because under certain
11724         circumstances the child will get relized and mapped immediatedly, in
11725         which case it has to be constructed already.
11726
11727 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
11728
11729         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
11730         values > 1 as TRUE also.
11731
11732 1999-03-16  Tor Lillqvist  <tml@iki.fi>
11733
11734         * README.win32: New file.
11735                 
11736         * configure.in: Check for lstat.
11737
11738         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
11739         completeness.
11740
11741         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
11742
11743         * gtk/gtk.def: Removed CRs.
11744
11745         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
11746         ..\gdk\win32).
11747
11748         * gdk/win32/makefile.msc: Correct upwards relative paths.
11749         
11750 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
11751
11752         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
11753           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
11754           it was connecting a void function to expose_event and the int
11755           returning function to the draw signal
11756
11757 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
11758
11759         * configure.in:
11760         Use correct path to libgmodule.la when ref'ing uninstalled copy
11761         of glib.  (Already in stable branch, Bug #417)
11762
11763 1999-03-15  Tor Lillqvist  <tml@iki.fi>
11764
11765         Win32 merge and general portability stuff:
11766                 
11767         * acconfig.h,configure.in: Check for <sys/time.h>.
11768
11769         * gdk/win32: New directory (actually, been there for a while).
11770         
11771         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
11772         NATIVE_WIN32, and use these. Always case fold on Win32. No
11773         backslashed escapes on native Win32.
11774
11775         * gtk/{gtk.def,makefile.msc}: New files.
11776
11777         * gtk/Makefile.am: Add above new files.
11778         
11779         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
11780         instead of <strings.h>.
11781
11782         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
11783         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
11784         <unistd.h> appropriately.
11785
11786         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
11787         Use ABS() (from <glib.h>) instead of abs().
11788         
11789         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
11790         of gtk (and thus glib) headers, so that WIN32 will be
11791         defined. With MS C, include <direct.h> for mkdir prototype.
11792
11793         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
11794         some casts, needed by MS C.
11795
11796         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
11797         implemented).
11798
11799         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
11800         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
11801         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
11802
11803         * gtk/gtkmain.h: Mark variables for export/import on Win32.
11804                 
11805         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
11806         the event is not a hint, or its window is not the slider. Needed
11807         on Win32, at least.
11808
11809         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
11810         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
11811         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
11812         a subdirectory of the Windows directory as gtk system
11813         configuration directory.
11814
11815         * gtk/gtkselection.c: No chunks on Win32.
11816
11817         * gtk/gtksocket.c: Not implemented on Win32.
11818
11819         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
11820
11821         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
11822
11823         * gtk/maketypes.awk: Declare variables with a macro that expands to
11824         necessary export/import magic in the case of Win32.
11825                 
11826         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
11827
11828 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
11829
11830         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
11831         since those were meant only for gdki18n.h.  
11832         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
11833         for widechar tests.
11834         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
11835
11836 1999-03-13  Tor Lillqvist  <tml@iki.fi>
11837
11838         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
11839         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
11840
11841         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
11842         installed) to CFLAGS.
11843
11844         * gdk/Makefile.am: Add rules for gdkconfig.h.
11845
11846         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
11847         APIs.
11848
11849         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
11850         gdkx.h anyway when compiling for X11.
11851         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
11852         general): Merge in Win32 version.
11853         
11854         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
11855         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
11856         expansion (if we don't have HAVE_PWD_H), allow for drive
11857         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
11858         included code from Craig Setera's port to Win32 (the one that uses
11859         X11, and the cygwin dll), even if it probably will be abandoned.
11860
11861         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
11862         the user entered one herself.  This way one can complete *.h and
11863         don't get matches on any .help files, for instance.
11864         
11865 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
11866
11867         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
11868         font hash table, if we have a GdkFontPrivate entry for this font
11869         already, simply increment its reference count, provided by Olaf Dietsche
11870         <olaf.dietsche+list.gtk@netcologne.de>.
11871
11872         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
11873         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
11874
11875 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
11876
11877         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
11878         the number of calls to gdk_draw_point() (and thus to X) by
11879         clipping the points by hand.
11880
11881         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
11882         the clip parameter.
11883         (gtk_handle_box_paint): Only paint the handle if the expose area
11884         intersects it.
11885
11886 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
11887
11888         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
11889
11890 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
11891
11892         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
11893         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
11894
11895 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
11896
11897         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
11898          textmode (O_TEXT) for OS/2 version.
11899
11900 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
11901
11902         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
11903         GtkSpinButton, "input" and "output", to make the output more flexible.
11904         The user has to provide a mapping between adjustment->value and the
11905         output string (and vice versa, if the spin button is editable). 
11906         See testgtk for examples.
11907
11908 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
11909
11910         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
11911         new one.
11912         
11913         * configure.in: set gtk+ version to 1.3.0.