]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
gdk/gdkgc.c (gdk_gc_set_rgb_bg_color): Set the background color,
[~andy/gtk] / ChangeLog.pre-2-4
1 2001-08-09  Matthias Clasen  <matthiasc@waldgeist.poet.de>
2
3         * gdk/gdkgc.c (gdk_gc_set_rgb_bg_color): Set the background color,
4         not the foreground color. (#57621)
5
6 2001-08-09  Alexander Larsson <alexl@redhat.com>
7
8         * gdk/win32/gdkfont-win32.c:
9         Update to the new pango win32 api.
10
11 2001-08-08  HideToshi Tajima  <tajima@eng.sun.com>
12
13         * gtk/gtkclipboard.c (request_text_received_func): ask apps for
14         COMPOUND_TEXT instead of TEXT
15         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): correctly
16         interpret the return value of g_string_to_compound_text()
17         (#55152)
18
19 2001-08-08  Matthias Clasen  <matthiasc@waldgeist.poet.de>
20
21         * gtk/gtktreestore.c (gtk_tree_store_iter_n_children): Don't
22         fail if iter is NULL. (#58347)
23
24 2001-08-07  Matthias Clasen  <matthiasc@waldgeist.poet.de>
25
26         * gtk/gtktextdisplay.c (render_para, gtk_text_layout_draw): Fix
27         some off-by-one issues, fixing selection of line-ends. (#50323)
28
29 2001-08-07  Matthias Clasen  <matthiasc@waldgeist.poet.de>
30
31         * gtk/gtkhsv.c (gtk_hsv_map, gtk_hsv_unmap): Reinstate these
32         functions in order to make mouse operation work again in the
33         color wheel. (#58604)
34
35 2001-08-07  James Henstridge  <james@daa.com.au>
36
37         * gtk/gtkaccellabel.c (gtk_accel_label_set_accel_object): refetch
38         the accelerator when the accel object is changed.  Fixes bug
39         #58628.
40
41 2001-08-06  HideToshi Tajima  <tajima@eng.sun.com>
42
43         * modules/input/gtkimcontextxim.c (mb_to_utf8), xim_text_to_utf8):
44         Skip g_convert when to_codeset and from_codeset are both 'UTF-8'
45         (gnome bugzilla #58202)
46
47 2001-08-06  Havoc Pennington  <hp@pobox.com>
48  
49         * gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): The whole 
50         GDK_IS_WINDOW() branch of this was a bit screwed up, because 
51         it was expecting a GdkWindow, not a GdkWindowImplX11.
52  
53         Also, we were getting the window rect in screen coords 
54         and the screen rect in window coords then intersecting 
55         them; instead, get window rect in window coords.
56  
57         Finally, there were codepaths that resulted in a stuck server grab
58         (when the window was fully onscreen, or on gdk_image_new()
59         failure); make the server ungrab thing a bit more
60         robust/consistent.
61
62 2001-08-06  Sven Neumann  <sven@gimp.org>
63
64         * gdk/gdkpango.c (gdk_pango_context_destroy): 
65         check if info->colormap != NULL before unref'ing it. It might have
66         been set to NULL using gdk_pango_context_set_colormap().
67
68 Sun Aug  5 11:24:27 2001  Owen Taylor  <otaylor@redhat.com>
69
70         * gtk/gtkcolorsel.c (gtk_color_selection_set_current_alpha): 
71         Fix conversion from float to int so that we don't get
72         skew in the int => float => int roundtrip. 
73         (#58120, reported by Vitaly Tishkov). Also fix problem
74         where if no alpha was set, the returned alpha
75         from (say) set_current_alpha() was returned as 1, not 65535.
76
77 Sun Aug  5 09:48:08 2001  Owen Taylor  <otaylor@redhat.com>
78
79         * gtk/gtklist.c (gtk_list_clear_items): Fix
80         problem with selecting a new focus child.
81
82         * gtk/gtklist.c (gtk_list_clear_items): Clear 
83         list->undo/list_focus_child after unparenting
84         child, since unparenting the child can result
85         in list->last_focus_child being set. (#58024)
86
87         * Makefile.am (SUBDIRS): Add target specific pc
88         files to DISTCLEANFILES.
89
90         * gtk/Makefile.am: add @GTK_DEBUG_FLAGS@
91         (58327, Matthias Clasen)
92
93 Sat Aug  4 19:28:21 2001  Owen Taylor  <otaylor@redhat.com>
94
95         * tests/testgtk.c: Patch from Hans (with various modifications),
96         to add the ability to use testgtk as a rough-and-ready
97         benchmark. Try, 'testgtk --bench all:5' (if you want decent
98         numbers, run without a window manager)
99
100 2001-08-04 Alexander Larsson <alexl@redhat.com>
101
102         * gdk/win32/gdkinput.c:
103         Add #ifdef HAVE_WINTAB around wintab.h include.
104
105         * gtk/gtk.def:
106         Removed marshals that have been moved to glib.
107         Commented out plug and socket. They didn't compile for me 
108         on win32.
109
110 2001-08-04  Hans Breuer  <hans@breuer.org>
111
112         * gtk/stocks-icons/makefile.msc : new file
113         * gtk/makefile.msc.in : use it
114
115         * gtk/gtkstyle.c : not all platforms do provide M_PI and
116         friends, but luckily there is G_PI
117
118         * gtk/gtk.def : updated
119
120         * gdk/win32/gdkwindow.c (gdk_window_new) : don't make all TEMP 
121         windows WS_POPUP, but only those without a parent. This fixes the 
122         mis-alignment between the selectable (temp, input only) window and 
123         the window text of GtkLabel.
124
125         (gdk_window_show) : respect private->state when actually showing
126         the window.
127
128         (gdk_window_set_transient_for) : Implementation from Wolfgang 
129         Sourdeau <wolfgang@contre.com> ported to 2.0 and added some 
130         error handling. Should fix #50586.
131
132         * gdk/win32/gdkevents-win32.c : beautify log output
133
134 2001-08-04  Michael Natterer  <mitch@gimp.org>
135
136         * gtk/gtkitemfactory.c (gtk_item_factory_create_item):
137         Need to show the image after adding it to the GtkImageMenuItem.
138         This used to work without in testgtk because of the
139         gtk_widget_show_all() at the end of the function.
140         (Closes #54978).
141
142 Tue Jul 31 22:59:33 2001  Tim Janik  <timj@gtk.org>
143
144         * gtk/gtknotebook.c (gtk_notebook_get_child_property): 
145         (gtk_notebook_set_child_property): fix finding of child's page,
146         since we have to validly deal with labels and menus here as well.
147         (gtk_notebook_get_child_property): fix warning.
148         (gtk_notebook_class_init): property tab_pack is of type
149         GTK_TYPE_PACK_TYPE (enum) not boolean.
150         (gtk_notebook_find_child): don't always warn, we might be looking
151         for a label or menu child.
152         (gtk_notebook_map): fix mapping of panel.
153
154         * gtk/gtkwidget.c (gtk_widget_set_child_visible): always constrain
155         widget's mapped state, regardless of the value being set equals
156         old settings, since things like REALIZED(parent) or MAPPED(parent)
157         may have changed since the old value was set. make it an error to
158         invoke this function on a toplevel widget.
159
160 2001-07-31  Darin Adler  <darin@bentspoon.com>
161
162         * gdk/gdkprivate.h:
163         * gdk/x11/gdkx.h:
164         Put all mentions of GdkFont inside #ifndef GDK_DISABLE_DEPRECATED.
165
166         * demos/gtk-demo/menus.c: (do_menus): Cast to G_OBJECT, not
167         GTK_OBJECT.
168
169 Tue Jul 31 15:34:57 2001  Jonathan Blandford  <jrb@redhat.com>
170
171         * gtk/gtktreeview.c (gtk_tree_view_remove_column): Whoops.  Stupid
172         scoping error pointed out by matthiasc@poet.de.
173
174 2001-07-31  Sven Neumann  <sven@gimp.org>
175
176         * demos/gtk-demo/appwindow.c
177         * demos/gtk-demo/item_factory.c
178         * tests/testgtk.c: gtk_accel_group_attach() takes a GObject.
179
180 Mon Jul 30 10:49:16 PDT 2001 Suresh Chandrasekharan <suresh.chandrasekharan@sun.com>
181
182         * gtk/gtksignal.h (gtk_signal_handler_pending): corrected the wrong
183         argument order for g_signal_has_handler_pending.
184
185 Sun Jul 29 17:14:01 2001  Tim Janik  <timj@gtk.org>
186
187         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): use g_file_test()
188         instead of long deprecated g_scanner_stat_mode().
189
190 2001-07-29  Hans Breuer  <hans@breuer.org>
191
192         * gdk/makefile.msc : build in the backend dir after
193         auto-generating files
194
195         * gdk/win32/gdkfont-win32.c (gdk_font_load) : reimplement
196         with code from win32-production-branch.
197
198         *  gdk/win32/gdkwindow-win32.c : set the private->destroyed flag
199         before calling DestroyWindow, which indirectly calls 
200         gdk_window_destroy_notify ()
201
202         (performance patch merged from win32-production-branch)
203         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_segments): 
204         Use PatBlt() instead of LineTo() when possible (solid single-pixel pen, 
205         R2_COPYPEN rop). It is claimed to be much faster.
206
207 Fri Jul 27 11:31:15 2001  Jonathan Blandford  <jrb@redhat.com>
208
209         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_property):
210         add an "attributes" property to the text renderer for ATK.
211
212 2001-07-26  Alex Larsson  <alexl@redhat.com>
213
214         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
215         Initialize image->bits_per_pixel from the drawable, not from
216         the root window.
217
218         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_get_depth):
219         Fix cast. argument is an IMPL already.
220
221 2001-07-15  James Henstridge  <james@daa.com.au>
222
223         * gtk/gtkwindow.c (gtk_window_add_accel_group): cast to GObject.
224         (gtk_window_remove_accel_group): same here.
225         (gtk_window_key_press_event): same here.
226
227         * gtk/gtkwidget.c (gtk_widget_add_accelerator): cast to GObject.
228         (gtk_widget_remove_accelerator): same here.
229         (gtk_widget_remove_accelerators): same here.
230
231         * gtk/gtkplug.c (gtk_plug_accel_entries_changed): same here.
232
233         * gtk/gtkmenushell.c (gtk_menu_shell_key_press): cast to GObject
234         instead of GtkObject.
235
236         * gtk/gtkmenu.c (gtk_menu_key_press): update since GtkAccelGroup
237         now takes GObjects.
238
239         * gtk/gtkitemfactory.c (gtk_item_factory_propagate_accelerator):
240         pass a GObject to gtk_accel_group_entries_from_object.
241         (gtk_item_factory_create_item): s/accel_widget/accel_object/
242
243         * gtk/gtk-boxed.defs: remove GtkAccelGroup boxed def.
244
245         * gtk/gtkaccellabel.c: convert to handle GObject accel objects.
246
247         * gtk/gtkaccellabel.h: fix header to reflect that arbitrary
248         GObjects can have accelerators set now.  Add compatibility
249         defines.
250
251         * gtk/gtkmarshal.list: add missing marshallers.
252
253         * gtk/gtkaccelgroup.[ch]: convert to a GObject, and allow setting
254         accelerators on plain GObjects.  gtk_accel_group_object_destroy
255         has been converted into a weak reference, and
256         gtk_accel_group_delete_entries is now a destroy notify for that
257         piece of data.
258
259 2001-07-23  Ron Steinke  <rsteinke@w-link.net>
260
261         * gdk/gdkdraw.c: Added a check on the colormap depth to
262         gdk_drawable_set_colormap()
263         * gdk/x11/gdkimage-x11.c: combination of Matthias Clasen's
264         patch to fix colorsel and my patch to fix gdk_drawable_get_image()
265         for pixmaps without visuals (more specifically, bitmaps)
266         * gdk/x11/gdkpixmap-x11.c: Fixed gdk_pixmap_new() so it
267         doesn't set a colormap with the wrong depth
268
269
270 2001-07-22  Anders Carlsson  <andersca@gnome.org>
271
272         * gtk/gtktreeview.c (gtk_tree_view_class_init): Replace the
273         expander_height and expander_width properties with a single
274         property, expander_size.
275         (gtk_tree_view_init): Set the tab_offset to expander_size
276         plus some padding.
277         (gtk_tree_view_unrealize): Remove the expand/collapse
278         timeout if it exists.
279         (coords_are_over_arrow): Fix a small bug.
280         (gtk_tree_view_motion_draw_column_motion_arrow): Use
281         expander_size.
282         (gtk_tree_view_draw_focus): Use "treeview" instead of
283         "add-mode" as detail when drawing the focus.
284         (gtk_tree_view_bin_expose): Use "treeview-drop-indicator"
285         instead of "add-mode" as detail when drawing the focus.
286         (gtk_tree_view_deleted): If we have a node currently being
287         expanded or collapsed, remove the timeout and set the node 
288         to NULL.
289         (gtk_tree_view_queue_draw_arrow): New function that just
290         redraws the arrow of a node.
291         (gtk_tree_view_draw_arrow): Use expander_size instead of
292         expander_width/expander_height, also pass a different
293         expander_style to gtk_paint_expander depending on the 
294         state of the node being drawn.
295         (expand_collapse_timeout): New function for expanding 
296         or collapsing a node depending on the previous state.
297         (gtk_tree_view_real_expand_row): Add timeout and set 
298         correct state for node being expanded.
299         (gtk_tree_view_real_collapse_row): Add timeout and set
300         correct state for node being collapsed.
301
302         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): Add
303         information about the node currently being expanded or
304         collapsed, and also a timeout id.
305
306         * gtk/gtkstyle.h (struct _GtkStyleClass): Replace is_open
307         with expander_style for draw_expander.
308
309         * gtk/gtkstyle.c (gtk_draw_expander): Replace is_open with
310         expander_style.
311         (create_expander_affine): New function for creating an 
312         expander affine.
313         (apply_affine_on_point): New function for applying an 
314         affine to a point.
315         (gtk_default_draw_expander): Modified to take expander_style
316         instead of is_open, and to draw the rectangle rotated differently
317         depending on the expander style.
318         (gtk_paint_expander): Replace is_open with expander_style.
319
320         * gtk/gtkrbtree.h: Add expander states to GtkRBNodeColor.
321
322         * gtk/gtkenums.h: Add expander style enum.
323
324 2001-07-21  Jonas Borgström  <jonas@codefactory.se>
325
326         * gtk/gtktreemodel.c (gtk_tree_model_foreach): Check the return
327         value from gtk_tree_model_get_iter, the model might be empty.
328
329 2001-07-20  Hans Breuer  <hans@breuer.org>
330
331         * gdk/win32/gdkinput-win32.c : gdk_device_get_history moved to
332         gdk/gdkinput.c like the other backends
333
334         * gdk/win32/gdkinput-win32.h :
335         * gdk/win32/gdkinput.c :
336         * gdk/win32/gdkvisual-win32.c :
337         * gdk/win32/gdkwin32.h : mechanical adaption to GdkDevice and
338         GdkVisual GObjectification. UNTESTED for pen-devices because
339         I simply have none.
340
341         * gdk/gdk.def :
342         * gtk/gtk.def : updated externals
343
344         * gtk/gtkiconfactory.c :
345         * gtk/gtkoldeditable.c : GError *error needs to be initialized (= NULL) 
346         before passing &error to functions to avoid strange crashes
347         
348         * gtk/gtkcontainer.c (gtk_container_real_set_focus_child) : is static
349
350         * gtk/gtkwidget.c (gtk_widget_get_child_visible): use g_return_val_if_fail
351
352         * gtk/makefile.msc.in : updated
353
354 Thu Jul 19 15:35:32 2001  Owen Taylor  <otaylor@redhat.com>
355
356         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_vadjustment):
357         Add property support. (#51858)
358
359 Thu Jul 19 14:56:33 2001  Owen Taylor  <otaylor@redhat.com>
360
361         * gtk/gtkaccellabel.c (gtk_accel_label_class_init) 
362         * gtk/gtkinputdialog.c (gtk_input_dialog_set_key):
363         Use Shift/Ctrl instead of Shft/Ctl. (#53807)
364
365 Thu Jul 19 11:41:00 2001  Owen Taylor  <otaylor@redhat.com>
366
367         * gtk/gtkcolorsel.c: Add propery support (roughly
368         based on patch from Lee Mallabone, #51014)
369
370         * gtk/gtkcolorsel.h: Mark gtk_color_selection_set_update_policy as
371         deprecated, since we already g_warning() on it.
372
373 Thu Jul 19 14:24:34 2001  Owen Taylor  <otaylor@redhat.com>
374
375         * gtk/gtkentry.c (gtk_entry_set_positions): Fix
376         typo that sometimes caused selection not to work properly.
377
378         * gtk/gtkentry.c (gtk_entry_grab_focus): Select text in
379         entry when tabbing in. (#57743)
380         
381         * gtk/gtkentry.c (gtk_entry_motion_notify): If the
382         user drags up above or down below the entry, move
383         to the end or the beginning of the entry. (Suggestion
384         from Jay Cox, #50940)
385
386         * gtk/gtkentry.c (gtk_entry_move_cursor): If we have
387         a current selection, then when moving by chars or
388         words, move to the end of the selection rather than
389         from entry->current_pos. (Suggestion from Jay Cox,
390         #50942)
391         
392 Thu Jul 19 12:14:28 2001  Owen Taylor  <otaylor@redhat.com>
393
394         * gtk/gtkwindow.c (gtk_window_set_decorated): Actualy
395         set window->decorated. (Patch from Hidetoshi Tajima,
396         #55846)
397
398 Sat Jul  7 02:50:14 2001  Owen Taylor  <otaylor@redhat.com>
399
400         * gtk/gtkwidget.c (gtk_widget_set_parent): Enforce
401         the widget/child realization/mapping invariants.
402
403         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add functions 
404         gtk_widget_[get/set]_child_visible() to control
405         whether visible children of a mapped window are
406         mapped.
407
408         * docs/widget_system.txt: Updated for changes in
409         container contract, and addition of GTK_CHILD_VISIBLE.
410
411         * gtk/gtkcontainer.c: Add generic map()/unmap()
412         functions that work for almost all containers.
413
414         * gtk/gtknotebook.c gtk/gtkpacker.c: Use 
415         gtk_widget_set_child_visible() where necessary.
416
417         * gtk/*.c: Remove excess map(), unmap(), and 
418         realization/mapping invariant enforcing code
419         from many containers.
420
421 Wed Jul 18 19:51:45 2001  Owen Taylor  <otaylor@redhat.com>
422
423         * gtk/gtktextview.c (gtk_text_view_set_attributes_from_style): 
424         Get the foreground color from 'text', nor 'fg'. (#57568)
425
426 Wed Jul 18 19:28:46 2001  Owen Taylor  <otaylor@redhat.com>
427
428         * gtk/*.c: Patch from Matthias Clasen to remove remove
429         all instances of g_return_if_fail (foo != NULL); that are
430         immediately before a g_return_if_fail (GTK_IS_FOO (foo));
431         since the second check catches the NULL anyways.
432
433 Wed Jul 18 18:23:05 2001  Owen Taylor  <otaylor@redhat.com>
434
435         * gtk/gtkbutton.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtktextview.c
436         gtktreeview.c: Fix idles and timeouts to be properly surrounded by 
437         GDK_THREADS_ENTER()/LEAVE() pairs.
438
439         * gtk/gtkdialog.c gtk/gtkclipboard.c: Surround calls
440         to g_main_loop_run() with GDK_THREADS_LEAVE()/ENTER()
441         pairs. (Problem found by M. Meeks)
442
443 2001-07-18  Darin Adler  <darin@bentspoon.com>
444
445         * gtk/gtkiconfactory.c: (gtk_icon_size_register): Reorder code so
446         that we don't get a g_warning message every time we register a new
447         icon size.
448
449         * gdk/x11/gdkcolor-x11.c: (gdk_colormap_alloc1): Fix warning by
450         using pixel variable of the correct type.
451         
452 Fri Jul 13 15:33:32 2001  Owen Taylor  <otaylor@redhat.com>
453
454         * gdk/gdkwindow.[ch]: Add a function gdk_window_get_internal_paint_info(),
455         so that using X functions on a GdkWindow is possible, if
456         a little hairy.
457
458         * gdk/gdkgc.c (gdk_gc_offset): Add a function to offset the clip
459         and ts_origin of a GC, so that external parties can offset/restore
460         a GC, when using gdk_window_get_internal_paint_info().
461
462 2001-07-17  Darin Adler  <darin@bentspoon.com>
463
464         * .cvsignore: Ignore the sgml directory made by gtkdoc.
465         * demos/pixbuf-demo.c: (main): Use gtk_window_set_resizable
466         instead of the deprecated gtk_window_set_policy.
467         * demos/testpixbuf-scale.c: Add missing <stdlib.h> include.
468         * gdk/gdkkeys.c: (gdk_keymap_class_init): Remove empty finalize
469         function to get rid of warning and some code too.
470         * gdk/x11/gdkfont-x11.c: (gdk_font_charset_for_locale): Add
471         missing const.
472         * gdk/x11/gdkmain-x11.c: (_gdk_windowing_init_check): Remove
473         unused local.
474         * gdk/x11/gdkpango-x11.c: (gdk_pango_context_get): Add missing
475         const.
476         * gdk/x11/gdkselection-x11.c: (gdk_text_property_to_utf8_list),
477         (gdk_utf8_to_compound_text): Add missing const.
478         * gtk/gtkimage.c: (gtk_image_expose): Remove unused local.
479         * gtk/gtkmenubar.c: (gtk_menu_bar_hierarchy_changed): Add missing
480         cast and get rid of an unnecessary one.
481         * gtk/gtksettings.c: (gtk_settings_notify): Remove unused local.
482         * gtk/gtkstatusbar.c: (gtk_statusbar_size_allocate): Remove unused
483         local.
484         * gtk/gtktreemodelsort.c: (gtk_tree_model_sort_build_level):
485         Remove unused local.
486         * modules/input/gtkimcontextxim.c: (gtk_im_context_xim_new): Add
487         missing const.
488         * tests/testsocket.c: (add_child): Add cast so the printf format
489         doesn't make us implicitly depend on what integer type
490         gtk_socket_get_id returns.
491         * tests/testtextbuffer.c: Add missing const.
492         * tests/testtreefocus.c: (main): Remove unused local.
493         * tests/treestoretest.c: (iter_remove): Remove unused local.
494         (uppercase_value): Remove unused function.
495         (make_window): Add statement to quiet the compiler's uninitialized
496         variable warning.
497
498 Sat Jul 14 12:47:35 2001  Tim Janik  <timj@gtk.org>
499
500         * gtk/gtkrange.c:
501         (second_timeout): 
502         (initial_timeout): 
503         (update_timeout): add GDK_THREADS_ENTER/GDK_THREADS_LEAVE.
504         (gtk_range_calc_layout): compute the new layout based on an
505         adjustment->value being passed in as argument.
506         (gtk_range_button_press): for button2 slider warps, first recalc
507         the layout, then adjust the value. also, use update_slider_position()
508         for adjusting the value, so we keep pixel quantisation at which we
509         usually operate (upon motion or button releases). the reason for this
510         is that, we can't change the adjustment upon button2 presses to a non
511         quantised value and upon button2 release re-quantise the value since
512         that'd alter the value even if we didn't get any motion events (causing
513         unexpected scroll area warps upon release and/or slider pixel-jitter).
514         (gtk_range_motion_notify): update the slider position from queried
515         coordinates, not event coordinates.
516
517 Fri Jul 13 09:47:52 2001  Tim Janik  <timj@gtk.org>
518
519         * gtk/gtkstyle.c (gtk_default_draw_focus): fix line style resetting,
520         the default gc values are: width=0, CapBut, JoinMiter.
521
522 2001-07-13  Anders Carlsson  <andersca@codefactory.se>
523
524         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Take
525         into account the xpad and ypad when calculating the width and the
526         height of the pixbuf cel.
527
528 Thu Jul 12 18:29:40 2001  Owen Taylor  <otaylor@redhat.com>
529
530         * gtk/gtkradiomenuitem.[ch] (gtk_radio_menu_item_group): 
531         Rename to gtk_radio_menu_item_get_group(), add deprecated
532         alias. (#57044)
533
534         * gtk/gtkfilesel.c: Indentation fix.
535
536 Thu Jul 12 17:33:00 2001  Owen Taylor  <otaylor@redhat.com>
537
538         * gtk/gtkbbox.h gtk/gtkcompat.h: Patch from Mathias 
539         Hasselmann to fix warnings in compat macros. 
540         (#56773)
541
542         * gtk/gtkmenubar.c (gtk_menu_bar_hierarchy_changed): Fix 
543         stupid wrong cast added in last patch.
544
545 Thu Jul 12 16:51:34 2001  Owen Taylor  <otaylor@redhat.com>
546
547         * gtk/gtkwidget.c: Replace a couple of inappropriate calls to 
548         GTK_WIDGET_HAS_FOCUS() with gtk_widget_is_focus(). (#57067)
549
550 Thu Jul 12 14:06:19 2001  Owen Taylor  <otaylor@redhat.com>
551
552         * gtk/gtkmenubar.c (gtk_menu_bar_hierarchy_changed): Add
553         missing cast.
554
555         * gtk/gtkcontainer.c (gtk_container_get_focus_chain): Fix
556         NULL/FALSE return value confusion.
557
558         * gtk/gtkrange.c (coord_to_value): Fix division-by-zero
559         problem when scrollbar completely fills range. (Patch
560         from  Matthias Clasen, #57047)
561
562 Thu Jul 12 13:53:28 2001  Owen Taylor  <otaylor@redhat.com>
563
564         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Properly
565         clean up when handling events for move-resize emulation.
566         (Problem traced down by Matthias Clasen, #57271)
567
568 Thu Jul 12 13:43:27 2001  Owen Taylor  <otaylor@redhat.com>
569
570         * gtk/gtkclist.c gtk/gtkcolorsel.c gtk/gtkcombo.c
571           gtk/gtkctree.c gtk/gtkcurve.c gtk/gtkentry.c
572           gtk/gtkfontsel.c gtk/gtkhandlebox.c 
573           gtk/gtkimcontextsimple.c gtk/gtkmain.c gtk/gtkmenu.c
574           gtk/gtkmenuitem.c gtk/gtkoptionmenu.c gtk/gtkpixmap.c
575           gtk/gtkselection.c gtk/gtktextdisplay.c gtk/gtktextview.c
576           gtk/gtktooltips.c gtk/gtkwidget.c gtk/gtkwindow.c:
577         Formatting fixes from multihead brnach. [ mostly foo(bar) => foo (bar) ]
578
579 2001-07-09  Peter Williams  <peterw@ximian.com>
580
581         * gtk/Makefile.am ($(srcdir)/stamp-gtk.defs): Add a cd $(srcdir)
582         for when srcdir != builddir
583
584 Mon Jul  9 12:50:51 2001  Jonathan Blandford  <jrb@redhat.com>
585
586         * gtk/gtktreemodel.c: remove gtk_tree_model_get_first in favor of
587         gtk_tree_model_get_iter_root.
588
589         * gtk/gtkliststore.c: Add a bunch of g_return statements.
590         (gtk_list_store_iter_n_children): Fix up.
591
592         * gtk/gtktreestore.c: Add a bunch of g_return statements.
593
594 Fri Jul  6 15:38:33 2001  Owen Taylor  <otaylor@redhat.com>
595
596         * gtk/gtkwidget.c (gtk_widget_class_init):
597         G_SIGNAL_TYPE_STATIC_SCOPE GtkSelectionData to
598         restore some workingness.
599
600         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Fix 
601         handle of window type for input-only windows.
602
603 Thu Jul  5 21:53:46 2001  Owen Taylor  <otaylor@redhat.com>
604
605         * gtk/gtkbbox.[ch] gtk/gtkbox.[ch] gtk/gtk[hv]bbox.c:
606         Patch from Gregory Merchan to add 
607         gtk_button_box_set_secondary(), which separates
608         the child into a separate group from the normal
609         buttons. (#56331)
610
611         * gtk/gtkdialog.c: Make help buttons secondary by
612         default.
613
614         * gtk/gtkbbox.c: Added a child property "secondary".
615
616         * gtk/testgtk.c: Turn on the help button for the 
617         color selector to check that it properly appears
618         as secondary.
619
620 Mon Jul  2 01:09:37 2001  Owen Taylor  <otaylor@redhat.com>
621  
622         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkwindow-x11.c
623         gdk/linux-fb/gdkwindow-fb.c gdk/x11/gdkwindow-x11.c gdk/gdk:
624         Add gdk_set_pointer_hooks() to allow pointer-querying to
625         be hooked by an event record/playback system like GERD.
626         (#56914)
627         
628 Thu Jul  5 08:57:07 2001  Owen Taylor  <otaylor@redhat.com>
629
630         * gtk/gtkwidget.c (gtk_widget_reset_rc_style): Pass
631         in the right value of initial_emission to
632         gtk_widget_set_style_internal (#57091)
633
634 Wed Jul  4 23:17:04 2001  Owen Taylor  <otaylor@redhat.com>
635
636         * gtk/gtkdnd.c (gtk_drag_dest_hierarchy_changed):
637         Make compile.
638
639         * gtk/gtkwidget.c (gtk_widget_reset_rc_style): Fix problem
640         with calling gtk_widget_set_style_internal() with
641         the old style, not the new style. (#56989)
642
643 Wed Jul  4 22:35:40 2001  Owen Taylor  <otaylor@redhat.com>
644
645         * gtk/gtklabel.c gtk/gtkmenubar.c gtk/gtktreeviewcolumn.c
646           gtk/gtkwidget.c:
647         Check GTK_WIDGET_TOPLEVEL(gtk_widget_get_toplevel (widget)),
648         not GTK_WIDGET_GET_ANCESTOR ... see 
649         http://mail.gnome.org/archives/gtk-devel-list/2001-July/msg00072.html.
650         Indicate the best practice in the docs for gtk_widget_get_toplevel().
651
652         * gtk/gtkwidget.[ch]: Expose a private _gtk_widget_hierarchy_changed(),
653         so GtkPlug can give the correct signals when transforming
654         from a child to a toplevel.
655         
656         * gtk/gtkdnd.c (gtk_drag_dest_hierarchy_changed): Handle
657         reparentation correctly.
658
659         * gtk/gtkwidget.c (gtk_widget_propagate_hierarchy_changed):
660         Propagate the previous_toplevel argument down properly.
661
662         * gtk/gtklabel.c (gtk_label_finalize): Fix unrefing
663         of wrong atr list.
664
665         * gtk/gtkplug.[ch]: Add an "embedded" signal.
666
667         * gtk/gtksocket.[ch]: Add "child_added", "child_removed"
668         signals.
669
670         * gtk/gtkplug.[ch] gtk/gtksocket.[ch]: Add 
671         functions gtk_plug_get_id(), gtk_socket_get_id(),
672         to avoid the user having to worry about realization,
673         and gdkx.h.
674
675         * tests/testsocket.c: Extend to try out the new signals
676         and gtk_plug/socket_get_id().
677
678         * gtk/gtklabel.c (gtk_label_set_pattern_internal): Fix
679         setting of underline attributes.
680
681         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore
682         DestroyNotify events from SubstructureNotifyMask
683
684         * gdk/x11/gdkwindow-x11.c (gdk_window_reparent):
685         Switch GDK_WINDOW_TYPE (window) as needed.
686
687         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Clean up,
688         allow creation of toplevel windows as children of
689         foreign windows.
690
691         * gtk/gtkplug.c: Remove hacks involving changing private
692         fields of GdkWindow.
693
694         * gtk/gtkplug.[ch] gtk/gtksocket.c: Work to make 
695         exactly the same signals and notification
696         be emitted for local embedding as for inter-process
697         embedding.
698
699 2001-07-04  James Henstridge  <james@daa.com.au>
700
701         * gtk/gtkliststore.h: add missing gtk_list_store_newv prototype.
702
703 Mon Jul  2 16:53:25 2001  Owen Taylor  <otaylor@redhat.com>
704
705         * gtk/xembed.h gtk/gtkplug.c gtk/gtksocket.c: For
706         XEMBED embedding add a _XEMBED_INFO property to the
707         client with version number and a "mapped" flags.
708         Use the mapped flag instead of the racy MapRequestEvent
709
710         * gtk/gtksocket.c: Clean up the gtk_socket_steal()
711         code to reliably set things (when the child is a passive
712         embedder participating in the XEMBED protocol) intead
713         of just being a hack for embedding non-participating
714         programs. Fix various bugs and race conditions.
715         
716         * gtk/gtksocket.[ch] gtk/gtkplug.[ch]: Make local embedding
717         work by simply making the GtkSocket the gtk parent
718         of the GtkPlug. Set a flag in this case and make
719         the GtkPlug work like a normal container by overriding
720         methods such as check_resize and "chaining past" GtkWindow
721         to GtkBin.
722
723         * gtk/gtkentry.c (gtk_entry_real_activate)
724           gtk/gtkmain.c (gtk_propagate_event): 
725         Eliminate use of gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW).
726         
727         * gtk/gtkwidget.c (gtk_widget_get_toplevel,
728         gtk_widget_get_ancestor):
729         Explain why gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)
730         might not give the expected result and recommend
731         an alternative.
732
733         * tests/testsocket.c tests/testsocket_child.c
734         tests/testsocket_common.c tests/Makefile.am: Extended
735         to test different type of adding plugs to sockets
736         (local,active,passive), and to test mapping/unmapping
737         the plug.
738
739         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Don't
740         mark the window as destroyed until after we
741         called _gdk_windowing_window_destroy().
742         (_gdk_windowing_window_destroy() may use GDK functions
743         on the window.)
744
745         * gdk/x11/gdkinput.c: Remove the check for finalization - 
746         devices can be finalized under some circumnstances.
747  
748         * gdk/x11/gdkinput-x11.c (gdk_input_device_new): Fix 
749         small problem with GDK_TYPE_DEVICE.
750  
751 2001-07-02  Havoc Pennington  <hp@pobox.com>
752
753         * gdk/x11/gdkwindow-x11.c (gdk_wmspec_change_state): fix to 
754         use constants not atoms.
755
756 2001-07-02  James Henstridge  <james@daa.com.au>
757
758         * gtk/gtktextview.c (gtk_text_view_class_init): same here for
759         PANGO_TYPE_TAB_ARRAY.
760
761         * gtk/gtktexttag.c (gtk_text_tag_class_init): same here, but also
762         for PANGO_TYPE_TAB_ARRAY.
763
764         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
765         s/GTK_TYPE_PANGO_FONT_DESCRIPTION/PANGO_TYPE_FONT_DESCRIPTION/
766
767         * gtk/gtk-boxed.defs: move all the boxed definitions to the top of
768         the file.  Remove Pango types from defs -- they are now defined in
769         libpango.
770
771 Mon Jul  2 06:35:10 2001  Tim Janik  <timj@gtk.org>
772
773         * gdk/gdkkeys.c (gdk_keymap_class_init): s/signal_newc/signal_new/
774
775         * gtk/gtkobject.c (gtk_object_destroy): invoke
776         g_object_run_dispose().
777
778         * gtk/gtkwindow.c: 
779         * gtk/gtkwidget.c: 
780         * gtk/gtkobject.c:
781         * gtk/gtklist.c: s/shutdown/dispose/ for the GObject
782         method.
783
784 Sat Jun 30 20:44:48 2001  Owen Taylor  <otaylor@redhat.com>
785
786         * gtk/gtktypeutils.c (gtk_type_class): Remove
787         change check for GTK_TYPE_OBJECT derivation to
788         G_TYPE_OBJECTS - it's Tim-approved to use this 
789         for arbitary objects.
790
791         * gtk/gtkwindow.c gtk/gtkcontainer.[ch]: underscore
792         prefix gtk_container_dequeue_resize_handler().
793
794         * gtk/gtkwidget.[ch]: Add a previous_toplevel argument
795         to the hierarachy_changed signal, since you otherwise
796         have to always keep that around.
797
798         * gtk/gtkmenubar.c gtk/gtklabel.c gtk/gtksocket.c: Adapt
799         for extra argument to hierarchy_changed.
800
801 Tue Jun 26 19:39:03 2001  Owen Taylor  <otaylor@redhat.com>
802
803         * gtk/gtkwidget.c (gtk_widget_set_style): Allow %NULL
804         for style to mean "revert to default style"
805
806         * gtk/gtkwidget.[ch] (gtk_widget_set_rc_style,
807           gtk_widget_restore_default_style): Make this functions
808         deprecated aliases for gtk_widget_set_style (widget, NULL).
809
810         * gtk/gtkwidget.[ch]: Remove:
811            gtk_widget_set_default_style ()
812            gtk_widget_push_style ()
813            gtk_widget_pop_style ()
814         These functions interact are overriden by RC files, and
815         thus virtually useless, and complicated.
816
817 Fri Jun 22 18:49:48 2001  Owen Taylor  <otaylor@redhat.com>
818
819         * gtk/gtkrc.c: Add a GtkRcContext structure to hold 
820         most of the previous global variables in gtkrc.c. This is
821         in preparation for multi-head, since each screen can
822         have different GtkSettings and RC information.
823
824         * gtk/gtkrc.[ch]: 
825
826         * gtk/gtkrc.h (struct _GtkRcStyleClass): Add a
827         GtkSettings parameter to GtkRcStyle::parse.
828
829         * gdk/x11/gdkevents-x11.c gtk/gtksettings.c gtk/gtkrc.c: 
830         Add two new settings gtk-theme-name, gtk-key-theme-name,
831         for RC files that are loaded by name after reading
832         the default RC files.
833         
834         * gtk/gtkrc.c: Allow priorities for styles, as wll as
835         bindings.
836
837         * gtk/gtkenums.h gtk/gtkrc.c: Add GTK_PATH_PRIO_THEME,
838         and use it by default for RC files loaded via 
839         gtk-theme-name, gtk-key-theme-name.
840
841         * gtk/gtkiconfactory.c (gtk_icon_source_set_filename)
842         gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string) 
843         tests/testgtkrc: Require pathnames to be absolute.
844
845         * gtk/gtkrc.c gtk/gtkiconfactory.c: Look up the full filename for
846         the source when parsing, since the operation of looking up a
847         pixmap from an RC file depends on the parsing context.
848
849         * gtk/gtkrc.c (gtk_rc_context_reparse_all): Automatically
850         reset RC styles on all widgets when files are reparsed.
851
852         * tests/testgtk.c (create_rc_file) 
853           gtk/gtkwindow.c (gtk_window_read_rcfiles): 
854         Simplify, now that gtk_rc_reparse_all() resets styles on
855         all widgets itself.
856
857         * gtk/gtkmain.c (gtk_get_default_language): Fix broken
858         return value.
859
860         * gtk/gtksettings.[ch] (gtk_settings_install_property[_ch]): Remove
861         GtkSettings argument.
862
863         * gtk/gtksettings.[ch] (gtk_settings_get_default): Rename from
864         gtk_settings_get_global().
865
866         * gtk/gtkwidget.[ch]: Add a function gtk_widget_Get_settings()
867         to get the appropriate GtkSettings for a widget. (For now,
868         just gets the default GtkSetttings.) 
869
870         * gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtkmenubar.c
871           gtk/gtktextview.c gtk/gtktoolbar.c: Fixes for GtkSettings
872         changes.
873
874         * gtk/gtkrc.[ch]: Add gtk_rc_get_style_by_paths() to allow
875         getting a style for a path without actually having a widget.
876         (Allows using a style for a subpart of a widget, for
877         example.)
878
879         * gtk/gtkrc.[ch]: Add gtk_rc_reparse_all_for_setting() to allow forcing
880         the RC files to be reloaded for just one GtkSettings
881         (not sure how useful this really is.)
882
883         * gtk/gtkrc.h: Deprecate
884         gtk_rc_add_widget_name/widget_class/class_style
885
886 2001-06-30  Alex Larsson  <alexl@redhat.com>
887
888         * gdk/linux-fb/gdkinput-none.c:
889         * gdk/linux-fb/gdkinput.c:
890         * gdk/linux-fb/gdkinputprivate.h:
891         Convert GdkDevice to a GObject.
892
893         * linux-fb/gdkprivate-fb.h:
894         * linux-fb/gdkvisual-fb.c:
895         Convert GdkVisual to a GObject.
896
897 2001-06-29  Alex Larsson  <alexl@redhat.com>
898
899         * gdk/gdkvisual.h:
900         * gdk/gdkcolor.c:
901         * gdk/x11/gdkx.h:
902         * gdk/x11/gdkvisual-x11.c:
903         Convert GdkVisual to a GObject.
904
905         * gdk/gdkinput.h:
906         * gdk/gdkevents.c:
907         * gdk/x11/gdkinputprivate.h:
908         * gdk/x11/gdkinput-gxi.c:
909         * gdk/x11/gdkinput-none.c:
910         * gdk/x11/gdkinput-x11.c:
911         * gdk/x11/gdkinput-xfree.c:
912         * gdk/x11/gdkinput.c:
913         Convert GdkDevice to a GObject.
914
915 Fri Jun 29 22:13:28 2001  Jonathan Blandford  <jrb@redhat.com>
916
917         * gtk/gtktreestore.c (gtk_tree_store_new): changed new_with_types
918         to just plain new, fixing the number of columns, and column types
919         at creation time.
920
921         * gtk/gtkliststore.c (gtk_list_store_new): ditto.
922
923         * gtk/gtkcellrenderertext.c
924         (gtk_cell_renderer_text_set_fixed_height_from_font): FIX the
925         height to a specific font.
926
927         * gtk/gtktreeview.c (gtk_tree_view_is_expander_column): fix brokenness.
928
929         * tests/*c: change to work with new store models.
930
931 2001-06-29  Havoc Pennington  <hp@redhat.com>
932
933        * Throughout: fixes to compile with G_DISABLE_COMPAT
934         (s/g_signal_connectc/g_signal_connect/,
935         s/g_signal_newc/g_signal_new/,
936         s/g_signal_disconnect_by_func/g_signal_handlers_disconnect_by_func/)
937
938 Fri Jun 29 03:14:16 2001  Jonathan Blandford  <jrb@webwynk.net>
939
940         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
941         add path argument to selection callbacks.
942
943 Fri Jun 29 00:13:34 2001  Jonathan Blandford  <jrb@redhat.com>
944
945         * gtk/gtktreemodel.c (gtk_tree_model_foreach): New function to
946         walk through a model in a depth first manner, with the option to
947         break out.
948
949 Fri Jun  8 18:52:10 2001  Jonathan Blandford  <jrb@redhat.com>
950
951         * gtk/gtktreeview.[hc]: Patch Thomas Broyer from
952         <tbroyer@ltgt.net>. Expander arrows are now attached to a specific
953         column and follow it when draged, rather than a location in the
954         view. "expander_column" property and drawing functions changed
955         accordingly.  Fixes bug #55942.
956
957         (gtk_tree_view_{set,get}_expander_column): Now works with a
958         GtkTreeViewColumn* instead of int.
959
960 Thu Jun 28 22:53:18 2001  Owen Taylor  <otaylor@redhat.com>
961
962         *  gdk/gdk.c gtk/gtktypeutils.c: Fix args to g_type_init(). 
963
964 2001-06-28  Havoc Pennington  <hp@pobox.com>
965
966         * gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): Clip the retrieved
967         image data to the screen, using a server grab to avoid race
968         conditions.
969
970         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove 
971         check for NULL return from gtk_image_new_from_stock(), it never
972         returns NULL.
973         (gtk_item_factory_create_item): fix bug where we parsed the stock
974         ID as an inline pixbuf
975
976         * gtk/gtktext.c (gtk_text_key_press): numeric keypad support
977
978         * gtk/gtkspinbutton.c (gtk_spin_button_key_press): numeric keypad
979         support (should be using binding set here)
980
981         * gtk/gtkoptionmenu.c (gtk_option_menu_key_press): numeric keypad
982         support (should be using binding set here)
983
984         * gtk/gtkmenushell.c (gtk_menu_shell_class_init): numeric keypad 
985         support
986
987         * gtk/gtkmenu.c (gtk_menu_class_init): numeric keypad support
988
989         * gtk/gtkmenubar.c (gtk_menu_bar_class_init): numeric keypad
990
991         * gtk/gtklistitem.c (gtk_list_item_class_init): numeric keypad
992
993         * gtk/gtkimcontextsimple.c
994         (gtk_im_context_simple_filter_keypress): keypad
995
996         * gtk/gtkfilesel.c (gtk_file_selection_key_press): keypad 
997
998         * gtk/gtkentry.c (gtk_entry_class_init): numeric keypad fixes
999
1000         * gtk/gtkctree.c (gtk_ctree_class_init): numeric keypad support
1001
1002         * gtk/gtkcolorsel.c (palette_activate): keypad support (of course,
1003         should be binding-setted)
1004
1005         * gtk/gtkwindow.c (gtk_window_class_init): numeric keypad fixes
1006
1007         * gtk/gtkclist.c (gtk_clist_class_init): numeric keypad fixes
1008
1009         * gtk/gtkcalendar.c: numeric keypad fixes
1010
1011         * gtk/gtktextview.c (gtk_text_view_class_init): numeric keypad
1012         support
1013
1014         * gdk/gdkwindow.c (gdk_window_get_clip_region): fix infinite loop
1015         screwup
1016
1017         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha): 
1018         clip the render area to the drawable's clip region in advance,
1019         so we don't get data from the server that we don't need.
1020
1021         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
1022         check return value of gdk_pixbuf_get_from_drawable(), fall back 
1023         to bilevel alpha if we can't get the pixbuf to composite against.
1024
1025         * gdk/gdkdraw.c (gdk_drawable_get_image): set the image colormap
1026
1027         * gdk/gdkimage.c (gdk_image_get_colormap): add
1028         gdk_image_set_colormap, gdk_image_get_colormap
1029
1030         * gdk/gdkpixbuf-drawable.c (rgbconvert): Change all converters to
1031         take a region of the image, instead of converting the entire
1032         image.
1033
1034         * gtk/gtkwidget.h (struct _GtkWidgetClass): add show_help
1035         keybinding signal. Add default bindings for it. Add default
1036         handler for show_help that shows the tooltip for the widget.
1037
1038         * gtk/gtkdialog.c (gtk_dialog_class_init): add binding set and
1039         "close" keybinding signal, remove key press handler.
1040
1041         * gtk/gtktooltips.c (gtk_tooltips_set_colors): Just remove this,
1042         it's not our usual practice to leave a deprecated function around
1043         with a runtime warning, plus we don't want it to appear in docs,
1044         plus if we make them yellow no one will want to change them
1045         anyhow.
1046
1047 Thu Jun 28 23:53:31 2001  Tim Janik  <timj@gtk.org>
1048
1049         * gtk/gtkwidget.c (gtk_widget_hide): !GTK_OBJECT_DESTROYED() ->
1050         GTK_WIDGET_REALIZE() for resize queueing.
1051
1052         * gtk/gtkmain.c (gtk_main_do_event): !GTK_OBJECT_DESTROYED() ->
1053         GTK_WIDGET_REALIZE() for post event delivery destruction upon
1054         GDK_DESTROY.
1055         
1056         * gtk/gtkwidget.c: added GtkWidget::event-after notification signal, to
1057         sompensate for former (pre-2.0) connect_after() facility.
1058         (gtk_widget_send_expose): 
1059         (gtk_widget_event): assert the widget is realized, since event delivery
1060         to non-realized widgets is essentially a bug. event handlers should
1061         be able to unconditionally rely on widget->window (unless they
1062         emit events on their own which can trigger widget destruction).
1063         (gtk_widget_event_internal): removed old outdated GTK_OBJECT_DESTROYED()
1064         logic. event delivery happens as follows:
1065         a) emission of GtkWidget::event (RUN_LAST handler). returns was_handled.
1066         b) if !was_handled in (a) and the widget is still realized, emit event-
1067            specific signal (RUN_LAST handler). returns was_handled.
1068         c) emission of GtkWidget::event-after for notification if the widget is
1069            still realized (regardless of was_handled from previous stages, no
1070            class handler). no return value.
1071         d) was_handled gets passed on to caller, to determine further
1072            propagation. if the widget got unrealized meanwhile, was_handled
1073            is returned as TRUE.
1074
1075         * gdk/gdkevents.[hc]: added gdk_event_get_root_coords() and
1076         gdk_event_get_coords().
1077
1078 Thu Jun 28 17:18:41 2001  Tim Janik  <timj@gtk.org>
1079
1080         * configure.in (GTK_MICRO_VERSION): up version to 1.3.7, interface
1081         age 0, binary age 0. depend on glib 1.3.7.
1082
1083         * gtk/gtkcontainer.c: remove g_signal_handlers_disconnect_by_func() hack.
1084
1085         * gtk/gtkmenubar.c: same here.
1086         
1087         * gtk/gtkcontainer.c (gtk_container_focus_tab): fix param-spec retrival.
1088
1089         * gtk/gtkcolorsel.c (gtk_color_selection_init): fix connect_data() usage.
1090
1091         * gtk/gtkentry.c (gtk_entry_focus_in): same here.
1092         
1093         * gtk/gtkmenubar.c (add_to_window): likewise.
1094         
1095         * gtk/gtktextbtree.c: and here...
1096         
1097         * gtk/gtktextview.c (gtk_text_view_ensure_layout): same thing.
1098         
1099         * gtk/gtktoolbar.c (gtk_toolbar_init): once more.
1100         
1101         * gtk/gtktreemodel.c (connect_ref_callbacks): and another time.
1102         
1103         * gtk/gtktreeviewcolumn.c:
1104         (_gtk_tree_view_column_set_tree_view): yet again.
1105
1106         * demos/gtk-demo/images.c (progressive_timeout): demonstrate
1107         signal connections without g_signal_connect_data().
1108         
1109         * demos/gtk-demo/stock_browser.c (do_stock_browser): second
1110         demo of the matter.
1111         
1112         * demos/testpixbuf.c (main): running out of equality phrases for the
1113         ChangeLog, but had to adapt connections here as well.
1114         
1115         * demos/testanimation.c (progressive_timeout): and for the fun of it,
1116         tackled this the same way.
1117         
1118         * tests/testtext.c (create_view): ok, it's becoming a pain at this
1119         point, but had enough enery for one more fix.
1120
1121         * tests/testtreecolumns.c (main): stand up man, do your work!
1122
1123         * tests/testtreeview.c (set_columns_type): ok, this is the last file i
1124         fix, either that's been all of it or CVS gtk is broken yet again.
1125         
1126 2001-06-29  James Henstridge  <james@daa.com.au>
1127
1128         The following changes correspond to bug #56812
1129
1130         * gdk/gdkinput.h, gdk/gdkevents.c (GDK_TYPE_DEVICE): register type
1131         code for GdkDevice.
1132
1133         * gdk/gdkcursor.[ch] (GDK_TYPE_CURSOR): register type code for
1134         GdkCursor.
1135
1136 2001-06-19  Havoc Pennington  <hp@pobox.com>
1137
1138         * gdk/x11/gdkwindow-x11.c (gdk_window_show_unraised): new function
1139         for mapping a window without fooling with stacking order, but
1140         updating the "withdrawn" flag
1141
1142         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Do event
1143         filtering as soon as possible, moving move resize and wmspec_check
1144         handling after the event filter.  Make default filter apply to all
1145         events, not just those with no GdkWindow wrapped around the X
1146         window. Fix a FIXME about how the window could be a pixmap using 
1147         RTTI; this of course assumes GDK_IS_WINDOW() is optimized. 
1148
1149         Also, be robust against events not on a known GdkWindow.
1150
1151         * gdk/x11/gdkmain-x11.c (gdk_x11_grab_server,
1152         gdk_x11_ungrab_server): export reference-counted server grabs, so
1153         other people can grab server over a GDK function that also does
1154         so.
1155
1156 Wed Jun 27 19:40:31 2001  Jonathan Blandford  <jrb@redhat.com>
1157
1158         * gtk/gtktreeviewcolumn.c
1159         (gtk_tree_view_column_pack_start_cell_renderer): New function to
1160         reflect that you can (hypothetically) pack cell renderers into a
1161         column.
1162         (gtk_tree_view_column_pack_end_cell_renderer): ditto.
1163         (gtk_tree_view_column_cell_is_visible): Move more functionality to
1164         the column.
1165         (gtk_tree_view_column_cell_can_focus): Move more functionality to
1166         the column.
1167
1168         * gtk/gtktreeview.c: Move to use new column-packing code.
1169         (gtk_tree_view_real_expand_row): remove totally braindead code.
1170         (gtk_tree_view_real_collapse_row): ditto.
1171
1172 2001-06-27  Kjartan Maraas  <kmaraas@gnome.org>
1173
1174         * gtk/gtktreeviewcolumn.c: Fix a typo.
1175         
1176 2001-06-26  Joel Becker  <jlbec@evilplan.org>
1177
1178         * gdk-pixbuf/gdk-pixbuf-csource.c: remove '#include "x"' line
1179           at the end of the file
1180
1181 2001-06-26  Havoc Pennington  <hp@redhat.com>
1182
1183         * gtk/gtkwindow.c (gtk_window_set_policy): forgot a notification
1184
1185 2001-06-26  Havoc Pennington  <hp@redhat.com>
1186
1187         * gtk/gtkwindow.c (gtk_window_class_init): add "resizable"
1188         property
1189
1190 Tue Jun 26 12:59:28 2001  Jonathan Blandford  <jrb@redhat.com>
1191
1192         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): fix
1193         stupid missing statement
1194
1195         * gtk/gtktreeview.c (gtk_tree_view_set_destroy_count_func): New
1196         private function for ATK.  It notifies you of how many _visible_
1197         children are deleted when a node is deleted.  Should be used by
1198         atk only.
1199
1200 Tue Jun 26 11:06:34 2001  Owen Taylor  <otaylor@redhat.com>
1201
1202         * gtk/gtkclist.c gtk/gtkentry.c gtk/gtkspinbutton.c:
1203         Use new pango_context_get_metrics() to fix problems
1204         with font lists in descriptions. (#56184, reported by
1205         Jonas Borgström)
1206
1207 Tue Jun 26 10:04:30 2001  Tim Janik  <timj@gtk.org>
1208
1209         * gtk/gtkiconfactory.c:
1210         * gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up
1211         item factory so inlined pixbufs actually work.
1212
1213 2001-06-25  Havoc Pennington  <hp@redhat.com>
1214
1215         * gtk/gtktreeviewcolumn.h, gtk/gtktreeviewcolumn.c:
1216         s/RESIZEABLE/RESIZABLE/
1217
1218         * gtk/gtkwindow.c, gtk/gtkwindow.h: s/resizeable/resizable/
1219
1220 2001-06-25  Alexander Larsson  <alexl@redhat.com>
1221
1222         * configure.in:
1223         Added --enable-fbmanager. This is some experimental code
1224         that lets several GtkFB apps coordinate their access to the
1225         framebuffer.
1226         
1227         * acconfig.h:
1228         Added ENABLE_FB_MANAGER.
1229
1230         * gdk/linux-fb/Makefile.am:
1231         Added gdkfbmanager and gdkfbswitch.
1232
1233         * gdk/linux-fb/gdkkeyboard-fb.c:
1234         * gdk/linux-fb/gdkmouse-fb.c:
1235         * gdk/linux-fb/gdkprivate-fb.h:
1236         Split device init and open so that
1237         they can be opened and closed while switched
1238         away.
1239
1240         * gdk/linux-fb/gdkmain-fb.c:
1241         Add the basic manager communication.
1242
1243         * gdk/linux-fb/gdkrender-fb.c:
1244         Don't update to the shadow fb if we're
1245         blocked by the fb manager.
1246
1247 Sun Jun 24 22:15:16 2001  Owen Taylor  <otaylor@redhat.com>
1248
1249         * docs/Changes-2.0.txt: Add note about child property
1250         changes.
1251
1252 Sun Jun 24 21:34:32 2001  Owen Taylor  <otaylor@redhat.com>
1253
1254         * gtk/gtkenums.h gtk/gtkiconfactory.c: Add a special size for
1255         drag-and-drop GTK_ICON_SIZE_DND (Default to 32x32)
1256
1257         * gtk/gtkdnd.c (gtk_drag_dest_set_target_list): Fix problem
1258         with un'reffing wrong list reported by Jeff Franks.
1259
1260         * gtk/gtkdnd.[ch] (_gtk_drag_{source,}dest_handle_event): _prefix.
1261
1262         * gtk/gtkdnd.c (gtk_drag_set_icon_default): Use GTK_STOCK_DND
1263         for the default icon. Remove inline XPM.
1264
1265         * gtk/gtkstock.h gtk/gtkiconfactory.c:
1266         Add GTK_STOCK_DND GTK_STOCK_DND_MULTIPLE (Currently, stock_new
1267         is used for GTK_STOCK_DND, but it is a bit too small.)
1268
1269         * gtk/stock-icons/stock_dnd_multiple.png
1270         gtk/stock-icons/Makefile.am: New stock icon moved from gnome-libs.
1271
1272         * gtk/gtkdnd.c (gtk_drag_source_event_cb): Only return
1273         TRUE when starting a drag. In other cases, we are
1274         just observing. (#52995)
1275
1276         * gtk/gtkdnd.[ch] (gtk_drag_set_icon_{stock,pixbuf}): Add 
1277         function to set the icon for a drag from a GdkPixbuf
1278         or stock ID.
1279
1280         * gtk/gtkdnd.[ch] (gtk_drag_source_set_icon_{stock,pixbuf}): 
1281         Likewise, for drag sources.
1282
1283         * gtk/gtkdnd.h: Deprecate gtk_drag_set_default_icon.
1284         (Now should be done using the stock system.)
1285
1286 Sun Jun 24 12:06:47 2001  Owen Taylor  <otaylor@redhat.com>
1287
1288         * gtk/gtktextview.[ch] (gtk_text_view_set_text_window_size): 
1289         Removed - didn't work and not particularly useful anyways
1290         if it did. 
1291
1292 Sun Jun 24 11:29:35 2001  Owen Taylor  <otaylor@redhat.com>
1293
1294         * gdk/x11/gdkimage-x11.c (gdk_image_new): Fix stupid error
1295         introduced last night that was making things decidedly not work.
1296
1297         * gtk/*.[ch]: Patch from Kristian Rietveld adding 80 getters
1298         so that we have getter/setter pairing everywhere it makes
1299         sense. (#55767)
1300
1301         * gtk/gtkradiobutton.[ch] gtk/gtktoolbar.c tests/testgtk.:
1302         Rename gtk_radio_button_group to gtk_radio_button_get_group, add a
1303         deprecated compat macro. (#55516)
1304
1305         * gtk/gtklabel.[ch]: Add functions
1306         gtk_label_set/get_use_underline(), gtk_label_set/get_use_markup(),
1307         gtk_label_set_label(), which mirror the property API for GtkLabel.
1308         Make gtk_label_get_attributes() only reflect the attributes
1309         set by gtk_label_set_attributes.
1310
1311         * gtk/gtknotebook.c (gtk_notebook_set_current_page) gtk/gtkcompat.h: Rename
1312         from gtk_notebook_set_page().
1313
1314 Sat Jun 23 18:02:46 2001  Owen Taylor  <otaylor@redhat.com>
1315
1316         * configure.in: Fix tests for XShm.h.
1317
1318         * gdk/x11/gdkimage-x11.c: Cleanup error handling in
1319         gdk_image_new() by use of goto, properly use g_object_unref().
1320
1321 Sat Jun 23 22:03:20 2001  Tim Janik  <timj@gtk.org>
1322
1323         * gdk/x11/gdkimage-x11.c (gdk_image_init): disabled g_free (image)
1324         calls, as GdkImage is an object. these should be g_obejct_unref()
1325         instead but that won't work because of the g_error() statement
1326         in gdk_x11_image_destroy(). so for now, i did s/g_free/LEAK_IMAGE/
1327         to spot these places.
1328
1329 Sat Jun 23 10:27:53 2001  Owen Taylor  <otaylor@redhat.com>
1330
1331         * modules/input/gtkimcontextxim.c: Fixup some problems with 
1332         text length handling in error cases.
1333
1334         * gtk/gtkwidget.c (gtk_widget_size_allocate): Reorder
1335         a bit to make test actually warn on attempt to allocation
1336         a negative size. (#56101, Matthias Clasen)
1337
1338 Fri Jun 22 14:06:08 2001  Jonathan Blandford  <jrb@redhat.com>
1339
1340         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug
1341         noticed by Brian Cameron.
1342         (gtk_tree_view_real_expand_row): Fix bug noticed by Brian
1343         Cameron.
1344
1345 2001-06-22  Hans Breuer  <hans@breuer.org>
1346
1347         * gdk/gdk.def : updated externals
1348
1349         * gdk/win32/gdkdrawable-win32.c : corrected some casts
1350         in GDK_NOTEs
1351
1352         * gdk/win32/gdkevents-win32.c : use _gdk_windowing_window_get_offsets
1353         to translate coordinates to the internal > 16 bit system
1354         Try to handle WM_WINDOWPOSCHANGED to get better performance for
1355         when moving/resizing
1356
1357         * gdk/win32/gdkkeys-win32.c : implement gdk_keymap_get_default ()
1358         and gdk_keymap_get_direction (). The latter is untested for
1359         the RTL case
1360
1361         * gtk/gtk.def : updated externals
1362
1363         * gtk/gtkmain.c : gtk_get_default_language () should reurn the result
1364         from pango_language_from_string (), not an already freed pointer
1365
1366         * gtk/stock-icons/stock_menu_sort_ascending.png : PNGs need to be 
1367         binary (-kb) to be useable on windoze
1368  
1369 2001-06-21  Alexander Larsson  <alexl@redhat.com>
1370
1371         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description): 
1372         Update to new PangoLanguage changes.
1373         
1374         * gtk/gtkwindow-decorate.c:
1375         * gtk/gtkwindow.[ch]:
1376         Added setting argument to gtk_window_set_has_frame ()
1377         
1378 Thu Jun 21 13:42:01 2001  Owen Taylor  <otaylor@redhat.com>
1379
1380         * gdk/x11/gdkkeys-x11.c (gdk_keymap_get_direction): Handle
1381         the case without XKB properly.
1382
1383         * gtk/gtkrc.c (gtk_rc_set_default_files): Remove
1384         unused gtk_rc_auto_parse variable.
1385
1386         * gtk/gtkrc.[ch] gtk/gtkstyle.c docs/Changes-2.0.txt:
1387         Remove gtk_rc_set_image_loader(), gtk_rc_load_image(), no
1388         longer needed with GdkPixbuf.
1389
1390         * gtk/gtkrc.c (_gtk_rc_init): Make private.
1391
1392 Fri Jun 15 16:26:12 2001  Owen Taylor  <otaylor@redhat.com>
1393
1394         * gtk/gtkentry.h: Mark deprecated functions with
1395         GTK_DISABLE_DEPRECATED.
1396
1397 Mon Jun 11 18:15:16 2001  Owen Taylor  <otaylor@redhat.com>
1398
1399         * gdk/gdk.h: Add missing gdk_rectangle_get_type() prototype.
1400
1401         * gtk/gtk[hv]scale.c: Include math.h, stdlib.h
1402
1403         * gdk/gdkpango.h gtk/gtkclist.c gtk/gtkentry.c gtk/gtkmain.[ch]
1404           gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtktextbuffer.c
1405           gtk/gtktextdisplay.c gtk/gtktextiter.[ch]
1406           gtk/gtktextlayout.c gtk/gtktexttag.[ch] gtk/gtkwidget.c: Adapt
1407           to recent changes in Pango.
1408
1409         * tests/testgtk.c: Set language tags with gtk_label_set_markup()
1410           to test whether the basic engine honors them.
1411
1412 Thu Jun 21 02:13:40 2001  Tim Janik  <timj@gtk.org>
1413
1414         * gtk/gtkcontainer.[hc]: added gtk_container_child_set_property() and
1415         gtk_container_child_get_property().
1416
1417 Wed Jun 20 19:19:15 2001  Jonathan Blandford  <jrb@redhat.com>
1418
1419         * gtk/gtktreeview.c (gtk_tree_view_move_cursor_up_down): clean up
1420         (gtk_tree_view_move_cursor_page_up_down): implement.
1421
1422 Wed Jun 20 05:32:05 2001  Tim Janik  <timj@gtk.org>
1423
1424         * gtk/gtkspinbutton.c: make maximum digits compile time configurable
1425         via MAX_DIGITS and up to 20. 5 was just ridiculously small.
1426         don't use automatic fixed size buffer for printf-ing floats, doubles
1427         can expand to really _huge_ strings, use g_strdup_printf() instead.
1428
1429 Wed Jun 20 04:28:24 2001  Tim Janik  <timj@gtk.org>
1430
1431         * gtk/gtkrange.c (gtk_range_class_init): hum, "adjustment" was a
1432         construct property in 1.2 and still needs to be.
1433
1434         * gtk/gtkwidget.c: "composite_child" is not a settable property.
1435
1436 Tue Jun 19 19:13:19 2001  Jonathan Blandford  <jrb@redhat.com>
1437
1438         * gtk/gtkliststore.c (gtk_list_store_clear): 
1439         * gtk/gtktreestore.c (gtk_tree_store_clear): New functions to
1440         clear a model.
1441
1442 Mon Jun 18 02:00:49 2001  Tim Janik  <timj@gtk.org>
1443
1444         * gtk/gtkwidget.c (gtk_widget_get_property): fix PROP_EVENTS.
1445
1446         * gtk/Makefile.am:
1447         * gtk/gtk.h: disabled GtkPacker compilation.
1448
1449         * gtk/gtkarg.[hc], gtk/gtkargcollector.c: got rid of these.
1450
1451         * gtk/gtknotebook.c:
1452         * gtk/gtktable.c:
1453         * gtk/gtkbox.c: ported this over to child properties.
1454
1455         * gtk/gtksettings.c: fetch class properties via
1456         g_object_class_list_properties().
1457
1458         * gtk/gtkcontainer.[hc]: implemented child properties, got rid of the
1459         child arg interface. use gobjectnotifyqueue.c for child property
1460         notification.
1461
1462         * gtk/gtkwidget.[hc]: provide necessary means for container child
1463         properties, i.e. ::child_notify signal,
1464         gtk_widget_freeze_child_notify(),
1465         gtk_widget_child_notify(),
1466         gtk_widget_thaw_child_notify().
1467
1468         * tests/testgtk.c: removed inferior property handling code, for
1469         property editing, a generic module should be used, and GLE
1470         coincidentally fullfills that purpose.
1471
1472         * docs/reference/Makefile.am: disabled gtk docs building, gtk-doc
1473         needs to be adapted to g_object_class_list_properties() before this
1474         builds again.
1475
1476 Mon Jun 18 20:06:10 2001  Jonathan Blandford  <jrb@redhat.com>
1477
1478         * gtk/gtktreeview.c (gtk_tree_view_row_expanded): New function to
1479         test if a node is expanded.
1480
1481 Mon Jun 18 19:41:38 2001  Jonathan Blandford  <jrb@redhat.com>
1482
1483         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug
1484         where collapsing a selected row would result in the cursor/anchor
1485         getting screwed up.
1486
1487 Fri Jun 15 18:53:48 2001  Jonathan Blandford  <jrb@redhat.com>
1488
1489         * gtk/gtktreesortable.c (gtk_tree_sortable_set_sort_func): Rename
1490         gtk_tree_sortable_sort_column_id_set_func.  It's much shorter now.
1491         * gtk/gtktreeview.c (gtk_tree_view_sort_iter_changed): WOOO!!!
1492         Now I can really reorder/sort all Store widgets.  treesorttest
1493         seems to just work now.
1494         * gtk/gtklistview.c (gtk_list_store_iter_changed): Whoops.
1495         testtreesort worked through a big coincidence all this time.
1496         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Nasty bug fix in nasty
1497         code.
1498         * tests/testtreecolumns.c: Big 'ol warning at the top letting
1499         people know that this code should never ever ever be copied.
1500
1501 2001-06-15  Jonas Borgström  <jonas@codefactory.se>
1502
1503         * gtk/gtkwindow.h: Fixed a small typo, it should be
1504         GTK_WINDOW_GROUP_GET_CLASS and not GTK_WINDOW_GET_CLASS
1505         on line 134.
1506
1507 2001-06-14  Havoc Pennington  <hp@redhat.com>
1508
1509         Docs fixups, and:
1510         
1511         * gtk/gtkcompat.h: remove GTK_DISABLE_COMPAT_H, replace with
1512         GTK_DISABLE_DEPRECATED
1513
1514 Thu Jun 14 19:21:27 2001  Jonathan Blandford  <jrb@redhat.com>
1515
1516         * gtk/gtktreestore.c (gtk_tree_store_sort_helper): Whoops.  Forgot
1517         this a couple months ago.  Now GtkTreeStore sort of sorts.  I'll
1518         finish it off tonight, though it basically works now when it's a
1519         list.  Also, I have a sinking feeling neither GtkTreeStore or
1520         GtkListStore actually resort when adding a new item.  I'll look
1521         into it.
1522
1523 2001-06-14  Havoc Pennington  <hp@redhat.com>
1524
1525         * demos/gtk-demo/main.c (load_file): fix bug identified by
1526         warnings I just added to gtktextbuffer
1527
1528 2001-06-14  Havoc Pennington  <hp@redhat.com>
1529
1530         * gtk/gtkwindow.c (window_group_cleanup_grabs): fix other typo
1531
1532         * gtk/gtkwidget.c (gtk_widget_propagate_state): fix typo
1533
1534         * gtk/gtktextbtree.c: don't leak node data all over the place.
1535
1536         * demos/gtk-demo/main.c (main): create fontify tags for the right
1537         buffer
1538
1539         * gtk/gtktextbuffer.c, gtk/gtktexttagtable.c: enhance docs
1540         to mention tags in the same table can't have the same name,
1541         suggested by Skip Montanaro
1542
1543 2001-06-11  Havoc Pennington  <hp@redhat.com>
1544
1545         * gtk/gtktexttagtable.c (gtk_text_tag_table_add): improve warning 
1546         for trying to add two tags with same name to the tag table
1547
1548         * demos/gtk-demo/main.c (main): fix colors ;-)
1549
1550 `Fri Jun  8 17:56:52 2001  Owen Taylor  <otaylor@redhat.com>
1551
1552         * gtk/gtkwindow.[ch] gtk/gtkmain.c: Add a GtkWindowGroup struct
1553         that allows grouping together multiple windows so that grabs
1554         within that set of windows only affect those windows.
1555
1556         * gtk/gtkmain.c gtk/gtkwidget.[ch]: Add a "grab_notify"
1557         signal for notification when a widget becomes shadowed
1558         by a grab or is no longer shadowed by a grab.
1559
1560         * gtk/gtkwidget.c (gtk_widget_propagate_state)
1561           gtk/gtkmain.c: (gtk_widget_grab_add): Don't allow
1562         insenstive widgets to maintain a grab.
1563
1564 2001-06-14  Alexander Larsson  <alexl@redhat.com>
1565
1566         * docs/README.linux-fb:
1567         Add some example config files that can be used with the URW fonts.
1568         
1569         * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init): 
1570         Set up the color ramps for DirectColor mode.
1571
1572 2001-06-11  Havoc Pennington  <hp@redhat.com>
1573
1574         * Release 1.3.6
1575          
1576 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
1577
1578         * gdk/linux-fb/gdkwindow-fb.c:
1579         Unify shaped window code and make it repaint the area that used
1580         to be part of the shape, but isn't anymore.
1581
1582 2001-06-11  Havoc Pennington  <hp@redhat.com>
1583
1584         * NEWS: Updates
1585
1586         * configure.in (GTK_MINOR_VERSION): bump version to 1.3.6
1587
1588         * gtk/Makefile.am: glib_genmarshal already contains top_builddir
1589         
1590 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
1591
1592         * gdk/linux-fb/gdkdnd-fb.c (gdk_drag_status):
1593         Don't pass on GDK_ACTION_DEFAULT. The Xdnd code
1594         passes zero instead, so do we.
1595         
1596 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
1597
1598         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
1599         Deep copy dash_list too.
1600         (_gdk_fb_gc_new): Set default cap_style before
1601         setting values.
1602
1603 2001-06-12  Alexander Larsson  <alla@lysator.liu.se>
1604
1605         * gdk/linux-fb/gdkkeyboard-fb.c (gdk_keymap_get_default,
1606         gdk_keymap_get_direction): New functions.
1607
1608 Tue Jun 12 12:41:27 2001  Jonathan Blandford  <jrb@redhat.com>
1609
1610         * gtk/gtktreemodel.h (GTK_TREE_MODEL_LIST_ONLY): further justify
1611         gtk_tree_model_get_flags by adding a second flag for atk.
1612
1613         * gtk/gtktreemodel.c: make cursor behavior interact better with
1614         mouse presses.
1615
1616 Mon Jun 11 12:43:08 2001  Jonathan Blandford  <jrb@redhat.com>
1617
1618         * gtk/gtktreeview.c (gtk_tree_view_class_init): changed
1619         expand_row/collapse_row to be 2 signals each -- test_expand_row
1620         and row_expanded as well as test_collapse_row and row_collapsed.
1621
1622 2001-06-10  Anders Carlsson  <andersca@codefactory.se>
1623
1624         * demos/gtk-demo/stock_browser.c (do_stock_browser): Update
1625         signal name to be changed instead of selection_changed.
1626
1627 2001-06-08  Havoc Pennington  <hp@redhat.com>
1628
1629         * gtk/gtkentry.c (gtk_entry_class_init): add read-only
1630         "scroll_offset" property for notification when the layout offsets
1631         may have changed
1632         (gtk_entry_adjust_scroll): add notify for scroll_offset
1633         (gtk_entry_layout_index_to_text_index): function to compensate for
1634         preedit string when doing coordinate stuff on the entry's layout
1635         (gtk_entry_text_index_to_layout_index): inverse function
1636         (gtk_entry_get_layout_offsets): hook to get current position of
1637         the layout      
1638         (gtk_entry_get_layout): hook to get the layout itself.
1639
1640         * gtk/gtklabel.c (gtk_label_get_layout): new function
1641
1642 Fri Jun  8 19:49:29 2001  Jonathan Blandford  <jrb@redhat.com>
1643
1644         * gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): New
1645         keybinding.
1646         (gtk_tree_view_focus): Fix merge conflict.
1647
1648 Fri Jun  8 18:41:30 2001  Jonathan Blandford  <jrb@redhat.com>
1649
1650         * gtk/gtktreeview.c (gtk_tree_view_set_cursor): new function to
1651         clean up cursor handling.
1652
1653 2001-06-08  Havoc Pennington  <hp@redhat.com>
1654
1655         * gtk/gtktextbuffer.c (gtk_text_buffer_get_start_iter): added this
1656         function
1657
1658         * gtk/gtktextview.c (gtk_text_view_get_default_attributes): added
1659         this function
1660
1661 2001-06-08  Alex Larsson  <alexl@redhat.com>
1662
1663         * gtk/gtkcompat.h.in:
1664         Added compat macros for all old GTK_TYPE_GDK_xxx types.
1665         Fixes bug #52892
1666
1667 2001-06-08  Havoc Pennington  <hp@redhat.com>
1668         
1669         * gtk/gtkhsv.h (struct _GtkHSVClass): had GtkContainerClass as
1670         parent still
1671
1672 2001-06-08  Havoc Pennington  <hp@redhat.com>
1673
1674         * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): geez,
1675         don't call g_list funcs on GSList
1676
1677         * gtk/gtkwidget.c (gtk_widget_child_focus): replaces
1678         gtk_container_focus(), since some widgets have focusable locations
1679         which are not other widgets. These widgets should not have to be 
1680         containers just to manage the focus. For example, GtkHSV is
1681         currently a container for no good reason. Also, this cleans
1682         up the "if (is_container && is_sensitive && is_drawable)
1683         container_focus ()" mess in widget implementations.
1684
1685         * gtk/gtkcontainer.c (gtk_container_focus): deprecate this
1686         function, and have it just call gtk_widget_child_focus().
1687
1688         * gtk/gtkhsv.c: derive from widget not container
1689         
1690         Throughout: fix to reflect GtkContainer::focus change
1691         
1692 Fri Jun  8 12:38:49 2001  Jonathan Blandford  <jrb@redhat.com>
1693
1694         * gtk/gtktable.c (gtk_table_resize): warn if row/cols are out of
1695         range.  Fix bug #55921
1696
1697         * gtk/gtkliststore.c (gtk_list_store_new_with_types): fix doc bug
1698         (#55920).
1699
1700 Fri Jun  8 12:03:07 2001  Owen Taylor  <otaylor@redhat.com>
1701
1702         * gdk/gdkkeys.[ch]: Add a direction-changed signal,
1703         and gdk_keymap_get_current_direction().
1704
1705         * gdk/x11/gdkevents-x11.c gdk/x11/gdkkeys-x11.c
1706           gdk/x11/gdkmain-x11.c gdk/x11/gdkprivate-x11.h: Track
1707         the current locked group, use it to set the keymap
1708         direction.
1709
1710         * gtk/gtksettings.c: Add a new gtk-split-cursor setting
1711         to determine whether we draw a split cursor or use
1712         a jumping cursor based on the current direction.
1713
1714         * gtk/gtkentry.c gtk/gtktextview.c gtk/gtktextlayout.[ch]:
1715         Obey the split cursor setting. 
1716
1717 Fri Jun  8 11:57:50 2001  Owen Taylor  <otaylor@redhat.com>
1718
1719         * gtk/gtkimmulticontext.c (activate_cb): Only activate
1720         when toggling on, not when toggling off... (#55906)
1721
1722 Wed Jun  6 10:37:07 2001  Owen Taylor  <otaylor@redhat.com>
1723
1724         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): 
1725         s/gdk_window_begin_paint/gdk_window_begin_paint_region/
1726         in docs. (#55812, Vitaly Tishkov)
1727
1728 2001-06-08  Anders Carlsson  <andersca@codefactory.se>
1729
1730         * demos/gtk-demo/main.c (create_tree): Changed signal name from
1731         selection_changed to changed in signal connection to GtkTreeSelection,
1732         also used g_signal_connectc since GtkTreeSelection is now a GObject.
1733
1734 Thu Jun  7 18:25:42 2001  Jonathan Blandford  <jrb@redhat.com>
1735
1736         * gtk/gtktreeselection.c: Now it's a GObject instead of a
1737         GtkObject.  The GtkTreeSelection::selection_changed signal is now
1738         the GtkTreeSelection::changed signal.
1739
1740         * gtk/gtktreeview.c: Modified to deal with new GtkTreeSelection
1741         object.
1742
1743         * tests/gtktree*.c: Modified to deal with new GtkTreeSelection
1744         object.
1745
1746 2001-06-07  Havoc Pennington  <hp@redhat.com>
1747
1748         * gtk/Makefile.am: fix glib-mkenums and glib-genmarshal again
1749
1750 2001-06-07  Havoc Pennington  <hp@redhat.com>
1751         
1752         * gtk/Makefile.am: fixups for glib-mkenums and glib-genmarshal
1753         (not tested yet because with absolute path to srcdir I can't build
1754         atk, but it was broken anyway so this may help) 
1755
1756 2001-06-07  Havoc Pennington  <hp@redhat.com>
1757
1758         * configure.in: output m4macros/Makefile
1759         
1760 Wed Jun  6 21:59:16 2001  Jonathan Blandford  <jrb@redhat.com>
1761
1762         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): hook up arrow
1763         buttons.  Fixes #55460 reported by matthiasc@poet.de.
1764
1765 Wed Jun  6 21:18:54 2001  Jonathan Blandford  <jrb@redhat.com>
1766
1767         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): centralize
1768         expansion/collapsing so it only happens in one place.
1769         (gtk_tree_view_real_expand_row): ditto.
1770
1771 2001-06-07  Havoc Pennington  <hp@redhat.com>
1772
1773         * tests/Makefile.am: add missing -I flag
1774
1775         * gtk/Makefile.am: use @GLIB_MKENUMS@, @GLIB_GENMARSHAL@, etc.
1776
1777         * configure.in: use pkg-config to see if GModule is
1778         supported; fix to properly turn on included loaders 
1779         when GModule isn't supported; don't use AC_CHECK_LIB 
1780         when libs are not installed yet
1781
1782         * autogen.sh: add support for AUTOGEN_SUBDIR_MODE
1783
1784         * Makefile.am (SUBDIRS): add m4macros subdir
1785
1786         * gtk/Makefile.am: $(srcdir)/foo targets must be $(srcdir)/foo in
1787         dependencies also.
1788
1789 Wed Jun  6 19:31:11 2001  Jonathan Blandford  <jrb@redhat.com>
1790
1791         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix silly bug
1792         reported by "Padraig O'Briain" <Padraig.Obriain@Sun.COM>.
1793
1794 Wed Jun  6 20:01:38 2001  Jonathan Blandford  <jrb@redhat.com>
1795
1796         * gtk/gtktreeview.c
1797         (gtk_tree_view_real_expand_collapse_cursor_row): Handle key
1798         bindings to expand and collapse rows.
1799         (gtk_tree_view_real_select_cursor_parent): New key binding.
1800         (gtk_tree_view_real_toggle_cursor_row): New key binding.
1801
1802         * gtk/gtkmarshal.list: new
1803         marshaller. (VOID__BOOLEAN_BOOLEAN_BOOLEAN)
1804
1805 2001-06-06  Havoc Pennington  <hp@redhat.com>
1806
1807         * gtk/gtkrange.c (gtk_range_class_init): add "inverted" property
1808
1809         * gtk/gtkscale.c (gtk_scale_class_init): Change Page Up and Page
1810         Down to move visually rather than logically, since it confuses 
1811         people. Add -/+ and Ctrl--/+ bindings for logical movement.
1812
1813 2001-06-06  Alex Larsson  <alexl@redhat.com>
1814
1815         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
1816         Fix up error messages.
1817
1818 Wed Jun  6 10:34:42 2001  Owen Taylor  <otaylor@redhat.com>
1819
1820         * gtk/gtktooltips.h: Include gtkwidget.h 
1821         (#55798, Karl Nelson)
1822
1823         * gdk/x11/gdkwindow-x11.c (utf8_is_latin1): 0xff is
1824         a valid latin-1 character. (Marc Lehmann, #35467)
1825
1826         * gdk/x11/gdkwindow-x11.c: Fix minor typo in comment. 
1827         (Marc Lehmann, #35467)
1828         
1829 2001-06-05  Alex Larsson  <alexl@redhat.com>
1830
1831         * demos/gtk-demo/appwindow.c (do_appwindow):
1832         Don't swap the order of the args to gtk_widget_destroyed.
1833
1834         * tests/testgtk.c (destroy_properties):
1835         Don't crash when the properties window is destroyed.
1836
1837         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_from_stock):
1838         Use with_mnemonics to handle the case of stock items with
1839         underscores in them.
1840
1841 2001-06-05  Havoc Pennington  <hp@redhat.com>
1842
1843         * gtk/gtktextiter.c (gtk_text_iter_order): rename from 
1844         gtk_text_iter_reorder
1845
1846 2001-06-05  Havoc Pennington  <hp@redhat.com>
1847
1848         * gtk/gtktoolbar.c (gtk_toolbar_remove_space): new function
1849
1850 2001-06-05  Havoc Pennington  <hp@redhat.com>
1851
1852         * gtk/gtkspinbutton.c (gtk_spin_button_set_range): clamp the value 
1853         to the range that was set
1854
1855         * gtk/gtkrange.c: add value_changed signal, primarily 
1856         intended for use with GtkScale
1857         (gtk_range_set_increments): new function
1858         (gtk_range_set_range): new function with weird name
1859         (gtk_range_set_value): new function
1860         (gtk_range_get_value): new function
1861
1862         * gtk/gtkspinbutton.c (gtk_spin_button_get_value): rename 
1863         from gtk_spin_button_get_value_as_float(). Compat #define
1864         added for get_value_as_float.
1865
1866         * gtk/gtkhscale.c (gtk_hscale_new_with_range): new function
1867
1868         * gtk/gtkvscale.c (gtk_vscale_new_with_range): new function
1869
1870 Tue Jun  5 14:57:18 2001  Jonathan Blandford  <jrb@redhat.com>
1871
1872         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_size): Fix bug #55573
1873
1874 Mon Jun  4 12:41:25 2001  Owen Taylor  <otaylor@redhat.com>
1875
1876         * gtk/gtkwidget.h: Deprecate gtk_widget_set().
1877
1878         * tests/testgtk.c (create_tooltips): Remove usage of
1879         gtk_widget_set().
1880
1881 2001-06-05  Havoc Pennington  <hp@redhat.com>
1882
1883         * gtk/gtkcolorsel.c: Use new mnemonic convenience functions
1884
1885         Applying patch from Jeff Franks, with function docs added.
1886         
1887         * gtk/gtkcheckbutton.c (gtk_check_button_new_with_mnemonic):
1888         remove call to set_mnemonic_widget, change docs a bit.  
1889
1890         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_with_mnemonic):
1891         new function
1892
1893         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_new_with_mnemonic):
1894         new function
1895
1896         * gtk/gtkmenuitem.c (gtk_menu_item_new_with_mnemonic): new function
1897
1898         * gtk/gtkradiobutton.c (gtk_radio_button_new_with_mnemonic): new
1899         function
1900         (gtk_radio_button_new_with_mnemonic_from_widget): new function
1901
1902         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_with_mnemonic):
1903         new function
1904
1905         * gtk/gtktogglebutton.c (gtk_toggle_button_new_with_mnemonic): new
1906         function        
1907
1908         * gtk/gtklabel.c (gtk_label_new_with_mnemonic): Improve docs on 
1909         auto-selection of mnemonic widget.
1910
1911 Mon Jun  4 15:05:24 2001  Jonathan Blandford  <jrb@redhat.com>
1912
1913         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_max_width):
1914         Fix segfault found by Vitaly Tishkov <tvv@sparc.spb.su>.
1915         (gtk_tree_view_column_set_min_width): ditto.
1916
1917 Tue Jun  5 11:04:06 2001  Owen Taylor  <otaylor@redhat.com>
1918
1919         * gdk/gdkpixmap.h (GDK_PIXMAP_GET_CLASS): 
1920         s/GdkPixmapClass/GdkPixmapObjectClass/. (#51890, Jeff Franks)
1921
1922 Mon Jun  4 12:50:11 2001  Owen Taylor  <otaylor@redhat.com>
1923
1924         * gtk/gtkctree.c (gtk_ctree_insert_gnode): Add a missing
1925         gtk_clist_thaw().
1926
1927 2001-06-04  Havoc Pennington  <hp@pobox.com>
1928
1929         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore 
1930         releases for buttons 6, 7
1931
1932 2001-06-04  Havoc Pennington  <hp@redhat.com>
1933
1934         * gtk/gtkseparatormenuitem.h: Fix a search-and-replace screwup
1935         (s/CHECK/SEPARATOR/ gone awry). Patch from Jeff Franks, bug
1936         #55562
1937
1938 2001-06-04  Havoc Pennington  <hp@redhat.com>
1939
1940         * gtk/gtktextview.c (gtk_text_view_size_request): handle case
1941         where text_view->layout == NULL by assuming its size is 0, 
1942         i.e. same as if we haven't done any reflow. Reported by 
1943         Hidetoshi Tajima #55448 
1944
1945 2001-06-04  Havoc Pennington  <hp@redhat.com>
1946
1947         * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6
1948         and 7 for scroll left/right, from Thomas Broyer
1949
1950 2001-05-10  Havoc Pennington  <hp@redhat.com>
1951
1952         * gtk/gtksettings.c (gtk_settings_get_property): Handle case where
1953         we need to parse the xsetting as if it were an RC file string.
1954
1955         * gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial
1956         value of palette from settings, not from static variable
1957
1958         * gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to
1959         xsettings translation table
1960
1961         * gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because 
1962         hardcoding the toolbar style conflicts with new customizable 
1963         toolbar style philosophy
1964         (gtk_toolbar_class_init): add settings for default toolbar style;
1965         these are used unless the app specifically forces a toolbar style
1966
1967         * gtk/gtksettings.c (settings_install_property_parser): only
1968         return at the start if we warn and parser == NULL
1969
1970         * gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the
1971         palette changed handler so we don't notify dead color selections
1972
1973         * gtk/gtkstyle.c (gtk_default_draw_shadow): handle
1974         xthickness/ythickness of 0 or 1 properly 
1975         (gtk_default_draw_resize_grip): clear the background behind the
1976         resize grips, and align to bottom right if we square the 
1977         area to be drawn.
1978
1979         * gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on 
1980         statusbar label to 1, so it doesn't make toplevels resize oddly
1981         (gtk_statusbar_size_request): add grip size to request
1982         (gtk_statusbar_size_allocate): hack so the hbox still works with 
1983         the grip size in the request
1984
1985         * gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix 
1986         bug where showing all on a toplevel makes the toolbar 
1987         button text appear despite the toolbar mode
1988
1989         * gtk/gtkmenubar.c: add internal padding style property
1990
1991         * gtk/gtktoolbar.c: Add internal padding style property; add
1992         shadow type style property
1993
1994         * gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget
1995         state; and put Container::border_width outside the frame
1996
1997         * gtk/gtktextview.c: don't draw focus rectangle if we're in
1998         interior focus mode, we just use blinking cursor
1999
2000 2001-06-04  Havoc Pennington  <hp@redhat.com>
2001
2002         * configure.in: Make gdk-pixbuf have same version number as GTK
2003
2004 2001-06-04  Havoc Pennington  <hp@redhat.com>
2005
2006         * gtk/gtkspinbutton.c: Get rid of stupid g_return_if_fail on 
2007         digits greater than 6. If there actually are limits (which there
2008         likely aren't), should clamp to them not warn.
2009         (gtk_spin_button_new_with_range): don't take log of 0
2010         (gtk_spin_button_size_request): use digits to compute size
2011         request, rather than step increment.
2012
2013         * tests/testgtk.c (create_spins): test larger values of digits
2014         
2015         * gtk/gtkfontsel.c (gtk_font_selection_init): scroll to selected
2016         font on map not expose, so we don't get weirdness during scrolling
2017
2018 2001-06-04  Havoc Pennington  <hp@redhat.com>
2019
2020         * gtk/gtkclist.c (vadjustment_value_changed): Apply fix from
2021         Sam Solon, bug #54577, update value even if not drawable.
2022
2023 2001-06-04  Havoc Pennington  <hp@redhat.com>
2024
2025         * gtk/gtkrange.c (gtk_range_scroll_event): change SCROLL_RIGHT to
2026         SCROLL_LEFT, reported by Thomas Broyer.
2027
2028 2001-06-04  Havoc Pennington  <hp@redhat.com>
2029
2030         * gtk/gtkrange.c (gtk_range_adjustment_value_changed): 
2031         Process updates immediately, to prevent funny lag effect
2032         when scrolling, at some mild potential efficiency cost.
2033
2034 2001-06-04  Havoc Pennington  <hp@redhat.com>
2035
2036         * gtk/gtkrange.c (gtk_range_button_press): on middle click, center
2037         slider on the click.
2038
2039 2001-06-03  Havoc Pennington  <hp@pobox.com>
2040
2041         * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case
2042         hscale/vscale details, so we can use it for scrollbar as well.
2043
2044         * tests/testgtk.c (reformat_value): honor digits from GtkScale
2045
2046         * gtk/gtkenums.h (GtkTroughType): Remove this enum
2047         (GtkScrollType): add START and END from GtkTroughType
2048
2049         * gtk/gtkstyle.c (gtk_default_draw_slider): was not properly using
2050         its x/y arguments
2051
2052         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkscrollbar.h,
2053         gtk/gtkscrollbar.c, gtk/gtkscale.h, gtk/gtkscale.c,
2054         gtk/gtkhscrollbar.h, gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.h,
2055         gtk/gtkvscrollbar.c, gtk/gtkhscale.h, gtk/gtkhscale.c,
2056         gtk/gtkvscale.h, gtk/gtkvscale.c: Rewrite GtkRange and subclasses.
2057
2058         Notable changes in the process:
2059          
2060         - stepper_size style property is the height for vertical 
2061           ranges, width for horizontal; the other dimension matches
2062           the trough size
2063         - add ability to do NeXT-style steppers (and several other styles
2064           that don't make any sense)
2065         - added min_slider_length, fixed_slider_length properties to
2066           GtkScrollbar
2067         - cleaned some private (or at least useless) functions out of
2068           gtkscale.h    
2069         - moved bindings to GtkScale from subclasses, even arrow keys,
2070           since blind users don't know scale orientation.
2071         - change move_slider action signal to use new GtkScrollType,
2072           remove GtkTroughType argument
2073         - digits rounds the values a range will input to the given 
2074           number of decimals, but will not try to force adjustment 
2075           values set by other controllers. That is, we no longer
2076           modify adjustment->value inside a value_changed handler.
2077         - added getters for GtkScale setters
2078         - middle-click begins a slider drag
2079         
2080 Fri Jun  1 18:54:47 2001  Jonathan Blandford  <jrb@redhat.com>
2081
2082         * gtk/gtktreeview.c: (gtk_tree_view_focus): Initial stab at
2083         getting the focus code to work.
2084         (gtk_tree_view_class_init): Add a bunch of keybindings.
2085
2086         * gtk/gtktreeviewcolumn.c
2087         (gtk_tree_view_column_set_cell_data_func):
2088         s/GtkCellDataFunc/GtkTreeCellDataFunc.
2089         (_gtk_tree_view_column_set_tree_view): Use "notify::model" instead
2090         of "properties_changed" to help justify the death of the latter
2091         signal. (-:
2092
2093         * tests/testtreefocus.c (main): Let some columns be focussable to
2094         test focus better.
2095
2096 2001-06-01  Havoc Pennington  <hp@redhat.com>
2097
2098         * gtk/gtkentry.c (gtk_entry_commit_cb): implement overwrite mode
2099         
2100         * gtk/gtktextview.c (gtk_text_view_commit_handler): don't
2101         overwrite in overwrite mode if we already deleted the selection
2102         and replaced it with new text.  
2103
2104         * gtk/gtklabel.c (gtk_label_select_region_index): if you set the
2105         selection to an empty range, clear the clipboard if we owned it.
2106         (gtk_label_set_selectable): give up selection if we become
2107         unselectable.
2108         (gtk_label_state_changed): override state changed to unselect text
2109         when insensitive
2110         (get_text_callback): add paranoia check that indexes aren't
2111         outside of label->text
2112         (gtk_label_select_region): make -1 for start_offset mean "end of
2113         label," for consistency with GtkEditable
2114
2115         * gtk/gtkmessagedialog.c (gtk_message_dialog_new): honor
2116         GTK_DIALOG_NO_SEPARATOR flag
2117
2118 Fri Jun  1 11:47:11 2001  Owen Taylor  <otaylor@redhat.com>
2119
2120         * gtk/gtkcombo.c (gtk_combo_set_use_arrows_always): Fix 
2121         notifications on non-existant "enable_arrow_keys".
2122         (#53753, Skip Montanaro)
2123
2124 Fri Jun  1 11:31:55 2001  Owen Taylor  <otaylor@redhat.com>
2125
2126         * gdk/gdkrectangle.c (gdk_rectangle_get_type): Add 
2127         GDK_TYPE_RECTANGLE.
2128
2129         * gtk/gtkwidget.c (gtk_widget_class_init): Fix type
2130         of allocation argument be GDK_TYPE_RECTANGLE.
2131
2132 Thu May 31 12:43:57 2001  Owen Taylor  <otaylor@redhat.com>
2133
2134         * gtk/gtkoptionmenu.c: Account for the fact that the border
2135         width is _outside_ the window. (Fixes #54585, bug found
2136         by Bastien Nocera.)
2137
2138 Wed May 30 15:56:30 2001  Owen Taylor  <otaylor@redhat.com>
2139
2140         * gtk/gtksettings.c (gtk_settings_get_property): Validate
2141         value from GDK settings against parameter spec.
2142
2143         * gdk/x11/gdkevents-x11.c (gdk_setting_get): Add assignments
2144         to temporary values and use g_value_transform(), since
2145         thinking that GValue was going to be easy or efficient
2146         to use was, of course, a mistake.
2147
2148         * gtk/gtksettings.c: Add cursor blink setting.
2149         
2150         * gdk/x11/gdkevents-x11.c: Add cursor blink X settings.
2151
2152         * gtk/gtkentry.c: Add cursor blinking.
2153
2154         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Use
2155         cursor blink global settings.
2156
2157         * gtk/gtkentry.c (gtk_entry_button_press): Add notification
2158         for :text_position in places where it is missing.
2159
2160 Tue May 29 18:17:11 2001  Owen Taylor  <otaylor@redhat.com>
2161
2162         * autogen.sh (have_libtool): Fix GNU sedism (#55430)
2163
2164 Tue May 29 17:40:29 2001  Owen Taylor  <otaylor@redhat.com>
2165
2166         * configure.in (GTK_DEP_CFLAGS): Use $PKG_CONFIG,
2167         not pkg-config. (#51032)
2168
2169         * gdk/gdkproperty.h: Remove inappropriate G_GNUC_CONST
2170         (fixes #51952, James Henstridge)
2171         
2172 2001-05-27  Alexander Larsson  <alla@lysator.liu.se>
2173
2174         * gtk/gtkstock.h (GTK_STOCK_GO_UP):
2175         Rename to the more correct gtk-go-up.
2176
2177         * gtk/stock-icons/stock_menu_sort_ascending.png:
2178         Added new file.
2179         
2180         * gtk/stock-icons/stock_menu_sort_descending.png:
2181         Changed to show descending instead of ascending.
2182
2183         * gtk/gtkiconfactory.c:
2184         Added menu size icon to sort ascending.
2185
2186         * gtk/stock-icons/Makefile.am:
2187         Added stock_menu_sort_ascending.png.
2188         
2189         * gtk/gtkseparatormenuitem.c:
2190         Use correct typenames.
2191
2192 Sun May 20 20:07:35 2001  Tim Janik  <timj@gtk.org>
2193
2194         * gtk/gtksignal.[hc] (gtk_signal_connect_full): make hanlder id a
2195         gulong as in GSignal.
2196
2197 Fri May 25 19:04:17 2001  Jonathan Blandford  <jrb@redhat.com>
2198
2199         * gtk/gtktreeview.c (gtk_tree_view_calc_size): Remove almost all
2200         instances of GtkCellRenderer in code (all but dnd icon code).
2201         Virtualized in GtkTreeViewColumn.  Now I need to move focus in
2202         there, and I can do multiple Cells per column.
2203
2204         * gtk/gtktreeviewcolumn.c: Proxy all cell calls correctly
2205
2206         * gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): fix bug
2207         when model was unreffed prior to removing the row reference.
2208
2209 2001-05-25  Havoc Pennington  <hp@redhat.com>
2210
2211         * gtk/gtkiconfactory.c: fix so that default icons are created if 
2212         you call gtk_stock_list_ids()
2213
2214         * demos/gtk-demo/stock_browser.c (create_model): sort stock items
2215         in list
2216
2217 2001-05-25  Havoc Pennington  <hp@redhat.com>
2218
2219         * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
2220         set can render without falling back to missing image icon
2221
2222         * gtk/gtktextview.c (gtk_text_view_size_request): request full
2223         size of text, instead of random values
2224
2225         * gtk/gtktreeview.c (gtk_tree_view_size_request): request full
2226         size of tree view, instead of random values
2227
2228         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): render fallback
2229         image in an appropriate size
2230
2231         * gtk/gtkstock.h: Rename the stock items including _BUTTON_,
2232         etc. not to include that. i.e. s/GTK_STOCK_BUTTON_OK/GTK_STOCK_OK/
2233
2234         Throughout: fix GTK_STOCK_BUTTON_ instances
2235         
2236         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
2237         gtk/gtkiconfactory.c, gtk/stock-icons/Makefile.am:
2238         Add a bunch of new stock items/icons
2239
2240         * gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func):
2241         new function, convenience for inserting columns with a data func
2242
2243         * gtk/gtkiconfactory.c: keep a list of all existing icon factories
2244         (_gtk_icon_factory_list_ids): use list of all factories to
2245         generate a list of all known IDs
2246
2247         * gtk/gtkstock.c (gtk_stock_list_ids): replace
2248         gtk_stock_list_items() with a function that returns all IDs known
2249         including those for GtkIconFactory.
2250
2251 2001-05-25  Hans Breuer  <hans@breuer.org>
2252
2253         * gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
2254         work -> check boxes and radio buttons are drawn now, even on win9x.
2255         Improved line settings a bit, still no clue how to get really dotted
2256         lines on win9x, on NT it's PS_ALTERNATE.
2257
2258         * gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for 
2259         GDK_HINT_MIN_SIZE as well
2260
2261         * gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
2262
2263         * gtk/gtk.def : updated
2264
2265         * gtk/gtktreeprivate.h : change column_drop_func to be a function
2266         pointer not a function pointer pointer
2267
2268         * tests/testdnd.c : include <stdlib.h> for putenv prototype
2269
2270         * tests/testsocket.c : made it compile on win32 again
2271
2272         * tests/makefile.msc : one more test-app uses prop-editor.obj
2273
2274 2001-05-22  Havoc Pennington  <hp@pobox.com>
2275
2276         * gtk/gtkbin.c (gtk_bin_get_child): New function
2277
2278 Wed May 23 20:07:53 2001  Owen Taylor  <otaylor@redhat.com>
2279
2280         * gtk/gtkimcontextsimple.c: Add Mode_Switch to list of keys
2281         to ignore when doing compose processing.
2282
2283 2001-05-22  Joe Shaw  <joe@ximian.com>
2284
2285         * gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_last_toggle): 
2286         Simplify as suggested by Havoc. Just get the last iter and work
2287         backward to the tag instead of getting a line and working back from
2288         there. Fixes passing in an invalid offset to
2289         iter_init_from_byte_offset().
2290
2291 Tue May 22 16:25:27 2001  Jonathan Blandford  <jrb@redhat.com>
2292
2293         * gtk/gtktreeview*.h: 
2294         * gtk/gtkcell*.h:
2295         * gtk/gtk*store.h:
2296         Added patch from Jeff Franks <jcf@tpg.com.au> to add GET_CLASS
2297         macros to all objects.
2298
2299 Tue May 22 15:13:52 2001  Jonathan Blandford  <jrb@redhat.com>
2300
2301         * gtk/gtkcellrenderertext.c
2302         (gtk_cell_renderer_text_set_fixed_size): Evil function to deal
2303         with very large (TM) amounts of text.  May be moved to
2304         GtkCellRenderer in the future, though I'm not sure it wants to be
2305         this accessible.
2306
2307         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button):
2308         More sanity brought to this class.  I like it.
2309
2310         * tests/testtreecolumns.c (ViewColumnModel): Amazingly scary test
2311         case.  Kids, don't try this at home.
2312
2313         * gtk/gtktreemodel.c (gtk_tree_model_get_iter_root): new
2314         convenience function.
2315
2316         * gtk/gtkwindow.c (gtk_window_set_geometry_hints): Fix typo in docs.
2317
2318 2001-05-21  Alexander Larsson  <alexl@redhat.com>
2319
2320         * gtk/gtkfontsel.c:
2321         Added properties. Based on patch by Lee Mallabone.
2322
2323         * gtk/gtkruler.c:
2324         * gtk/gtkhruler.c:
2325         * gtk/gtkvruler.c:
2326         * gtk/gtktext.c:
2327         * gtk/gtktextview.c:
2328         Converted GtkArg to GParam. Based on patches by John Margaglione.
2329
2330         * tests/Makefile.am:
2331         * tests/testtext.c:
2332         Add a property editor to testtext.
2333         
2334 Mon May 21 11:29:21 2001  Owen Taylor  <otaylor@redhat.com>
2335
2336         * gtk/gtk{h,v,}paned.c: Only show the separator if 
2337
2338         * configure.in: Fixed reversed conditional causing all image
2339         libraries to be linked in.
2340
2341 2001-05-21  Joe Shaw  <joe@ximian.com>
2342
2343         * gtk/gtklayout.c (gtk_text_layout_get_lines): Remove the assertion
2344         that top_y needs to be >= 0.
2345
2346 2001-05-11  Havoc Pennington  <hp@pobox.com>
2347         
2348         * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and
2349         losing connection to the X server.
2350
2351 Sun May 20 13:59:20 2001  Owen Taylor  <otaylor@redhat.com>
2352
2353         * configure.in: Start checks for X from pangox/pangoxft
2354         CFLAGS to avoid duplicate libraries.
2355
2356         * gdk/Makefile.am (LDFLAGS): Remove extra -lm.
2357
2358         * configure.in (GDK_PIXBUF_PACKAGES): Fix GDK_PIXBUF_PACKAGES
2359         to include gobject.
2360         
2361 2001-05-18  Alexander Larsson  <alexl@redhat.com>
2362
2363         * gtk/gtkspinbutton.c:
2364         Convert GtkArgs to GParams. Based on patch by John Margaglione.
2365         Also do size request reasonable for MAXDOUBLE. Previously it printed
2366         the limits to a buffer and overran it. Instead do it using log10() and
2367         limit the width to 10 digits.
2368         
2369         * gtk/gtkwidget.c (gtk_widget_get_property):
2370         Correctly handle setting the parent property to NULL.
2371
2372 Fri May 18 15:26:26 2001  Owen Taylor  <otaylor@redhat.com>
2373
2374         * gtk/gtktextview.c (gtk_text_view_style_set): Reset 
2375         style attributes even if the widget isn't realized.
2376
2377         * demos/gtk-demo/main.c: Use a slightly smaller font.
2378
2379 Fri May 18 14:25:20 2001  Owen Taylor  <otaylor@redhat.com>
2380
2381         * gtk/gtkcontainer.c: Remove reallocate-redraws property.
2382         This is something that only a widget writer would ever want
2383         to change.
2384
2385         * gtk/gtksignal.c: Handle G_SIGNAL_TYPE_STATIC_SCOPE for
2386         gtk_signal_emit_by_name().
2387
2388         * gtk/gtkviewport.c: Fix some warnings.
2389
2390         * gtk/gtkwidget.c gtk/gtksizegroup.c: Add "size group" facility
2391         allowing the requisitions of multiple widgets to be grouped
2392         together.
2393
2394         * tests/testgtk.c: Add GtkSizeGroup test
2395
2396         * demos/gtk-demo/sizegroup.c: Add GtkSizeGroup demo.
2397
2398         * demos/gtk-demo/main.c demos/gtk-demo/pixbufs.c: Fix some
2399         warnings.
2400
2401         * configure.in: Switch to using AM_GLIB_GNU_GETTEXT.
2402
2403 2001-04-28  Martin Baulig  <baulig@suse.de>
2404
2405         * gtk/gtkimagemenuitem.[ch]: Renamed gtk_image_menu_item_add_icon()
2406         to gtk_image_menu_item_set_icon() and made it work if there's already
2407         an image.
2408         (gtk_image_menu_item_new): This function doesn't take any arguments anymore.
2409         (gtk_image_menu_item_new_with_label): New function.
2410
2411 Thu May 17 16:20:04 2001  Jonathan Blandford  <jrb@redhat.com>
2412
2413         * demos/gtk-demo/main.c (fontify): It's the worlds ugliest
2414         highlighting code!!!!  The result is okay so long as you don't try
2415         to stress it.  It also highlights a bug in the TextView so it's in
2416         an unproportional font right now until it's fixed.
2417
2418         *demos/gtk-demo/*.c: Clean up code a bit to make it
2419         ugly-parser(TM) friendly. (-:
2420
2421 2001-05-17  Joe Shaw  <joe@ximian.com>
2422
2423         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove the assertions
2424         that x_offset and y_offset must be >= 0. Clip the cursor being drawn
2425         if it is only partially onscreen.
2426
2427 Thu May 17 17:10:13 2001  Owen Taylor  <otaylor@redhat.com>
2428
2429         * gtk/gtkentry.c: Make logical motion and deletion by graphemes, 
2430         not by characters.
2431
2432         * gtk/gtkentry.c: Handle "trailing" returns from Pango when they
2433         are not zero or one; that is, when graphemes of multiple characters
2434         are involved.
2435
2436         * gtk/gtktextlayout.c (line_display_index_to_iter): Remove unnecessary
2437         FIXME.
2438
2439 2001-05-17  Alexander Larsson  <alla@lysator.liu.se>
2440         
2441         * gtk/gtkbbox.c:
2442         Add properties, based on patch by Lee Mallabone.
2443
2444         * gtk/gtknotebook.c:
2445         * gtk/gtktoolbar.c:
2446         Convert from GtkArg to GParam, based on patch by John Margaglione.
2447         
2448         * gtk/gtkhscale.c:
2449         * gtk/gtkvscale.c:
2450         * gtk/gtkhscrollbar.c:
2451         * gtk/gtkvscrollbar.c:
2452         * gtk/gtkrange.c:
2453         Move adjustment property to GtkRange.
2454
2455         * gtk/gtklabel.c:
2456         Setup mnemonics on property changes
2457
2458         * gtk/gtkwidget.c (gtk_widget_get_property):
2459         GdkExtensionMode is an enum, not a flag. Set it with
2460         g_value_set_enum ().
2461
2462         * tests/prop-editor.c:
2463         Better propery editor.
2464
2465         * tests/testgtk.c:
2466         Add new property test. Pass zero to the property editor to
2467         get properties from all derived types.
2468         
2469 Sun May 13 12:01:12 2001  Owen Taylor  <otaylor@redhat.com>
2470
2471         * autogen.sh (have_automake): Require libtool-1.4,
2472         automake-1.4p1.
2473
2474         * acinclude.m4: Remove libtool macros.
2475
2476         * gdk-pixbuf/Makefile.am: Add dependencies to loade
2477         modules.
2478
2479         * gdk/Makefile.am: Add dependency on libgdk_pixbuf.la
2480         for libgdk.
2481
2482         * gtk/Makefile.am: Add dependency on libgdk_pixbuf.la
2483         libgdk.la for libgtk.
2484
2485         * modules/input/Makefile.am: Make modules have full
2486         dependencies.
2487
2488 Wed May 16 14:06:01 2001  Jonathan Blandford  <jrb@redhat.com>
2489
2490         * gtk/gtktreemodel.c (gtk_tree_path_new_from_string): fix bug
2491         #54699 where paths weren't being checked for correctness.
2492
2493 Tue May 15 20:13:24 2001  Jonathan Blandford  <jrb@redhat.com>
2494
2495         * gtk/gtktreeviewcolumn.c: You can now set all sorts of properties
2496         in any order you wan, whether or not the column is added to the
2497         tree, or the tree is realized.  Yay!
2498
2499         * gtk/gtktreeviewcolumn.c
2500         (gtk_tree_view_column_setup_sort_column_id_callback): handle
2501         sorting columns a lot saner
2502
2503         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_reorderable):
2504         new function to actually set wether or not a column is
2505         reorderable.
2506
2507         * gtk/gtktreeview.c (gtk_tree_view_unrealize): Only destroy things
2508         if we have 'em.
2509
2510         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_set_tree_view):
2511         Fix nasty bug where we were showing the button just before
2512         realizing it.  As a result, the parent window was
2513         tree_view->window instead of tree_view->priv->header_window.
2514
2515         * gtk/gtktreeview.c (gtk_tree_view_set_reorderable): new property
2516         to let you easily reorder a list or tree.
2517
2518 2001-05-15  Alexander Larsson  <alla@lysator.liu.se>
2519
2520         * gtk/gtkpacker.c: Apply patch from John Margaglione that converts
2521         from args to properties.
2522
2523 Tue May 15 10:11:59 2001  Owen Taylor  <otaylor@redhat.com>
2524
2525         * gtk/gtkpreview.c: Apply patch from John Margaglione converting
2526         from args to properties. (#51957)
2527
2528         * gtk/gtkscale.c (gtk_scale_class_init): Move install property
2529         calls to after ->set_property call.
2530
2531 Mon May 14 14:56:21 2001  Owen Taylor  <otaylor@redhat.com>
2532
2533         * tests/prop-editor.c: Block against redundant changes.
2534
2535         * gtk/gtkpaned.c gtk/gtk[hv]paned.c: Add position, position_set
2536         properties.
2537
2538 Sun May 13 18:40:04 2001  Owen Taylor  <otaylor@redhat.com>
2539
2540         * gdk/gdkpixmap.h: Remove creative formatting.
2541
2542 Thu May 10 19:22:28 2001  Owen Taylor  <otaylor@redhat.com>
2543
2544         * gtk/gtktogglebutton.c:  Patch from John Margaglione converting to
2545         property API. (#51669)
2546
2547         * gtk/gtkscale.c: Patch from John Margaglione converting to
2548         property API. (#51891)
2549
2550         * gtk/gtkaccellabel.c: Applied patch from Lee Mallabone, converting
2551         to property API. (#50985)
2552
2553 Fri May 11 20:13:44 2001  Tim Janik  <timj@gtk.org>
2554
2555         * gtk/gtkmain.c (gtk_main_do_event): remember widget's double
2556         buffering state across expose event, so we still call end_paint().
2557
2558 2001-05-11  Alexander Larsson  <alexl@redhat.com>
2559
2560         * gtk/gtkhsv.c (paint_triangle):
2561         Expose the ring in the triangle at the correct place when
2562         exposing just a part of the triangle.
2563
2564         * gtk/gtkwindow-decorate.c (gtk_decorated_window_focus_change):
2565         Return FALSE, or window focusing will not work.
2566
2567 2001-05-11  Havoc Pennington  <hp@pobox.com>
2568
2569         * gtk/gtkimage.c (gtk_image_new_from_stock): docs, fixes bug
2570         #54144
2571
2572         * gtk/gtkcolorsel.c (gtk_color_selection_new): docs, fixes
2573         bug #54330
2574
2575 Fri May 11 02:53:57 2001  Tim Janik  <timj@gtk.org>
2576
2577         * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't
2578         propagate exposes to NULL child.
2579
2580         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard
2581         against not having one of the scrollbars.
2582
2583         * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us,
2584         we don't keep a mnemonic window if we have no mnemonic installed.
2585
2586 Fri May 11 01:05:00 2001  Tim Janik  <timj@gtk.org>
2587
2588         * gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST
2589         it has the _important_ side effect of initializing a class.
2590
2591 2001-05-10  Alexander Larsson  <alexl@redhat.com>
2592
2593         * gdk/linux-fb/gdkprivate-fb.h:
2594         Make sure you can compile out the implementation/wrapper assert
2595         macros.
2596
2597         * gdk/linux-fb/gdkdrawable-fb2.c:
2598         Check implementation/wrappers, initialize type for pixmap dummys.
2599
2600         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
2601         Hide the cursor if reading from the screen.
2602
2603         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
2604         Fix sign bug in tiling code.
2605
2606         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
2607         Handle background pixmaps.
2608
2609 Wed May  9 15:27:22 2001  Jonathan Blandford  <jrb@redhat.com>
2610
2611         * gtk/gtktreeview.c (gtk_tree_view_set_column_drag_function): New
2612         function to let user control where columns are dragged.
2613
2614         * gtk/gtktreeview.c (gtk_tree_view_key_press): Cancel drags if
2615         Escape is pressed.
2616
2617 Wed May  9 09:08:44 2001  Jonathan Blandford  <jrb@redhat.com>
2618
2619         * gtk/gtktreeview.c (gtk_tree_view_class_init): New
2620         "columns_changed" signal.
2621         (gtk_tree_view_motion_draw_column_motion_arrow): Change column
2622         motion code to draw arrows to the side if indicator is outside the
2623         widget.
2624         (gtk_tree_view_map_expanded_rows): Implement.
2625
2626 2001-05-07  Alexander Larsson  <alexl@redhat.com>
2627
2628         * demos/testpixbuf-save.c: 
2629         * demos/testpixbuf-drawable.c:
2630         Include gdkfb.h on linux-fb.
2631
2632 2001-05-07  Alexander Larsson  <alexl@redhat.com>
2633
2634         * gdk/linux-fb/gdkdnd-fb.c (get_toplevel_window_at):
2635         New function for getting toplevel window at position.
2636         (gdk_drag_find_window): Use get_toplevel_window () instead
2637         of gdk_window_get_pointer(). (gdk_drag_status): Use
2638         correct context for getting window.
2639
2640         * gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name):
2641         g_strdup the atom name.
2642
2643         * gdk/linux-fb/gdkwindow-fb.c:
2644         Costmetic fix.
2645
2646         * gtk/gtkdnd.c (gtk_drag_source_handle_event):
2647         Add code for changing cursor on linux-fb backend (same as
2648         win32).
2649
2650 2001-05-07  Federico Mena Quintero  <federico@ximian.com>
2651
2652         * gtk/gtkwindow.c (gtk_window_focus): Test for bin->child being
2653         present before doing anything with it.  Patch from HÃ¥vard KvÃ¥len
2654         <havardk@netcom.no>.  Fixes Ximian bugzilla #2492 (OK, the bug
2655         report was not for the development branch of GTK+, but it applies
2656         anyways).
2657
2658 2001-05-04  Havoc Pennington  <hp@redhat.com>
2659
2660         * configure.in: fix some shell typos
2661
2662         * gtk/gtkcolorsel.c (gtk_color_selection_destroy): warning fix
2663
2664         * gtk/gtkimage.c: handle animations
2665
2666         * gtk/gtkcheckbutton.c (gtk_check_button_size_request): request
2667         border_width * 2, not just border_width
2668
2669         * gtk/gtkscale.c: add "format_value" signal to allow people
2670         to override the way values are drawn.
2671         (gtk_scale_get_value_size): fix width/height mistake,
2672         and compute size from actual displayed text, not 
2673         from made-up text.
2674
2675         * gtk/gtktexttag.c (gtk_text_tag_class_init): fix return type in 
2676         signal registration
2677
2678         * tests/testtext.c: Add "Remove all tags" menu item for testing
2679
2680         * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): implement
2681
2682         * demos/gtk-demo/main.c (main): add hack so we can find modules
2683         without installing gtk
2684
2685         * demos/gtk-demo/textview.c (insert_text): demo font scaling
2686
2687         * gtk/gtkcellrenderertext.c: Add "scale" property (font scaling
2688         factor)
2689         (gtk_cell_renderer_text_set_property): remove some bogus
2690         g_object_notify
2691
2692         * gtk/gtktexttag.c: add "scale" property which is a font scaling
2693         factor
2694
2695         * gtk/gtktextlayout.c (add_text_attrs): add font scale attribute 
2696         to layout
2697
2698         * gtk/gtktextiter.c (gtk_text_iter_is_start): rename from
2699         gtk_text_iter_is_first
2700
2701 2001-01-06  Hans Breuer  <hans@breuer.org>
2702
2703         * gdk/gdk.def : updated exports
2704
2705         * gdk/win32/makefile.msc : -DGDK_ENABLE_BROKEN otherwise
2706         gdk won't compile anymore
2707  
2708         * gdk/win32/gdkevents-win32.c : initialize ret_val when
2709         processing GDK_FILTER functions, initialize event.key->hardware_keycode.
2710         Improved gdk_flush () to not only do pending drawing operations
2711         but also process all currently pending events. This should make
2712         the behaviour more similar to the X11 version.  
2713
2714         * gdk/win32/gdkgc-win32.c (predraw_set_background) : a background
2715         option needs to be set even if there is no GDK_GC_BACKGROUND.
2716         (gdk_win32_hdc_get) : use predraw_set_background () independent
2717         of value_mask. This allows to draw dashed lines leaving the original
2718         background intact.
2719
2720         * gdk/win32/gdkimage-win32.c (gdk_image_new_bitamp) : free data
2721         after processing, because we can't reuse it as the X11 version does.
2722
2723         * gtk/gtk.def : updated exports
2724
2725         * gtk/makefile.msc.in : added ATK, removed all test apps. (I
2726         would like to get rid of this file again, and use straight
2727         makefile.msc again, as the other Gtk+ subdirs do)
2728
2729         * test/makefile.msc (new file) : build the test apps here
2730
2731 2001-05-05  ERDI Gergo  <cactus@cactus.rulez.org>
2732
2733         * gdk/gdkpango.c (gdk_pango_get_item_properties): Peek
2734         strike-through setting
2735         (gdk_draw_layout_line_with_colors): Render strike-through
2736
2737 Sat May  5 10:06:24 2001  Owen Taylor  <otaylor@redhat.com>
2738
2739         * Release 1.3.5
2740
2741         * configure.in (GTK_MICRO_VERSION): Up to 1.3.5
2742
2743         * NEWS: Updated
2744
2745         * demos/gtk-demo/Makefile.am (EXTRA_DIST): Fix minor
2746         Makefile breakage.
2747
2748 Sat May  5 09:18:30 2001  Owen Taylor  <otaylor@redhat.com>
2749
2750         * demos/gtk-demo/images.c (progressive_timeout): Fix
2751         typo in filename.
2752
2753         * gtk/gtktreeview.c (gtk_tree_view_row_activated): Comment
2754         out FIXME warning; just too annoying.
2755
2756 2001-05-04  Alex Larsson  <alla@lysator.liu.se>
2757
2758         * gdk/linux-fb/gdkcolor-fb.c:
2759         Better error messages.
2760
2761         * gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_new):
2762         Initialize abs_x and abs_y.
2763         
2764         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
2765         Correct handling of stipple offset.
2766
2767         * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init):
2768         Treat directcolor framebuffers as truecolor.
2769         
2770 Thu May  3 14:13:49 2001  Owen Taylor  <otaylor@redhat.com>
2771
2772         * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
2773         dependency on Atk for accessibility support.
2774
2775         * configure.in **/Makefile.am: Major reworking of substituted
2776         variables for CFLAGS/LIBS to make a lot more sane and 
2777         keep the the compile/link lines a bit shorter.
2778
2779         * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
2780
2781 Thu May  3 08:10:54 2001  Owen Taylor  <otaylor@redhat.com>
2782
2783         * gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
2784         value to be G_TYPE_BOOLEAN, not G_TYPE_INT, also,
2785         use _gtk_boolean_handled_accumulator.
2786
2787 Thu May  3 07:00:09 2001  Owen Taylor  <otaylor@redhat.com>
2788
2789         * gtk/gtktextview.c: Patch from Juan Pablo Mendoza Mendoza
2790         to fix things so clicking inside selection leaves cursor
2791         at point where clicked. (#50324)
2792
2793         * gtk/gtksettings.c (gtk_settings_class_init): Restore
2794         sane value for default double click time.
2795
2796         * tests/testtext.c (test_init): Really path to input modules.
2797
2798 2001-05-03  Sven Neumann  <sven@convergence.de>
2799
2800         * demos/testpixbuf-save.c: include target-specific headers as
2801         done in testpixbuf-drawable.c
2802
2803 Wed May  2 20:36:38 2001  Owen Taylor  <otaylor@redhat.com>
2804
2805         * gtk/gtkentry.c (gtk_entry_real_insert_text): Reduce
2806         new_text_length appropriately when we run into the 
2807         size limit for the entry. (#53445, reported by Jeff Franks)
2808
2809         * tests/testgtk.c (create_entry): Remove most of the
2810         property toggle buttons. Replace with a "Props" button
2811         that brings up a property editor.
2812
2813         * tests/prop-editor.[ch] test/testtreeview.c tests/Makefile.am:
2814         Split the property editor code out for reuse, improve.
2815
2816 Wed May  2 17:26:22 2001  Owen Taylor  <otaylor@redhat.com>
2817
2818         * gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.c: Always
2819         trap errors around calls to XSetInputFocus since we have
2820         no way of knowing reliably whether we are viewable or
2821         not. (#53947)
2822
2823 Tue May  1 09:21:23 2001  Jonathan Blandford  <jrb@redhat.com>
2824
2825         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
2826         fix bug in dropping columns.  Moving columns now basically works
2827         modula some fine tuning.
2828
2829 Tue May  1 19:09:21 2001  Jonathan Blandford  <jrb@redhat.com>
2830
2831         * gtk/gtktreeview.c (gtk_tree_view_horizontal_autoscroll): Add
2832         autoscroll support.  It mostly works, but could use some fine
2833         tuning.
2834         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
2835         Actually move the column.
2836
2837 Mon Apr 30 20:29:27 2001  Owen Taylor  <otaylor@redhat.com>
2838
2839         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c 
2840           gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtkwidget.c:
2841           New default theme! A slighly improved version of the 2.0 Raleigh
2842           theme, with Windows-esque focus/drawing default. 
2843           (GtkWidget::interior_focus defaults to TRUE.)
2844
2845         * gtk/gtkstyle.[ch]: Add a text_aa color halfway between text and base.
2846
2847 2001-04-30  Havoc Pennington  <hp@pobox.com>
2848
2849         * tests/testtext.c (line_numbers_expose): fix to work with
2850         gtk_paint_layout change
2851
2852 Mon Apr 30 19:18:07 2001  Owen Taylor  <otaylor@redhat.com>
2853
2854         * gtk/gtkstyle.[ch] gtk/gtkaccellabel.c gtk/gtkcellrenderertext.c
2855           gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c gtk/gtkprogressbar.c
2856           gtk/gtkvruler.c gtk/gtkvscale.c: Add an extra parameter
2857           use_text to gtk_paint_label() to deal with style->bg[] vs style->text[].
2858
2859         * gtk/gtkbbox.c gtk/gtkdialog.c: Tweak padding some to deal
2860           with GtkWidget::interior_focus = TRUE better.
2861
2862         * gtk/gtkbutton.c: Switch ::default_spacing to ::default_border,
2863         ::default_outside_border for more flexibility.
2864
2865         * gtk/gtkwidget.c (gtk_widget_style_get_valist): Remove 
2866         G_VALUE_NO_COPY_CONTENTS, to correspond with the recent
2867         change that had to be made with g_object_get.
2868
2869 Sun Apr 29 20:13:40 2001  Jonathan Blandford  <jrb@redhat.com>
2870
2871         * gtk/gtktreeview.c (gtk_tree_view_get_columns): new function.
2872         (gtk_tree_view_move_column_after): Clean up interface. 
2873
2874 Sun Apr 29 03:02:02 2001  Tim Janik  <timj@gtk.org>
2875
2876         * gtk/gtkpacker.h:
2877         * gtk/gtkenums.h: moved GtkAnchorType and GtkSideType from gtkpacker.h
2878          to gtkenum.h.
2879
2880         * gtk/gtkmain.c (gtk_main_do_event): silence compiler (GDK_SETTING not
2881         handled in switch).
2882
2883         * gtk/Makefile.am:
2884         (gtk.defs): generate enum portions with  glib-mkenums.
2885         (gtktypebuiltins_evals.c): generate this with glib-mkenums.
2886         got rid of makeenums.pl and makeenums.awk in distributed tarballs.
2887         
2888         * gtk/gtkaccelgroup.c (gtk_accel_group_add): refined havocs warning
2889         addition.
2890
2891         * docs/Changes-2.0.txt: keep a note on signal handlers now
2892         not getting emitted during the emission they were connected within.
2893
2894 2001-04-28  Havoc Pennington  <hp@pobox.com>
2895
2896         * gtk/gtkcolorsel.c (palette_new): fix bug in tooltip
2897
2898 2001-04-24  Havoc Pennington  <hp@redhat.com>
2899
2900         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): 
2901         (gtk_text_layout_move_iter_to_next_line): fix these two for
2902         invisible text, lots of other stuff still hosed.
2903
2904         * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
2905         new function, replaces the get/set palette stuff. This function 
2906         is intended for use by libgnomeui which should set the hook to a
2907         thing which sets the palette in GConf, and we need the
2908         GConf-to-xsettings proxy which will result in the change being
2909         propagated back to the GTK app.
2910
2911         * gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning 
2912         about unusable signals that it may be because the signal has 
2913         parameters.
2914
2915         * gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
2916         style, otherwise gtkrc.c won't know to create a new GtkStyle for
2917         it.
2918         (gtk_widget_modify_color_component): call
2919         gtk_widget_modify_style() so the rc style will get copied.
2920         (gtk_widget_modify_font): ditto
2921
2922         * gtk/gtkrc.c: make a couple variables static
2923
2924         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
2925         help button by default, since it does nothing
2926
2927         * gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
2928         around with UI
2929
2930         * gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
2931         so we can have tooltips
2932
2933         * gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
2934         can have tooltips
2935
2936         * gdk/gdkimage.h: mark gdk_image_new_bitmap with
2937         GDK_ENABLE_BROKEN, because its memory behavior is completely
2938         hosed.
2939
2940         * gtk/gtknotebook.c: remove key press handler, replace with
2941         binding set, add numeric keypad support
2942
2943         * gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete
2944
2945         * gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms
2946
2947         * gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
2948         addition to plain Delete
2949
2950         * gtk/gtktextview.c (gtk_text_view_key_press_event): accept
2951         GDK_KP_Enter in addition to GDK_Return
2952
2953         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
2954         activate on entry instead of key press
2955         (gtk_font_selection_on_clist_key_press): get
2956         rid of this signal handler, not needed with new font sel.
2957
2958         * gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
2959         no-longer-needed emit_stop_by_name(), just return TRUE
2960
2961         * gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
2962         cruft, this widget is no longer focusable.
2963
2964         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
2965         gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
2966         move_slider action signal, add binding set for vscale/hscale, in
2967         the process support numeric keypad
2968
2969         * gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings; 
2970         make GDK_Return and GDK_KP_Enter activate the entry via 
2971         binding set, instead of hardcoded.
2972
2973 Fri Apr 27 20:27:21 2001  Jonathan Blandford  <jrb@redhat.com>
2974
2975         * gtk/gtktreeview.[hc]: Massive reorder/cleanup of a lot of the
2976         code.  Some documentation added.
2977
2978 2001-04-27  Havoc Pennington  <hp@redhat.com>
2979
2980         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning
2981
2982         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable
2983
2984         * gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
2985         line/para separators
2986         (gtk_entry_create_layout): set single paragraph mode on the layout
2987
2988         * gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
2989         spacing between the image and label; instead, inside a button box 
2990         the button will get extra space that will go there, but if people 
2991         configure button box for 0 chubbiness, then there's no spacing.
2992
2993         * gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
2994         and min/max size style properties, so people can tune their
2995         chubbiness.
2996
2997         * tests/testgtk.c (make_toolbar): remove calls to removed toolbar
2998         functions
2999
3000         * gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
3001         space_style, and button_relief into style properties, remove
3002         functions for setting them
3003         
3004         * gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop 
3005         it back down
3006
3007         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
3008         types from gtk_widget_style_get
3009
3010         * gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
3011         with a style property.
3012
3013         * gdk/x11/gdkevents-x11.c: namespace the settings
3014
3015         * gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.
3016
3017         * gtk/gtksettings.c (gtk_settings_class_init): remove code with
3018         side effects from inside g_assert(), so that G_DISABLE_ASSERT can
3019         be used. Also, translate doc strings for settings. Also, namespace
3020         the double-click-time property. Also, remove bell properties crap.
3021
3022 2001-04-27  Sven Neumann  <sven@gimp.org>
3023
3024         * Makefile.am: before creating links, check if pkg-config files
3025         exist for the default target. Otherwise link to the pkg-config files
3026         that got installed with this build.
3027
3028 Thu Apr 26 19:11:46 2001  Jonathan Blandford  <jrb@redhat.com>
3029
3030         * gtk/gtktreeview.c (gtk_tree_view_motion): clean up column
3031         dragging code.  Revealed some (potential) GdkWindow bugs.
3032
3033         * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): add
3034         _gdk_window_init_position to the end of reparent to fix the case
3035         of reparenting when new_x != old_x and new_y != old_y.
3036
3037 Thu Apr 26 10:54:50 2001  Owen Taylor  <otaylor@redhat.com>
3038
3039         * gtk/gtkentry.c (strstr_len): Fix optimization that
3040         was correct for the use here, but completely incorrect
3041         in general.
3042
3043 Thu Apr 26 10:40:41 2001  Owen Taylor  <otaylor@redhat.com>
3044
3045         * gtk/gtkwindow.h: Remove deprecation of gtk_window_set_default_size()
3046         until patch adding gtk_window_set_size() is recommitted. 
3047
3048         * **Makefile.am configure.in gdk/x11/gdkim-11.c
3049           gtk/gtkmain.c gtk/gtkimmulticontext.c gtk/gtkmain.c
3050           gtk/gtkrc.c: Remove all traces of -DX_LOCALE support.
3051           (#10784)
3052
3053 Wed Apr 25 12:16:36 2001  Owen Taylor  <otaylor@redhat.com>
3054
3055         * gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for 
3056         window == NULL in a number of cases.
3057
3058         * tests/testdnd.c: Set module path for gdk-pixbuf.
3059
3060 Thu Apr 19 16:11:07 2001  Owen Taylor  <otaylor@redhat.com>
3061
3062         * gtk/Makefile.am xembed.h: File containing #defines
3063         for XEMBED protocol.
3064
3065         * gtk/gtkplug.[ch] gtk/gtksocket.[ch]: 
3066
3067         - Change protocol from old plug/socket specific protocol
3068           to XEMBED draft
3069         - Various fixes to work with GTK+-2.0
3070
3071         Still quite a bit of work to do here to handle initiation
3072         from the socket side (as specified by XEMBED), to handle
3073         the more advanced features of XEMBED, and to figure out
3074         a good way to handle same-app embedding with less overhead
3075         than using full XEMBED.
3076
3077 Wed Apr 18 16:04:28 2001  Owen Taylor  <otaylor@redhat.com>
3078
3079         * gtk/gtkwindow.[ch] (gtk_window_real_set_focus): Keep
3080         track of whether the toplevel has the focus; only send
3081         focus-in events to the focus widget when the window
3082         actually has the focus.
3083
3084 2001-04-25  Havoc Pennington  <hp@pobox.com>
3085
3086         * gtk/gtkwindow.h: set_decorations_hint and set_functions_hint
3087         were still in the header
3088
3089 2001-04-24  Alexander Larsson  <alexl@redhat.com>
3090
3091         * gtk/gtkclist.[ch]:
3092         * gtk/gtkctree.c:
3093         When there is a row highlighted for D'n'D it must alse
3094         be painted hightlighted on exposes. Otherwise exposes from
3095         the icon being dragged will mess up the hightlight.
3096
3097         * gtk/gtkfontsel.c:
3098         Don't recenter selected font when exposing the font family
3099         clist. This means you can now actually scroll the font family
3100         list.
3101
3102         * gtk/gtknotebook.c:
3103         Fix focus movement on scrolling tabs that are placed on the left
3104         and right.
3105
3106 2001-04-21  Havoc Pennington  <hp@pobox.com>
3107
3108         * gtk/gtktextdisplay.c (gtk_text_layout_draw): handle 0-height
3109         empty/invisible lines.
3110
3111         * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset)
3112         (gtk_text_iter_set_visible_line_index): new functions to set
3113         indexes excluding invisible text
3114
3115         * gtk/gtktextlayout.c (line_display_iter_to_index): get visible 
3116         index
3117
3118         * gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index)
3119         (gtk_text_iter_get_visible_line_offset): new functions to 
3120         get indexes excluding invisible text
3121
3122         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): strip out a
3123         bunch of extra padding that served no purpose
3124
3125         * gtk/gtkdialog.c: Make all the spacings configurable via style
3126         properties, for chubbiness configuration in themes
3127
3128         * tests/testtext.c: fix path to the immodules.
3129         
3130 Mon Apr 23 18:57:03 2001  Jonathan Blandford  <jrb@redhat.com>
3131
3132         * gtk/gtksocket.c (gtk_socket_filter_func): add missing '}' that
3133         got munched by #endif.
3134
3135         * gtk/Makefile.am (gtk_plug_c_sources): add missing '\'
3136
3137         * gtk/gtktreeview.c: Refactored code to clean up a number of
3138         events.
3139
3140         * gtk/gtktreemodel.c (gtk_tree_path_compare): Switched return
3141         values to make consistent with other functions.  Spotted by Jeff
3142         Franks <jcf@tpg.com.au>.
3143
3144         * gtk/gtktreeview.h (struct _GtkTreeViewClass): Fixes to signal
3145         declaration spotted by Jeff Franks <jcf@tpg.com.au>.
3146
3147 2001-04-23  Sven Neumann  <sven@gimp.org>
3148
3149         * gtk/Makefile.am
3150         * gtk/gtkplug.c
3151         * gtk/gtksocket.c: on request of Owen, reverted my last change 
3152         and exclude gtkplug.c/gtksocket.c from the build for non-X11 targets
3153
3154 2001-04-23  Sven Neumann  <sven@gimp.org>
3155
3156         * gtk/gtkplug.c: put into #ifdef GDK_WINDOWING_X11 to make GTK+
3157         compile for non-X11 targets again
3158
3159 2001-04-20  Alexander Larsson  <alexl@redhat.com>
3160
3161         * gtk/gtkcolorsel.[ch]:
3162         API Change. Take GdkColor arguments instead of gdouble *.
3163         Leave the old gtk_color_selection_set_color for compatibility,
3164         but marked deprecated.
3165         Do correct rounding when converting RGB <-> HSV.
3166         
3167         * gtk/gtkcolorseldialog.c:
3168         * tests/testgtk.c:
3169         Use new GtkColorSelection API.
3170
3171         * gtk/gtkhsv.c:
3172         Fix problem selecting colors in triangle when Hue is 330.
3173         Fix some black dots around the HSB triangle.
3174         
3175         * gtk/gtkfilesel.c:
3176         return FALSE from the focus_in_event handler to fix focus problems.
3177
3178 2001-04-18  Havoc Pennington  <hp@redhat.com>
3179
3180         * gtk/gtkwindow.c (gtk_window_class_init): add signals and binding
3181         set, so keybindings are configurable    
3182         (gtk_window_activate_default): Change to activate the focus widget
3183         instead if there's a focus widget, to be consistent with the
3184         behavior that previously existed in key_press_event
3185
3186 2001-04-18  Havoc Pennington  <hp@redhat.com>
3187
3188         * gdk/gdkkeyuni.c: Handle numeric keypad keysyms; bug #50201
3189
3190 2001-04-18  Havoc Pennington  <hp@redhat.com>
3191
3192         Close bug #50615:
3193         
3194         * gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw
3195         the layout
3196
3197         * gtk/gtktext.c: Use base/text instead of bg/fg throughout
3198
3199         * gtk/gtkentry.c: Use base/text instead of bg/fg throughout
3200
3201         * gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout
3202         
3203         * gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default
3204         to blue for base, in addition to bg
3205         
3206 2001-04-18  Havoc Pennington  <hp@redhat.com>
3207
3208         * tests/testgtk.c (create_image): allow shrinking the image window
3209         to test that we clip to allocation.
3210
3211         * gtk/gtkimage.c (gtk_image_expose): clip to allocation,
3212         #9845
3213
3214         * gtk/gtkenums.h: move GtkWrapMode in here, #50472
3215
3216 Wed Apr 18 14:23:14 2001  Owen Taylor  <otaylor@redhat.com>
3217
3218         * gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
3219         mode on shm segments to 0600. We'll see who complains.
3220
3221         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
3222         _gdk_windowing_window_destroy() AFTER recursing through
3223         children.
3224
3225         * tests/Makefile.am (noinst_PROGRAMS): Build testsocket,
3226         testsocket_child on X.
3227
3228         * tests/testsocket[_child].c: Fix uses of
3229         gtk_window_get_default_accel_group().
3230
3231         [ Merge patch from Ramiro Estrugo  <ramiro@eazel.com> from gtk-1-2 ]
3232
3233         * gdk/gdkimage.c: (gdk_image_get):
3234         Deal with the possibility that XGetImage() might return NULL.
3235         Allocate the GdkImagePrivate structure only after XGetImage()
3236         succeeds in order not to dereference a NULL ximage pointer.  This
3237         prevents a core dump when XGetImage() fails - which is unlikely,
3238         but can happen due to race conditions accessing the geometries of
3239         drawables.  An x error will still be triggered, but the gdk image
3240         wrapper at least wont seg fault.
3241         
3242 2001-04-18  Havoc Pennington  <hp@redhat.com>
3243
3244         * gtk/gtkimage.c: fix to properly queue resizes when the image is
3245         set
3246
3247         * gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
3248         if the insertion point isn't editable
3249
3250         * demos/gtk-demo/images.c: Added a GtkImage demo
3251
3252         * demos/gtk-demo/drawingarea.c: drawing area demo
3253         
3254         * demos/gtk-demo/menus.c (create_menu): cleanups
3255
3256 Wed Apr 18 12:15:52 2001  Owen Taylor  <otaylor@redhat.com>
3257
3258         * gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h 
3259           gdk/x11/gdkevents-x11.c: Introduce an extra child
3260         of toplevel windows that serves to hold the focus to
3261         avoid events being delivered to embedded windows.
3262
3263         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
3264         some extra variables to clean up code and reduce the
3265         number of casts.
3266
3267         * gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
3268         guint for 1 bit bit fields, not gboolean.
3269
3270 Wed Apr 18 10:04:23 2001  Owen Taylor  <otaylor@redhat.com>
3271
3272         * gtk/gtktooltips.c (gtk_tooltips_paint_window): Return FALSE,
3273         not TRUE. (Fixes #52925)
3274
3275 Tue Apr 17 18:05:34 2001  Owen Taylor  <otaylor@redhat.com>
3276
3277         * Released 1.3.4
3278
3279         * NEWS: Updated
3280
3281         * gtk/gtktextview.c (gtk_text_view_class_init): Fix to not
3282         use GTK_TYPE_ENUM.
3283
3284 Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>
3285
3286         * configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
3287
3288         * gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
3289         names to compatibility #defines so docs work.
3290
3291         * gtk/gtkenums.h: Remove GtkMenuFactoryType
3292
3293         * gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.
3294
3295         * configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS
3296
3297         * tests/testgtkrc: No magenta cursors, please.
3298
3299         * README.in INSTALL.in HACKING README.cvs-commits: Updated.
3300
3301         * gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
3302         
3303 Mon Apr 16 14:38:41 2001  Owen Taylor  <otaylor@redhat.com>
3304
3305         * gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer
3306         grabs, since they are no longer necessary.
3307
3308         * gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926
3309         by signal_connect() and call gtk_button_pressed() rather
3310         than signal_connect_after().
3311
3312         * tests/testgtk.c: Restore radio menu items to combos 
3313         since they'll look OK with Raleigh, and it is easier
3314         than finishing the process of removing them that was
3315         started earlier.
3316
3317 2001-04-16  Hans Breuer  <hans@breuer.org>
3318
3319         * gdk/gdk.def :
3320         * gtk/gtk.def : added all exports required to link PyGtk 0.7.1
3321
3322         * gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
3323         we are interested in the functions return value not the function address
3324         * gdk/gdkvisual.h : same for GDK_TYPE_VISUAL
3325
3326         * gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk
3327
3328 2001-04-14  Hans Breuer  <hans@breuer.org>
3329
3330         * gdk/gdk.def :
3331         * gdk/makefile.msc : updated
3332
3333         * gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is 
3334         "fill with tile" do so with new helper function gdk_win32_draw_tiles 
3335         (the testgtk::text backgound pixmap is drawn again)
3336         Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect 
3337         Win32 Pango change
3338         * gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
3339
3340         * gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
3341         Not sure if the returned settings have the right unit, because I couldn't
3342         find any docs for the X version ...
3343
3344         * gtk/gtk.def :
3345         * gtk/makefile.msc.in : updated
3346
3347 Thu Apr 12 17:41:17 2001  Owen Taylor  <otaylor@redhat.com>
3348
3349         * gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some
3350         wording problems. (Compared to version from Johannes Stezenbach to
3351         check correctness.)
3352
3353 Thu Apr 12 21:04:26 2001  Tim Janik  <timj@gtk.org>
3354
3355         * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get
3356         this to compile.
3357
3358 2001-04-12  Anders Carlsson  <andersca@codefactory.se>
3359
3360         * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
3361         not pixbufpos.
3362
3363         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.
3364
3365         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
3366         are unsigned insts, therefore use g_value_set_uint.
3367         (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.
3368
3369 Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@redhat.com>
3370
3371         * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.
3372
3373         * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
3374         GTK_TYPE_STRING.
3375
3376         * gtk/gtktreeview.c: New functions to allow initial column
3377         dragging work.
3378
3379         * gtk/gtktreeviewcolumn.c: Initial column dragging support.
3380
3381         * tests/testtreefocus.c: give dave some love.
3382
3383         * tests/testtreesort.c: Modify test to check really long samples.
3384
3385 2001-04-11  Alexander Larsson  <alexl@redhat.com>
3386
3387         * gtk-2.0.m4: Pass pkg-config options
3388         before the other args so it works even if
3389         POSIXLY_CORRECT is set.
3390
3391 Mon Apr  9 19:02:07 2001  Tim Janik  <timj@gtk.org>
3392
3393         * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
3394         0, interface 0).
3395
3396 2001-04-04  Denis Oliver Kropp  <dok@convergence.de>
3397
3398         * gtk/gtkcalendar.c (gtk_calendar_button_press):
3399         check for action_func != NULL
3400
3401 2001-04-04  Sven Neumann  <sven@gimp.org>
3402
3403         * tests/testgtk.c (test_init): corrected path to gtk.immodules
3404
3405 Wed Apr  4 09:18:18 2001  Tim Janik  <timj@gtk.org>
3406
3407         * Released Gtk+-1.3.3.
3408
3409 Wed Apr  4 07:42:23 2001  Tim Janik  <timj@gtk.org>
3410
3411         * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST.
3412
3413 Wed Apr  4 04:13:18 2001  Tim Janik  <timj@gtk.org>
3414
3415         * gtk/stock-icons/Makefile.am: stay in builddir and read/write
3416         files to/from source dir. (if we don't stay in builddir, we
3417         can't reach make-inline-pixbuf.
3418
3419         * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl
3420         deps.
3421
3422         * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
3423         ages 0).
3424
3425 Tue Apr  3 15:04:45 2001  Jonathan Blandford  <jrb@redhat.com>
3426
3427         * gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
3428         moved to the GtkTreeSortable interface.
3429
3430         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
3431         Make more efficient (fixes #50262).
3432
3433 Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>
3434
3435         * NEWS: Updated.
3436
3437         * configure.in: Remove support for uninstalled glib.
3438
3439         * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
3440         so as not to stop emission.
3441
3442         * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
3443         is no longer supported.
3444
3445         * Makefile.am gtk/Makefile.am tests/*: Moved all tests
3446         into tests, change build order to build modules before
3447         gtk/.
3448
3449         * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
3450         to here.
3451
3452 Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
3453
3454         * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
3455         and gtk_item_factory_dump_rc() GtkPatternSpec argument to
3456         GPatternSpec. this is actually unlikely to cause breakage in
3457         third-party apps since except for gle, pretty much ever caller
3458         passes NULL here.
3459
3460         * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
3461
3462         * *.c: use g_pattern_*() API.
3463
3464         * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
3465
3466         * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
3467         directions aren't passed in.
3468
3469         * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
3470         functionality to be usable from gtkstyle.c as well, give precedence
3471         for conversion to user-supplied parsers.
3472         s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
3473
3474         * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
3475         _gtk_settings_parse_convert() for rcporperty value conversion.
3476
3477 2001-04-03  Alexander Larsson  <alexl@redhat.com>
3478
3479         * gdk/linux-fb/gdkevents-fb.c:
3480         Add empty gdk_setting_get().
3481
3482 Tue Apr  3 05:09:07 2001  Tim Janik  <timj@gtk.org>
3483
3484         * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
3485         variable names.
3486         
3487         * gtk/makeenums.pl: touch this so enum files get remade.
3488
3489 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
3490
3491         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
3492         work again when not sorted.
3493
3494         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
3495         and "expand_row" signal, closing bug 52578.
3496
3497         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
3498         support.
3499
3500         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
3501         support.
3502
3503 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
3504
3505         * gdk/gdkevents.h: Add GdkEventSetting event for notification
3506         of changes to system settings, gdk_setting_get() to retrieve
3507         a single system setting.
3508
3509         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
3510         to the draft XSETTINGS mechanism.
3511
3512         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
3513         XSETTINGS.
3514
3515         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
3516         of GDK settings changes to the GtkSettings object.
3517
3518         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
3519         double-click-timeout property to GDK.
3520
3521         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
3522         Define GDK boxed types here.
3523
3524         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
3525         gdk/gdkenumtypes.[ch] for enum definitions.
3526
3527         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
3528         * gtk/gtk-boxed.defs: Comment out GDK types
3529         * gtk/gtktypeutils.h: Remove GDK types
3530         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
3531
3532 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
3533
3534         * Applied patch from Ron Steinke to add signal accumulators
3535         so that signals with the convention 'TRUE return means
3536         handled' stop emission on a TRUE return.
3537
3538         * gtk/gtkmain.[ch]: Add private accumulator 
3539         _gtk_boolean_handled_accumulator, used throughout GTK+.
3540         
3541         * gtk/gtkspinbutton.c: Add accumulator for ::output.
3542
3543         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
3544         
3545         * gtk/gtkwidget.c: Add accumulators for event signals,
3546         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
3547         for ::mnemonic-activate.
3548
3549         * gtk/gtkwindow.c: Add accumulator for ::frame_event
3550
3551 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
3552
3553         * gtk/gtkwidget.c: Add missing include.
3554
3555 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
3556
3557         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
3558         marshaller.
3559
3560         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
3561         "changed" signal to "range_changed".
3562
3563         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
3564         removing a tree from one model would remove all trees from that
3565         model.
3566         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
3567         changed signal instead.
3568
3569 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
3570
3571         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
3572         chaining up to parent impl, since we have a INPUT_ONLY
3573         window.
3574
3575         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
3576         foreground color for the cursor.
3577
3578 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
3579
3580         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
3581         param spec when caching property values, since we unref it
3582         later when we free the style.
3583
3584         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
3585         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
3586
3587 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
3588
3589         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
3590         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
3591         stupidity.
3592
3593 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
3594
3595         [ First pass at adding style properties. Still needs some definite
3596         fine-tuning. ]
3597
3598         * gtk/gtkbutton.c: Add ::default_spacing style property.
3599          
3600         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
3601         ::indicator_spacing style properties.
3602
3603         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
3604         style properties.
3605
3606         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
3607         rather than a normal property.
3608
3609         * gtk/gtkwidget.c: Add an ::interior_focus style property to
3610         draw focus inside buttons, in the Windows/Java Metal/etc. style.
3611
3612         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
3613         Honor ::interior_focus.
3614         
3615         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
3616         TRUE.
3617
3618         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
3619         Add ::slider_width, ::trough_border, ::stepper_size,
3620         ::stepper_spacing style properties.
3621
3622         * gtk/gtkscale.[ch] Add ::slider-length style property.
3623
3624 2001-04-02 Alexander Larsson   <alexl@redhat.com>
3625
3626         * gdk/linux-fb/gdkwindow-fb.c:
3627         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
3628         warnings that were spewed on startup.
3629
3630         * gtk/gtkwindow-decorate.c:
3631         gtk_window_reposition -> _gtk_window_reposition
3632
3633 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
3634
3635         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
3636         Add boxed type for GtkRequistion. Use it for ::size-request.
3637
3638         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
3639         Add a new GtkBorder structure useful for geometry properties
3640         for widgets. Add corresponding GTK_TYPE_BORDER.
3641         
3642         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
3643         Support automatic parser selection like
3644         gtk_settings_install_property_parser().
3645
3646         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
3647         functionality for use by gtk_widget_class_install_style_property.
3648         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
3649
3650 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
3651
3652         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
3653         g_param_spec_unichar(). 
3654
3655 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
3656
3657         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
3658         _NET window managers.
3659
3660         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
3661
3662 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
3663
3664         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
3665         bad needs to be nuked, not just deprecated.
3666
3667         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
3668         gtk_widget_popup().
3669
3670         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
3671         
3672         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
3673         widget.
3674         
3675         * docs/Changes-2.0.txt: updates.
3676         
3677 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
3678
3679         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
3680         for (i = 0; i < 100; i ++)
3681           g_print ("I will confirm it compile before committing\n");
3682
3683 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
3684
3685         * gtk/gtktreestore.c: Initial work on implementing the
3686         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
3687
3688 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
3689
3690         * gtk/gtkwidget.c: fixed a bunch of notifications, added
3691         reference counts around emissions where the widget is used afterwards.
3692         added freeze/thaws around multiple properties being notified.
3693         (_gtk_widget_get_aux_info): cleanups.
3694         
3695         * gtk/gtksettings.c (gtk_settings_install_property): provide
3696         default parsing functions for gdkcolor, enums and flags.
3697
3698         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
3699         applied by owen.
3700         backed out gtk_window_get_location(), gtk_window_set_location(),
3701         gtk_window_get_size() and gtk_window_set_size(), these
3702         have to be sorted out wrg x/y/width/height/default_with/default_height
3703         properties.
3704         kept a flag in GtkWindowGeometryInfo to handle user
3705         resetting default sizes.
3706         cleaned up ZVT comments.
3707         bunch of assorted bug fixes, notification fixes.
3708         (_gtk_window_reposition): make this a really internal function.
3709         
3710         * gtk/testgtk.c: fixups.
3711         
3712 2001-03-31  Hans Breuer  <hans@breuer.org>
3713
3714         * config.h.win32.in : disable USE_MMX for msvc build cause
3715         the assembler doesn't fit and is out of my scope. Disable
3716         USE_GMODULE for msvc build as wel. The right way to share
3717         binaries on win32 would be to use libtiff.dll etc. To reduce
3718         installation hassles IMO it's better to include all fileformats
3719         builtin to gdk-pixbuf
3720
3721         * gdk-pixbuf/makefile.msc : new file
3722
3723         * gdk/gdk.def : updated
3724
3725         * gdk/win32/gdkevents-win32.c : don't erase the background if
3726         .no_bg is set. It improves the scrolling (e.g. of testgtk main
3727         buttons
3728         * gdk/win32/gdkgeometry-win32.c : added comment about the above
3729
3730         * gdk/win32/gdkwindow-win32.c : added three new functions like
3731         the X version. Only one is implemented, because the other two
3732         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
3733         be default behaviour on win32 anyway ...
3734
3735         * gtk/gtk.def : updated
3736
3737         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
3738         from where it was built and add an additional rule to automagically
3739         build gtkmarshal.[hc]
3740
3741         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
3742         before array access for the current entry isn't finished
3743
3744         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
3745         use g_return_val_if_fail
3746
3747         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
3748         for the static array, but let the compiler calculate it. It
3749         makes me wonder if gcc isn't capable to catch bugs like this ...
3750
3751 2001-03-31  James Henstridge  <james@daa.com.au>
3752
3753         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
3754         constant "-1" in the aux info structure.
3755
3756 2001-03-30  Alexander Larsson  <alexl@redhat.com>
3757
3758         * gtk/gtkbutton.c (gtk_button_get_property):
3759         * gtk/gtklabel.c:
3760         Remove leaks.
3761         
3762         * gtk/gtkcontainer.c:
3763         * gtk/gtkhscale.c:
3764         * gtk/gtkhscrollbar.c:
3765         * gtk/gtklayout.c:
3766         * gtk/gtkmisc.c:
3767         * gtk/gtkprogress.c:
3768         * gtk/gtkprogressbar.c:
3769         * gtk/gtkrange.c:
3770         * gtk/gtktable.c:
3771         * gtk/gtkviewport.c:
3772         * gtk/gtkvscale.c:
3773         * gtk/gtkvscrollbar.c:
3774         * gtk/gtkwidget.c:
3775         Property patches, based on patches from John Margaglione and Lee Mallabone.
3776
3777 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
3778
3779         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
3780         adjustment. Cleaned redundant preconditions (spin != NULL). Added
3781         inline API function docs.
3782         (gtk_spin_button_new_with_range): New convenience constructor.
3783         (gtk_spin_button_set_increments): New adjustment helper.
3784         (gtk_spin_button_set_range): New adjustment helper.
3785
3786         * gtk/testgtk.c : added test of the new convenince constructor and
3787         value_changed signals.
3788
3789 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
3790
3791         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
3792         listen to the reorder signal.
3793
3794 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
3795
3796         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
3797         to get the aux info structure fo the widget.
3798
3799         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
3800         above function.
3801
3802         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
3803
3804         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
3805         to get the size of the window manager frame, basically the same
3806         code that gdk_window_get_root_origin() had
3807         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
3808
3809         * gtk/gtkwindow.c (gtk_window_set_default_size): use
3810         gdk_window_resize() if the window is realized and resizeable
3811
3812         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
3813         typo so that setting gravity works
3814
3815         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
3816         allocation if auto_shrink is on, even if the default size
3817         has not changed.
3818
3819         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
3820         g_return_if_fail
3821
3822 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
3823
3824         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
3825         reordering/sorting work.  Now pretty much works.
3826
3827         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
3828         reorder mostly work.  Still need to get the parity correct.
3829
3830         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
3831         signal, so I can listen for the sort_column_changed signal so I
3832         can change my "sort_indicator" property.  Cool.
3833
3834 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
3835
3836         [ Patch from Havoc Pennington, hp@redhat.com ]
3837
3838         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
3839         Add functions gdk_window_begin_resize_drag/begin_move_drag
3840         to start resizing or moving a toplevel window. This
3841         is done either using the _NET_WM_MOVERESIZE protocol,
3842         or, if that isn't present, by emulation.
3843
3844         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
3845         to export the above to GTK+-land.
3846
3847         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
3848         
3849         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
3850         Move this function into gdkwindow, since we need it
3851         when implementing fallback resizing.
3852
3853         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
3854         Fix typo when setting gravity.
3855
3856         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
3857         Add an optional (but on by default) resize grip for resizing 
3858         the parent window.
3859
3860 01-03-29  Alexander Larsson  <alexl@redhat.com>
3861
3862         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
3863         Don't return TRUE from the event handler, that blocks all
3864         event signals on the tooltip widget. Now you can press buttons
3865         in toolbars again.
3866
3867 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
3868
3869         * gtk/testtext.c (create_buffer): Add missing NULL on
3870         valist.
3871
3872         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
3873         c-n-p problem with INCONSISTENT property.
3874
3875         [ Patch from Havoc Pennington  <hp@redhat.com> ]
3876
3877         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
3878         hook.
3879
3880         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
3881         signal as a hook for extending the default popup menu
3882
3883         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
3884         use radio menu items for the input method menuitems
3885
3886         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
3887         inserted unicode from Ctrl-Shift-hex input method
3888
3889         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
3890         validatation here, already done at GtkTextBuffer level.
3891
3892         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
3893         popup_menu run action signal and Shift+F10 and Menu keybindings.
3894
3895         * gtk/gtkentry.c: implement a default handler for popup_menu
3896
3897         * gtk/gtktextview.c: implement a default handler for popup_menu
3898
3899         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
3900         from a key event
3901         
3902         * gtk/gtklabel.c: remove "trailer" cruft
3903
3904 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
3905
3906         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
3907         handle reordering of trees.  Seems to mostly work w/ the exception
3908         of the parity flag.
3909
3910         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
3911         signal.
3912
3913 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
3914
3915         * gtk/gtkwidget.h: c++ fixes.
3916
3917 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
3918
3919         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
3920         memory.
3921
3922 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
3923
3924         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
3925         Nils Barth fixing event return values. (#51041)
3926
3927         * gtk/gtkwidget.c: Fix some return values for default
3928         functions.
3929
3930         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
3931         return values for trough_keys functions.
3932
3933         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
3934         value for add_accelerator (shoudl have been a void
3935         return.)
3936
3937         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
3938         Fix return type of EVENT.
3939
3940         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
3941         signal return a boolean.
3942
3943 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
3944
3945         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
3946         reordered signal.
3947
3948         * tests/testtreesort.c (main): fix spelling.
3949
3950 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
3951
3952         * gtk/gtkliststore.c: More work on implementing sortable
3953         interface.
3954
3955 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
3956
3957         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
3958         reference the widgets in the resulting list. (#11821)
3959         This makes this consistent with gtk_container_children.
3960
3961         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
3962         uses of gtk_window_list_toplevels.
3963
3964 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
3965
3966         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
3967         a virtual function to set whether the IM context should use 
3968         the preedit string. (#51922)
3969         
3970 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
3971
3972         * gdk/gdkpango.h: Remove stale FIXME comment.
3973
3974 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
3975
3976         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
3977         Fixed bug that returned NULL if a filename was selected.
3978
3979 2001-03-24  Havoc Pennington  <hp@pobox.com>
3980
3981         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
3982         to contain the word "theme"
3983
3984 2001-03-24  Havoc Pennington  <hp@pobox.com>
3985
3986         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
3987         slower but finer-grained
3988         (gtk_hsv_focus): get initial focus on the ring or triangle 
3989         according to tab direction
3990
3991         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
3992
3993 2001-03-23  Havoc Pennington  <hp@pobox.com>
3994
3995         * gtk/gtkhsv.c: make this somewhat key-navigable
3996
3997         * gtk/gtkfontsel.c: mnemonics
3998
3999         * gtk/gtkgamma.c: mnemonics
4000
4001         * gtk/gtkcolorsel.c: add mnemonics to labels
4002
4003 2001-03-22  Havoc Pennington  <hp@pobox.com>
4004
4005         Applied big patch from Seth Lytle to fix event handler return
4006         values, slightly modified.
4007
4008         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
4009         handled.
4010         (gtk_calendar_key_press): return TRUE for GDK_space triggers
4011         select_day
4012
4013         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
4014         (gtk_clist_button_release): return TRUE if handled
4015
4016         * gtk/gtkcolorsel.c (mouse_release):
4017         (palette_activate): 
4018         (palette_press): 
4019         (palette_new): 
4020         (mouse_press): 
4021         (get_screen_color): 
4022         fixed return type (void to gboolean), return TRUE,
4023         added GTK_SIGNAL_FUNC cast
4024
4025         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
4026         (void to gboolean), and return TRUE
4027         (gtk_combo_button_release): changed return value to TRUE after
4028         gtk_grab_add on combo->popwin
4029
4030         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
4031         collapse or expand
4032
4033         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
4034         button/motion
4035
4036         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
4037         press/release and motion that trigger act
4038
4039         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
4040
4041         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
4042         for GDK_Return
4043         
4044         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
4045         (gtk_list_button_release): return TRUE if selection
4046
4047         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
4048         press
4049
4050         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
4051         (gtk_menu_shell_button_release): chain parent_menu_shell retval
4052
4053         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
4054         nothing triggered
4055         (gtk_notebook_button_release): return TRUE if we do anything
4056
4057         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
4058         (gtk_spin_button_button_release): return TRUE or chained retval
4059
4060         * gtk/gtktext.c (gtk_text_button_press): 
4061         (gtk_text_button_release): return TRUE
4062         (gtk_text_key_press): remove redundant retval code
4063         
4064         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
4065         and sensitive
4066         (gtk_tree_item_subtree_button_click): changed type to gint, and return
4067         TRUE if sensitive
4068
4069         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
4070         return TRUE
4071
4072 2001-03-23  Havoc Pennington  <hp@redhat.com>
4073
4074         * gtk/testgtk.c: fix warnings
4075
4076         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
4077
4078         * gtk/gtktextview.c: fix warnings
4079
4080         * gtk/gtktext.c (find_cursor_at_line): fix warning
4081
4082         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
4083
4084         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
4085         of this function
4086
4087         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
4088         fix warning
4089
4090         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
4091
4092         * gtk/gtkfontsel.c: fix warning
4093
4094         * gtk/gtkcolorsel.c: fix warnings
4095
4096 2001-03-23  Havoc Pennington  <hp@redhat.com>
4097
4098         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
4099
4100         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
4101
4102         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
4103         and deprecated gtk_check_menu_item_set_show_toggle().
4104         
4105         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
4106
4107         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
4108
4109         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
4110
4111 2001-03-23  Havoc Pennington  <hp@redhat.com>
4112
4113         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
4114         some docs
4115
4116 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
4117
4118         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
4119         this.
4120
4121         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
4122         set_cell to set_value
4123
4124         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
4125         set_cell to set_value
4126
4127 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
4128
4129         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
4130         fix braino.
4131         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
4132         support.
4133
4134         * gtk/gtktreeview.c: Addition of initial sortable support.
4135
4136         * gtk/gtktreestore.c: Addition of initial sortable support.
4137
4138         * gtk/gtkliststore.c: Addition of initial sortable support.
4139
4140         * gtk/gtkmarshal.list: yet another marshaller.
4141
4142         * gtk/gtktreedatallist.[ch]: shared code between the store models
4143         for handling sorting headers.
4144
4145 2001-03-22  Havoc Pennington  <hp@redhat.com>
4146
4147         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
4148         (gtk_container_unset_focus_chain): Add ability to override the 
4149         focus chain for a container explicitly
4150
4151 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
4152
4153         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
4154         added PROP_MNEMONIC_WIDGET.
4155
4156         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
4157         (gtk_window_remove_mnemonic): 
4158         (gtk_window_add_mnemonic): fixed assertions.
4159         (gtk_window_activate_mnemonic): constrain modifier checks to those
4160         permitted by gtk_accelerator_get_default_mod_mask().
4161         got rid of gtk_window_get_default_accel_group().
4162
4163         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
4164         activatable widgets either by focussing or a warning.
4165         added a signal accumulator to ::activate_mnemonic which stops the
4166         emission once a handler returned TRUE.
4167
4168 2001-03-22  Havoc Pennington  <hp@pobox.com>
4169
4170         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
4171         the stock item label
4172
4173         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
4174
4175         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
4176
4177         * demos/gtk-demo/*.c: Add mnemonics all over the place
4178
4179         * gtk/gtklabel.h: mark parse_uline deprecated
4180
4181 2001-03-21  Alexander Larsson  <alexl@redhat.com>
4182
4183         * gtk/gtkitemfactory.[ch]:
4184         Add support for stock and normal imagemenuitems.
4185         
4186         * gtk/testgtk.c:
4187         Add some tests for mnemonics, stock toolbars, stock
4188         and image menuitems in itemfactory and gdk_window_scroll.
4189
4190 2001-03-21  Alexander Larsson  <alexl@redhat.com>
4191
4192         * gtk/gtkbutton.[ch]:
4193         * gtk/gtkdialog.c:
4194         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
4195         removed accel_group argument. Renamed gtk_button_new_accel() to
4196         gtk_button_new_with_mnemonic() and removed accel_group argument.
4197
4198         * gtk/gtkcheckbutton.[ch]:
4199         New function gtk_check_button_new_with_mnemonic().
4200
4201         * gtk/gtkentry.c:
4202         Override activate_mnemonic and just grab focus.
4203
4204         * gtk/gtkitemfactory.c:
4205         Don't add menu uline accel group, instead use mnemonics support.
4206
4207         * gtk/gtklabel.[ch]:
4208         New support for mnemonics.
4209
4210         * gtk/gtkmarshal.list:
4211         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
4212
4213         * gtk/gtkmenu.[c]:
4214         * gtkmenushell.c:
4215         Use mnemonics instead of accel groups for uline
4216         support in menu items.
4217         Removed gtk_menu_get_uline_accel_group() and
4218         gtk_menu_ensure_uline_accel_group().
4219
4220         * gtk/gtkmenuitem.c:
4221         Override activate_mnemonic to handle switching between
4222         menu items if there are collisions.
4223         
4224         * gtk/gtknotebook.c:
4225         Connect to activate_mnemonic on the tab_label, so that
4226         activating it switches to that notebook page.
4227
4228         * gtk/gtkwidget.[ch]:
4229         Add activate_mnemonic signal. New function
4230         gtk_widget_activate_mnemonic() to emit it.
4231         Default implementation does activate/grab_focus.
4232
4233         * gtk/gtkwindow.[ch]:
4234         Add support for mnemonics in windows.
4235         New functions:
4236         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
4237         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
4238
4239         * gtk/testgtk.c:
4240         Update to function name changes.
4241         
4242 2001-03-21  Alexander Larsson  <alexl@redhat.com>
4243
4244         * gtk/gtkimagemenuitem.[c]:
4245         Add gtk_image_menu_item_new_from_stock()
4246
4247 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
4248
4249         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
4250         Fix buglet in meeting.
4251
4252 2001-03-19  Havoc Pennington  <hp@redhat.com>
4253
4254         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
4255         add a bunch of accessor functions. This is because we have
4256         reasonable expectations of extending what fields it contains in
4257         the future.
4258
4259         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
4260         changes
4261
4262         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
4263         GtkIconSource   
4264
4265 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
4266
4267         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
4268         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
4269
4270         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
4271           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
4272           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
4273           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
4274         Change float to double everywhere with the exception of 0<->1.0 alignment
4275         and GtkCurve.
4276
4277 2001-03-19  Tor Lillqvist  <tml@iki.fi>
4278
4279         * gdk/win32/gdkdrawable-win32.c
4280         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
4281         output.
4282
4283         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
4284         gdkwin32.h.
4285
4286 2001-03-18  Tor Lillqvist  <tml@iki.fi>
4287
4288         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
4289         print_event_state, print_event): Use preprocessor macro to make
4290         code more compact. Print also GDK_WINDOW_STATE events.
4291         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
4292         
4293         * gtk/gtk.def
4294         * gtk/makefile.mingw.in: Update.
4295
4296         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
4297         to catch also Cygwin.
4298
4299 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
4300
4301         * gtk/gtkspinbutton.[hc]: added rc-style argument
4302         GtkSpinButton::shadow_type.
4303         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
4304         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
4305         rc-style settings.
4306
4307         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
4308
4309         * gtk/gtkwidget.c: quark cleanups.
4310
4311         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
4312         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
4313         to create_rc_style() (we don't do cloning in standard OO sense).
4314         added per rc style properties.
4315         
4316         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
4317         property values and for caching those. some cleanups.
4318         
4319         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
4320         
4321         * gtk/gtksettings.[hc]: new file for global rc-file properties
4322         (at least currently, should get extended to support X properties
4323         and other communication mechanisms).
4324         
4325         * gtk/gtkwidget.[hc]: added style property support:
4326         (gtk_widget_class_install_style_property_parser): install style
4327         property pspec with parser function for rc-file values other
4328         than LONG, DOUBLE or STRING.
4329         (gtk_widget_class_install_style_property): same as above without
4330         parser (parsers are going to be needed quite infrequently).
4331         (gtk_widget_style_get_property): retrive style property value.
4332         (gtk_widget_style_get_valist): same as above with varargs support,
4333         has NOCOPY semantics.
4334         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
4335
4336 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
4337
4338         * demos/gtk-demo/main.c (row_activated_cb): modified to use
4339         "row_activated" signal.
4340
4341         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
4342         stupidity.  Lets actually pass in the row with this signal...
4343
4344 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
4345
4346         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
4347
4348         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
4349
4350         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
4351         everything into the ::destroy function, and freed a lot more.
4352
4353 2001-03-16  Havoc Pennington  <hp@redhat.com>
4354
4355         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
4356         instead of gint16, to avoid overflow issues, since sizes > 16-bit
4357         are now allowed.
4358
4359 2001-03-16  Havoc Pennington  <hp@redhat.com>
4360
4361         * Applied patch from Nils Barth (bug # 51041) to 
4362         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
4363         in various places.
4364
4365 2001-03-15  Havoc Pennington  <hp@redhat.com>
4366         
4367         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
4368         for properties to set on the tag.
4369
4370         * gtk/testtext.c: fixups to reflect create_tag change
4371         
4372         * gtk/gtktexttag.c (gtk_text_tag_set_property):
4373         background/foreground stipple are objects, not boxed.
4374
4375         * demos/gtk-demo/textview.c: intellihancing
4376
4377 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
4378
4379         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
4380         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
4381
4382 2001-03-16  Alexander Larsson  <alexl@redhat.com>
4383
4384         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
4385         Fix sign error with queued region translations.
4386
4387 2001-03-15  HideToshi Tajima  <tajima@happy>
4388
4389         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
4390         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
4391         * gtk/gtkentry.c (update_im_cursor_location): 
4392         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
4393         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
4394         set_cursor_pos to set_cursor_location in GtkInputContext class
4395
4396 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
4397
4398         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
4399         the location of the cell relative to its area.
4400         * gtk/gtkcell*: modified for above change
4401         * gtk/gtktreeview.c: modified for above change.
4402
4403 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
4404
4405         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
4406          (gtk_tree_view_finalize): actually unref the model.  Thanks to
4407         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
4408
4409 2001-03-14  Havoc Pennington  <hp@redhat.com>
4410
4411         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
4412         
4413         * gtk/gtk.h: remove gtkdata.h
4414
4415         * gtk/Makefile.am: remove gtkdata
4416         
4417         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
4418         not "disconnect" on the adjustments.
4419         
4420         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
4421         GtkData
4422
4423         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
4424         not GtkData
4425
4426         * configure.in: handle case where X render exists, but Pango lacks
4427         Xft support.
4428
4429 2001-03-15 Alexander Larsson  <alexl@redhat.com>
4430
4431         * gtk/gtktoolbar.[ch]:
4432         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
4433         to add stock items to toolbars.
4434
4435         * gtk/Makefile.am:
4436         Remove ../gdk/gdkim.h from gdk_headers.
4437
4438 2001-03-15  Sven Neumann  <sven@gimp.org>
4439
4440         * gdk/gdkim.h: removed
4441         
4442         * gdk/gdkprivate.h
4443         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
4444
4445 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
4446
4447         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
4448         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
4449         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
4450         set_cursor_pos() virtual method
4451
4452         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
4453         (gtk_im_context_xim_set_cursor_pos): add implementation for
4454         set_cursor_pos() method
4455
4456         * gtk/gtkentry.c (recompute_idle_func): set current cursor
4457         position to input methods
4458
4459 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
4460
4461         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
4462         code a lot.
4463
4464         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
4465         g_mem_chunk.
4466         (_gtk_tree_data_list_alloc): use g_mem_chunk.
4467         (_gtk_tree_data_list_node_to_value): Fix to switch on
4468         G_TYPE_FUNDAMENTAL.
4469         (_gtk_tree_data_list_value_to_node): Fix to switch on
4470         G_TYPE_FUNDAMENTAL.
4471         (_gtk_tree_data_list_node_copy): Fix to switch on
4472         G_TYPE_FUNDAMENTAL.
4473
4474 2001-03-12  Havoc Pennington  <hp@redhat.com>
4475
4476         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
4477         to convert to new property API. Also, change default_width and
4478         default_height get_property to return 0 as the flag value for
4479         "unset"; -1 is not a valid value for these fields.
4480
4481 2001-03-12  Havoc Pennington  <hp@redhat.com>
4482
4483         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
4484         enum with registration for icon sizes, instead of strings.
4485
4486         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
4487         gtkwidget.c: Fix to reflect GtkIconSize
4488         
4489 2001-03-12  Alexander Larsson  <alexl@redhat.com>
4490
4491         Make GtkFB compile and link.
4492         
4493         * gdk/linux-fb/gdkdrawable-fb2.c:
4494         window->mapped to GDK_WINDOW_IS_MAPPED(). 
4495         
4496         * gdk/linux-fb/gdkwindow-fb.c:
4497         window->mapped to GDK_WINDOW_IS_MAPPED(). 
4498         Added gdk_window_shape_combine_region.
4499         Added assorted placeholders for unimplemented new GdkWindow API calls.
4500
4501 2001-03-12  Alexander Larsson  <alexl@redhat.com>
4502
4503         * gtk/gtkfilesel.c:
4504         Add more test when converting filenames from/to utf-8.
4505         Don't allow entering text in the filename entry which isn't allowed in
4506         a filename. Just beep instead.
4507
4508 2001-03-12  Alexander Larsson  <alexl@redhat.com>
4509
4510         * gtk/gtkclist.c:
4511         Scroll using gdk_window_scroll(). Don't wait for exposes.
4512         Move the column headers in an order that makes them flash less.
4513
4514 2001-03-10  Hans Breuer  <hans@breuer.org>
4515
4516         * gdk/gdk.def : updated
4517
4518         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
4519         to offseting the clip_mask at the right place
4520
4521         * gdk/win32/gdkwindow-win32.c : don't create background brushes
4522         for all the gdkClasses, especially not for the input_only case.
4523         Otherwise flickering wont be avoidable, because we don't get
4524         WM_ERASEBKGND message for these windows.
4525
4526         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
4527         and fixed massive redraw problems apparently triggered by Alexanders 
4528         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
4529         but it seems to work quite well :-)
4530
4531         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
4532         prototype
4533
4534 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
4535
4536         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
4537         (gtk_list_store_set_cell): Fix a stupid typo.
4538
4539 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
4540
4541         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
4542         select_all not work if you're in SINGLE mode (it doesn't make that
4543         much sense, anyway.)
4544
4545         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
4546         handle types more sanely.
4547         (_gtk_tree_data_list_value_to_node): handle types more sanely.
4548         (_gtk_tree_data_list_node_copy): handle types more sanely.
4549
4550         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
4551         GValue better. Converts the type as well.
4552
4553         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
4554         GValue better. Converts the type as well.
4555
4556 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
4557
4558         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
4559         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
4560         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
4561         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
4562
4563         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
4564         gdk_im/gdk_ic.
4565
4566 2001-03-09  Hans Breuer  <hans@breuer.org>
4567
4568         * gdk/gdk.def : updated
4569
4570         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
4571         for their palette
4572
4573         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
4574         removing
4575
4576         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
4577         removing and implemented Havoc's GdkWindow state functions; 
4578         stick/unstick only as no-op, cause I don't know how to emulate 
4579         on win32 ...
4580
4581         * gtk/gtk.def : updated
4582
4583         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
4584
4585         * gtk/gtktypeutils.c : #include <string.h>
4586
4587         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
4588
4589 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
4590
4591         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
4592         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
4593         not a boxed.
4594
4595 2001-03-09  Alexander Larsson  <alexl@redhat.com>
4596
4597         * docs/Changes-2.0.txt:
4598         Document expose event->region change and that gtk_widget_event
4599         doesn't allow passing expose events.
4600
4601         * gdk/gdkevents.h:
4602         Add region to expose event.
4603         
4604         * gdk/gdkevents.c:
4605         Handle event->region in gdk_event_copy() and gdk_event_free().
4606
4607         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
4608         Generate expose_event->region when creating expose events.
4609
4610         * gdk/x11/gdkevents-x11.c:
4611         Generate expose events with regions when translating X events.
4612
4613         * gtk/gtkcontainer.[ch]:
4614         Default expose handler that propagates expose events to NO_WINDOW
4615         children. New function gtk_container_propagate_expose()
4616
4617         * gtk/gtkwidget.[ch]:
4618         Moved gtk_widget_event implementation to gtk_widget_event_internal.
4619         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
4620         expose events. New function gtk_widget_send_expose() to send expose
4621         events. New function gtk_widget_region_intersect() to calculate
4622         window/region intersections.
4623         
4624         * gtk/gtkmain.c (gtk_main_do_event):
4625         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
4626         Use gtk_widget_send_expose() to send expose events.
4627         
4628         * gtk/gtkbin.c:
4629         * gtk/gtkbox.c:
4630         * gtk/gtkfixed.c:
4631         * gtk/gtkimagemenuitem.c:
4632         * gtk/gtklist.c:
4633         * gtk/gtkpacker.c:
4634         * gtk/gtktable.c:
4635         * gtk/gtktree.c:
4636         Remove expose handler, using the default container implementation
4637         instead.
4638         
4639         * gtk/gtkbutton.c:
4640         * gtk/gtkcheckbutton.c:
4641         * gtk/gtkeventbox.c:
4642         * gtk/gtkfixed.c:
4643         * gtk/gtkhandlebox.c:
4644         * gtk/gtklayout.c:
4645         * gtk/gtklistitem.c:
4646         * gtk/gtkmenu.c:
4647         * gtk/gtkmenubar.c:
4648         * gtk/gtkmenuitem.c:
4649         * gtk/gtknotebook.c:
4650         * gtk/gtkoptionmenu.c:
4651         * gtk/gtkpaned.c:
4652         * gtk/gtkscrolledwindow.c:
4653         * gtk/gtktogglebutton.c:
4654         * gtk/gtktoolbar.c:
4655         * gtk/gtktreeitem.c:
4656         * gtk/gtkviewport.c:
4657         Chain expose handler to parent class handler. Use
4658         gtk_container_propagate_expose() to propagate exposes.
4659
4660         * gtk/gtkclist.c (check_exposures):
4661         * gtk/gtktext.c (process_exposes):
4662         Use gtk_widget_send_expose instead of gtk_widget_event.
4663
4664 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
4665
4666         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
4667
4668 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
4669
4670         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
4671         unref the nodes.   Fixes bug #50058.
4672
4673         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
4674         "::ref_iter" to "::ref_node".
4675         (gtk_tree_model_unref_node): change "::unref_iter" to
4676         "::unref_node". Fixes bug #50064.
4677
4678 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
4679
4680         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
4681         support for invisible cells.
4682          (gtk_tree_view_bin_expose): ditto
4683
4684 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
4685
4686         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
4687         on gobjects.
4688
4689         * tests/testtreefocus.c (main): New test file.
4690
4691         * tests/testtreeview.c: update to latest glib changes.
4692
4693         * tests/testtreecolumns.c: update to latest glib changes.
4694
4695 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
4696
4697         * gtk/testgtk.c: re-enabled event watcher emission hooks.
4698
4699 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
4700
4701         * *.c: added accumulator data argument to g_signal_newc()
4702         functions.
4703
4704         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
4705         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
4706         * gtk/treestoretest.c (make_window):
4707         s/g_signal_connect/g_signal_connectc/.
4708
4709         * gtk/gtktextbuffer.c: completed signal arg fixups,
4710         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
4711
4712 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
4713
4714         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
4715         G_CONST_RETURN.
4716
4717         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
4718         ::hierarchy-changed signal when a widget changes
4719         from anchored to unanchored or vice versa.
4720         (anchored means 
4721          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
4722         Use a private flag to keep track of this efficiently.
4723
4724 2001-03-07  Havoc Pennington  <hp@redhat.com>
4725
4726         * gtk/testgtk.c (create_spins): uglify so that size request gets
4727         tested.
4728
4729         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
4730         request on values for upper/lower, completes #6152
4731
4732 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
4733
4734         * Makefile.am: Remove gtk-config-2.0 again.
4735         (Grrrr, pkg-config. And stops make loops.)
4736
4737 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
4738
4739         * gtk/gtksignal.[hc]: removed old emission hook API.
4740         
4741         * docs/Changes-2.0.txt: fixed sections.
4742         
4743         * gtk/gtktextbuffer.c: signal arg fixups.
4744
4745 2001-03-07  Havoc Pennington  <hp@redhat.com>
4746
4747         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
4748
4749         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
4750         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
4751         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
4752         validation and the redraw which is higher priority than the
4753         validation.
4754
4755 2001-03-07  Havoc Pennington  <hp@redhat.com>
4756
4757         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
4758         (gtk_entry_set_property): remove trailer
4759
4760         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
4761         (gtk_entry_get_width_chars): new functions, to set size request to 
4762         a given number of characters
4763
4764         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
4765
4766         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
4767         (gtk_dialog_get_has_separator): new function
4768         (run_delete_handler): fix to not emit "response" signal
4769         because we already did in the delete event handler installed
4770         at dialog creation time.
4771         
4772         * gtk/gtkdialog.h: add a has_separator property,
4773         add GTK_DIALOG_NO_SEPARATOR flag
4774
4775 2001-03-07  Havoc Pennington  <hp@redhat.com>
4776
4777         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
4778         off decorations for a window.
4779
4780         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
4781         changes
4782
4783         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
4784         to get location of PangoLayout inside the label, closes #51198
4785
4786         * gtk/testgtk.c (create_bbox): fix up button box usage
4787
4788         * gtk/testcalendar.c (create_calendar): fix up button box usage
4789
4790         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
4791
4792         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
4793
4794         * gtk/gtkhbbox.h: deprecations
4795
4796         * gtk/gtkvbbox.h: deprecations
4797
4798         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
4799         emulate deprecated gtk_button_box_get_spacing
4800
4801         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
4802         the "set global default" functions
4803         (struct _GtkButtonBox): remove "spacing" field, use the one from 
4804         GtkBox base class
4805
4806         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
4807
4808         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
4809         render the icon, return the missing image icon.
4810
4811         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
4812         image icon if the load fails.   
4813
4814         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
4815         when no image is found; should be the Netscape "missing image"
4816         icon eventually but for now is a random image
4817
4818         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
4819         role for the session manager
4820
4821         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
4822
4823         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
4824         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
4825
4826         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
4827
4828 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
4829
4830         * gtk/*.c: marshaller fixes.
4831         
4832         * gtk/gtkmarshal.list: extreme cleanup.
4833
4834         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
4835         param spec for now.
4836
4837         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
4838         where appliable.
4839
4840         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
4841         special cased autogenerated boxed types from gtktypebuiltins_ids.c
4842         which are not reference counted:
4843         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
4844         PangoFontDescription, GtkTreeIter and GtkTreePath.
4845
4846 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
4847
4848         * gtk/gtktreeselection.h: 
4849         * gtk/gtktreemodel.c:
4850         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
4851         file should be included directly, and gobject/gmarshal.h
4852         as well as gtk/gtkmarshal.h even can't be included directly.
4853
4854         * Makefile.am: grr, install gtk-config-2.0.
4855
4856         * gtk/testgtk.c:
4857         * gtk/simple.c:
4858         * gtk/gtkmenu.c:
4859         * gtk/gtkitemfactory.c: use g_object_connect() instead of
4860         passing "*signal*::*" args to gtk_widget_set().
4861         
4862         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
4863         
4864         * gtk/*.c: removed trailer arg from property setters and getters.
4865         macro fixups.
4866
4867 2001-03-07  Alexander Larsson  <alexl@redhat.com>
4868
4869         * gtk/gtklabel.c (set_markup): Removed warning
4870
4871 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
4872
4873         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
4874         field to allow you to hide cell renderers.
4875
4876         * gtk/gtkcellrenderer.c: Add support for invisible cells.
4877
4878         * gtk/gtktreeview.c: Add support for invisible cells.
4879
4880 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
4881
4882         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
4883         Add "clicked" signal back to columns.
4884
4885         * ChangeLog: remove conflict markers.
4886
4887 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
4888
4889         * gtk/gtkbutton.c: Add animation of activation by, on 
4890         activate, pressing the button, and adding a timeout that 
4891         releases the button after 250ms or on key release and
4892         emits ::clicked. (#51501)
4893
4894         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
4895         action area, we connect to ::clicked instead of ::activate
4896         so the dialog stays up through the animation.
4897
4898 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
4899
4900         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
4901         check the ignore_enter flag for the menu shell that
4902         the item is actually a child of, not for attached
4903         submenus. (#51536)
4904
4905 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
4906
4907         * gtk/gtkmain.c (gtk_propagate_event): Only do special
4908         special key-press grab handling for widgets within
4909         GtkWindows. Otherwise, fall through to normal case.
4910
4911         This prevents key events being sent twice to GtkInvisible
4912         widgets, which can cause all sorts of mischief.
4913
4914 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
4915
4916         * gtk/gtkmain.c (gtk_propagate_event): When a grab
4917         widget is in effect, give the grab widget a first
4918         crack at KEY_PRESS/RELEASE events. (#424)
4919
4920 2001-03-06  James Henstridge  <james@daa.com.au>
4921
4922         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
4923         offset for the window_state_event to point at window_state_event
4924         rather than no_expose_event.
4925
4926 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
4927
4928         * gtk/gtkimmodule.h: fix busted /* comment */
4929
4930 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
4931
4932         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
4933         object properties.
4934
4935 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
4936
4937         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
4938         add object properties.
4939
4940         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
4941         to add object properties.
4942
4943         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
4944         object properties.
4945
4946         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
4947         add object properties.
4948
4949         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
4950         object properties.
4951
4952 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
4953
4954         * gtk/gtktreemodel.c: renamed "child_toggled" to
4955         "has_child_toggled".
4956
4957         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
4958         handle new signal name.
4959
4960         * gtk/gtktreestore.c: Updated to handle new signal name.
4961         * gtk/gtklisttore.c: Updated to handle new signal name.
4962         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
4963
4964 2001-03-05  Alexander Larsson  <alexl@redhat.com>
4965
4966         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
4967         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
4968
4969 2001-03-05  Michael Natterer  <mitch@gimp.org>
4970
4971         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
4972         pixbuf-engine coincidentially also failed to make one of it's
4973         parent_class pointers static, causing overwriting of GtkLabel's
4974         parent_class pointer in pixbuf_style_class_init().
4975         (Will commit the fix to the pixbuf-engine too).
4976
4977 2001-03-05  Alexander Larsson  <alexl@redhat.com>
4978
4979         * gdk/gdkwindow.h:
4980         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
4981         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
4982         gdk_window_set_icon_list for net wmspec functionality.
4983
4984         * gdk/x11/gdkwindow-x11.c:
4985         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
4986         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
4987         gdk_window_set_icon_list.
4988         Added gdk_wmspec_change_state helper function and used it in the code.
4989         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
4990
4991         * gtk/gtkdialog.c (gtk_dialog_init):
4992         Set GDK_WINDOW_TYPE_HINT_DIALOG.
4993
4994         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
4995         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
4996
4997         * gtk/gtkwindow.c:
4998         new function gtk_window_set_type_hint.
4999         On realize, set type hint and modal hint.
5000
5001         * gtk/gtkwindow.h:
5002         Added type_hint field and gtk_window_set_type_hint.
5003
5004 2001-03-05  Alexander Larsson  <alexl@redhat.com>
5005
5006         * gtk/gtklabel.[ch]:
5007         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
5008         New function gtk_label_get_accel_keyval () to get the underline accelerator
5009         of the label. Setting the label pattern overrides other attributes.
5010
5011 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
5012
5013         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
5014         Added missing initializers to gtk_rc_style_init().
5015
5016 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
5017
5018         * gtk/gtktextview.c: fixed bug #51097 about setting 
5019         gtk_text_view_set_border_window_size() if the widget is 
5020         already realized.
5021
5022 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
5023
5024         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
5025
5026         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
5027         comment. Won't do to have duplicated doc comments between
5028         the platform subdirs.
5029
5030 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
5031
5032         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
5033           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
5034
5035         Detectable auto-repeat - make a repeating key generate
5036         press/press/press/release instead of press/release pairs.
5037
5038         If we have Xkb and XkbSetDectableAutoRepeat supports
5039         that, we do it that way. Otherwise, when we get
5040         a release event, we check ahead with XPending to see
5041         if the next key is a KeyPress with the same keycode
5042         and timestamp. (Not 100% reliable, but pretty close.)
5043           
5044 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
5045         
5046         * gtk/gtkmain.c (gtk_propagate_event): Only do special
5047         special key-press grab handling for widgets within
5048         GtkWindows. Otherwise, fall through to normal case.
5049  
5050         This prevents key events being sent twice to GtkInvisible
5051         widgets, which can cause all sorts of mischief.
5052  
5053 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
5054  
5055         * gtk/gtkmain.c (gtk_propagate_event): When a grab
5056         widget is in effect, give the grab widget a first
5057         crack at KEY_PRESS/RELEASE events. (#424)
5058  
5059 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
5060
5061         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
5062         to extend the selection. (Roughly based on patch
5063         from Jay Cox, #50939)
5064
5065         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
5066         to properly handle previous GDK_BUTTON_PRESS. 
5067         (Patch from Jay Cox, #50938)
5068
5069         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
5070         '\0' back along with the deleted text. (#51148)
5071
5072 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
5073
5074         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
5075         the group when extracting it from the X keyboard event.
5076
5077         * modules/input/Makefile.am modules/input/imipa.c: 
5078         Simple module for entering IPA. (Do we need a 
5079         gtk-stupid-input-tricks CVS module?)
5080
5081 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
5082
5083         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
5084         const.
5085
5086         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
5087
5088         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
5089         is no focus widget for the dialog currently, grab the focus as well
5090         as the default.
5091
5092         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
5093         the action area's children to iterate through, not the
5094         dialog's children.
5095
5096 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
5097
5098         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
5099         Add plug-socket tests. (Won't work worth a darn until I commit
5100         the rest of the plug-socket changes, but no reason these
5101         can't go into CVS now.)
5102
5103 2001-03-02  Havoc Pennington  <hp@redhat.com>
5104
5105         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
5106         _gdk_region_get_xrectangles()
5107
5108         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
5109
5110         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
5111
5112         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
5113         function, contributed by Ron Steinke    
5114
5115         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
5116         gdk_net_wm_supports
5117
5118         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
5119         New function, contributed by Ron Steinke
5120
5121         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
5122         used to line up the text in the entry when using the entry for
5123         editable sheet cell hacks
5124
5125         * gtk/testgtk.c (create_entry): test the activate_default setting
5126         on GtkEntry
5127
5128         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
5129         cause the entry to activate the default button for a dialog when 
5130         activated
5131         (gtk_entry_get_activates_default): new function
5132
5133 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
5134
5135         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
5136         Hwang to move call to sync_selection() up a few lines
5137         to before the row list is modified, to fix crash when
5138         removing rows in the undo_selection list.
5139
5140         (Test case provided by Daniel Elstner:
5141
5142         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
5143
5144 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
5145
5146         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
5147         of tree->root_tree in parent_set rather than _map(), 
5148         fixing #50892 in a bit better manner.
5149
5150 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
5151
5152         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
5153
5154 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
5155
5156         * gtk/gtkstyle.c : Remove duplicate fwd decl for
5157         gtk_default_draw_shadow.
5158
5159 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
5160
5161         * gdk/gdkimage.c (gdk_image_new): Remove excess 
5162         warning, make warnings more verbose, treat a error
5163         in shmat as permanent, and don't try again.
5164         (#51163, Ed Randall.)
5165
5166 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
5167
5168         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
5169         delay for the first click before starting to scroll.
5170         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
5171
5172         * gtk/gtktext.c: GtkText should have I-beam cursor. 
5173         (based on gtk-enf-990513-1.patch, Eric Fisher.)
5174
5175 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
5176
5177         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
5178         cleanup to remove some references to unused
5179         ->xoffset, ->yoffset.
5180
5181 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
5182
5183         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
5184         mask. (#51039, fix from Martin Maierhofer)
5185
5186 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
5187
5188         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
5189         for unshifted + and shifted = for non-us keyboards.
5190         Make <Control>+ and <Control>- work as well as 
5191         <Control>KP_Plus, <Control>KP_Minus for recursive
5192         open/close.  (#2682, René Seindal)
5193
5194 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
5195
5196         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
5197         the active menu item before deactivating the menu,
5198         so gtk_menu_popdown doesn't change the history. (#50964)
5199         
5200 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
5201
5202         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
5203         draw lines with text_gc rather than black_gc.
5204         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
5205
5206 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
5207
5208         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
5209         Move handling of buttons fully in gtktreeviewcolumn.  This code is
5210         less interrelated then it was, but it still requires the
5211         GtkTreeView to map it.
5212
5213         * test/testtreecolumn.c: Now I can add a column to one view,
5214         remove it, add it to the another view, remove it, then re-add it
5215         to the first.  Nifty.
5216
5217 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
5218
5219         * docs/tutorial/gtk-tut.sgml: Minor corrections
5220
5221 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
5222
5223         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
5224         GtkRowReference.
5225
5226 2001-02-28  Havoc Pennington  <hp@redhat.com>
5227
5228         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
5229         draw_default
5230         (gtk_widget_draw_focus): remove this function; we could instead
5231         make it just gtk_widget_draw(), but in most cases I think the
5232         result would be broken user code, so think it's better to have
5233         that code not compile and get fixed
5234         (gtk_widget_draw_default): ditto
5235
5236         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
5237         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
5238         
5239         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
5240         widgets lose/get the default, instead of calling draw_default
5241         
5242         * docs/Changes-2.0.txt: note about all this
5243
5244         Then fixed every widget in GTK, I won't list all the filenames.
5245
5246 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
5247
5248         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
5249         _gtk_tree_row_reference_deleted.
5250         (inserted_callback): Proxy out to
5251         _gtk_tree_row_reference_inserted.
5252         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
5253         get around signal emission ordering problem.
5254
5255         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
5256         fix to work with SINGLE 
5257         (_gtk_tree_selection_internal_select_node): Major sanitization on
5258         selections.  SINGLE now seems to work.
5259
5260         * tests/Makefile.am: add testtreecolumn.c:
5261
5262         * tests/testtreecolumn.c: New test.  Mostly points out selection
5263         bugs currently, but will test columns later.
5264
5265         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
5266         selection bug.  I hate touching this code -- it's scary.
5267
5268 2001-02-26  Havoc Pennington  <hp@redhat.com>
5269
5270         * gtk/testgtk.c: test the window state stuff
5271
5272         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
5273         window come to the user's attention as if it were just created
5274         (gtk_window_iconify): new function
5275         (gtk_window_deiconify): new function
5276         (gtk_window_stick): new function
5277         (gtk_window_unstick): new function
5278         (gtk_window_maximize): new function
5279         (gtk_window_unmaximize): new function
5280
5281         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
5282
5283         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
5284
5285         * gdk/x11/gdkevents-x11.c: create window state events when
5286         appropriate
5287         (gdk_wmspec_supported): new function
5288
5289         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
5290         iconification before showing the window
5291         (gdk_window_deiconify): new function
5292         (gdk_window_stick): new function
5293         (gdk_window_unstick): new function
5294         (gdk_window_maximize): new function
5295         (gdk_window_unmaximize): new function
5296
5297         * gdk/gdkwindow.c: store the window state in the window; 
5298         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
5299         window->mapped.
5300         (gdk_window_get_state): return the current window state
5301
5302         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
5303         (gdk_event_get_state): handle GDK_WINDOW_STATE
5304         (gdk_synthesize_window_state): function to create the window state
5305         events
5306
5307         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
5308         event, for changes to "window state" such as maximized, sticky, 
5309         etc.
5310         
5311         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
5312         focuses a window
5313
5314         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
5315         finds out if we support a given WM spec hint
5316
5317 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
5318
5319         * docs/faq/gtk-faq.sgml: New question re memory leaks.
5320
5321 2001-02-25  Hans Breuer  <hans@breuer.org>
5322
5323         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
5324         cause we want to loose those prototypes only in the latter case
5325
5326         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
5327         GdkPixmapImplWin32 because it itsn't derived from it. Use the
5328         impl member variable instead
5329
5330         * gtk/gtk.def : updated
5331
5332         * gtk/gtklist.c : 
5333         * gtk/gtkmenus.c : include <string.h> for memset ()
5334
5335         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
5336         for everthing built here, but for gtk-x.x.dll only. This solves
5337         problem of indifferent gtk type definitions
5338
5339 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
5340
5341         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
5342
5343 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
5344
5345         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
5346         column that is exposed.
5347
5348         (_gtk_tree_view_update_size): Changed name from set_size, and
5349         changed function to do more work, and not force people calling it
5350         to figure out the size.  Simplifies a lot of code elsewhere.
5351
5352 2001-02-23  Alexander Larsson  <alexl@redhat.com>
5353
5354         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
5355         return solid masks for xpms that have no transparent color.
5356         This makes the ..._create_from_xpm... API backwards
5357         compatible.
5358
5359 2001-02-23  Tor Lillqvist  <tml@iki.fi>
5360
5361         * README.win32: Update. Mention the gtk-1-3-win32-production
5362         branch.
5363
5364         * gdk/win32/bdfcursor.c: New file. A program that generates
5365         xcursors.h. Thanks to Stefan Ondrejicka.
5366
5367         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
5368         compact format.
5369
5370         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
5371
5372         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
5373         function, uses xcursors.h.
5374         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
5375         cursor from inline data instead of using LoadCursor() to generate
5376         it from a resource.
5377
5378         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
5379         event, must check the Windows message for mouse button state, as
5380         the GDK event state might not have been built if it is
5381         undelivered. Remove one goto.
5382
5383         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
5384         SetCursor() if the current cursor as returned by GetCursor() is
5385         the window's previous cursor. The ChildWindowFromPoint() test
5386         apparently didn't work correctly.
5387
5388         * gdk/win32/rc/*.cur: Remove.
5389
5390         * gdk/win32/rc/gdk.rc.in: Remove cursors.
5391
5392         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
5393
5394         * gtk/makefile.{mingw,msc}.in: Updates.
5395
5396 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
5397
5398         * gtk/gtktreemodel.h: add functions for signal emission.
5399
5400         * gtk/gtktreestore.c: move to use above functions instead of
5401         g_signal_emit.
5402
5403         * gtk/gtkliststore.c: ditto
5404
5405 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
5406
5407         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
5408         GObject instead of GtkObject.
5409
5410         * gtk/gtkliststore.c: ditto.
5411
5412         * gtk/gtktreemodelsort.c: ditto.
5413
5414         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
5415         GtkTreeModelIface, instead of in each model.
5416
5417 2001-02-21  Havoc Pennington  <hp@redhat.com>
5418
5419         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
5420         unbreak this function
5421
5422         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
5423         properties
5424
5425         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
5426         properties
5427
5428         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
5429         properties
5430
5431         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
5432         mean unset the max length
5433
5434 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
5435
5436         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
5437         Changed name to be set_cell_data_func to make it clear what
5438         the functino does.  Close bug #51069.
5439
5440 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
5441
5442         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
5443         have memory actually freed.  Keeps box running longer.
5444
5445 2001-02-21  Alexander Larsson  <alexl@redhat.com>
5446         
5447         * gtk/gtkseparatormenuitem.[ch]:
5448         Added new menu separator item. The drawing and size handling
5449         is still done in GtkMenuItem, but the API is a bit more sane.
5450         
5451         * gtk/Makefile.am:
5452         Add gtkseparatormenuitem.[ch].
5453
5454         * gtk/gtk.h:
5455         Add gtkseparatormenuitem.h.
5456         
5457         * gtk/gtkentry.c:
5458         * gtk/gtkmenufactory.c:
5459         * gtk/gtktextview.c:
5460         Use the new API for menu separators.
5461         
5462         * demos/gtk-demo/menus.c (create_menu):
5463         Add some GtkSeparatorMenuItem demo code.
5464
5465 2001-02-20  Havoc Pennington  <hp@redhat.com>
5466
5467         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
5468         Lee Mallabone
5469
5470         * gtk/gtkarrow.c: Convert to new property API, patch from 
5471         Lee Mallabone
5472
5473 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
5474
5475         * tests/testtreeview.c (toggled_callback): fix to reflect change
5476         in GtkTreeModelStore.
5477
5478 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
5479
5480         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
5481         function to create an icon set from a pixbuf.
5482
5483 2001-02-20  Alexander Larsson  <alexl@redhat.com>
5484
5485         * gtk/gtkcellrenderertext.[ch]:
5486         Add a "markup" property.
5487
5488         * gtk/treestoretest.c:
5489         Use the markup property, remove some leftover stuff from
5490         GtkTreeModelMapping.
5491
5492 2001-02-20  Alexander Larsson  <alexl@redhat.com>
5493
5494         * gtk/gtklabel.c (gtk_label_set_selectable):
5495         Queue a redraw if the selectable setting was changed.
5496
5497 2001-02-20  Alexander Larsson  <alexl@redhat.com>
5498
5499         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
5500         Actually copy the whole gc, not just the public parts.
5501         
5502         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
5503         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
5504         labels.
5505
5506 2001-02-19  Havoc Pennington  <hp@pobox.com>
5507
5508         * gdk/gdkwindow.c: docs
5509
5510         * gdk/gdkrgb.c: docs
5511
5512         * gdk/gdkregion-generic.c: docs
5513
5514         * gdk/gdkgc.c (gdk_gc_set_values): docs
5515
5516         * gdk/gdkdraw.c: docs
5517
5518         * gdk/gdkdrawable.h: deprecate drawable get/set data
5519
5520 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
5521
5522         * demos/gtk-demo/dialog.c: Add simple new demo.
5523
5524 2001-02-19  Havoc Pennington  <hp@redhat.com>
5525
5526         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
5527         insert_child_anchor signal, bug #50245
5528
5529         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
5530         from create_child_anchor, so the anchor is passed in
5531
5532         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
5533         (_gtk_widget_segment_new): have the child anchor object passed in, 
5534         instead of creating it.
5535
5536         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
5537         to gtk_text_buffer_get_modified
5538
5539 2001-02-19  Havoc Pennington  <hp@redhat.com>
5540
5541         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
5542         changed GLib without fixing GTK
5543
5544         * gtk/gtkrange.h: Rename all the stupid implementation detail 
5545         functions to have an underscore in front. Most of them should 
5546         probably just go away, but for starters don't export them.
5547         Bug #50482
5548
5549 2001-02-19  Havoc Pennington  <hp@redhat.com>
5550
5551         * gdk/gdkcolor.h: test was backward, so deprecated functions were
5552         excluded by default
5553
5554         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
5555         clean up the old code a bit
5556
5557         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
5558         inconsistent state
5559
5560         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
5561         draw inconsistent state
5562
5563         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
5564         (create_menu): add inconsistent test
5565
5566         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
5567         new function
5568         (gtk_check_menu_item_get_inconsistent): new function
5569         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
5570         state (using etched in for now)
5571
5572         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
5573         draw inconsistent state
5574
5575         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
5576         function, used when the user has selected a range of stuff in
5577         different states
5578         (gtk_toggle_button_get_inconsistent): accessor for that
5579         (gtk_toggle_button_paint): draw inconsistent state (etched in?
5580         don't know what else to do)
5581
5582 2001-02-19  Hans Breuer <hans@breuer.org>
5583
5584         * gtk/gtk.def : updated exported symbols
5585
5586         * gtk/makefile.msc.in : updated
5587
5588         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
5589         a colormap, when invoked from testgtk::entry. I'm not sure where
5590         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
5591         avoids immediate crashing ...
5592
5593         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
5594         any objections ?
5595
5596         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
5597         0 parameter. At least msvc doesn't like macros with var args. 
5598         I simply removed the extra 0, was it a feature or a typo ?
5599
5600         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
5601         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
5602         because the value assignment to the internal struct wasn't working.
5603         I'm not absolutely sure. The problem could have been resolved by
5604         changing the "func" declartion in the struct, but was the pointer
5605         to the function pointer intended ?
5606
5607         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
5608
5609         * gdk/gdk.def : updated exported symbols
5610
5611         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
5612         only use SetDIBitsToDevice if there is a palette at the drawable
5613         and the image is GDK_VISUAL_PSEUDO_COLOR
5614
5615         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
5616
5617         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
5618
5619         * gdk/*/makefile.msc : updated
5620
5621 2001-02-19  Havoc Pennington  <hp@redhat.com>
5622
5623         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
5624         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
5625
5626         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
5627         (gdk_key_repeat_restore): nuke
5628
5629         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
5630         (gdk_init_check): no atexit func
5631
5632         * gdk/gdkrgb.h: mark some stuff deprecated
5633
5634         * gdk/gdkcolor.h: mark some stuff deprecated
5635         
5636         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
5637
5638         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
5639
5640 2001-02-16  Havoc Pennington  <hp@redhat.com>
5641
5642         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
5643         scroll steps.
5644
5645         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
5646         steps, and add Ctrl-arrow shortcuts for paging visually as with
5647         HScale, since Page Up and Page Down move logically.
5648
5649         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
5650         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
5651         
5652         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
5653         steps
5654         (gtk_range_scroll): handle the visual steps
5655
5656         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
5657         scroll steps
5658
5659         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
5660         steps, not the logical ones.
5661
5662         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
5663         (scroll_vertical): handle up/down steps
5664
5665 2001-02-19 Alexander Larsson  <alexl@redhat.com>
5666
5667         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
5668         Copy data and free data with free().
5669
5670         * gdk-pixbuf/gdk-pixbuf.c:
5671         * gdk-pixbuf/io-jpeg.c:
5672         * gdk-pixbuf/io-png.c:
5673         Use g_try_malloc/g_free instead malloc/free.
5674         
5675         * gdk-pixbuf/test-gdk-pixbuf.c:
5676         Must... initialize... gobject...
5677         
5678         * gdk-pixbuf/pixops/timescale.c:
5679         * gtk/gtkcalendar.c:
5680         Use g_malloc instead of malloc.
5681         
5682 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
5683
5684         * gtk/testgtkrc:
5685         Comment out property assignments, these don't work yet.
5686
5687 2001-02-17  Havoc Pennington  <hp@pobox.com>
5688
5689         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
5690         bit.
5691
5692 2001-02-17  Havoc Pennington  <hp@pobox.com>
5693
5694         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
5695         shadowed variables that had broken size request in some cases,
5696         leading to bogus tooltips (#50996)
5697
5698 2001-02-06  Jon K Hellan  <hellan@acm.org>
5699
5700         Implement fast browsing of tooltips, bug #50619
5701         
5702         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
5703         and last_popdown
5704         
5705         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
5706         use_sticky_delay and last_popdown.
5707         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
5708         time of popdown.
5709         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
5710         is NULL.
5711         (gtk_tooltips_recently_shown): New static function.  Return true
5712         if < sticky_delay has elapsed since last popdown.
5713         (gtk_tooltips_event_handler): Display window after sticky_delay
5714         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
5715         since last popdown.
5716         
5717 2001-02-17  Havoc Pennington  <hp@pobox.com>
5718
5719         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
5720         instead of (). #6394
5721
5722         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
5723         G_CONST_RETURN, make it return by reference, #50473
5724         
5725 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
5726
5727         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
5728         generated ENTER_NOTIFY event with 0, otherwise not explicitely
5729         setup fields contain garbage (e.g. subwindow, breaking
5730         gdk_drawable_ref() upon event copy).
5731         (gtk_menu_stop_navigating_submenu_cb): same here.
5732
5733         * gtk/gtklist.c (gtk_list_vertical_timeout): 
5734         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
5735         * gtk/gtkclist.c (vertical_timeout): 
5736         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
5737         default-zero-intialization for unions to memset(,0,), as unions are
5738         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
5739         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
5740
5741         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
5742         g_closure_sink() warning.
5743
5744         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
5745         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
5746         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
5747         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
5748         
5749 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
5750
5751         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
5752         gtk_*_store_get, and moved to GtkTreeModel.
5753
5754         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
5755
5756         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
5757
5758         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
5759
5760         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
5761         set the func.
5762
5763         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
5764         freeze/thaw notify between setting all the properties for a cell.
5765
5766         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
5767
5768 2001-02-15  Havoc Pennington  <hp@redhat.com>
5769
5770         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
5771         the X coordinates so they're with respect to the line, rather than 
5772         with respect to the layout.
5773
5774         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
5775         Mallabone
5776
5777         * gtk/testgtk.c (create_range_controls): add vscale tests, 
5778         and inverted test
5779
5780         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
5781         #50806
5782
5783         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
5784
5785         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
5786         gtk_text_iter_is_end
5787
5788         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
5789         rename gtk_text_buffer_get_end_iter
5790
5791         * gtk/testgtk.c (create_labels): Add test for selectable
5792
5793         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
5794         the selection stuff. This code is kind of broken since it doesn't 
5795         use the theme engine.
5796
5797         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
5798         fix infinite loop and y offset problem
5799         (gdk_draw_layout_line_with_colors): fix foreground color handling
5800
5801         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
5802         that makes the label selectable.
5803         
5804         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
5805         layout when the style is set, since fonts etc. could have changed.      
5806
5807 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
5808
5809         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
5810
5811         * gtk/gtktreemodelsimple.[ch]: removed.
5812
5813 2001-02-16  Alexander Larsson  <alexl@redhat.com>
5814
5815         * gtk/gtktreemodelmapping.[ch]:
5816         New files. Implement GtkTreeModelMapping.
5817         
5818         * gtk/Makefile.am:
5819         Add gtktreemodelmapping.[ch].
5820         
5821         * gtk/gtk.h:
5822         Add gtktreemodelmapping.h
5823
5824         * gtk/treestoretest.c:
5825         Test the GtkTreeModelMapping
5826
5827 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
5828
5829         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
5830         have a demo, we might as well pass in real values.  Thanks to
5831         clahey for pointing this out.
5832
5833 2001-02-14  Havoc Pennington  <hp@pobox.com>
5834
5835         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
5836         "static" to a private function
5837         (gtk_image_menu_item_class_init): remove destroy handler,
5838         add "image" object property
5839
5840 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
5841
5842         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
5843         Add a shortcut if the window and the current clip_region doesn't
5844         overlap. This is needed when there are a lot of windows in a
5845         window. The layout test in testgtk is a good test.
5846
5847         * gdk/linux-fb/gdkwindow-fb.c:
5848         Whitespace fix.
5849
5850 2001-02-13  Sven Neumann  <sven@convergence.de>
5851
5852         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
5853
5854 2001-02-13  Alexander Larsson  <alexl@redhat.com>
5855
5856         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
5857         Don't reference last_cursor if it is null. Fixes crash when rotating
5858         the screen before having moved the mouse.
5859
5860         * gdk/linux-fb/gdkcc-fb.c: Zapp!
5861
5862         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
5863
5864         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
5865         when using 90 or 270 degrees rotation.
5866
5867 2001-02-12  Havoc Pennington  <hp@pobox.com>
5868
5869         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
5870         it always set the foreground, even if we were only using
5871         a stipple.
5872         (gdk_draw_layout_line_with_colors): new function, allow
5873         override colors
5874         (gdk_draw_layout_with_colors): new function, allow override
5875         colors
5876         (gdk_pango_layout_line_get_clip_region): function to get the clip
5877         region for a logical text range
5878         (gdk_pango_layout_get_clip_region): get the clip region for a
5879         logical text range
5880
5881         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
5882         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
5883         the right number of arguments.
5884
5885         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
5886         enhance the function to check that node data corresponds to a 
5887         view still belonging to the tree.
5888
5889         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
5890         GtkTreePath
5891         (gtk_tree_view_inserted): ditto
5892         (gtk_tree_view_child_toggled): ditto
5893
5894         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
5895         simplify this code.
5896
5897         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
5898         a PangoAttrList
5899
5900         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
5901
5902         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
5903
5904         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
5905         size in the size request 
5906         (gtk_menu_bar_size_allocate): consider toggle size here
5907
5908         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
5909         that displays a widget in the toggle slot
5910
5911         * gtk/testgtk.c: test GtkImageMenuItem
5912
5913         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
5914         
5915         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
5916         request and allocation
5917
5918         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
5919
5920         * gtk/gtkcheckmenuitem.c
5921         (gtk_check_menu_item_toggle_size_request): ditto
5922         
5923 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
5924
5925         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
5926         reference.
5927
5928         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
5929         and refuse to initialize GTK+ if they fail.
5930
5931 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
5932
5933         * configure.in: Add check for gtk-doc version.
5934
5935 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
5936
5937         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
5938         where the xpad/ypad was only being used on one side!
5939
5940 2001-02-11  Tor Lillqvist  <tml@iki.fi>
5941
5942         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
5943         function, copied from X11 version.
5944
5945         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
5946         DestroyCursor failures. The reason for the problem (despite the
5947         inconsistent messages from GetLastError()) was that
5948         DestroyCursor() cannot be called while a cursor is set in a
5949         window. Set the new cursor first and then destroy the old one.
5950         Thanks to jpe@archaeopteryx.com.
5951
5952         * gdk/win32/gdkcc-win32.c: Remove.
5953
5954         * gdk/win32/Makefile.am: Remove from here, too.
5955         
5956         * gdk/gdk.def
5957         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
5958
5959         * gtk/gtk.def
5960         * gtk/makefile.mingw.in: Updates.
5961
5962 2001-02-08  Havoc Pennington  <hp@redhat.com>
5963
5964         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
5965         add a widget to a bin that already has a child.
5966
5967         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
5968
5969         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
5970         
5971         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
5972
5973         * gdk/gdk.h: remove gdkcc.h
5974
5975         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
5976
5977         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
5978         GdkPixbuf, since the previous implementation was GdkColorContext
5979         dependent.
5980
5981         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
5982         
5983 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
5984
5985         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
5986         a sane value!
5987
5988 2001-02-08  Havoc Pennington  <hp@redhat.com>
5989
5990         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
5991         lighten them.
5992
5993 2001-02-08  Havoc Pennington  <hp@redhat.com>
5994
5995         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
5996         validation idle
5997
5998         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
5999         cell renderer
6000
6001         * demos/pixbuf-demo.c (timeout): remove deprecated
6002         gtk_widget_draw
6003
6004         * demos/testpixbuf-save.c (main): remove deprecated
6005         gtk_drawing_area_size
6006
6007         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
6008         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
6009         at the start of the allocation.
6010         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
6011         unsetup or NULL model.
6012
6013         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
6014         even/odd/sorted cells in the tree view.
6015
6016         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
6017         bugfixes
6018
6019         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
6020         backgrounds with draw_flat_box using different detail for even/odd
6021         rows.
6022
6023         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
6024         row, so we can draw the alternating colors thing
6025
6026         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
6027         property from a synonym property, notify for the synonym.
6028         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
6029         (gtk_text_tag_get_property): Always return the font, even if
6030         all its fields aren't set
6031
6032         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
6033         store the attr list; it leaves us with no way to change attributes
6034         in _render according to the render flags, and no way to implement
6035         get_property. Instead store all the specific text attributes. 
6036         Separate whether an attribute is enabled from its value. Sync all
6037         properties with GtkTextTag, make them all consistent, etc.
6038
6039         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
6040         renderers can highlight the sort row/column     
6041
6042         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
6043         accessor functions to get values; this has the side effect of
6044         showing up which accessor functions were missing. Added those.
6045
6046         * gtk/gtktreeviewcolumn.h: Replace set_justification with
6047         set_alignment, to be consistent with GtkLabel, GtkMisc
6048
6049         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
6050         arrow.
6051
6052         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
6053
6054         * gtk/gtktreesortable.h: updates in here
6055
6056 2001-02-07  Sven Neumann  <sven@convergence.de>
6057
6058         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
6059         pango dimensions after painting the background. We used to draw
6060         gigantic flat boxes here.
6061
6062 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
6063
6064         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
6065         error introduced with earlier commit) (pointed out by
6066         Ollie Lho)
6067
6068 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
6069
6070         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
6071         which are no longer necessary.
6072
6073 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
6074
6075         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
6076
6077 2001-02-04  Tor Lillqvist  <tml@iki.fi>
6078
6079         * gdk/gdk.def
6080         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
6081         Provide dummy implementations.
6082
6083 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
6084
6085         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
6086
6087         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
6088         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
6089         deprecated this function.
6090
6091         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
6092         argument.
6093
6094 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
6095
6096         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
6097
6098 2001-02-03  Havoc Pennington  <hp@pobox.com>
6099
6100         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
6101         Mikael Hermansson with patch from Mikael (if there was a toggle
6102         start one after the first character in the range, this function
6103         was broken). Bug #50380
6104
6105 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
6106
6107         * configure.in: Remove confusing comment about X11.
6108
6109 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
6110
6111         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
6112         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
6113         
6114 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
6115
6116         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
6117         it breaks things on BSD. If you want to compile GTK+ with
6118         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
6119         when configuring, since GTK+ simply can't be "pure ANSI" 
6120         in the header files it uses. (#8170, Greg Hudson)
6121
6122 2001-02-02  Havoc Pennington  <hp@redhat.com>
6123
6124         * gtk/gtkwindow.c: docs
6125
6126         * gtk/gtkwidget.c: docs
6127         (gtk_widget_set_colormap): add a reference to the colormap
6128         (gtk_widget_get_default_colormap): add a reference to the colormap
6129
6130         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
6131
6132         * gtk/gtktextiter.c: docs
6133
6134         * gtk/gtkmain.c (gtk_propagate_event): docs
6135
6136         * gtk/gtkpaned.c (gtk_paned_get_position): docs
6137         (gtk_paned_set_position): docs
6138
6139         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
6140         sort interface, no implementation yet.
6141
6142         * demos/testpixbuf.c (new_testrgb_window): replace
6143         gtk_drawing_area_size() with gtk_widget_set_usize()
6144
6145         * demos/testpixbuf-drawable.c (main): ditto
6146         
6147         * gtk/testgtk.c: remove use of GtkStatusbarMsg
6148
6149         * gtk/gtktextbuffer.c: docs
6150
6151         * gtk/gtkstock.c: docs
6152
6153         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
6154
6155         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
6156
6157         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
6158         
6159         * gtk/gtkimage.c: add some docs in here
6160         (gtk_image_size_request): change name of
6161         gtk_widget_render_stock_icon
6162         (gtk_image_get_icon_set): don't dup returned string
6163         (gtk_image_get_icon_set): don't dup returned string
6164
6165         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
6166         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
6167         and gtkiconfactory.h functions
6168
6169         * gtk/gtkiconfactory.c: add some docs in here
6170
6171         * gtk/gtkmain.c (gtk_get_default_language): document
6172         (gtk_get_current_event): document
6173         (gtk_get_current_event_state): document
6174         (gtk_get_event_widget): document
6175
6176         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
6177
6178         * gtk/gtkcontainer.c: Add some documentation
6179         (gtk_container_add): give a more explanatory warning on adding an
6180         already-parented widget, this is kind of a FAQ and also a common
6181         typo that's easier to debug with a nice warning 
6182
6183         * gtk/gtkcellrenderertoggle.c
6184         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
6185         adding this, it's useless
6186         (gtk_cell_renderer_toggle_set_active): remove
6187         (gtk_cell_renderer_toggle_get_radio): add
6188
6189         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
6190         the NULL cell renderer, that doesn't make any sense to me. 
6191
6192         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
6193         demo code should never use deprecated features.
6194
6195         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
6196         code should never use deprecated features.
6197
6198         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
6199         gtk_widget_queue_clear_area deprecated
6200
6201         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
6202         deprecated
6203
6204         * gtk/gtklabel.h: mark gtk_label_get() deprecated
6205
6206         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
6207         a GdkImage deprecated, replaced by new consistently-named
6208         functions       
6209
6210         * gtk/gtkmain.h: Mark gtk_exit() deprecated
6211
6212         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
6213
6214         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
6215         deprecated
6216
6217         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
6218         so it won't appear in docs and confuse people.
6219
6220         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
6221
6222         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
6223         macros deprecated. (can't mark the type itself deprecated, since
6224         GtkProgressBar is not deprecated and we need the type decl to use
6225         GtkProgressBar)
6226
6227         * gtk/gtkpixmap.h: Mark deprecated
6228
6229         * gtk/gtkoldeditable.h: Mark deprecated
6230
6231         * gtk/gtklist.h: Mark deprecated
6232
6233         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
6234         for anything anymore.
6235
6236         * gtk/gtkctree.h: Mark deprecated
6237
6238         * gtk/gtkclist.h: Mark deprecated
6239
6240         * gtk/gtkpreview.h: Mark deprecated
6241
6242         * gtk/gtkpacker.h: Mark deprecated
6243
6244         * gtk/gtktipsquery.h: Mark deprecated
6245
6246         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
6247
6248         * gtk/gtkvruler.h: Add comment that it will move out of GTK
6249
6250         * gtk/gtkhruler.h: Add comment that it will move out of GTK
6251
6252         * gtk/gtkruler.h: Add comment that it will move out of GTK
6253
6254         * gtk/gtkgamma.h: Add comment that it will move out of GTK
6255
6256         * gtk/gtkcurve.h: Add comment that it will move out of GTK
6257
6258 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
6259
6260         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
6261         gdk_colormap_sync private since it was never exported
6262         in a header file.
6263
6264         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
6265         colormap->colors[] for StaticGray, StaticColor colormaps.
6266
6267         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
6268         was being used as if it was image->bits_per_pixel.
6269
6270         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
6271         for the image in the GdkImage structure since it isn't
6272         reconstructable, and we need it to handle packed types
6273
6274         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
6275         the assumption that on Win32 image->bits_per_pixel == image->depth,
6276         always.
6277
6278         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
6279
6280         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
6281         warning message if no converter can be found. 
6282
6283 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
6284
6285         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
6286         chars to isupper() / tolower(). (#567)
6287
6288         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
6289         to clear up 64-bit warnings. (#567)
6290
6291 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
6292
6293         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
6294         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
6295
6296         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
6297         since some people set $(libdir) separately. (#1290, David Kaelbling)
6298
6299 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
6300
6301         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
6302         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
6303         MAXPATHLEN, but the code here depends on a fixed value.)
6304         (#4524)
6305
6306 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
6307
6308         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
6309         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
6310
6311 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
6312
6313         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
6314         viewable there is no way that moving the node will cause the 
6315         focus row to become not viewable, so omit check on the visibility
6316         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
6317
6318 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
6319
6320         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
6321         selection before inserting new text.
6322
6323 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
6324
6325         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
6326         Make the sensitivity of the reparented child track that of
6327         the original parent menu item. (#34218, David Hodson)
6328
6329         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
6330         the case where the current item is destroyed properly.
6331
6332         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
6333         some edge cases with child-less menuitems.
6334         
6335 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
6336
6337         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
6338         key pop down window. (#12074, Jon K Hellan)
6339
6340 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
6341
6342         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
6343         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
6344         The solution here isn't perfect - you get an extraneous
6345         emission of "toggle", which could conceivably confuse an app,
6346         but better than the current situation. LXR search seems to
6347         indicate that no apps in GNOME CVS connect to "toggle".
6348
6349 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
6350
6351         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
6352         gtk_public_h_sources to directly here to avoid warning when
6353         building srcdir != builddir. (#9656)
6354
6355 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
6356
6357         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
6358         handlers in gtkrange.c return the proper values (TRUE == handled)
6359         (#10316).
6360
6361         This is just the tip of the iceberg, but gtkrange.c is the
6362         most common place where the propagation is problematical,
6363         and also a place where it is almost certainly safe to change
6364         this in the stable branch.
6365
6366         (You don't want right click popups on a range control or anything...)
6367
6368 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
6369
6370         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
6371         area on focus out, even if a background pixmap isn't set.
6372         (#13941)
6373         
6374 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
6375
6376         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
6377         to deal with setting the shape properly when scrolling arrows are
6378         turned on, but not visible because there is sufficient space.
6379         (#13432)
6380
6381 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
6382
6383         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
6384         items with submenus, destroy the item along with the submenu.
6385         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
6386         properly.
6387
6388         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
6389         later.
6390
6391 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
6392
6393         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
6394         the focus widget sometimes wasn't drawn with the default if there
6395         was no default widget.
6396
6397         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
6398         unreference pixmaps. 
6399
6400         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
6401         for some extra safety.
6402
6403 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
6404
6405         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
6406         the text of a cell to the old pointer value better, by
6407         copying the new text before freeing the old text. Some code
6408         cleanup. (#8079, Karl Nelson)
6409
6410 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
6411
6412         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
6413         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
6414
6415 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
6416
6417         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
6418         item from a menu, check to see if it matches 
6419         menu->old_active_menu_item, and if so, unref and clear
6420         old_active_menu_item (Patch from Pavel Cisler)
6421
6422         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
6423         menu_shell->active_menu_item, if it is the child being
6424         removed. (Patch based on that of Gene Ragan, #50337)
6425
6426 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
6427
6428         * gdk/linux-fb/gdkselection-fb.c: 
6429         * gdk/linux-fb/gdkcolor-fb.c: 
6430         * gdk/linux-fb/gdkdrawable-fb2.c: 
6431         * gdk/linux-fb/gdkfont-fb.c: 
6432         * gdk/linux-fb/gdkim-fb.c: 
6433         * gdk/linux-fb/gdkinput.c: 
6434         * gdk/linux-fb/gdkkeyboard-fb.c: 
6435         * gdk/linux-fb/gdkmain-fb.c: 
6436         * gdk/linux-fb/gdkrender-fb.c: 
6437         A bunch of whitespace cleanup.
6438         
6439 2001-01-30  Havoc Pennington  <hp@pobox.com>
6440
6441         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
6442         #ifdef GTK_ENABLE_BROKEN.
6443
6444         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
6445         GTK_ENABLE_BROKEN just before including the broken headers.
6446         
6447         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
6448         deprecated types registered.
6449
6450         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
6451         we have to test the broken stuff.
6452
6453         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
6454         
6455 2001-01-30  Havoc Pennington  <hp@redhat.com>
6456
6457         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
6458         here where prev pointer was set to the wrong thing
6459
6460         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
6461         (gtk_tree_path_is_descendant): new function
6462
6463         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
6464         cached length
6465         (gtk_list_store_get_iter): don't modify iter if we can't get the
6466         path.
6467
6468         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
6469         
6470         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
6471         GtkTreeDragDest
6472
6473         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
6474         was causing segfault
6475
6476         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
6477         pointer to NULL
6478
6479         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
6480
6481         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
6482         on returning FALSE
6483         (gtk_list_store_iter_children): ditto
6484         (gtk_list_store_iter_nth_child): ditto
6485         (gtk_list_store_iter_nth_child): ditto
6486         (gtk_list_store_iter_parent): ditto
6487
6488         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
6489         on iter->user_data != NULL instead of silently accepting it.
6490         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
6491         we are returning TRUE.
6492         (gtk_tree_store_iter_children): ditto
6493         (gtk_tree_store_iter_nth_child): ditto
6494         (gtk_tree_store_iter_parent): ditto
6495         (gtk_tree_store_insert): remove handling of parent->user_data ==
6496         NULL, replace with parent == NULL       
6497
6498         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
6499         and a comment explaining things
6500
6501         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
6502         interface support to GtkTreeStore.
6503
6504         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
6505         FALSE if no prev, fix
6506
6507         * gtk/gtktreeview.c (set_source_row): use a row reference
6508         (set_dest_row): use a row reference
6509
6510 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
6511
6512         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
6513         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
6514         (gtk_tree_selection_select_iter): The same as above.
6515
6516 2001-01-26  Havoc Pennington  <hp@redhat.com>
6517
6518         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
6519         which holds a handle to a specific row (particular set of values
6520         in the model, i.e. pointer-identity row).
6521
6522         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
6523         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
6524         Still need to use it for the src/dest row saved on the drag context.
6525
6526 2001-01-26  Havoc Pennington  <hp@redhat.com>
6527
6528         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
6529
6530         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
6531         not offset by TREE_VIEW_HEADER_HEIGHT
6532         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
6533         TREE_VIEW_HEADER_HEIGHT
6534
6535         * configure.in (included_loaders): for me, --with-included-loaders
6536         generates the error "the specified loader yes does not exist",
6537         i.e. the arg defaults to "yes", so change test for value ""
6538         to test for value "yes", and include all loaders in that case.
6539
6540         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
6541
6542         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
6543         handle TREE_VIEW_VERTICAL_SEPARATOR
6544         (gtk_tree_view_bin_expose): fix to consider the row offset as
6545         pointing halfway into vertical separator.       
6546         (gtk_tree_view_draw_node_focus_rect): ditto
6547
6548         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
6549         --gtk-debug=updates, which causes gdk_window_set_debug_updates
6550         (TRUE) to be called.
6551
6552         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
6553         debug mode where the invalid region is colored in on invalidate,
6554         so you can see the flicker and know whether your redraw code is 
6555         doing a good job.
6556
6557         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
6558         tree window coordinates (clip rect is in tree window coords)
6559
6560         * gtk/Makefile.am: add gtktreednd.[hc]
6561
6562         * gtk/gtkliststore.c: implement gtktreednd interfaces.
6563
6564         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
6565         drag-and-drop data operations on a model (so we can set up tree
6566         drag-and-drop automatically)
6567
6568         * gtk/testgtk.c: Add a window to change sensitivity in the
6569         GtkLabel test; add a way to change the entry frame in GtkEntry
6570         test
6571
6572         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
6573         (gtk_entry_get_has_frame): new functions to remove the frame
6574         around an entry
6575         (gtk_entry_size_request): shrink requisition if no frame
6576         (gtk_entry_draw_focus): don't draw frame if no frame
6577
6578         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
6579         checks inside a cell renderer
6580         (gtk_default_draw_option): ditto for options
6581
6582         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
6583         children from the alignment, not the button
6584         (gtk_tree_view_column_init): ref/sink the column, to emulate
6585         GObject refcounting.
6586
6587         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
6588         
6589         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
6590         Use theme functions to draw the toggles 
6591
6592         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
6593
6594         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
6595         GdkPangoAttrEmbossed to use in rendering insensitive text
6596
6597         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
6598
6599         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
6600         using new GDK features
6601         
6602 2001-01-24  Alexander Larsson  <alexl@redhat.com>
6603
6604         * gtk/gtkimage.c:
6605         Splitted gtk_image_clear into gtk_image_clear() and
6606         gtk_image_reset(). Call gtk_image_clear() in ::destroy
6607         to avoid leaks.
6608
6609         * gtk/gtklabel.c (set_markup):
6610         Don't leak text.
6611
6612         * gtk/gtktextlayout.c:
6613         Always free display->shaped_objects.
6614
6615         * gtk/testgtk.c (create_clist):
6616         Don't leak custom style.
6617
6618 2001-01-23  Alexander Larsson  <alexl@redhat.com>
6619
6620         * gtk/gtkcolorsel.c (grab_color_at_mouse):
6621         Don't leak image. Simplify using gdk_colormap_query_color().
6622         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
6623
6624         * linux-fb/gdkcolor-fb.c:
6625         Implemented gdk_colormap_query_color.
6626
6627 2001-01-23  Alexander Larsson  <alexl@redhat.com>
6628
6629         * linux-fb/gdkcursor-fb.c:
6630         Don't leak built-in cursors.
6631
6632         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
6633         Don't leak tmp_points.
6634
6635         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
6636         Don't modify desc. Don't leak font if the PangoFont
6637         isn't found.
6638         
6639         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
6640         Free dash_list.
6641
6642         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
6643         Don't leak string.
6644         
6645 2001-01-20  Havoc Pennington  <hp@pobox.com>
6646
6647         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
6648         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
6649         me, matches Pango
6650
6651 2001-01-22  Havoc Pennington  <hp@redhat.com>
6652
6653         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
6654
6655         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
6656
6657         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
6658         Remove, move back to gdk-pixbuf
6659
6660         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
6661         to all the word functions
6662
6663         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
6664         before doing anything on NULL layout or if we don't have the focus
6665
6666         * gtk/testtext.c (fill_example_buffer): "justification"
6667
6668         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
6669         to be called "justification" not "justify"
6670
6671         * demos/gtk-demo/textview.c (create_tags): "justification"
6672         
6673         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
6674
6675 2001-01-22  Alexander Larsson  <alexl@redhat.com>
6676
6677         * gdk/gdkwindow.c (gdk_window_invalidate_region):
6678         Don't leak visible_region. Use visible_region instead of region.
6679         
6680         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
6681         Don't do extra gdk_drawable_ref(). This is not X.
6682         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
6683         gdk_fb_focused_window is ref:ed.
6684         (gdk_fb_window_send_crossing_events): Watch out for destroyed
6685         windows.
6686
6687 2001-01-22  Alexander Larsson  <alexl@redhat.com>
6688
6689         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
6690         Don't leak the PangoFontDescriptor.
6691
6692 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
6693
6694         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
6695         when not realized.
6696         (gtk_tree_view_scroll_to_cell): Make work when not realized.
6697         (gtk_tree_view_realize): add scroll_to support
6698         (gtk_tree_view_finalize): add a finalize method.  Populate.
6699         (gtk_tree_view_insert_column): ref and sink the column.
6700         (gtk_tree_view_append_column): ref and sink the column.
6701         (gtk_tree_view_queue_draw_node): New function to handle redrawing
6702         individual nodes.  Should make the code much more efficient, if
6703         actually used.
6704
6705 2001-01-19  Havoc Pennington  <hp@redhat.com>
6706
6707         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
6708         byte_offset variable was being used to mean both "offset into
6709         layout" and "offset into buffer line" which was no longer true
6710         with addition of preedit string; fix
6711
6712 2001-01-19  Havoc Pennington  <hp@redhat.com>
6713
6714         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
6715
6716         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
6717         function
6718
6719         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
6720         implement
6721
6722         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
6723         scroll_to_cell, matches TextView scroll functions better
6724         (gtk_tree_view_tree_to_widget_coords): new function
6725         (gtk_tree_view_widget_to_tree_coords): new function
6726         (gtk_tree_view_get_visible_rect): new function
6727         (gtk_tree_view_get_path_at_pos): accept negative coordinates
6728         (gtk_tree_view_draw_node_focus_rect): new function moved from
6729         draw_focus, also, use width of bin_window as width of the focus
6730         rect
6731         (gtk_tree_view_expand_row): fix bug where it didn't recognize
6732         already-expanded rows
6733         (gtk_tree_view_get_cell_rect): new function
6734         (gtk_tree_view_get_path_at_pos): return the click position
6735         relative to the passed-in cell
6736         (gtk_tree_view_set_expander_column): new function
6737
6738         * configure.in: remove gtk-config-2.0 chmod
6739
6740         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
6741         and properly handle drags with targets we don't understand
6742         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
6743         scrolling anyway
6744         (gtk_text_view_drag_drop): stop scrolling here though, and set the
6745         mark invisible
6746
6747         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
6748         function
6749         (gtk_drag_dest_get_target_list): new function
6750         (gtk_drag_dest_set_target_list): new function
6751         
6752         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
6753
6754         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
6755         related to drag-and-drop
6756
6757 2001-01-19  Alexander Larsson  <alexl@redhat.com>
6758
6759         * gdk/linux-fb/gdkprivate-fb.h:
6760         Define EMULATE_GDKFONT.
6761         Add extra pango_font stuff to GfkFontPrivate.
6762         
6763         * gdk/linux-fb/gdkdrawable-fb2.c:
6764         * gdk/linux-fb/gdkfont-fb.c:
6765         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
6766         emulation using PangoFont.
6767
6768 2001-01-17  Havoc Pennington  <hp@pobox.com>
6769
6770         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
6771         all the non-deprecated set_foo functions. Added missing object
6772         properties, and added g_object_notify() to setters. 
6773         Wrote docs.
6774         
6775 2001-01-18  Tor Lillqvist  <tml@iki.fi>
6776
6777         * gtk/gtkmain.c
6778         * gtk/gtkrc.c: (Win32) Use the new
6779         g_win32_get_package_installation_(sub)directory() functions.
6780
6781         * config.h.win32.in: New file.
6782         
6783         * config.h.win32: Removed.
6784
6785         * configure.in: Output config.h.win32.
6786
6787         * Makefile.am: Add it to EXTRA_DIST.
6788
6789         * gtk/gtk.def: Update.
6790
6791 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
6792
6793         * gtk/gtklabel.c (gtk_label_size_request): Set the
6794         attributes onto the PangoLayout even if they are newly
6795         created from label->pattern.
6796
6797 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
6798
6799         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
6800
6801         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
6802         structures in functions. Fixes bug where gtk_dataset_*
6803         was accidentally still being used in one place, causing
6804         every dest side event to be treated independently.
6805
6806         * gtk/gtkdnd.c: Remove last vestages of handling
6807         ::draw (fixes warning)
6808         
6809         * gtk/gtkentry.[ch]: Add drag and drop support.
6810
6811         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
6812         new function gtk_check_drag_threshhold() for checking
6813         to check if (dx,dy) has exceeded the threshhold for starting
6814         a drag and use it everywhere.
6815
6816 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
6817
6818         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
6819         add -I{includedir}/gtk-2.0.
6820
6821         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
6822         gdk/gdk-pixbuf.h: Doc fixups.
6823         
6824         * gtk/gtkobject.h: Remove trailing , from enum
6825
6826 2001-01-17 Alexander Larsson <alexl@redhat.com> 
6827
6828         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
6829         Doh! Mixed up x and y.
6830
6831         * gdk/linux-fb/gdkglobals-fb.c:
6832         Removed gdk_fb_pointer_grab_window_events,
6833         added _gdk_fb_pointer_grab_owner_events and
6834         _gdk_fb_keyboard_grab_owner_events.
6835
6836         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
6837         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
6838         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
6839         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
6840         Send crossing events after ungrab finished.
6841         (gdk_keyboard_grab): Set ..._owner_events
6842         (type_masks): Move out of function.
6843         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
6844         gdk_fb_keyboard_event_window): New functions, return the
6845         window an event should be targeted at. Handles grabs and
6846         event propagation. Can return NULL.
6847         (gdk_event_make): Remove event_mask checking. Now always
6848         returns an event.
6849                 
6850         * gdk/linux-fb/gdkkeyboard-fb.c:
6851         * gdk/linux-fb/gdkproperty-fb.c:
6852         * gdk/linux-fb/gdkselection-fb.c:
6853         Use new event_window/gdk_event_make() behaviour.
6854         
6855         * gdk/linux-fb/gdkmouse-fb.c:
6856         Use new event_window/gdk_event_make() behaviour.
6857         Only send motion events if in the same window.
6858         If grabbed, use cursor from window if sibling of grabbed
6859         window, and cursor from grabbed window otherwise.
6860
6861         * gdk/linux-fb/gdkprivate-fb.h:
6862         Update gdk_fb_window_send_crossing_events, gdk_event_make
6863         and grab varaible declarations. Add gdk_fb_*_event_window().
6864
6865         * gdk/linux-fb/gdkwindow-fb.c:
6866         Use new event_window/gdk_event_make() behaviour.
6867         Keep correct track of focus window.
6868         (gdk_window_set_events): Set all specific button motion masks
6869         if GDK_BUTTON_MOTION_MASK set.
6870
6871         * gtk/gtkdnd.c (gtk_drag_update):
6872         Free info->last_event if gdk_drag_motion returned FALSE.
6873
6874 2001-01-16  Tor Lillqvist  <tml@iki.fi>
6875
6876         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
6877         Eliminate redraws when input-only windows are shown or
6878         hidden. Thanks to jpe@archaeopteryx.com.
6879
6880 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
6881
6882         * docs/faq/gtk-faq.sgml: FAQ update:
6883           - Update to bugzilla
6884           - Add GTK+ and security/SUID/SGID
6885           - Add DnD question
6886
6887 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
6888
6889         * gdk/linux-fb/gdkdnd-fb.c:
6890         Some cleanups.
6891         
6892 2001-01-15  Havoc Pennington  <hp@pobox.com>
6893
6894         * tests/testtreeview.c: add test stuff for CellRendererToggle
6895
6896         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
6897         accessor
6898
6899         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
6900         only toggle on button press (would do release like GtkButton, but
6901         we'd need implicit grab code for treeview cells)
6902
6903 2001-01-16  Tor Lillqvist  <tml@iki.fi>
6904
6905         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
6906
6907         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
6908         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
6909
6910         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
6911         to g_{locale,filename}_{to,from}_utf8 to match current API.
6912
6913         * gtk/makefile.msc.in (gtk_OBJECTS)
6914         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
6915
6916         * gtk/gtk.def: Update.
6917
6918 2001-01-15  Tor Lillqvist  <tml@iki.fi>
6919
6920         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
6921         implementaion that more closely mimics the events that an X server
6922         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
6923         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
6924         with nested preview widgets, for instance, more responsive when
6925         you move the mouse quickly into them.
6926         (find_window_for_pointer_event): Make it actually compile.
6927         (gdk_event_translate): Set send_event to the value of
6928         InSendMessage (). This doesn't really mean the same as X11's
6929         send_event flag, but is close enough, says jpe@archaeopteryx.com
6930
6931 2001-01-15  Alexander Larsson  <alexl@redhat.com>
6932
6933         * gdk/linux-fb/gdkdnd-fb.c:
6934         Implemented drag and drop.
6935         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
6936         when it tries to free and then copy the same event (info->last_event).
6937         I am not sure about why this happens, but will continue looking.
6938
6939 2001-01-15  Alexander Larsson  <alexl@redhat.com>
6940
6941         * gdk/linux-fb/gdkwindow-fb.c:
6942         Use gdk_window_invalidate_rect instead of
6943         gdk_window_invalidate_rect_clear to minimise flashing.
6944         When hiding windows you need to clear the root window though.
6945
6946 2001-01-15  Alexander Larsson  <alexl@redhat.com>
6947
6948         * gdk/linux-fb/gdkdrawable-fb2.c:
6949         For optization, add an full_shapes argument to gdk_fb_clip_region.
6950         If this is false, only the cliprects of the shapes are used.
6951
6952         * gdk/linux-fb/gdkprivate-fb.h:
6953         Export gdk_fb_window_peek_shape.
6954         Add full_shapes to gdk_fb_clip_region.
6955
6956         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
6957         When moving a window, don't clear everything under the it, just the
6958         root window. Makes stuff faster and flash less.
6959         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
6960         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
6961         offset of the shape.
6962         
6963
6964 2001-01-12  Havoc Pennington  <hp@redhat.com>
6965
6966         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
6967         current invalid region, fixes redraw bug while scrolling the 
6968         text widget
6969
6970         * gtk/gtktextview.c, gtk/gtktextview.h:
6971         Rearrange the scrolling/validation/etc. code in a major way, 
6972         so it seems to make sense to me. Probably isn't genuinely that
6973         much better, but...
6974
6975         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
6976         notifies
6977
6978         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
6979
6980 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
6981
6982         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
6983         Hide mouse pointer while rotation. Show it afterwards.
6984
6985 2001-01-12  Alexander Larsson  <alexl@redhat.com>
6986
6987         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
6988         windows in consideration when generating clip region.
6989
6990         * gdk/linux-fb/gdkfb.h:
6991         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
6992
6993         * gdk/linux-fb/gdkprivate-fb.h:
6994         Add shape to GdkWindowFBDatat.
6995         exported gdk_fb_window_get_abs_shape().
6996         removed gdk_fb_draw_lines declaration.
6997
6998         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
6999         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
7000         send focus changes when there is a grabbed window.
7001         (gdk_window_get_pointer): Handle shaped windows.
7002         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
7003         (gdk_fb_window_peek_shape): Returns the shape for a window,
7004         handles GDK_FB_USE_CHILD_SHAPE.
7005         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
7006         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
7007         (gdk_window_shape_combine_mask): Implement.
7008
7009         * gtk/gtkwindow-decorate.c:
7010         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
7011         setting the shape of a window makes the window transparent.
7012
7013 2001-01-11  Havoc Pennington  <hp@redhat.com>
7014
7015         * gtk/gtktreemodelsimple.h: Oops, broke some macros
7016
7017 2001-01-10  Havoc Pennington  <hp@redhat.com>
7018
7019         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
7020         add this function, bug 40251
7021
7022         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
7023         of type macro   
7024
7025 2001-01-11  Alexander Larsson  <alexl@redhat.com>
7026
7027         * acconfig.h:
7028         Added ENABLE_SHADOW_FB
7029
7030         * configure.in:
7031         Added --disable-shadowfb
7032
7033         * gdk/linux-fb/gdkcursor-fb.c:
7034         Update shadowfb when updating cursor
7035
7036         * gdk/linux-fb/gdkdrawable-fb2.c:
7037         Added wrappers for shadowfb that calls  the normal drawable
7038         methods, but calls gdk_shadow_fb_update(bounding box) when
7039         GdkWindows are drawed to.
7040         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
7041         which also returns the bounding box.
7042
7043         * gdk/linux-fb/gdkfb.h:
7044         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
7045
7046         * gdk/linux-fb/gdkgeometry-fb.c:
7047         Update shadowfb when scrolling window.
7048
7049         * gdk/linux-fb/gdkglobals-fb.c:
7050         Add _gdk_fb_screen_angle.
7051         
7052         * gdk/linux-fb/gdkkeyboard-fb.c:
7053         Test code for screen rotation. Shift-F2 in the xlate driver
7054         rotates the screen.
7055
7056         * gdk/linux-fb/gdkmain-fb.c:
7057         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
7058
7059         * gdk/linux-fb/gdkmouse-fb.c:
7060         Use fb_width/height instead of modeinfo.xres/yres.
7061
7062         * gdk/linux-fb/gdkprivate-fb.h:
7063         Added fb_men, fb_width, fb_height & fb_stride. When using
7064         shadow fb these can differ from the framebuffer stuff.
7065         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
7066         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
7067         _gdk_fb_screen_angle. Removed CM, RP.
7068
7069         * gdk/linux-fb/gdkrender-fb.c:
7070         Added code for shadowfb handling and screen rotation using
7071         shadowfb.
7072
7073         * gdk/linux-fb/gdkwindow-fb.c:
7074         Use fb_mem, fb_stride, fb_width, fb_height.
7075         Added recompute_rowstride to reset the rowstride of all windows.
7076         Added gdk_fb_recompute_all() which recomputes rootwindow size,
7077         window abs positions and window rowstrides. Usefull when the
7078         rotation has changed.
7079
7080 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
7081
7082         * docs/faq/gtk-faq.sgml: update to make web site updating easier
7083
7084 2001-01-10  Havoc Pennington  <hp@redhat.com>
7085
7086         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
7087         where sibling == iter
7088         (gtk_tree_store_insert_after): handle sibling == iter
7089         (gtk_tree_store_prepend): remove stamp checks
7090         (gtk_tree_store_insert_before): ditto
7091         (gtk_tree_store_append): ditto
7092         (gtk_tree_store_get_path): ditto
7093         (gtk_tree_store_get_value): ditto
7094         (gtk_tree_store_iter_has_child): ditto
7095         (gtk_tree_store_iter_n_children): ditto
7096         (gtk_tree_store_iter_nth_child): ditto
7097         (gtk_tree_store_insert_after): ditto
7098         (gtk_tree_store_is_ancestor): ditto
7099         (gtk_tree_store_iter_depth): ditto
7100         (gtk_tree_store_insert_before): assert that sibling's parent is
7101         the same as the passed-in parent
7102         (gtk_tree_store_insert_after): assert that sibling's parent is
7103         the same as the passed-in parent
7104
7105         
7106         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
7107         function to get the first iterator in a model
7108         
7109         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
7110         conventionally the "root" in this sense is just NULL afaict.
7111
7112         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
7113         where sibling == iter
7114         (gtk_list_store_insert_after): handle case where sibling == iter
7115
7116         * tests/testtreeview.c (run_automated_tests): fairly lame basic
7117         automated tests for ListStore, TreeStore
7118
7119         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
7120         (gtk_list_store_insert): update tail pointer, and fix it to work
7121         (gtk_list_store_insert_before): update tail pointer, and fix it to work
7122         (gtk_list_store_append): use tail to be faster
7123         (gtk_list_store_prepend): fix it, update tail pointer
7124         (gtk_list_store_insert_after): fix it, update tail pointer
7125
7126         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
7127         the list
7128
7129 2001-01-09  Havoc Pennington  <hp@redhat.com>
7130
7131         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
7132         is NULL due to a pending resize
7133
7134         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
7135         column width to values less than 1
7136
7137         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
7138         width to be between min/max width, and still set the width 
7139         even if autosize is turned on, so the tree view can use this 
7140         function in order to autosize.
7141         (gtk_tree_view_column_init): set initial width to 1 not 0
7142
7143         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
7144         setter function to modify column width, so we get notification
7145         (gtk_tree_view_insert_iter_height): ditto
7146         (gtk_tree_view_calc_size): ditto
7147         (gtk_tree_view_check_dirty): ditto
7148
7149         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
7150         properties to change all the interesting attributes of the tree
7151         view column.
7152         (gtk_tree_view_column_set_header_clickable): rename set_clickable
7153         (gtk_tree_view_column_get_clickable): add
7154         (gtk_tree_view_column_set_cell_renderer): don't unset the current
7155         attributes; assume a cell renderer with equivalent object
7156         properties has been swapped in. Do g_object_notify().
7157         (gtk_tree_view_column_set_visible): g_object_notify
7158         (gtk_tree_view_column_get_sizing): rename from get_col_type
7159         (gtk_tree_view_column_set_sizing): g_object_notify
7160         (gtk_tree_view_column_set_width): add g_object_notify
7161         (gtk_tree_view_column_set_min_width): ditto
7162         (gtk_tree_view_column_set_max_width): ditto
7163         (gtk_tree_view_column_set_title): ditto
7164         (gtk_tree_view_column_set_clickable): ditto
7165         (gtk_tree_view_column_set_widget): ditto
7166         (gtk_tree_view_column_set_justification): ditto
7167
7168 2001-01-09  Havoc Pennington  <hp@redhat.com>
7169
7170         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
7171         there are no rows in the model
7172
7173         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
7174         NULL, then return the start of the list
7175
7176         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
7177         if we can't get any rows from an empty model 
7178
7179         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
7180         extraneous * after function pointer typedef usage
7181
7182         * Makefile.am: don't specify full path to cp and rm
7183
7184         * gtk/gtkcellrenderertextpixbuf.c
7185         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
7186         NULL before dereferencing, fixes a segfault that happened from
7187         time to time
7188
7189         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
7190         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
7191         and reindent the function
7192         (gtk_cell_renderer_pixbuf_get_size): indentation
7193
7194         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
7195         we quit it
7196         (gtk_dialog_add_buttons_valist): add g_return_if_fail
7197         (gtk_dialog_set_default_response): New function, to set default
7198         button
7199         (gtk_dialog_set_response_sensitive): New function, to set 
7200         sensitivity of buttons
7201
7202         * gtk/gtkcellrendererpixbuf.c
7203         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
7204         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
7205
7206         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
7207         handle any G_TYPE_OBJECT subclass, not just the base class, and 
7208         also boxed types.
7209         (_gtk_tree_data_list_value_to_node): ditto
7210
7211         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
7212         --gtk-debug=tree
7213
7214         * gtk/gtkmain.c: add GTK_DEBUG_TREE
7215
7216         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
7217
7218 2001-01-09  Tor Lillqvist  <tml@iki.fi>
7219
7220         * gdk/win32/gdkevents-win32.c: Implement better mouse
7221         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
7222         (find_window_for_pointer_event): New function.
7223         (gdk_event_translate): Use it when handling mouse events.
7224
7225 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
7226
7227         * configure.in:
7228         Added --with-included-loaders option
7229
7230         * gdk-pixbuf/Makefile.am:
7231         * gdk-pixbuf/gdk-pixbuf-io.c:
7232         Add support for including selected gdk-pixbuf loaders only.
7233
7234         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
7235         gtk_window_set_has_frame):
7236         Added inline documentation.
7237
7238         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
7239         * docs/reference/gdk/tmpl/windows.sgml:
7240         Added inline documentation.
7241
7242 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
7243
7244         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
7245         realizing buttons that have already been realized.
7246
7247 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
7248
7249         * tests/testtreeview.c (main): Show menu items before adding to
7250         option menu.
7251
7252         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
7253         around if we kill them.
7254
7255         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
7256         Return if we pass in a NULL model.
7257
7258 2001-01-08  Havoc Pennington  <hp@redhat.com>
7259
7260         * tests/testtreeview.c: hack on this some
7261
7262         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
7263         gtk_tree_store_set_valist, v is for arrays, valist for varargs
7264         list
7265         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
7266
7267         * gtk/gtkliststore.h: Add varargs set() and get() convenience
7268         functions
7269
7270 2001-01-08  Alexander Larsson  <alexl@redhat.com>
7271
7272         * gtk/gtkwindow-decorate.[hc]:
7273         * gtk/Makefile.am:
7274         New files. Contains an implementation of a minimal WM for
7275         linux-fb.
7276
7277         * gtk/gtkwindow.h:
7278         Add the possibility for GtkWindows to specify a frame. This
7279         is used for the window decoration code, but could concievably
7280         be used for X programs too (xmms style windows).
7281         GtkWindow->frame is the toplevel window if the window is framed.
7282         The signal frame_event gets all events that are targeted to
7283         GtkWindow->frame.
7284         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
7285         
7286         * gtk/gtkwindow.c:
7287         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
7288         Call out to gtkwindow-decorate.c for WM support in linx-fb.
7289
7290 2001-01-08  Alexander Larsson  <alexl@redhat.com>
7291
7292         * docs/README.linux-fb:
7293         Correct filename ~/.pangoft2_aliases
7294
7295         * gdk/gdkwindow.h:
7296         Added new function gdk_window_get_decorations.
7297
7298         * gdk/linux-fb/gdkfb.h:
7299         Removed _gdk_window_get_decorations declaration.
7300         Renamed _gdk_window_set_child_handler to
7301         gdk_fb_window_set_child_handler.
7302
7303         * gdk/linux-fb/gdkwindow-fb.c:
7304         Renamed _gdk_window_set_child_handler to
7305         gdk_fb_window_set_child_handler.
7306
7307         * gdk/x11/gdkwindow-x11.c:
7308         New function gdk_window_get_mwm_hints().
7309         Implemented gdk_window_get_decorations.
7310
7311         * docs/reference/gdk/tmpl/windows.sgml:
7312         * docs/reference/gdk/gdk-sections.txt:
7313         Added gdk_window_get_decorations docs.
7314         
7315 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
7316
7317         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
7318         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
7319         gdk_fb_window_send_crossing_events):
7320         Possibly send focus events when the mouse moves from one
7321         window to another.
7322
7323 2001-01-07  Tor Lillqvist  <tml@iki.fi>
7324
7325         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
7326         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
7327         to match current API.
7328
7329         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
7330         environment variable is set, don't call g_error when on a
7331         palettized (PseudoColor) display. Some people want to use GTK+ 
7332         in 256-colour mode even though works only partially.
7333
7334         * gdk/gdk.def
7335         * gtk/gtk.def
7336         * gtk/makefile.mingw.in: Update.
7337
7338 2001-01-05  Havoc Pennington  <hp@redhat.com>
7339
7340         * tests/testtreeview.c: hack on this a bit
7341
7342         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
7343         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
7344
7345         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
7346         was spelled incorrectly
7347         (GTK_IS_TREE_MODEL_SIMPLE): ditto
7348
7349         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
7350         from gtk_tree_view_set_headers_active   
7351
7352         * gtk/gtktexttag.c:
7353         (gtk_text_tag_get_property): handle PROP_DIRECTION
7354         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
7355         properties, bug 40235
7356
7357         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
7358         forward_to_line_end
7359
7360 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
7361
7362         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
7363         modules/input/gtkimcontextxim.c: Adapt to new prototypes
7364         for unicode,locale,filename conversion functions.
7365
7366 2001-01-05  Havoc Pennington  <hp@redhat.com>
7367
7368         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
7369         broken if called on the first position in the buffer.
7370
7371         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
7372         forward_to_delimiters to be called only if we aren't already at
7373         the delimiters.
7374
7375 2001-01-05  Havoc Pennington  <hp@redhat.com>
7376
7377         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
7378
7379 2001-01-05  Alexander Larsson  <alexl@redhat.com>
7380
7381         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
7382         colormap in here. Sync from X port.
7383         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
7384         Sync from X port.
7385         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
7386         This happens now and then, and i don't think it is a bug.
7387         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
7388         != endpoint.
7389         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
7390         GDK_LINE_SOLID.
7391
7392         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
7393         some of the fields filled in at least.
7394
7395         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
7396         miLineArcD is no more, remove it from the function definition.
7397
7398 2001-01-04  Havoc Pennington  <hp@redhat.com>
7399
7400         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
7401         this
7402
7403         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
7404         user_data instead of tree_node
7405
7406         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
7407         TREE_VIEW_COLUMN_SIZE
7408
7409         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
7410         "size" field to "width" finishes bug 40061
7411
7412         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
7413         for bitfields, bug 40268
7414
7415 2001-01-04  Havoc Pennington  <hp@redhat.com>
7416
7417         Rename some stuff:
7418         
7419         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
7420
7421         s/GtkModelSimple/GtkTreeModelSimple/g;
7422         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
7423         s/gtk_model_simple/gtk_tree_model_simple/g;
7424         s/gtkmodelsimple/gtktreemodelsimple/g;
7425
7426         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
7427
7428         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
7429         s/column_set_col_type/column_set_sizing/g;
7430
7431         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
7432         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
7433
7434         s/GtkCellRendererType/GtkCellRendererState/g;
7435         
7436         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
7437         (gtk_cell_renderer_toggle_class_init): change "state" property to
7438         "active", to match GtkToggleButton
7439         (gtk_cell_renderer_toggle_get_active): new function, bug
7440         40269
7441         (gtk_cell_renderer_toggle_set_active): new function
7442         (gtk_cell_renderer_toggle_set_property): route changes to toggle
7443         state through gtk_cell_renderer_set_active
7444
7445 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
7446
7447         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
7448         temporarily until they work again.  Brought up to date with
7449         changes in the model.
7450         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
7451         model.
7452
7453 2001-01-04  Havoc Pennington  <hp@redhat.com>
7454
7455         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
7456         equal to the line length, then position iterator before paragraph 
7457         separators. Fixes crash reported by Mikael Hermansson when
7458         pressing left arrow from the start of a line.   
7459
7460         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
7461         about byte indexes off the end
7462         (iter_set_from_char_offset): add g_error about char offsets
7463         off the end
7464
7465 2001-01-03  Havoc Pennington  <hp@redhat.com>
7466
7467         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
7468
7469         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
7470         of private functions; remove inclusion of private headers.
7471
7472         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
7473         function, so we don't need private functions in gtktextdisplay.c
7474
7475         * gtk/gtktextiterprivate.h: underscore-ification
7476
7477         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
7478         to instead say "only useful to implement widgets"
7479
7480         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
7481         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
7482         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
7483
7484         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
7485         This function was completely broken
7486
7487         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
7488
7489         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
7490
7491         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
7492
7493         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
7494
7495         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
7496
7497         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
7498
7499         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
7500         gtk_paint_layout
7501
7502         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
7503         gtk_paint_layout
7504
7505         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
7506         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
7507         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
7508         which were not implemented.     
7509
7510         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
7511         insert_pixbuf signal. Rename delete_text to delete_range since it
7512         also deletes pixbufs and child anchors. This almost closes bug
7513         40245 (still need to deal with child anchors)
7514
7515         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
7516         insert_pixbuf, change signal names as appropriate, change types of
7517         signals taking marks/tags to have the specific type, not just
7518         G_TYPE_OBJECT
7519         
7520         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
7521         closes bug 40051
7522
7523         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
7524         unnecessary remove_contents() call
7525         (gtk_option_menu_class_init): add a "changed" signal, closes
7526         bug 40039
7527         (gtk_option_menu_update_contents): emit "changed" if the 
7528         active menu item changes
7529
7530         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
7531         cast to GtkObject, reported by Jonas Borgstrom
7532         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
7533         we can't do stuff with side effects in finalize. Instead, spew a
7534         warning if the loader isn't closed.
7535
7536         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
7537         colormap in here, non-X ports probably need to sync to this change
7538
7539         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
7540         assertion that colormap != NULL, you can set the colormap to NULL
7541         if you like.
7542         
7543         * Makefile.am: remove gtk-config-2.0
7544
7545         * configure.in: Use pkg-config to locate GLib. Remove
7546         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
7547         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
7548         Use pkg-config to locate Pango. Output correct Pango libs to
7549         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
7550
7551         * Makefile.am (pkgconfig_DATA): install only target-specific pc
7552         files
7553         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
7554         X11 pc files
7555
7556         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
7557         unref from here
7558
7559 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
7560
7561         * configure.in:
7562         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
7563
7564 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
7565
7566         * gtk/gtktextlayout.c
7567         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
7568         variable when moving back onto a single line.
7569
7570 2001-01-01  Havoc Pennington  <hp@redhat.com>
7571
7572         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
7573
7574         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
7575
7576         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
7577         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
7578
7579 2001-01-01  Havoc Pennington  <hp@redhat.com>
7580
7581         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
7582
7583         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
7584         GtkTextAttributes
7585
7586         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
7587         #40246
7588         (gtk_text_attributes_copy_values): rename from 
7589         gtk_text_attributes_copy
7590         (gtk_text_attributes_copy): a more standard GTK copy function, 
7591         which returns a new object
7592
7593 2001-01-01  Havoc Pennington  <hp@redhat.com>
7594
7595         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
7596         
7597         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
7598         don't fill in tree_view->priv->selection, kind of an unexpected
7599         side effect
7600
7601         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
7602         gtkintl.h
7603         
7604         * gtk/gtkcellrenderer.c: Remove definition of _ and include
7605         gtkintl.h
7606         (gtk_cell_renderer_get_property): remove calls to g_value_init
7607
7608         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
7609         gtkintl.h
7610
7611         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
7612         and include gtkintl.h
7613         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
7614         property names
7615
7616         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
7617         GtkTreeSelection
7618         (_gtk_tree_selection_new_from_with_view): rename, return
7619         GtkTreeSelection
7620         (_gtk_tree_selection_set_tree_view): rename with uscore
7621         (gtk_tree_selection_get_selected): fill in the "model" out param
7622         first, so it gets filled in even if we return at the top of the 
7623         function
7624         (gtk_tree_selection_real_select_all): add a comment and an else{}
7625         to clarify this a bit
7626         (gtk_tree_selection_real_unselect_all): add the same else{}
7627
7628         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
7629         set_tree_view to have underscore prefixes, move them to the
7630         private header, fix return type of new_with_tree_view
7631         (struct _GtkTreeSelection): mark struct
7632         fields private  
7633
7634         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
7635         GtkTreeModelFlags, not a guint
7636         (gtk_tree_path_prev): return gboolean not gint
7637         (gtk_tree_path_up): return gboolean not gint
7638
7639         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
7640         return GtkTreeModelFlags, not a guint
7641
7642         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
7643         that child model is non-null before unrefing it
7644         (g_value_int_compare_func): make this a qsort compare func, not 
7645         a boolean predicate
7646
7647         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
7648         (add -umn to the end), and mark it unimplemented
7649         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
7650         I don't see what it's for - doesn't the model always sort itself?
7651         (gtk_tree_model_sort_set_compare): this had the wrong signature
7652
7653         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
7654         Fix the docs to say that it destructively replaces existing
7655         attributes (previously said that it added attributes).
7656         (gtk_tree_view_column_set_visible): canonicalize bool before
7657         equality testing. Also, check for realization before
7658         hiding/showing the tree_column->window; if this window could exist
7659         before realization, then it's busted and needs fixing, we can't 
7660         create GDK resources pre-realization. Also, remove
7661         superfluous queue_resize(), since set_size() does that for us.
7662         (gtk_tree_view_column_set_col_type): check realization before 
7663         using tree_column->window
7664
7665         * gtk/gtktreedatalist.c: fix filename in copyright notice
7666
7667 2000-12-31  Havoc Pennington  <hp@pobox.com>
7668
7669         * gtk/gtktextview.c: Rearrange all the
7670         scroll-while-dragging-or-selecting code to be different, not
7671         necessarily better. ;-)
7672         (gtk_text_view_scroll_to_mark): Change this
7673         function to take within_margin as a fraction instead of a pixel
7674         value, and to take alignment arguments (indicating where to align 
7675         the mark inside the visible area)
7676         
7677         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
7678         to GtkObject
7679
7680         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
7681         behavior so that offsets past the end of the line are not 
7682         allowed, and an offset equal to the line length moves the iterator
7683         to the next line
7684         (gtk_text_iter_set_line_index): make parallel change
7685         (gtk_text_iter_get_bytes_in_line): add this function
7686         
7687         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
7688         of byte indexes off the end of the line; byte index at the end of
7689         the line now returns FALSE and doesn't fill in the requested
7690         values, byte index past the end of the line is an error.  Also,
7691         don't allow -1 offset anymore, since its meaning is unclear.
7692
7693         This change exposes some bug in visual cursor motion, where we
7694         end up with a huge invalid byte index; needs fixing. Symptom of 
7695         bug is a crash when you hit up arrow.
7696         
7697         (_gtk_text_line_char_locate): match the change to byte_locate
7698
7699         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
7700         from start of line properly. fixes bug reported by Mikael
7701         Hermansson where backspace would delete all text before the
7702         cursor.
7703
7704 2000-12-30  Tor Lillqvist  <tml@iki.fi>
7705
7706         * gdk/win32/gdkwindow-win32.c
7707         (gdk_window_impl_win32_get_visible_region): New function, as in
7708         the X11 backend.
7709         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
7710         instead of duplicating the same code here.
7711
7712         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
7713         GDK_COLORMAP macro.
7714
7715         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
7716         destroy function.
7717         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
7718         access that.
7719
7720         * gtk/gtk.def: Update.
7721
7722         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
7723
7724 2000-12-30  Havoc Pennington  <hp@pobox.com>
7725
7726         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
7727         colormap on input only windows, to avoid special cases all over
7728         the code for these windows.
7729
7730 2000-12-26  Tor Lillqvist  <tml@iki.fi>
7731
7732         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
7733         we are on a palettized display ("PseudoColor" in X11), as the code
7734         for that doesn't work anyway, and never has.
7735
7736 2000-12-22  Alexander Larsson  <alexl@redhat.com>
7737
7738         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
7739         Don't use isprint() for chars > 255.
7740
7741 2000-12-21  Havoc Pennington  <hp@redhat.com>
7742
7743         * tests/testtreeview.c: more work
7744
7745 2000-12-21  Alexander Larsson  <alexl@redhat.com>
7746
7747         * docs/README.linux-fb:
7748         Update the docs to the new pangoft2 way.
7749
7750 2000-12-21  Alexander Larsson  <alexl@redhat.com>
7751
7752         * configure.in:
7753         For linux-fb get the pangoft2 cflags and libs. This needs a recent
7754         pango version.
7755         Remove modules/linux-fb/Makefile.
7756
7757         * gdk/linux-fb/gdkdrawable-fb2.c:
7758         Render glyphs using freetype.
7759
7760         * gdk/linux-fb/gdkfb.h:
7761         Add new fb-specific functions needed for managing windows.
7762
7763         * gdk/linux-fb/gdkmain-fb.c:
7764         Remove gdk_font_init/fini() calls.
7765
7766         * gdk/linux-fb/gdkpango-fb.c:
7767         Remove old implementation. Use pangoft2 instead.
7768
7769         * gdk/linux-fb/gdkprivate-fb.h:
7770         Remove PangoFBFont and related stuff.
7771
7772         * gdk/linux-fb/gdkwindow-fb.c:
7773         Implement drawable->get_visible_region.
7774         Implement support for _gdk_window_set_child_handler () and
7775         _gdk_window_get_decorations().
7776
7777         * modules/Makefile.am:
7778         Remove linux-fb subdir.
7779
7780         * modules/linux-fb/*:
7781         Removed all.
7782         
7783 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
7784
7785         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
7786         calls, as they are no longer needed.
7787
7788         * gtk/gtktreemodelsort.c: Fix up the comparison code.
7789         
7790         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
7791         figure out how to emit a signal on an interface.
7792
7793 2000-12-20  Havoc Pennington  <hp@redhat.com>
7794
7795         * tests: new directory to contain tests, gtk/test* should move
7796         here sometime (with appropriate on-cvs-server hackery)
7797
7798         * tests/testtreeview.c, tests/Makefile.am: a test
7799         
7800         * configure.in (AC_OUTPUT): add tests/Makefile
7801
7802         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
7803         and "invisible_set" which were missing
7804
7805         * gtk/gtkrbtree.h: some cheesy indentation fix
7806         
7807 2000-12-20  Alexander Larsson  <alexl@redhat.com>
7808
7809         * gtk/gtkinvisible.c (gtk_invisible_realize):
7810         Attach the style to the window so that the style it is not
7811         leaked when unrealizing the window.
7812
7813 2000-12-18  Havoc Pennington  <hp@redhat.com>
7814
7815         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
7816         begin/end user action where appropriate
7817         (gtk_text_view_commit_handler): add begin/end user action
7818
7819         * gtk/gtktextbuffer.c: add begin/end user action signals, and
7820         bracket interactive operations with begin/end user action pair.
7821         
7822         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
7823         "interactive" arg from insert_text and delete_text signals.
7824         Add begin_user_action, end_user_action signals
7825         (gtk_text_buffer_begin_user_action): 
7826         (gtk_text_buffer_end_user_action): New functions to delimit 
7827         a user-visible action
7828
7829         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
7830         signals.
7831         
7832 2000-12-18  Havoc Pennington  <hp@redhat.com>
7833
7834         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
7835         was pretty non-working.
7836
7837         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
7838         by passing the length to g_utf8_validate().
7839
7840 2000-12-16  Havoc Pennington  <hp@pobox.com>
7841
7842         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
7843         Port to GObject, can go back in gdk-pixbuf after setting up 
7844         a gdk-pixbuf-marshal.h header over there.
7845
7846         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
7847         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
7848         args
7849         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
7850         set
7851         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
7852         here, do it when we create the buttons later
7853         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
7854         (gtk_tree_view_map): paranoia checks that column->button is shown 
7855         and unmapped
7856         (gtk_tree_view_size_request): only request visible children.
7857         Move header size calculation in here, for cleanliness, and 
7858         to maintain invariants for child widgets if we eventually 
7859         let users set different children inside the buttons
7860         (gtk_tree_view_map_buttons): factor out code to map buttons,
7861         since it was being called several times
7862         (gtk_tree_view_size_allocate_buttons): move_resize the drag
7863         windows instead of just moving them; their height may change 
7864         if we allow random widgets in there, or the theme changes.
7865         (gtk_tree_view_size_allocate): move button size allocation 
7866         above emitting the scroll signals, to ensure a sane state when we
7867         hit user code
7868         (gtk_tree_view_button_release): remove queue_resize after
7869         tree_view_set_size(), set_size() will handle any resize queuing
7870         that's needed
7871         (gtk_tree_view_focus_in): just queue a draw, don't fool with
7872         draw_focus goo
7873         (gtk_tree_view_focus): use gtk_get_current_event() and
7874         gdk_event_get_state()
7875         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
7876         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
7877         semicolon
7878         (gtk_tree_view_create_button): show the button here
7879         (gtk_tree_view_button_clicked): actually emit the clicked signal
7880         on the column
7881         (_gtk_tree_view_set_size): return right away if the size is
7882         unchanged, as a cheesy optimization
7883         (gtk_tree_view_setup_model): rename set_model_realized to 
7884         setup_model to match the flag that indicates whether we've 
7885         called it
7886         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
7887         exist, because set_scroll_adjustment does that and it shouldn't
7888         matter what order you call these in
7889         (gtk_tree_view_get_vadjustment): ditto
7890         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
7891         for paranoia
7892         (gtk_tree_view_set_headers_visible): call
7893         gtk_tree_view_map_buttons() instead of using cut-and-paste code
7894         (gtk_tree_view_append_column): clarify whether the return value
7895         is the count of columns before or after, and do the increment 
7896         separately from the return statement so you can tell from the code.
7897         (gtk_tree_view_remove_column): ditto
7898         (gtk_tree_view_insert_column): ditto
7899         (gtk_tree_view_get_column): remove g_return_if_fail for columns
7900         outside the existing range, the docs say that outside-range
7901         columns are allowed, so we handle them as documented. (Presumably
7902         this allows a nice loop with column != NULL as test.)
7903         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
7904         mean (left/right/center etc.).
7905         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
7906         (gtk_tree_view_expand_row): add docs
7907         (gtk_tree_view_collapse_row): add docs
7908
7909         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
7910         function to emit the clicked signal on a column
7911         
7912         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
7913         state of an event
7914         (gdk_event_get_time): don't treat GDK_SCROLL 
7915         as a button event, remove default case from switch so gcc 
7916         will whine if we don't explicitly handle all event types
7917
7918         * gtk/gtktreeselection.h: added some FIXME 
7919         
7920         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
7921         "columns" to "n_columns" and "column" to "columns" for clarity
7922
7923 2000-12-16  Havoc Pennington  <hp@pobox.com>
7924         
7925         * gtk/gtktextiter.c: General cleanup of the log attr iteration
7926         stuff. This should make e.g. the delete key work again in the
7927         text widget...
7928         (gtk_text_iter_forward_cursor_positions): handle negative count
7929         (gtk_text_iter_backward_cursor_positions): handle negative count
7930         (gtk_text_iter_forward_word_ends): handle negative count
7931         (gtk_text_iter_backward_word_starts): handle negative count
7932
7933         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
7934         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
7935         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
7936         GObject. No doubt will cause breakage.
7937
7938         * demos/gtk-demo/textview.c: remove hacks around
7939         non-GObject-ification of the text objects
7940
7941         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
7942         the text tag
7943         
7944 2000-12-14  Havoc Pennington  <hp@pobox.com>
7945
7946         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
7947         that we have Xrender
7948
7949 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
7950
7951         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
7952         Add two virtualized functions gdk_drawable_get_clip_region - to
7953         get the clip region when drawing.
7954         
7955         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
7956         use invalidate_region.
7957
7958         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
7959         region.
7960
7961         * acconfig.h configure.in: Check for Xft. For now, assume
7962         that if Xft is found, Pango was compiled with Xft support
7963         as well.
7964
7965         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
7966         gdk_colormap_query_color().
7967         
7968         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
7969         with Xft if appropriate.
7970
7971         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
7972         a pangoxft context if we have XFT and the environment
7973         variable GD_USE_XFT is set.
7974         
7975         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
7976         and also possibly an XftDraw structure.
7977
7978         * gtk/gtkfontsel.c: Handle the case where the font from the
7979         style doesn't match any of the fonts a bit better.
7980         
7981         * gtk/testgtk.c: Add tabs between directional segments for
7982         hebrew/arabic test. (Not really necessary, just a little
7983         prettier.)
7984
7985 2000-12-14  Havoc Pennington  <hp@redhat.com>
7986
7987         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
7988         reading a file
7989
7990 2000-12-14  Havoc Pennington  <hp@redhat.com>
7991
7992         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
7993         unused call to get_last_line()
7994
7995         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
7996         here until boxed is working (and maybe after that - we should
7997         really not gratuitously break old code)
7998
7999         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
8000         specific types for font_desc and tabs args, move them to
8001         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
8002         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
8003
8004         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
8005         use GTK_TYPE_POINTER for signal signatures as a hack-around
8006
8007         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
8008         PangoTabArray
8009
8010         * gtk/gtktextlayout.c (line_display_iter_to_index): 
8011         make static
8012         (line_display_index_to_iter): make static
8013
8014         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
8015         to marshal a string not a boxed
8016
8017         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
8018
8019         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
8020         since the UTF-8 isn't validated yet
8021
8022         * gtk/gtktextsegment.c (char_segment_check_func): don't require
8023         lines to end in '\n'
8024         
8025         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
8026         forward_to_delimiters, and grapheme boundaries
8027         (gtk_text_view_delete_from_cursor): properly handle non-newline
8028         delimiters, and grapheme boundaries
8029
8030         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
8031         to gtk_text_iter_forward_to_delimiters, and make it work properly
8032         if empty lines end with a character other than '\n'
8033
8034         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
8035         position
8036
8037 2000-12-15  Tor Lillqvist  <tml@iki.fi>
8038
8039         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
8040
8041         * gtk/gtk.def
8042         * gdk/gdk.def: Update.
8043
8044         * gdk/win32/gdkmain-win32.c
8045         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
8046         gdkmain-win32.c here.
8047
8048         * gdk/win32/makefile.mingw.in (all): No need to make
8049         gdk-win32res.o here, the makefile one step up will call us to make
8050         it.
8051
8052         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
8053         gdkkeys-win32.
8054
8055         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
8056
8057         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
8058         call to g_source_add().
8059
8060         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
8061         leak. Thanks to Andreas Kemnade.
8062
8063 2000-12-13  Havoc Pennington  <hp@pobox.com>
8064
8065         * gtk/gtktextbtree.h: Remove double _ in front of some functions
8066
8067         * gtk/gtktext*.[hc]: update accordingly
8068         
8069 2000-12-13  Havoc Pennington  <hp@pobox.com>
8070
8071         * gtk/gtktextbtree.h: Put _ in front of every function in this 
8072         header file
8073
8074         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
8075
8076 2000-12-13  Alex Larsson  <alexl@redhat.com>
8077
8078         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
8079         Add support for ps2 intellimouse.
8080
8081         * gdkkeyboard-fb.c:
8082         Move shift-F1 repaint handling to xlate handler only.
8083         
8084         * docs/README.linux-fb:
8085         Add imps2 to docs.
8086         Document the new refresh keys.
8087         
8088 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
8089
8090         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
8091
8092         * gtk/gtkbox.c: change property types from (u)long to (u)int for
8093         ::position and ::padding.
8094
8095         * gtk/gtkcontainer.c: make ::border_width an INT property.
8096
8097         * gtk/gtkpacker.c: make ::position an INT property.
8098
8099         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
8100         guard against NULL h/v scrollbars, since this is used at construction
8101         time.
8102
8103         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
8104         internal gtk_clist_constructor().
8105
8106         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
8107         gtk_ctree_constructor().
8108
8109         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
8110         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
8111
8112         * docs/reference/Makefile.am: fun stuff, disabled docs generation
8113         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
8114
8115         * gtk/gtkwidget.[hc]:
8116         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
8117         and gtk_widget_get().
8118         (gtk_widget_new): use g_object_new_valist().
8119         (gtk_widget_set): use g_object_set_valist().
8120
8121         * gtk/gtkobject.[hc]:
8122         removed gtk_object_arg_get_info(), gtk_object_getv(),
8123         gtk_object_query_args(), gtk_object_newv(),
8124         gtk_object_class_add_signals(),
8125         gtk_object_class_user_signal_new(),
8126         gtk_object_class_user_signal_newv(),
8127         gtk_object_arg_set(), gtk_object_arg_get(),
8128         gtk_object_args_collect(),
8129         gtk_object_default_construct(),
8130         gtk_object_constructed(),
8131         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
8132         removed nsignals, signals and n_args members from GtkObjectClass.
8133         (gtk_object_new): use g_object_new_valist().
8134         (gtk_object_set): use g_object_set_valist().
8135         (gtk_object_get): use g_object_get_valist().
8136         
8137         * gtk/gtkcompat.h: define gtk_object_default_construct().
8138         
8139         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
8140         g_object_new().
8141
8142         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
8143         fucntions, cleaned up method assignments (make sure your structures
8144         are setup properly before calling out). removed all GTK_CONSTRUCTED
8145         hacks ;)
8146
8147 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
8148
8149         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
8150         off-by-one error in checks. (Dave Lambert)
8151
8152 2000-12-12  Alexander Larsson  <alexl@redhat.com>
8153
8154         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
8155         Don't free gdk_fb_keyboard twice.
8156
8157 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
8158
8159         * gtk/testgtk.c:
8160         (create_tooltips): 
8161         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
8162         use GObject swapped_signal:: properties instead.
8163
8164         * gtk/gtkcellrenderertoggle.c: 
8165         * gtk/gtkcellrenderertextpixbuf.c: 
8166         * gtk/gtkcellrenderertext.c: 
8167         * gtk/gtkcellrendererpixbuf.c: 
8168         * gtk/gtkcellrenderer.c:
8169         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
8170         missing warnings for invalid property ids, install properties
8171         with g_object_class_install_property() now.
8172         
8173         * gtk/gtksignal.c:
8174         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
8175         
8176 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
8177         
8178         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
8179         to determine if a window is the focus widget within
8180         its toplevel.
8181
8182         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
8183         to be boolean.
8184
8185         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
8186         of the case where the container CAN_FOCUS to here instead
8187         of having it in each individual move-the-focus place.
8188
8189         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
8190         focusing to be geometric in a much more obvious sense. Arrowing
8191         around is still non-intuitive because it isn't perfect and
8192         because entries, etc, grab the arrow keys, but it at least
8193         usually will do what you expect now.
8194         
8195         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
8196         file.
8197
8198         * gtk/gtknotebook.c: Change tabs to be a single item in
8199         the focus chain. Make movement of focus on tabs with arrow
8200         keys wrap around.
8201         
8202         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
8203         CHECK_FIND_CHILD macro to give informative error messages
8204         instead of silent returns.
8205
8206         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
8207         flag since we handle GdkReturn on the tabs.
8208
8209         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
8210         windows rather than sending expose events directly.
8211
8212         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
8213         definition for GtkNotebookPage into .c file, since it is private.
8214
8215         * gtk/testgtk.c (create_notebook): Add option for 
8216         testing borderless notebook.
8217
8218         * gtk/testgtk.c (page_switch): Removed egregious poking
8219         around in GTK+ internals.
8220
8221         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
8222
8223         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
8224         properly through gtk_clist_focus. Make the title headers a
8225         single item in the tab-focus chain, and make left-right wrap
8226         around.
8227
8228         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
8229         focus method so that wrapping around works properly.
8230
8231         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
8232         that is handled for the widget now. 
8233
8234 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
8235
8236         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
8237         widgets as TOPLEVEL.
8238
8239         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
8240         TOPLEVEL widgets are containers.
8241
8242         * gtk/gtkinvisible.h: Remove useless include.
8243
8244 2000-12-11  Havoc Pennington  <hp@redhat.com>
8245
8246         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
8247         Handle chopping off \r\n and 0x2029 in addition to \n before
8248         passing to PangoLayout
8249
8250         * gtk/gtkimcontextsimple.c
8251         (gtk_im_context_simple_get_preedit_string): 
8252         return an empty string if no match is pending
8253
8254         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
8255         assertion that the returned preedit string was sane
8256
8257         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
8258         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
8259         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
8260
8261 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
8262
8263         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
8264         Fix up finalizer to chain to its parent.
8265
8266 2000-12-11  Alexander Larsson  <alexl@redhat.com>
8267
8268         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
8269         Clearified the difference between the keyboard types. Wrote a note
8270         about the magic sysrq key to get out of raw mode.
8271
8272 2000-12-09  James Henstridge  <james@daa.com.au>
8273
8274         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
8275         member to hold masks for detecting the start of a protocol packet.
8276         (mouse_devs): add packet start masks for ps2 and ms device types.
8277         Left the mask for fidmour blank, as I have no idea what it should
8278         be.
8279         (handle_mouse_io): skip bytes until we get to the start of a
8280         packet.  My Logitech mouse seems to be passing an extra NULL pad
8281         byte, and GPM does a similar thing here.
8282         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
8283         this is the ms mouse driver.
8284         (gdk_fb_mouse_ms_packet): fix up button handling, which was
8285         completely broken except for button1.  It was checking the wrong
8286         bit in the packet for the status of the right mouse button, and
8287         wrongly assuming right == button2 rather than 3.  I fixed that and
8288         also added support for middle button (button2).
8289
8290 2000-12-08  Havoc Pennington  <hp@redhat.com>
8291
8292         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
8293         that cause a segfault on text insertion
8294
8295         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
8296         warning
8297
8298         * gtk/gtktextiter.c (test_log_attrs): use
8299         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
8300
8301         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
8302         Get log attrs for a line, using a cache stored on the buffer
8303         
8304         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
8305         reported by Jeff Franks
8306
8307 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
8308
8309         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
8310         /dev/ttyS0 -> /dev/mouse
8311
8312 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
8313
8314         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
8315         Added dummy gdk_fontset_load.
8316
8317 2000-12-08  Alexander Larsson  <alexl@redhat.com>
8318
8319         * docs/README.linux-fb:
8320         * docs/Makefile.am:
8321         Initial GtkFB docs.
8322         
8323         * gdk/linux-fb/Makefile.am:
8324         Define GDK_DATA_PREFIX.
8325
8326         * gdk/linux-fb/gdkmain-fb.c:
8327         Fix typo.
8328         Change default display to /dev/fb0.
8329
8330         * gdk/linux-fb/gdkpango-fb.c:
8331         Add $(prefix)/share/fonts/ to font path.
8332         
8333 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
8334
8335         * gdk/linux-fb/gdkkeyboard-fb.c:
8336         New file containing the abstracted keyboard driver. Most code
8337         taken from gdkinput-ps2.c
8338
8339         * gdk/linux-fb/gdkinput-ps2.c:
8340         Removed file.
8341         
8342         * gdk/linux-fb/Makefile.am:
8343         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
8344
8345         * gdk/linux-fb/gdkcolor-fb.c:
8346         display->fb was renamed to display->fb_fd.
8347
8348         * gdk/linux-fb/gdkcursor-fb.c:
8349         gdk_mouse_get_info -> gdk_fb_mouse_get_info
8350
8351         * gdk/linux-fb/gdkinput.c:
8352         Moved gdk_input_init here from gdkinput-ps2.c
8353
8354         * gdk/linux-fb/gdkmain-fb.c:
8355         display->fb was renamed to display->fb_fd.
8356         Now the tty and the console is opened here instead
8357         of in the keyboard driver. Also check GDK_VT to see what
8358         tty to open.
8359         Move gdk_beep () here from gdkinput-ps2.c
8360         gdk_mouse_get_info -> gdk_fb_mouse_get_info
8361
8362         * gdk/linux-fb/gdkmouse-fb.c:
8363         Add header.
8364         gdk_mouse_get_info -> gdk_fb_mouse_get_info
8365         Return correct keyboard modifiers.
8366         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
8367
8368         * gdk/linux-fb/gdkprivate-fb.h:
8369         Add tty and vt info to display.
8370         Add orignal modeinfo storage to display
8371         Update global functions
8372
8373         * gdk/linux-fb/gdkwindow-fb.c:
8374         Added gdk_fb_window_find_focus().
8375         gdk_mouse_get_info -> gdk_fb_mouse_get_info
8376
8377 2000-12-07  Havoc Pennington  <hp@pobox.com>
8378
8379         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
8380         function, noticed by Alex
8381
8382 2000-12-06  Elliot Lee  <sopwith@redhat.com>
8383
8384         * configure.in: Detect freetype properly
8385
8386         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
8387         above.
8388
8389 2000-12-06  Alexander Larsson  <alexl@redhat.com>
8390
8391         * gdk/linux-fb/Makefile.am:
8392         Add gdkmouse-fb.c
8393         
8394         * gdk/linux-fb/gdkmouse-fb.c:
8395         New file. Abstracted the mouse drivers a bit.
8396
8397         * gdk/linux-fb/gdkcursor-fb.c:
8398         The cursor hide/show functions was moved here from gdkinput-ps2.c.
8399
8400         * gdk/linux-fb/gdkinput-ps2.c:
8401         Removed old mouse handling code. Moved cursor handling code
8402         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
8403         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
8404         gdk_mouse_get_info.
8405
8406         * gdk/linux-fb/gdkmain-fb.c:
8407         Pass NULL pointers for x,y in gdk_mouse_get_info call.
8408
8409         * gdk/linux-fb/gdkprivate-fb.h:
8410         Removed public gdk_fb_find_common_ancestor, added and renamed
8411         functions for the new mouse handling code.
8412
8413         * gdk/linux-fb/gdkwindow-fb.c:
8414         Moved gdk_fb_window_send_crossing_events here. added global
8415         variable gdk_fb_window_containing_pointer. made
8416         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
8417         renamed to gdk_mouse_get_info.
8418
8419 2000-12-06  Alexander Larsson  <alexl@redhat.com>
8420
8421         * gdk/linux-fb/gdkevents-fb.c:
8422         Update to match latest gmain/gsource changes.
8423
8424         * gdk/linux-fb/gdkinput-ps2.c:
8425         Bogus gdk_keymap_get_entries_for_keycode implementation so that
8426         it links. Will be implemented later.
8427
8428 2000-12-03  Havoc Pennington  <hp@pobox.com>
8429
8430         * gdk/Makefile.am: add gdkkeys.[hc]
8431
8432         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
8433         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
8434
8435         * acconfig.h, configure.in: add checks and command line options
8436         for XKB
8437
8438         * gdk/x11/gdkkeys-x11.c: Implement the above functions
8439         
8440         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
8441         and group in the key event
8442
8443         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
8444         field with the low-level hardware key code, and a group
8445         field with the keyboard group
8446
8447         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
8448         and declare a couple globals used for keymap handling
8449         
8450         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
8451         hold down Shift-Control and type a hex number to get a Unicode 
8452         character corresponding to the hex number
8453         (gtk_im_context_simple_get_preedit_string): Fix cursor position
8454         (return bytes not chars)
8455
8456 2000-12-05  Elliot Lee  <sopwith@redhat.com>
8457
8458         * gdk/gdkcolor.h: Make GdkColor specify element sizes
8459         to avoid waste on 64-bit platforms.
8460
8461 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
8462
8463         * INSTALL: Fix link to PNG home, remove reference
8464         to fribidi.
8465
8466         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
8467         
8468         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
8469         tested.)
8470
8471         * gtk/gtkcheckmenuitem.c: Permanently turn on
8472         always_show_toggle.
8473
8474         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
8475         be NULL. (Vladimir Klebanov, #26545)
8476
8477         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
8478         some signed/unsigned comparison problems. (#6510,
8479         David Kaelbling)
8480
8481         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
8482         return type to boolean (Oskar Liljeblad, #18648)
8483
8484 2000-12-05  Alexander Larsson  <alexl@redhat.com>
8485
8486         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
8487         Remove bogus colormap setting.
8488
8489 2000-12-05  Alexander Larsson  <alexl@redhat.com>
8490
8491         * gdk/linux-fb/gdkcolor-fb.c:
8492         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
8493
8494         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
8495         Must set colormap.
8496         
8497 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
8498
8499         * docs/tutorial/gtk-tut.sgml: DND updates
8500
8501 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
8502
8503         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
8504         Remove old debug g_warning().
8505         (gdk_fb_draw_drawable): The src argument can be either a wrapper
8506         or an implementation, just pass the implementation to draw_drawable_2.
8507         
8508         * gdk/linux-fb/gdkprivate-fb.h:
8509         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
8510
8511         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
8512         clear and invalidate area when window is destroyed.
8513         (send_map_events): Remove old commented out code.
8514
8515 2000-12-05  Alexander Larsson  <alexl@redhat.com>
8516
8517         * gdk/linux-fb/gdkpango-fb.c:
8518         Use italic instead of oblique in font aliases.
8519         
8520         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
8521         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
8522         other unsupported functions.
8523
8524 2000-12-04  Havoc Pennington  <hp@redhat.com>
8525
8526         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
8527
8528         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
8529
8530         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
8531
8532         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
8533         hack to avoid infinite loops (synthetic expose event) - 
8534         Owen has more appropriate fixes in a branch he'll check in later.
8535
8536         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
8537         separator, CR, and CRLF as line ends
8538
8539         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
8540         into lines using pango_find_paragraph_boundary(); other bits of
8541         the widget are still going to be broken if the boundary isn't '\n'
8542         though
8543
8544 2000-12-04  Alexander Larsson  <alexl@redhat.com>
8545
8546         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
8547         multiply.
8548
8549         * gdk/linux-fb/gdkpango-fb.c:
8550         Copied some 26.6 scaling macros from pango to clean up the rounding.
8551         (pango_fb_font_get_glyph_info): Correct sign on x value.
8552
8553         * gdk/linux-fb/gdkprivate-fb.h:
8554         Removed unreferenced external functions.
8555
8556         * modules/linux-fb/Makefile.am: Use ` instead of '.
8557
8558         * modules/linux-fb/basic.c:
8559         Remove dead code. In particular the dummy lang engine which broke all
8560         pango layouts in GtkFB. Don't include tables-big.i anymore.
8561
8562         * modules/linux-fb/tables-big.i:
8563         Upgrade to latest version from pango. Left for reference, basic_ranges
8564         moved to basic.c.
8565         
8566 2000-12-04  Havoc Pennington  <hp@redhat.com>
8567
8568         Fix bugs Alex found:
8569         
8570         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
8571         to "draw"
8572
8573         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
8574
8575         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
8576
8577         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
8578         implementation in here, apparently the expose() implementation was
8579         dead code.
8580
8581 2000-12-04  Alexander Larsson  <alexl@redhat.com>
8582
8583         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
8584         Return positive descent.
8585
8586 2000-12-02  Havoc Pennington  <hp@pobox.com>
8587
8588         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
8589         method and signal
8590         
8591         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
8592         calls gdk_window_process_updates() to push the exposes through
8593         (gtk_widget_class_init): No more draw signal, no
8594         gtk_widget_real_draw()  
8595         
8596         * gtk/gtkbin.c (gtk_bin_draw): remove
8597
8598         * gtk/gtkbox.c (gtk_box_draw): remove
8599
8600         * gtk/gtkbutton.c (gtk_button_draw): remove
8601
8602         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
8603
8604         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
8605
8606         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
8607
8608         * gtk/gtkclist.c (gtk_clist_draw): remove
8609
8610         * gtk/gtkentry.c (gtk_entry_draw): remove
8611
8612         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
8613
8614         * gtk/gtkfixed.c (gtk_fixed_draw): remove
8615
8616         * gtk/gtkframe.c (gtk_frame_draw): remove
8617
8618         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
8619
8620         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
8621
8622         * gtk/gtklayout.c (gtk_layout_draw): remove
8623
8624         * gtk/gtklist.c (gtk_list_draw): remove
8625
8626         * gtk/gtklistitem.c (gtk_list_item_draw): remove
8627
8628         * gtk/gtkmenu.c (gtk_menu_draw): remove
8629
8630         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
8631
8632         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
8633
8634         * gtk/gtknotebook.c (gtk_notebook_draw): remove
8635
8636         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
8637
8638         * gtk/gtkpacker.c (gtk_packer_draw): remove
8639
8640         * gtk/gtkrange.c (gtk_range_draw): remove
8641
8642         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
8643
8644         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
8645
8646         * gtk/gtktable.c (gtk_table_draw): remove
8647
8648         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
8649
8650         * gtk/gtktext.c (gtk_text_draw): remove
8651
8652         * gtk/gtktextview.c (gtk_text_view_draw): remove
8653
8654         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
8655
8656         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
8657
8658         * gtk/gtktree.c (gtk_tree_draw): remove
8659
8660         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
8661
8662         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
8663
8664         * gtk/gtkviewport.c (gtk_viewport_draw): remove
8665
8666         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
8667
8668         * gtk/gtkvscale.c (gtk_vscale_draw): remove
8669
8670         * gtk/gtkwindow.c (gtk_window_draw): remove
8671
8672 2000-20-01  Anders Carlsson  <andersca@gnu.org>
8673
8674         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
8675         a GtkToggleButton is both insensitive and active, it was being
8676         drawn by the GtkButton draw handler which doesn't check the
8677         state. Now it's calling gtk_toggle_button_paint instead.
8678         
8679 2000-12-01  Havoc Pennington  <hp@redhat.com>
8680
8681         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
8682         dangling pointers to the appearance attributes from the 
8683         line display
8684
8685         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
8686         width/height to mean "full width/height of drawable"
8687
8688         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
8689         click to select word/line
8690         
8691         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
8692         when getting log attrs. Get a slice, so that pixmaps and stuff
8693         are properly handled.
8694
8695         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
8696         paste into the selection (replaces selection now, previously
8697         crashed or added to selection). Reveals longstanding btree bug -
8698         select multiple lines, middle-click on the selection, boom. This
8699         isn't related to my changes though.
8700
8701         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
8702         PangoLogAttrs changes
8703         (gtk_entry_move_backward_word): ditto
8704
8705         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
8706         functions return bool whether the iter moved onto a
8707         dereferenceable position.
8708  
8709         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
8710         functions for motion in terms of display lines.
8711
8712         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
8713         get the buffer a mark is inside
8714         
8715 2000-12-01  Alexander Larsson  <alexl@redhat.com>
8716
8717         * gdk/linux-fb/Makefile.am:
8718         * modules/linux-fb/Makefile.am:
8719         Freetype 2 final uses freetype-config
8720
8721         * gdk/linux-fb/gdkpango-fb.c:
8722         Upgrade to use Freetype 2 final.
8723         More flexible support for font aliases, this also fixes a bug with
8724         GtkFontSelector, as the aliases must be visible in the font/family list,
8725         or GtkFontSelector reads uninitialized memory.
8726
8727 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
8728
8729         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
8730         XGetIMValues to properly terminate variable argument list, and do
8731         NULL return check for ic_values and xim_styles.
8732
8733         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
8734         Restore preedit state after XmbResetIC().
8735         
8736         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
8737         XvaCreateNestedList() should take XvaNestedList, but not
8738         XvaNestedList*.
8739
8740         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
8741         preedit_draw_callback, preedit_caret_callback): Match
8742         "preedit-changed" signal name to "preedit_changed" to be
8743         consistent to the spec.
8744
8745         * gtk/gtkimcontextsimple.c (check_table):
8746         Match "preedit-changed" to "preedit_changed" to be consistent
8747         to the spec.
8748
8749 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
8750
8751         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
8752         gc->clip_region == NULL>
8753
8754 2000-11-30  Tor Lillqvist  <tml@iki.fi>
8755
8756         Changes by Hans Breuer:
8757         
8758         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
8759         Dont't use negative width and height as max_hints. This fixes
8760         Owen's recent testgtk changes for win32.
8761
8762         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
8763         gdk_win32_hdc_release): These are exported and may be called with
8764         other drawable types than our GdkDrawableImplWin32 (?).
8765
8766         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
8767         so always #define USE_BACKING_STORE.
8768
8769         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
8770         of printf for debugging output.
8771
8772         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
8773         
8774         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
8775
8776         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
8777         declaration.
8778
8779         * gtk/gtktexttypes.h: Ditto.
8780
8781         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
8782         (GDK_VoidSymbol) also if in case of arg check failure.
8783
8784         * gtk/gtkimcontextsimple.c
8785         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
8786         position to the pointer, but to the variable it points to.
8787
8788         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
8789
8790         * gtk/gtk.def: Updates.
8791
8792 2000-11-29  Elliot Lee  <sopwith@redhat.com>
8793
8794         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
8795         GTK_TYPE_TREE_MODEL.
8796
8797 2000-11-29  Alexander Larsson  <alexl@redhat.com>
8798
8799         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
8800         Set the size of the font from the description.
8801         (gdk_text_width): Gross hack that calculates the width
8802         of text by text_length * size/2. This is necessary because
8803         GtkLabel does some ugly gtk_string_width call to calculate
8804         an good size.
8805         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
8806
8807 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
8808
8809         * docs/tutorial/gtk-tut.sgml: DND updates
8810
8811 2000-11-29  Alexander Larsson  <alexl@redhat.com>
8812
8813         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
8814         If you pass width or height == 0 to gdk_window_clear_area they
8815         should be calculated from the window size.
8816
8817 2000-11-29  Alexander Larsson  <alexl@redhat.com>
8818
8819         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
8820         a grab, but no grab-cursor, use the cursor from the grabbed
8821         window. (gdk_fb_window_send_crossing_events): Send normal
8822         enter/leave notifications if grab and owner_events == TRUE.
8823
8824 2000-11-29  Alexander Larsson  <alexl@redhat.com>
8825
8826         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
8827         Do implicit button grabs, even if the window doesn't
8828         want the event.
8829         (gdk_fb_window_send_crossing_events): If there is a
8830         grab, only the grabbed window gets normal enter/leave
8831         notifications. On ungrab go from grabbed window to current.
8832         Don't send any notification to b when propagating from c -> b.
8833         If setting a grab on window, don't set prev_window.
8834         (handle_mouse_input): Send enter/leave events to the window the
8835         mouse is over, not the grabbed one.
8836         
8837 2000-11-28  Elliot Lee  <sopwith@redhat.com>
8838
8839         * gdk/gdkregion-generic.c: Zap warning.
8840         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
8841         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
8842
8843 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
8844
8845         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
8846         The cursor should be hidden if it is part of either the
8847         source or destination region. Not only if it is in both.
8848         (gdk_window_set_transient_for): Silence warnings.
8849
8850 2000-11-28  Alexander Larsson  <alexl@redhat.com>
8851
8852         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
8853         The default mode in X is Pie Arcs, therefore that is
8854         what Gtk+ uses.
8855
8856 2000-11-28  Alexander Larsson  <alexl@redhat.com>
8857
8858         * gdk/linux-fb/gdkinput-ps2.c:
8859         Implement correct EnterNotify/LeaveNotify:
8860         (gdk_fb_window_send_crossing_events): New function that sends
8861         all GdkCrossingEvents from the last mouse-window to the specified
8862         destination.
8863         (gdk_fb_window_visibility_crossing): Removed function.
8864         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
8865         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
8866         instead of gdk_window_get_pointer() for better readability.
8867
8868         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
8869         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
8870
8871         * gdk/linux-fb/gdkprivate-fb.h:
8872         removed gdk_fb_window_visibility_crossing, added
8873         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
8874
8875         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
8876         New function that finds the least common ancestor of two windows.
8877         (gdk_window_show, gdk_window_hide):
8878         Use gdk_fb_window_send_crossing_events.
8879         (gdk_fb_window_move_resize): Send configure events to toplevel
8880         windows. Use gdk_fb_window_send_crossing_events.
8881
8882 2000-11-27  Havoc Pennington  <hp@redhat.com>
8883
8884         * gtk/gtkprivate.h (enum): Remove a trailing comma
8885
8886 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
8887
8888         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
8889         the "changed" callback of the adjustment.  We need to redraw the
8890         spin button's arrows when the adjustment's range changes.
8891         (adjustment_changed_cb): Draw the arrows.
8892         (gtk_spin_button_value_changed): Draw the arrows.
8893
8894 2000-11-23  Alexander Larsson  <alexl@redhat.com>
8895
8896         * gdk/linux-fb/gdkselection-fb.c:
8897         Initial selection implementation.
8898
8899         * gtk/gtkselection.c:
8900         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
8901         requestor in gtk_selection_request.
8902         
8903         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
8904         Added gdk_selection_property atom.
8905
8906         * gdk/linux-fb/gdkprivate-fb.h:
8907         Export _gdk_selection_window_destroyed.
8908         Removed mask_off_x/y from GdkCursorPrivateFB.
8909         Removed hbearing, added top, left to PangoFBGlyphInfo.
8910
8911         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
8912         Call _gdk_selection_window_destroyed
8913         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
8914         the root window has been created.
8915         (static_dx_hack, static_dy_hack, compare_draw_rects,
8916         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
8917         in region. They are already sorted. Instead just traverse them in
8918         reverse if draw_direction < 0.
8919         
8920         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
8921         Double-clicks must be sent after the normal button_press.
8922         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
8923         
8924         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
8925         Pass _gdk_fb_screen_gc instead of NULL.
8926
8927         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
8928         Initialize gdk_selection_property.
8929         (gdk_event_make): Remove unused code.
8930
8931         * gdk/linux-fb/gdkcursor-fb.c:
8932         Make the pixmap for the cursor the same size as the mask. Also remove
8933         the mask_off_x/y fields in GdkCursorPrivateFB and combine
8934         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
8935         Now the whole cursor is visible.
8936
8937         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
8938         Fix bug where xdest+height instead of ydest+height was used
8939         to calculate if the source and dest overlapped. This fixes the
8940         redraw bug when the main window in testgtk was scrolled when
8941         partially covered by a tall window.
8942         Copy rectangles in region in order depending on draw_direction.
8943         Also moved the draw_direction flipping of start_y and end_y into
8944         the gc functions, as this might not be what all of them want.
8945         (gdk_fb_draw_lines): Support dashed lines.
8946         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
8947         so that the text is positioned correctly (was 1 pixel high).
8948
8949         gdk/linux-fb/gdkgc-fb.c:
8950         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
8951         all lines were drawn a pixel to short. Also checked the default of
8952         the rest of the values, and they're the same as X now.
8953
8954         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
8955         Clean up pixel positioning of the glyphs. Just use bgy->top and
8956         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
8957         to all divisions to get correct rounding behaviour.
8958
8959         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
8960         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
8961         Moved start_y/end_y flip into draw_drawable implementations.
8962         Flip also x rendering when draw_direction < 0.
8963         Remove unneccesary multiply with draw_direction.
8964
8965 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
8966
8967         * docs/tutorial/gtk-tut.sgml:
8968           - get rid of gtk_toggle_button_toggled FUD
8969           - start DND section - needs work - based on:
8970                 http://wolfpack.twu.net/docs/gtkdnd/
8971
8972 2000-11-22  Alexander Larsson  <alexl@redhat.com>
8973
8974         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
8975         Correct calculation of font metrics. Now GtkEntrys have sane
8976         size.
8977
8978 2000-11-22  Alexander Larsson  <alexl@redhat.com>
8979
8980         * gdk/gdktypes.h:
8981         Add new type GdkSpan
8982         
8983         * docs/reference/gdk/gdk-sections.txt,
8984         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
8985         gdk/gdkregion.h:
8986         Implement and document gdk_region_spans_intersect_foreach.
8987
8988         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
8989         Add new file gdkrender-fb.c which contains all core
8990         rendering code.
8991         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
8992         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
8993         (optimized rectangle fillers).
8994
8995         * gdk/linux-fb/gdkdrawable-fb2.c:
8996         Move all rendering code to gdkrender-fb.c.
8997         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
8998         Use the new span intersection functions in gdk_fb_fill_spans.
8999         gdk_fb_draw_rectangle() clips filled rectangles and calls
9000         gc->fill_rectangle with the result.
9001         gdk_fb_fill_spans() gets extra argument "sorted".
9002
9003         * gdk/linux-fb/gdkevents-fb.c:
9004         Remove unused includes and defines.
9005         New function gdk_fb_get_time() to get correct time for events.
9006
9007         * gdk/linux-fb/gdkinput-ps2.c:
9008         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
9009         Make sure to set the time of all events.
9010
9011         * gdk/linux-fb/gdkmain-fb.c:
9012         Use gdk_fb_get_time ().
9013
9014         * gdk/linux-fb/gdkprivate-fb.h:
9015         New virtual GC calls: fill_span & fill_rectangle.
9016         Export gdk_fb_get_time().
9017         gdk_fb_fill_spans() gets extra argument "sorted".
9018
9019         * gdk/linux-fb/mi*.c:
9020         Use GdkSpan instead of GdkRectangle.
9021         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
9022         from XFree 4 source)
9023         
9024 2000-11-22    <jrb@redhat.com>
9025
9026         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
9027         reversing the order in an if statement will do.  Doing so managed
9028         to make the treemodelsort half work.  Other half will follow after
9029         I get the insert function fully fixed.
9030
9031 2000-11-21  Elliot Lee  <sopwith@redhat.com>
9032         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
9033         more than 2 bits. Besides, I need to implement an evil hack. :)
9034
9035 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
9036
9037         * docs/tutorial/gtk-tut.sgml: minor corrections
9038
9039 2000-11-20  Jonathan Blandford <jrb@redhat.com>
9040         * gtk/gtktreemodelsort.h: Add convertion functions to let you
9041           convert to and from relative path's and iters.
9042
9043         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
9044           testing sorting functions a bit better.  Currently broken -- will
9045           fix in morning.
9046
9047 2000-11-20  Havoc Pennington  <hp@redhat.com>
9048
9049         * gtk/gtkwidget.c: Documented a bunch of functions in here
9050         (gtk_widget_realize): Warn if you try to realize
9051         a widget with no parent that isn't a toplevel
9052         (gtk_widget_intersect): return a gboolean
9053
9054 2000-11-20  Havoc Pennington  <hp@redhat.com>
9055
9056         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
9057         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
9058         scrolling to be implemented in GDK to finish. Also, right now
9059         we just size_allocate all children on every layout change,
9060         which is pretty lame. Test commented out of testtext.c, 
9061         until it works better.
9062
9063 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
9064
9065         * gdk/linux-fb/gdkdrawable-fb2.c:
9066         Removed unused arguments from gdk_fb_drawable_get_pixel().
9067
9068         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
9069         Renamed fidur specific mouse packet data in MouseDevice to
9070         generic. Used it in ps2 mouse handling code to avoid blocking
9071         reads.
9072
9073 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
9074
9075         * demos/gtk-demo/main.c: Changed to have the list become
9076         non-italic when the demo window is destroyed through an external
9077         event (like a close button).  Doing so found three bugs in the
9078         widget.
9079
9080         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
9081
9082         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
9083         we actually set the cell.
9084
9085         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
9086
9087         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
9088         free a leaked path.  Thanks memprof.
9089
9090 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
9091
9092         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
9093         off-by-one error when destroying allocated segments
9094         on failure. (Elliot)
9095
9096 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
9097
9098         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
9099         memleaks found by Evan Martin.
9100
9101 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
9102
9103         * Released 1.3.2
9104         
9105         * NEWS: Updates for 1.3.2
9106
9107 2000-11-17  Tor Lillqvist  <tml@iki.fi>
9108
9109         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
9110         but in general for window system specific events.
9111
9112         * gtk/gtk.def
9113         * gtk/makefile.mingw.in
9114         * gtk/makefile.msc.in: Update.
9115         
9116         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
9117
9118 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
9119
9120         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
9121         distribute gtk.immodules.
9122
9123         * gtk/Makefile.am (install-data-local): Don't install the
9124         gtk.immodules file created for the uninstalled modules;
9125         instead run gtk-query-immodules after install
9126
9127 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
9128
9129         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
9130         -rpath to the right install location.
9131
9132         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
9133         -export-dynamic.
9134
9135         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
9136         properly.
9137
9138 2000-11-15  Havoc Pennington  <hp@pobox.com>
9139
9140         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
9141         patch from Mikael Hermansson to temporarily stop blinking while
9142         the user is using the keyboard to type or navigate. 
9143
9144         Also, when blinking, stay on for longer than we stay off. Also,
9145         return from start_cursor_blink if !cursor_visible, to save
9146         checking that flag all over the place before we call
9147         start_cursor_blink.
9148
9149 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
9150
9151         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
9152         only contain a "fontset" line, which is now ignored.
9153
9154         * gtk/gtkentry.c (gtk_entry_button_release): Make 
9155         double-click-to-select-word work.
9156         
9157 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
9158
9159         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
9160         Don't move back one char when we are actually at the end of the 
9161         paragraph.
9162
9163 2000-11-15  Robert Brady  <robert@suse.co.uk>
9164
9165         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
9166         'o' < 'p'.
9167         
9168         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
9169         bind_textdomain_codeset.
9170
9171         (gtk_init_check): Make the warning about translating default:LTR
9172         sterner.
9173         
9174 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
9175
9176         * **/Makefile.am : remove unecessary rules for win32-specific
9177         config-substituted targets. If you want these rules, use
9178         --enable-maintainer-mode (called automatically by autogen.sh).
9179         Stops a lot of unneccessary make-time warnings.
9180
9181         * gtk/gtktext{layout,display}.c: Factor in total width as
9182         well as screen when figuring alignment for word-wrap as well as
9183         no wrap; this is necessary to handle lines that cannot be wrapped
9184         at all.
9185
9186 2000-11-15  Havoc Pennington  <hp@redhat.com>
9187
9188         * gtk/testtext.c: Implement essential color cycling feature
9189
9190 2000-11-15  Havoc Pennington  <hp@redhat.com>
9191
9192         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
9193         when we invalidate the main window.
9194
9195         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
9196         GtkTextView will now invalidate the side windows for us when text
9197         changes.
9198
9199 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
9200
9201         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
9202         unconditionally, since we may need to update the horizontal
9203         scrollbars even if the height didn't change.
9204
9205         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
9206         the extra attrs, since some of them affect size.
9207
9208         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
9209         x_offset correctly.
9210
9211 2000-11-15  Havoc Pennington  <hp@redhat.com>
9212
9213         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
9214         don't move the first line out into the margin, instead move the
9215         whole paragraph in order to make space for the first line within 
9216         the margin
9217
9218 2000-11-15  Havoc Pennington  <hp@redhat.com>
9219
9220         * gtk/gtktextview.c (changed_handler): offset redraw rect by
9221         xoffset in addition to yoffset, so horizontal scrolling doesn't
9222         break redraws
9223
9224 2000-11-15  Havoc Pennington  <hp@redhat.com>
9225
9226         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
9227         from the cursor
9228         (render_layout_line): fix reversed test that caused weird
9229         underlines to get drawn
9230
9231 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
9232
9233         * gdk/linux-fb/gdkprivate-fb.h:
9234         Fix debug macros.
9235         
9236 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
9237
9238         * gdk/linux-fb/gdkprivate-fb.h:
9239         Added virtual functions set_pixel, get_color,
9240         fill_span and draw_drawable to the GC.
9241         Added global _gdk_fb_screen_gc to use instead of
9242         NULL when drawing to the screen.
9243         Added _gdk_fb_gc_calc_state() prototype.
9244
9245         * gdk/linux-fb/gdkgc-fb.c:
9246         Call _gdk_fb_gc_calc_state() on any gc state change.
9247
9248         * gdk/linux-fb/gdkglobals-fb.c:
9249         Add _gdk_fb_screen_gc
9250                 
9251         * gdk/linux-fb/gdkdrawable-fb2.c:
9252         _gdk_fb_gc_calc_state() calculates best functions
9253         for the GC state and depth.
9254         Moved bpp specialized code to separate functions.
9255         Added optimized 24 bpp AA draw_drawable.
9256
9257         * gdk/linux-fb/gdkevents-fb.c:
9258         Silence gcc warning.
9259
9260         * gdk/linux-fb/gdkimage-fb.c:
9261         Use _gdk_fb_screen_gc
9262
9263         * gdk/linux-fb/gdkwindow-fb.c:
9264         Init and use _gdk_fb_screen_gc
9265
9266         * gdk/linux-fb/mitypes.h:
9267         Remove unused types.
9268
9269 2000-11-14  Havoc Pennington  <hp@pobox.com>
9270
9271         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
9272         to pixels
9273
9274 2000-11-14  Havoc Pennington  <hp@pobox.com>
9275
9276         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
9277
9278         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
9279         unknown char, no real reason we were using a variable. 
9280         Remove gtk_text_unknown_char variable. Fix all the text widget
9281         files accordingly.
9282
9283         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
9284         since the Unicode spec seems to prefer that character for our
9285         purposes.
9286
9287 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
9288
9289         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
9290         value of g_getenv() isn't freeable, so g_strdup it.
9291
9292         * modules/input/inuktitut.c: Inuktitut input method.
9293
9294         * modules/input/Makefile.am: Build this.
9295         
9296 2000-11-14  Elliot Lee  <sopwith@redhat.com>
9297
9298         * gtk/Makefile.am: Install gtk.immodules, needed for operation
9299         of gtk programs.
9300
9301 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
9302
9303         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
9304         reversed > that was causing Home to go to end of previous line.
9305
9306         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
9307         modified-keypresses (leave for bindings.)
9308
9309         * modules/input/Makefile.am: Remove useless -export-dynamic
9310         from module LDFLAGS.
9311
9312 2000-11-14  Havoc Pennington  <hp@redhat.com>
9313
9314         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
9315         higher.
9316
9317         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
9318         account. Also, render rise, underline, background, etc. for
9319         pixbufs as well as text. Also, draw underlines one pixel higher.
9320
9321         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
9322         PangoAttribute for the rise, so it gets drawn properly. Also,
9323         add the GtkTextAppearance attribute for pixbuf/widget segments
9324         as well; we should go ahead and have rise, underline, background,
9325         stipple work for those
9326
9327         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
9328         Pango
9329
9330 2000-11-15  Tor Lillqvist  <tml@iki.fi>
9331
9332         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
9333
9334         * gtk/gtk.def: Update.
9335
9336         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
9337         included.
9338         (gtk_rc_get_im_module_file): Use run-time installation directory
9339         on Win32.
9340
9341         * gdk/win32/rc/gdk.rc: Remove.
9342         * gdk/win32/rc/gdk.rc.in: New file.
9343         * gdk/win32/rc/Makefile.am: New file
9344         * gdk/win32/Makefile.am: Corresponding changes.
9345
9346         * gtk/gtk.rc: Remove.
9347         * gtk/gtk-win32.rc.in: New file.
9348         * gtk/Makefile.am: Corresponding changes.
9349
9350         * configure.in: Corresponding changes.
9351
9352         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
9353         has a built gtkcompat.h. Developers using CVS code on Win32 can
9354         hand-edit it from gtkcompat.h.in.
9355
9356         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
9357         gtkcompat.h from gtkcompat.h.win32.
9358
9359 2000-11-14  Havoc Pennington  <hp@redhat.com>
9360
9361         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
9362         to default to GDK_ACTION_MOVE if the drag is within a single
9363         widget. Defaults to GDK_ACTION_COPY between widgets.
9364
9365 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
9366
9367         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
9368
9369         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
9370
9371         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
9372         srcdir != builddir
9373
9374         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
9375
9376         * configure.in (GTK_VERSION): Up to 1.3.2
9377
9378         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
9379         gtkimcontextxim.h
9380
9381         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
9382         missing doc comment.
9383
9384 2000-11-14  Alexander Larsson  <alexl@redhat.com>
9385
9386         * modules/linux-fb/basic.c:
9387         Use the glib iconv wrappers.
9388
9389 2000-11-13  Havoc Pennington  <hp@pobox.com>
9390
9391         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
9392         still more bugs.
9393
9394         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
9395         scroll the GdkWindows before realization.
9396
9397 2000-11-13  Havoc Pennington  <hp@redhat.com>
9398
9399         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
9400         where GC didn't always get updated properly
9401
9402         * demos/gtk-demo/textview.c (create_tags): Use subattributes
9403         of fonts instead of setting the entire font
9404
9405         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
9406         setting entire font
9407
9408         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
9409
9410         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
9411         a bunch of individually-settable font attributes. You can still 
9412         use the "font" and "font_desc" args, they just set all the font
9413         attributes at once.
9414
9415 2000-11-13 Elliot Lee <sopwith@redhat.com>
9416
9417         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
9418
9419 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
9420
9421         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
9422         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
9423
9424         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
9425         work better.
9426
9427 2000-11-13  Havoc Pennington  <hp@redhat.com>
9428
9429         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
9430         the module file.
9431
9432         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
9433         dest->language
9434
9435         * gtk/testtext.c: Test pixels above/below/inside paragraphs
9436         settings
9437
9438         * gtk/gtktextview.c: Implement object args and setters/getters for
9439         all the aspects of the GtkTextAttributes that are not set from
9440         GtkWidget attributes. This is spacing, justification, margins,
9441         etc.
9442
9443         (gtk_text_view_set_arg)
9444         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
9445         args
9446         (gtk_text_view_class_init): Add args for justify, left_margin,
9447         right_margin, indent, and tabs
9448         
9449
9450         * gtk/gtktextlayout.c (set_para_values): fix to display indent
9451         attribute properly
9452
9453         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
9454         replace with indent attribute
9455
9456         * gtk/gtktextlayout.c (set_para_values): multiply indent by
9457         PANGO_SCALE
9458
9459         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
9460         rearranging code to do that
9461         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
9462         i.e. don't subtract the top_margin first, just to keep
9463         all margin-futzing in one place.
9464
9465         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
9466
9467         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
9468         special case of last line, Pango now handles this itself.
9469         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
9470         Y coordinate
9471         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
9472         (find_display_line_above): wasn't moving the byte index as it
9473         iterated over lines, so always returned byte 0. Also, port to use
9474         PangoLayoutIter.
9475         (find_display_line_below): same problem as
9476         find_display_line_above. Also, port to use PangoLayoutIter.
9477
9478 2000-11-13  Alexander Larsson  <alexl@redhat.com>
9479
9480         * gdk/linux-fb/*.[ch]:
9481         Massive reindent to gtk+ standard. My hands hurt.
9482
9483         * gdk/linux-fb/gdkcolor-fb.c:
9484         Move GdkColorPrivateFB from inherited to windowing_data
9485
9486         * gdk/linux-fb/gdkcursor-fb.c:
9487         _gdk_cursor_new_from_pixmap made static
9488
9489         * gdk/linux-fb/gdkdnd-fb.c:
9490         GdkDragContextPrivate moved to windowing_data
9491
9492         * gdk/linux-fb/gdkdrawable-fb2.c:
9493         Removed endian.h, use glib endianness macros instead
9494         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
9495         and GDK_DRAWABLE_IMPL_FBDATA
9496
9497         * gdk/linux-fb/gdkfont-fb.c:
9498         Add empty gdk_font_load(). Needed for linking of Gtk+.
9499
9500         * gdk/linux-fb/gdkimage-fb.c:
9501         Removed endian.h, use glib endianness macros instead
9502         Moved GdkImagePrivateFB to windowing_data
9503         gdk_image_new_bitmap didn't always allocate enough
9504         memory.
9505
9506         * gdk/linux-fb/gdkinput-ps2.c:
9507         Added semi-working support for MS serial mice.
9508
9509         * gdk/linux-fb/gdkprivate-fb.h:
9510         s/GdkWindowPrivate/GdkWindowObject/
9511         Removed GdkWindowPrivate typedef
9512         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
9513         Removed GDK_DRAWABLE_P
9514         Move GdkColorPrivateFB from inherited to windowing_data
9515         Moved GdkImagePrivateFB to windowing_data
9516
9517         * gdk/linux-fb/gdkvisual-fb.c:
9518         Removed some unused debug code.
9519
9520         * gdk/linux-fb/gdkwindow-fb.c:
9521         Use stock cursors instead of including X headers.
9522         s/GdkWindowPrivate/GdkWindowObject/
9523
9524         * gdk/linux-fb/mitypes.h:
9525         Removed unused types.
9526
9527         * modules/linux-fb/basic.c:
9528         Use the pango fribidi wrappers.
9529
9530 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
9531
9532         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
9533         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
9534         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
9535         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
9536         GEqualFunc where applicable.
9537         
9538         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
9539         pango_font_description_equal as changed in pango.
9540         
9541         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
9542
9543         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
9544
9545         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
9546
9547         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
9548
9549         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
9550
9551         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
9552
9553         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
9554         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
9555
9556         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
9557         gtk_rc_styles_compare -> gtk_rc_styles_equal.
9558
9559 2000-11-12  Havoc Pennington  <hp@pobox.com>
9560
9561         * demos/gtk-demo/Makefile.am (democodedir): change demo install
9562         dir to datadir/gtk+-2.0/demo
9563
9564         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
9565         sorts of text widget and Pango font bugs. Urgh.
9566
9567         * demos/gtk-demo/Makefile.am (demos): Add textview.c
9568
9569         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
9570         tree that you should double click to see the demo. Fix 
9571         types of variables to reflect changed return values from 
9572         GtkTreeStore and GtkTreeViewColumn constructors.
9573
9574         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
9575         newly-created buffer to prepare for GObject semantics
9576
9577         * gtk/testtext.c: don't leak the buffer with GObject semantics
9578
9579         * gtk/testtextbuffer.c: ditto
9580         
9581 2000-11-12  Havoc Pennington  <hp@pobox.com>
9582
9583         Rename this testgtk to gtk-demo to avoid confusion, and 
9584         install it so people can use it as a supplement to 
9585         the documentation.
9586         
9587         * demos/gtk-demo: Moved from demos/testgtk
9588
9589         * demos/testgtk: Removed
9590
9591         * configure.in: make Makefile in gtk-demo
9592         
9593         * demos/gtk-demo/Makefile.am: Install sample source to 
9594         datadir/gtk-demo (maybe there's a better place?), and 
9595         rename the binary to gtk-demo
9596         
9597         * demos/gtk-demo/main.c (load_file): Load installed sample
9598         source if source isn't found in pwd.
9599
9600 2000-11-09  Havoc Pennington  <hp@pobox.com>
9601
9602         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
9603         argument to set the char displayed when visibility == FALSE
9604         (gtk_entry_create_layout): If !entry->visible, replace 
9605         all chars with the "invisible char"
9606
9607         * gtk/testgtk.c: Test the invisible_char deal
9608         
9609 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
9610
9611         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
9612         can't get a native font in the right encoding.
9613
9614 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
9615
9616         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
9617         respectively.
9618
9619 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
9620
9621         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
9622         Fix warning when moving between paragraphs.
9623
9624         * gtk/gtkentry.[ch]: Change move => move_cursor, 
9625         delete => delete_from_cursor, insert => insert_at_cursor
9626
9627 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
9628
9629         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
9630
9631         * modules/input/imthai-broken.c: A Thai input method for use if
9632         Thai keys are really generating Latin1 keysyms.
9633
9634         * modules/input/Makefile.am: Build these.
9635
9636 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
9637
9638         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
9639         g_filename_{to,from}_utf8 now takes an extra parameter.
9640
9641         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
9642         strftime into UTF-8.
9643
9644         (column_from_x, gtk_calendar_paint_day_names): Support RTL
9645         calendars.
9646
9647         (gtk_calendar_paint_day_names): Draw day names in the right 
9648         place.
9649         
9650 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
9651
9652         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
9653         problem with using result of g_get_charset() backwards -
9654         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
9655
9656         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
9657         negative min_width/height and max_width/height to
9658         mean "requisition"; this allows setting a window
9659         to be user-resizable in only one direction easily.
9660
9661         * gtk/testgtk.c (create_main_window): Remove hard-coded
9662         usize - set a default size in the vertical direction.
9663
9664 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
9665
9666         * gtk/gtkrange.c: Add some missing casts. Support 
9667         2 and 3 button clicks on the arrows to mean 
9668         "move by pages" and "jump to end". (Like gtkspinbutton)
9669
9670 2000-11-12 Hans Breuer <Hans@Breuer.Org>
9671
9672         * gdk/win32/makefile.msc : reflect build module changes
9673
9674         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
9675         from GdkPixmap*, cast implementation member instead.
9676
9677         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
9678         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
9679         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
9680         more Gdi functions return value checking. 
9681         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
9682         GdkImagePrivateWin32 *.
9683
9684         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
9685         menus useable again. Add #pragma message to keep reminded on this issue.
9686         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
9687         windows. This allows to enable backing store on Win32!
9688
9689         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
9690         in drawable is of impl type. Correct specific type checks appropriate.
9691  
9692         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
9693         GDK_WINDOW_DESTROYED before allocating new resources.
9694
9695         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
9696
9697         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
9698         (gdk_window_foreign_new) initialize parent handle.
9699         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
9700
9701         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
9702         Let the GDI invalidate the window on MoveWindow call to fix scrolling
9703         problems (e.g. main buttons in testgtk). 
9704
9705 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
9706
9707         * gtk/gtkentry.c (gtk_entry_key_press): Call 
9708         gtk_widget_activate for GDK_Return.
9709
9710         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
9711         of preedit cursor position.
9712
9713 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
9714
9715         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
9716         static.
9717
9718 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
9719
9720         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
9721         out support for multiple locales; that simple doesn't
9722         work reliably with current Xlib
9723
9724         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
9725         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
9726         Add support for positioning the cursor within the preedit string.
9727
9728 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
9729
9730         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
9731         at XIM input method module.
9732
9733         * gtk/gtktextview.c: Check for bindings after passing
9734         events to im context filter.
9735
9736 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
9737
9738         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
9739         empty attribute lists properly.
9740
9741 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
9742
9743         * gtk/queryimmodules.c (main): Return non-zero exit
9744         status if errors were encountered querying any
9745         modules.
9746
9747         * modules/input/Makefile.am (moduledir): remove
9748         leftover bin program target.
9749
9750         * docs/make-todo: Fix typo in error message.
9751
9752 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
9753
9754         * configure.in: Add modules/input/Makefile
9755
9756 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
9757
9758         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
9759         don't include gtkthemes.h.
9760
9761         * gtk/testgtk.c gtk/testtext.c: Set environment variables
9762         to point
9763
9764         * gtk/Makefile.am: Add new .c and .h files, build 
9765         gtk-query-immodules and use it to create a gtk.immodules
9766         file for use of test programs.
9767
9768         * gtk/gtkpreview.c: remove extra blank line.
9769
9770 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
9771
9772         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
9773         Add the ability to add extra tables beyond the default
9774         one, and also the ability to have compose sequences 
9775         that are prefixes of other compose sequences. 
9776
9777         * gtk/gtkimcontextsimple.c: Export a preedit string which
9778         consists of possible candidates for keystrokes that have
9779         been entered but not yet committed.
9780
9781         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
9782         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
9783
9784         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
9785         Add a function to add input-method switching menu items
9786         to a menu.
9787
9788         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
9789         when switching input methods.
9790
9791         * gtk/gtkimcontextsimple.[ch]: Change the format of
9792         the compose table to allow compose tables of different
9793         lengths / sequence.
9794
9795 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
9796
9797         * gtk/gtkimmodule.[ch]: Support routines for loading
9798         GtkIMContext implementations dynamically at runtime.
9799
9800         * modules/input/imcyrillic-translit.c: A sample input
9801         method (based on GtkIMContextSimple with an extra table),
9802         which demonstrates preedit strings and the module
9803         system for input modules
9804
9805         * gtk/queryimmodules.c: Program to query the available
9806         input modules and write the results into a file.
9807          
9808         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
9809         extra config options "im_module_file" (cache file for
9810         input method modules), and "im_module_path" - path
9811         to look for modules when generating cache file.
9812
9813         This doesn't scale.
9814
9815 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
9816
9817         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
9818         generic code from gtkthemes into a new abstraction
9819         GtkModule which has the logic for implementing
9820         a loadable module which implements a number of 
9821         GObject types.
9822
9823 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
9824
9825         * gtk/gtkeditable.[ch]: Convert GtkEditable from
9826         a class into an interface  
9827         
9828         * gtk/gtkoldeditable.[ch]: Move the old editable
9829         implementation into here, so legacy widgets can
9830         still rely on the implemenation. GtkOldEditable
9831         exports GtkEditable. Make selection handling
9832         code use new text conversion functions (and
9833         handle UTF-8 as a side-effect). Use GtkClipboard
9834         for CLIPBOARD.
9835
9836         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
9837         Adopt to match above changes.
9838
9839         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
9840         avoid GtkOldEditable implementation. Restructure
9841         to reduce number of places that modify state directly.
9842         Move to GtkBindingSet. Display the preedit string.
9843         Queue recomputation of PangoLayout and scroll position
9844         to improve effiency of doing complex changes naively.
9845         Add a menu with cut/copy/paste and input method selection.
9846
9847 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
9848
9849         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
9850         to set preedit string and attributes; display preedit string by
9851         inserting string and attributes at cursor when creating the
9852         GtkTextLineDisplay.
9853
9854         * gtk/gtktextlayout.c: Move all conversions between byte
9855         positions in PangoLayout and GtkTextIter into new functions
9856         line_display_iter_to_index/index_to_iter that properly
9857         handle the preedit string.
9858
9859         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
9860         it to return const char * (eventually will end up
9861         as GCONST char *, most likely.)
9862
9863         * gtk/gtktextview.[ch]: Handle the preedit string, call
9864         gtk_im_context_reset() as necessary, add a menu to switch
9865         input methods.
9866         
9867         * gtk/gtktextlayout.[ch]: Remove useless
9868         gtk_text_layout_get_log_attrs() function.
9869
9870 2000-11-11  Tor Lillqvist  <tml@iki.fi>
9871
9872         * gdk/gdk.def
9873         * gtk/gtk.def: Update.
9874
9875         * gdk/win32/*.c: Add last argument to g_type_register_static()
9876         calls.
9877
9878         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
9879
9880         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
9881         generated by older wheel mouse drivers. Get the correct y
9882         coordinate from WM_MOUSEWHEEL messages.
9883
9884         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
9885         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
9886         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
9887         Debugging functions.
9888
9889         * gdk/win32/gdkprivate-win32.h: Declare them.
9890
9891         * gdk/win32/gdkinput-win32.h: Add declaration for
9892         gdk_input_window_destroy().
9893
9894         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
9895
9896 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
9897
9898         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
9899         function to help handle keeping things in sync.
9900
9901 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
9902
9903         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
9904         BOXED marshallers.
9905
9906         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
9907         (gtk_list_store_class_init): use the new BOXED marshallers.
9908
9909         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
9910         new_with_values to new_with_types.
9911         (gtk_tree_store_get_column_type): add this.
9912         (gtk_tree_store_class_init): use the new BOXED marshallers.
9913
9914         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
9915         mirror some POINTER marshallers.
9916
9917 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
9918
9919         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
9920         allow more interesting iterators.  Also, made the lifecycle of
9921         iterators more explicit.
9922
9923         * gtk/gtktreemodelsort.[ch]: New model for sorting.
9924
9925         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
9926         types.
9927
9928 2000-11-09  Alexander Larsson  <alexl@redhat.com>
9929
9930         * demos/testgtk/menus.c:
9931         Changes to make the new testgtk compile after
9932         gtk_menu_append was removed.
9933
9934         * gdk/linux-fb/gdkdrawable-fb2.c
9935         (gdk_fb_get_depth, gdk_fb_get_visual,
9936         gdk_drawable_impl_fb_class_init): Implement
9937         these drawable functions. Now GtkImages work again.
9938
9939         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
9940
9941         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
9942         
9943         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
9944         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
9945         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
9946         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
9947
9948 2000-11-08  Havoc Pennington  <hp@pobox.com>
9949
9950         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
9951         visible_set args, don't know where these had gone, I thought they
9952         used to be there
9953
9954         * gtk/testtext.c: Add a menu item to apply invisibility tag;
9955         now we can test the feature and see that it's totally broken.
9956
9957 2000-11-08  Havoc Pennington  <hp@pobox.com>
9958
9959         Make DND copy pixbufs and tags when source and target share a 
9960         tag table.
9961         
9962         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
9963         in-process GTK_TEXT_BUFFER_CONTENTS target
9964         (gtk_text_view_drag_data_received): Paste from
9965         GTK_TEXT_BUFFER_CONTENTS if we receive it.
9966
9967 2000-11-08  Alexander Larsson  <alexl@redhat.com>
9968
9969         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
9970         API changes.
9971
9972         * gtk/gtkmenu.c: Add support for scrolling menus.
9973         Remove gtk_menu_append/prepend/insert, these have been moved to
9974         gtkcompat.h as #defines.
9975
9976         * gtk/gtkcompat.h.in:
9977         Add compatibility #defines for gtk_menu_append/prepend/insert
9978
9979         * gtk/gtkmenu.h: Add data needed for scrolling menus.
9980         GtkMenuPositionFunc gets an extra argument push_in.
9981         gtk_menu_append/prepend/insert removed.
9982         
9983         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
9984         positioning behaviour to fit to scrolling menus.
9985
9986         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
9987         into menuitem->submeny. That is wrong, and broke torn
9988         off submenus of torn off menus, since they were unrealized
9989         when the first menu was unrealized.
9990
9991         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
9992         gtk_menu_shell_select_item() since these need to be overridden in
9993         GtkMenu.
9994
9995         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
9996         positioning behaviour to fit to scrolling menus.
9997         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
9998         the current item so that it is prelighted when the menu pops up.
9999         This is a workaround to the fact that the menu doesn't get the
10000         initial enter event (due to grabs).
10001
10002         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
10003         s/gtk_menu_append/gtk_menu_shell_append/
10004
10005         * gtk/gtknotebook.c:
10006         s/gtk_menu_insert/gtk_menu_shell_insert/
10007
10008         * gtk/testgtk.c (create_menu, create_menus):
10009         Create the first menu with 50 items so that menu scrolling
10010         can be tested.
10011         
10012         
10013         Patch from Jonathan Blandford  <jrb@redhat.com>
10014
10015         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
10016         system to handle size requests.  First, we ask what the size of
10017         the toggle is.  Then, when allocating the size, we allocate the
10018         toggle_size first.  This way we can have multiple menu-item
10019         classes w/o needing a seperate class for each.
10020
10021         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
10022         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
10023
10024         * gtk/gtkcheckmenuitem.c
10025         (gtk_check_menu_item_toggle_size_request): New function to handle
10026         the toggle size-request.
10027
10028 2000-11-07  Havoc Pennington  <hp@redhat.com>
10029
10030         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
10031         Half-ass somewhat fix this function, so that scrolling to the
10032         insertion point works. Pango hacking is in the future to really
10033         fix it.
10034
10035         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
10036         length of data, no longer used.
10037
10038         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
10039         method contents in here, get rid of destroy method
10040         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
10041         that were backward. Remove debug spew.
10042         (cut_or_copy): Make the clipboard work with insert_range to
10043         preserve tags and pixbufs, not just the primary selection.
10044
10045 2000-11-07  Havoc Pennington  <hp@redhat.com>
10046
10047         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
10048         to gtk_text_mark_get_visible
10049
10050         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
10051         bug that was generating an invalid iterator
10052
10053         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
10054         ensure_char_offsets() in front of code placing the iter in an
10055         invalid state.
10056
10057         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
10058         make override_location arg const
10059         (paste): Replace the selection if we paste into the 
10060         current selection
10061
10062         * gtk/gtkselection.h: Remove "GtkSelectioData"
10063         (struct _GtkSelectionData): move the definition here.
10064
10065         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
10066         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
10067
10068         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
10069
10070         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
10071         (gtk_text_buffer_insert_range_interactive): implement
10072         (gtk_text_buffer_get_tags): Remove, replaced by
10073         gtk_text_iter_get_tags()
10074
10075         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
10076         limit parameter, to avoid infinite linear scan.
10077         (gtk_text_iter_backward_search): Add search limit
10078         (gtk_text_iter_forward_find_char): Add search limit
10079         (gtk_text_iter_backward_find_char): Add search limit
10080
10081 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
10082
10083         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
10084         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
10085         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
10086         gdk/linux-fb/gdkwindow-fb.c:
10087         use g_object_new() instead of g_type_create_instance() which
10088         is a private function for fundamental type implementations.
10089
10090         * gdk/linux-fb/gdkinput-ps2.c:
10091         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
10092         instead just store the current modifier state. Add a (somewhat broken)
10093         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
10094         Rename exported function gdk_input_ps2_get_mouseinfo to
10095         gdk_input_get_mouseinfo.
10096
10097         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
10098         gdk/linux-fb/gdkwindow-fb.c:
10099         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
10100         
10101
10102 2000-11-02  Havoc Pennington  <hp@redhat.com>
10103
10104         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
10105         use stock buttons. Should be 100% source compatible, appropriate
10106         filesel fields now point to dialog->vbox and dialog->action_area.
10107         On the bizarre side, dialog->action_area and filesel->action_area
10108         are not the same widget.
10109         (gtk_file_selection_init): Put some padding around the selection
10110         entry, so it isn't touching the GtkDialog separator.    
10111
10112         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
10113         use stock buttons, etc. Should also be source compatible.
10114         Set the dialog default title in _init not _new().
10115         
10116         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
10117         Use stock buttons; don't put a button box inside the existing
10118         dialog button box. Don't bother with push/pop colormap anymore.
10119
10120         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
10121         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
10122         for message dialog, and necessary for the font selection and color
10123         selection with help and apply buttons.
10124         
10125         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
10126         to the created button widget. Set GTK_CAN_DEFAULT on the button.
10127         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
10128         between buttons, put less padding around the action area.
10129         (gtk_dialog_run): Exit on unmap rather than on destroy. 
10130         This will also exit the loop if the widget is hidden.
10131         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
10132         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
10133         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
10134         special-case delete event.
10135
10136         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
10137         formatting
10138         
10139 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
10140
10141         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
10142         button to temporarily disable position recording in the
10143         "saved position" test.
10144
10145 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
10146
10147         * gtk/gtkthemes.c: added compat code that temporarily implements
10148         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
10149         going to be revamped by owen's upcoming GtkModule patches, but
10150         untill then people want gtk to build, right? ;)
10151
10152 2000-11-04  Havoc Pennington  <hp@pobox.com>
10153
10154         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
10155         list
10156
10157         * docs/Changes-2.0.txt: Add note about
10158         gtk_container_get_toplevels()
10159
10160         * gtk/gtktextview.h: formatting
10161         
10162         * gtk/gtktextview.c: don't start descriptions with "Returns",
10163         confuses gtk-doc
10164
10165 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
10166
10167         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
10168         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
10169
10170 2000-11-03  Havoc Pennington  <hp@redhat.com>
10171
10172         * gtk/gtktexttagtable.c: Docs
10173         (gtk_text_tag_table_size): return a signed int
10174
10175         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
10176         (gtk_text_tag_event): make the event_object a GObject
10177
10178         * gtk/gtktextview.c: Write API docs for all functions.
10179
10180         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
10181         for gtk_text_view_get_window_type() called on one of the private
10182         windows.
10183
10184         * gtk/gtktextview.c: Instead of accessing text_view->buffer
10185         directly, call get_buffer() which demand-creates a default
10186         buffer. So gtk_text_view_new() can be used to create a view with a
10187         default buffer in it, if you just want an empty text box users can
10188         put data in. Useful for GUI builders also.
10189
10190 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
10191
10192         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
10193         the charset encodign portion MUST be in lowercase.
10194         * gtk/gtkrc.az: added file for Azeri language
10195
10196 2000-11-03  Havoc Pennington  <hp@redhat.com>
10197
10198         Get widgets working on the btree/buffer side. Display of them 
10199         still doesn't work.
10200         
10201         * gtk/gtktextview.c: start implementing child widget stuff
10202
10203         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
10204
10205         * gtk/gtktextlayout.c: handle embedded widgets
10206
10207         * gtk/gtktextdisplay.c: handle embedded widgets
10208
10209         * gtk/gtktextchild.c: Implement all the child anchor goo
10210
10211         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
10212         function
10213
10214         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
10215         (insert_pixbuf_or_widget_segment): abstract out common portions of 
10216         creating a child anchor or a pixbuf segment.
10217         (gtk_text_btree_create_child_anchor): new function
10218         (gtk_text_btree_unregister_child_anchor): new function
10219
10220         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
10221         allocate_child signal on GtkTextLayout
10222
10223         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
10224         values
10225         (gtk_text_iter_get_child_anchor): new function
10226
10227         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
10228         default handler for the changed signal, which calls
10229         gtk_text_buffer_set_modified(), instead of just always emitting
10230         changed then calling set_modified() manually. I guess this is
10231         maybe more flexible. It seems logical.
10232
10233 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
10234
10235         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
10236         now.
10237
10238         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
10239
10240 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
10241
10242         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
10243         been marked static.
10244
10245 2000-11-02  Havoc Pennington  <hp@redhat.com>
10246
10247         * gtk/testgtk.c (create_labels): had a test backward
10248
10249         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
10250         fields, so the dest GC ends up with the correct clip origin, 
10251         etc. Fixes a bug where colored labels didn't redraw 
10252         properly.
10253
10254 2000-11-02  Alexander Larsson  <alexl@redhat.com>
10255
10256         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
10257         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
10258         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
10259         Add last argument to t_type_register_static call.
10260         
10261         * gdk/linux-fb/gdkdrawable-fb2.c:
10262         Add last argument to t_type_register_static call.
10263         export the get_image drawable virtual function.
10264
10265         * gdk/linux-fb/gdkimage-fb.c:
10266         Add last argument to t_type_register_static call.
10267         rename gtk_image_get to _gdk_fb_get_image and
10268         export it for use by gdkdrawable-fb2.
10269
10270         * gdk/linux-fb/gdkprivate-fb.h:
10271         export _gdk_fb_get_image.
10272
10273         * gdk/linux-fb/gdkselection-fb.c:
10274         Add new api call stubs.
10275
10276         * gtk/Makefile.am:
10277         Missing ( in linux-fb part.
10278
10279         * modules/linux-fb/Makefile.am:
10280         Must link with gdk_pixbuf or get unresolved symbol.
10281
10282 2000-11-01  Havoc Pennington  <hp@pobox.com>
10283
10284         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
10285         GTK_TYPE_TEXT_ITER and BOXED marshallers
10286
10287         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
10288
10289         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
10290         
10291         * gtk/gtk-boxed.defs: add GtkTextIter
10292
10293         * gtk/gtkmarshal.list: Add marshallers for text widget that 
10294         properly use OBJECT and BOXED
10295
10296 2000-11-01  Havoc Pennington  <hp@redhat.com>
10297
10298         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
10299
10300         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
10301         before returning it. 
10302         
10303 2000-11-01  Havoc Pennington  <hp@redhat.com>
10304
10305         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
10306         Clip the rectangle to be rendered to the drawable, since
10307         get_from_drawable() requires a region within the drawable
10308
10309 2000-11-01  Havoc Pennington  <hp@redhat.com>
10310
10311         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
10312         from coordinates.
10313
10314 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
10315
10316         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
10317         it isn't NULL.
10318
10319 2000-11-01  Havoc Pennington  <hp@pobox.com>
10320
10321         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
10322         on a label
10323         (gtk_label_finalize): unref the attr list if any.
10324
10325         * gtk/testgtk.c (create_get_image): close test on second click
10326         (make_message_dialog): close dialog if it exists
10327
10328         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
10329
10330         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
10331         gdk-pixbuf
10332
10333         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
10334         from Pango markup format
10335         (gtk_label_set_markup_with_accel): ditto but with accelerator
10336         parsing
10337
10338         * gtk/gtkimage.c (gtk_image_expose): reformatting.
10339
10340         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
10341         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
10342         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
10343         call gdk_window_get_origin().
10344
10345         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
10346         implement GDK_PIXBUF_ALPHA_FULL
10347         
10348 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
10349
10350         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
10351         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
10352         g_signal_handlers_disconnect_matched to block/unblock and disconnect
10353         multiple handlers respectively, instead of only treating the
10354         first handler found (bug reported by owen).
10355
10356 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
10357
10358         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
10359
10360         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
10361
10362         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
10363         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
10364         gtk/gtktreeviewcolumn.h: Fixed inline docs.
10365
10366         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
10367         widget.  Needs writing someday.
10368
10369         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
10370         the docs.
10371
10372 2000-10-30  Havoc Pennington  <hp@redhat.com>
10373
10374         * gtk/gtktextview.h, gtk/gtktextview.c:
10375         Rename delete_at_cursor delete_from_cursor, and 
10376         move to move_cursor.
10377
10378 2000-10-30  Havoc Pennington  <hp@redhat.com>
10379
10380         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
10381         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
10382         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
10383         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
10384         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
10385         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
10386         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
10387         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
10388         gtktexttypes.h, gtktextview.c, gtktextview.h:
10389
10390         Massive reindentation and reformatting. Arg alignment and comments
10391         still need fixing in various places.
10392
10393 2000-10-30  Havoc Pennington  <hp@redhat.com>
10394
10395         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
10396         to be named insert_at_cursor and delete_at_cursor so C++ can
10397         handle them.
10398
10399 2000-10-28  Tor Lillqvist  <tml@iki.fi>
10400
10401         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
10402         to get a double directory separator in case the home directory
10403         ends with one. This would cause trouble especially on Windows,
10404         where the path will be confused with the syntax for an an UNC
10405         (network share) path \\server\share\path.
10406         (gtk_rc_add_initial_default_files): Ditto.
10407
10408 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
10409
10410         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
10411
10412         * gtk/gtktextview.c: Use correct marshallers.
10413
10414 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
10415
10416         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
10417         use new iter stuff, and added all the appropriate signals et al.
10418
10419         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
10420         code is internal to gtk only.
10421
10422 2000-10-28  Tor Lillqvist  <tml@iki.fi>
10423
10424         * gtk/gtk.def
10425         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
10426         glib-genmarshal etc.
10427
10428 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
10429
10430         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
10431         parallel builds.
10432
10433 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
10434
10435         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
10436
10437 2000-10-27  Robert Brady  <robert@suse.co.uk>
10438
10439         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
10440         en_GB (British), ia (Interlingua).
10441
10442 2000-10-26  Havoc Pennington  <hp@redhat.com>
10443
10444         * gtk/gtktextiter.c (my_strrstr): fix constness warning
10445
10446         Fixed output of:
10447         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
10448         
10449         * gtk/gtktextsegment.c (char_segment_new): rename
10450         (_char_segment_new_from_two_strings): rename
10451         (_toggle_segment_new): rename
10452         
10453         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
10454         (make_clipboard_widget): make it static
10455         (text_get_func): static
10456         (text_clear_func): static
10457
10458         * gtk/gtkcolorsel.c (adjustment_changed): make this function
10459         static
10460         (hex_changed): make it static
10461         (hsv_changed): make it static
10462         (opacity_entry_changed): make it static
10463
10464         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
10465         (toggle_segment_check_func): rename with _gtk
10466
10467         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
10468         (_widget_segment_new): rename
10469         (_widget_segment_add): rename
10470         (_widget_segment_remove): rename
10471         (_widget_segment_ref): rename
10472         (_widget_segment_unref): rename
10473
10474         * gtk/gtktextmark.c (_mark_segment_new): Rename
10475         _gtk_mark_segment_new   
10476
10477 2000-10-26  Havoc Pennington  <hp@redhat.com>
10478
10479         * gtk/gtkmarshal.list: add new marshallers used by the text widget
10480         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
10481         types
10482
10483         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
10484         marshaller types
10485
10486         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
10487         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
10488         license on these files.
10489
10490         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
10491         work.
10492
10493         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
10494         runtime random number different for each tree, instead of 
10495         a constant I made up.
10496
10497 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
10498
10499         * gtk/Makefile.am: buncha cleanups, kludged build sources
10500         dependencies with a Makefile: oldest-source-stamp dependancy
10501         for the moment. automake is really fighting us here, with
10502         intentionally not allowing user-defined rules or dependancies
10503         prior to it's -include $(DEP_FILES) statement. sucks rocks!
10504
10505         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
10506         to public headers. tehy have a comment stating that they are
10507         "semi-public" aren't included by gtk.h and if enums popup there,
10508         they can be /*< skip >*/-ed.
10509
10510         * gtk/gtktextlayout.h: 
10511         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
10512         added LGPL... <SIGH>
10513
10514 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
10515
10516         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
10517         GtkTreeIter.  Added iterators everywhere.
10518
10519         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
10520
10521         * gtk/gtktreeviewselection.c: Changed to use the iterators.
10522
10523         * gtk/gtktreestore.c: Changed to use the iterators.
10524
10525         * gtk/gtkliststore.c: Commented out the code.  Will convert to
10526         iterators tomorrow.
10527
10528         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
10529         iterators tomorrow.
10530
10531         * gtk/treestoretest.c: Changed to use iterators.
10532
10533         * demos/testgtk/main.c: Moved to use the new iterator system.
10534
10535 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
10536
10537         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
10538         localization misbehaviour.
10539
10540         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
10541         a useless type without copy/free.
10542
10543         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
10544         of GTK_TYPE_CTREE_NODE.
10545
10546 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
10547
10548         * gtk/gtksignal.c:
10549         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
10550         applicable.
10551
10552         * gtk/gtk-boxed.defs (GtkSelectionData): specify
10553         gtk_selection_data_copy and gtk_selection_data_free
10554         do GtkSelectionData work as params in signals.
10555
10556 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
10557
10558         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
10559         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
10560         couldn't they at least give it a non-standard name?
10561         
10562         * gtk/gtktextlayout.c: arg! yet another implementation of
10563         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
10564
10565         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
10566         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
10567         home. now i know this _is_ a conspiracy.
10568
10569         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
10570         ::state-changed.
10571
10572         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
10573         (gtk_accel_group_create_add): marshaller signature fixups.
10574
10575         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
10576         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
10577
10578         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
10579         anymore.
10580
10581 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
10582
10583         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
10584         due to the signal system changes, it wouldn't build currently. to
10585         be fixed soon.
10586
10587         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
10588
10589         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
10590         so it needs gtk_marshal_VOID__ENUM() instead of
10591         gtk_marshal_NONE__UINT().
10592
10593         * gdk/gdk*.c: adapted type registration functions.
10594
10595         * gtk/gtkbindings.c:
10596         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
10597         gone.
10598
10599         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
10600
10601         * gtk/gtkobject.c:
10602         (gtk_object_destroy):
10603         (gtk_object_shutdown): fixed recursion guards. basically we have to
10604         catch the case where any of GObject.shutdown() or gtk_object_destroy()
10605         is called during ::destroy, and avoid recursion there.
10606
10607         * gtk/gtktypeutils.c:
10608         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
10609         boxed_copy/boxed_free. this needs a more general solution based on a
10610         publically installed code-generator utility.
10611
10612         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
10613         glib's gobject has support for that now.
10614         define GtkSignalMarshaller in terms of GSignalCMarshaller.
10615
10616 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
10617
10618         * gtk/gtksignal.[hc]:
10619         * gtk/gtkmarshal.[hc]:
10620         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
10621         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
10622         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
10623         care of that.
10624
10625         * *.c: marshaller name fixups.
10626
10627         * gtk/gtkmarshal.list: added a comment briefing the format.
10628
10629 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
10630
10631         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
10632         compatibility macros here now. more specifically, most of
10633         the API is preserved (yes, _most_, nonwithstanding the
10634         following exceptions listed, the API is stil lHUGE ;)
10635         things that got removed completely:
10636         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
10637         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
10638         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
10639         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
10640         gtk_signal_remove_emission_hook().
10641         non-functional functions variants:
10642         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
10643         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
10644         not supported anymore.
10645         (gtk_signal_compat_matched): new internal function to aid
10646         implementation of the compatibility macros, it  provides
10647         functionality to block/unblock/disconnect handlers based
10648         on func/data.
10649
10650         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
10651
10652         * *.c: adaptions to new type registration API signatures.
10653
10654 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
10655
10656         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
10657
10658 2000-10-25  Robert Brady  <robert@suse.co.uk>
10659
10660         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
10661         gdk_property_delete): If window == NULL, assume the root window.
10662         (restoring the behaviour that was in 1.2).
10663         
10664         * gtk/testtext.c (save_buffer): Allow creation of new files when
10665         saving.
10666
10667         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
10668         calls to read().
10669
10670 2000-10-25  Tor Lillqvist  <tml@iki.fi>
10671
10672         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
10673
10674         * gdk/win32/gdkdrawable-win32.c
10675         * gdk/win32/gdkimage-win32.c
10676         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
10677         X11 backend.
10678
10679         * gdk/win32/gdkcc-win32.c
10680         * gdk/win32/gdkcolor-win32.c
10681         * gdk/win32/gdkfont-win32.c
10682         * gdk/win32/gdkinput-win32.c
10683         * gdk/win32/gdkmain-win32.c
10684         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
10685
10686 2000-10-24  Havoc Pennington  <hp@redhat.com>
10687
10688         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
10689         it a static function
10690
10691         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
10692         redraw text when a tag is applied to it.
10693
10694         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
10695         (gtk_text_tag_affects_nonsize_appearance): private functions to
10696         see if a tag requires various kinds of redraw/layout to be queued
10697         up.
10698
10699         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
10700
10701         * gtk/testtext.c (fill_example_buffer): Put the cursor 
10702         at the start of the buffer, so search works by default
10703
10704         * gtk/gtktextiter.c (lines_match): init match_start always
10705
10706         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
10707         function, get iter at a line + a byte index
10708
10709         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
10710         to set byte position within a line
10711         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
10712
10713 2000-10-23  Havoc Pennington  <hp@redhat.com>
10714
10715         * gtk/testtext.c: Re-enable the "find" dialog
10716
10717         * gtk/testgtk.c: Add test for gdk_drawable_get_image
10718         
10719         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
10720         the arguments to gdk_draw_drawable were in the wrong order
10721         (gdk_window_paint_init_bg): This function was ignoring the
10722         init_region, instead of clipping to it, so the entire backing
10723         pixmap was cleared on every begin_paint()
10724         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
10725         was in here again, the loop kept using the same GtkWindowPaint
10726         over and over.
10727         (gdk_window_begin_paint_region): Fix a bug where we had two
10728         x_offset instead of x_offset and y_offset
10729
10730         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
10731         before we get the image.
10732         (gdk_draw_drawable): get the composite before we draw the drawable.
10733         (gdk_drawable_real_get_composite_drawable): default
10734         get_composite_drawable implementation that returns the drawable 
10735         itself
10736
10737         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
10738         get_composite_drawable virtual function
10739
10740         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
10741         list-walking bug
10742
10743         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
10744         make this work if the source drawable is a GdkDrawableImplX11
10745         instead of a public drawable type. This is really broken; the
10746         problem is that GdkDrawable needs a virtual method get_xid(), but
10747         of course that doesn't work in practice. Enter RTTI.
10748
10749         Also, improve mismatched depth message.
10750
10751         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
10752         GdkPixmap
10753
10754         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
10755         install _gdk_x11_get_image as our implementation of get_image
10756         
10757         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
10758         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
10759
10760         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
10761         gdk_drawable_get_image
10762
10763         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
10764
10765         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
10766         get_image
10767
10768         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
10769         trailing semicolon after for loop
10770
10771 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
10772
10773         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
10774         where font_desc for widget's context lagged widget's font_desc by
10775         one step.
10776
10777 2000-10-22  Tor Lillqvist  <tml@iki.fi>
10778
10779         * gdk/win32/gdkgc-win32.c
10780         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
10781
10782         * gtk/makefile.mingw.in
10783         * gtk/gtk.def: Updates.
10784
10785         * gtk/testgtk.c: sleep() is called _sleep in MS's C
10786         library.
10787
10788         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
10789
10790         * gtk/makefile.msc: Remove
10791
10792         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
10793
10794         * gtk/Makefile.am: Add it.
10795
10796         * configure.in: Generate it.
10797
10798         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
10799         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
10800         something even if not implemented, to satisfy picky MSVC.
10801
10802         Patches by Hans Breuer:
10803         
10804         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
10805         SetBkMode() and SetTextAlign() before calling
10806         pango_win32_render().
10807
10808         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
10809         Set hcliprgn to NULL after destroying it.
10810         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
10811
10812         * gdk/win32/gdkgeometry-win32.c
10813         (_gdk_windowing_window_queue_antiexpose): More effective
10814         implementation.
10815
10816         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
10817         depth as default, not the visual's.
10818
10819         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
10820         against empty title.
10821
10822         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
10823         IMAGE_PRIVATE_DATA.
10824
10825         * gdk/win32/gdkimage-win32.c: Use it.
10826
10827 2000-10-22  Robert Brady  <robert@suse.co.uk>
10828
10829         * configure.in: Check for bind_textdomain_codeset
10830
10831         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
10832         present, make use of it.
10833
10834         Add a translatable string "default:LTR" which, if translated
10835         to "default:RTL", will cause the default direction to be
10836         Right-to-Left.
10837
10838         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
10839         direction if marked as flippable.
10840
10841         * gtk/gtkhscale.c: Mark widget as flippable.
10842         
10843 2000-10-04  Havoc Pennington  <hp@redhat.com>
10844
10845         * gtk/testgtk.c (create_buttons): create some stock buttons
10846         with the default accel group
10847         (create_image): test some new GtkImage features
10848         (make_message_dialog): test GtkMessageDialog
10849         (create_modal_window): fix someone's bizzarro indentation
10850
10851         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
10852         GTK_WIN_POS_CENTER_ON_PARENT. 
10853         Add "destroy with parent" setting, which means the window goes
10854         away with its transient parent.
10855         (gtk_window_get_default_accel_group): get the default accel group
10856         for the window.
10857         (gtk_window_set_destroy_with_parent): set/unset destroy with
10858         parent flag
10859         (gtk_window_read_rcfiles): invalidate icon set caches
10860         after reloading rcfiles 
10861
10862         * gtk/gtkenums.h (GtkWindowPosition): add
10863         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
10864         on its parent window when the dialog is mapped for the first time.
10865
10866         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
10867         a simple message dialog class
10868         
10869         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
10870         handler to emit response signal, and maybe later it would
10871         honor a hide_on_delete flag - though that isn't there yet.
10872         Set border width on the vbox to 2, so we get some padding.      
10873         Use a button box for the action area.
10874         (gtk_dialog_key_press): synthesize a delete event if Esc
10875         is pressed and the GtkWidget key press handler didn't 
10876         handle the escape key.
10877         (gtk_dialog_new_with_buttons): new function creates a dialog
10878         with some default buttons in it.
10879         (gtk_dialog_add_action_widget): add an activatable widget
10880         as a button in the dialog - you can also add a non-activatable
10881         widget by accessing the action area directly.
10882         (gtk_dialog_add_button): add a simple button - stock ID or 
10883         label - to the action area
10884         (gtk_dialog_response): emit response signal
10885         (gtk_dialog_run): block waiting for the dialog, return 
10886         the response. Override normal delete_event behavior, so that 
10887         delete_event does nothing inside gtk_dialog_run().
10888
10889         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
10890         emitted when an action widget is clicked or the dialog gets
10891         delete_event
10892
10893         * gtk/gtk.h: add gtkmessagedialog.h
10894
10895         * gtk/Makefile.am: add gtkmessagedialog.[hc]
10896
10897 2000-10-18  Havoc Pennington  <hp@redhat.com>
10898
10899         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
10900         where any number of empty lines would get skipped
10901
10902         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
10903         edge.
10904
10905         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
10906         warning about invalid iterators (explain more thoroughly)
10907         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
10908
10909         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
10910         big
10911
10912         * demos/*.c: Add error handling
10913
10914         * gtk/gtktextbuffer.c: don't modify const iterators
10915
10916         * gtk/gdk-pixbuf-loader.c: Add full error handling here
10917
10918         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
10919         on file load
10920
10921         * gtk/gtkiconfactory.c: Update to reflect addition of error
10922         handling to gdk-pixbuf loaders
10923
10924 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
10925
10926         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
10927         move to new modularized testgtk.
10928
10929 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
10930
10931         * gtk/gtktreeview.c: Draw the arrows correctly.
10932
10933         * gtk/gtktreemodel.c: Added user docs.
10934
10935         * gtk/gtk.h: remove gtktreedatalist.h.
10936
10937         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
10938         parent when generating my type.
10939
10940         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
10941         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
10942
10943 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
10944
10945         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
10946         GtkTreeModel from object to interface.
10947
10948 2000-10-16  Havoc Pennington  <hp@redhat.com>
10949
10950         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
10951         compilation
10952
10953 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
10954
10955         * gtk/gtktreeselection.c: Add API documentation to all public
10956         functions.
10957
10958         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
10959         functions.
10960
10961 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
10962
10963         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
10964         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
10965         docs to all public functions.
10966
10967         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
10968         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
10969         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
10970         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
10971         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
10972         issue.
10973
10974 2000-10-14  Robert Brady  <robert@suse.co.uk>
10975
10976         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
10977
10978 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
10979
10980         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
10981         values other then G_TYPE_STRING.
10982         * gtk/gtktreeselection.c: Minor commenting updates.
10983         * gtk/gtktreeview.c: Format updates.
10984
10985 2000-10-09  Tor Lillqvist  <tml@iki.fi>
10986
10987         * README.win32: Update.
10988
10989         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
10990         lines that had been deleted by mistake (?).
10991
10992         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
10993         also the case fg==white and bg==black (but still not randomly
10994         coloured cursors). Thanks to Wolfgang Sourdeau.
10995
10996         * gdk/win32/*.c: Silence gcc -Wall.
10997
10998         * gtk/gtk.def: Add missing entry points.
10999
11000         Fixes by Hans Breuer:
11001
11002         * gdk/makefile.msc
11003         * gdk/win32/makefile.msc: Update.
11004
11005         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
11006         some MSVC thing, presumably), cause breakpoint on failures. Add
11007         GDK_NOR case. Call g_log_set_always_fatal.
11008
11009         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
11010         should be pased by reference.
11011         
11012         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
11013         
11014         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
11015
11016         * gdk/win32/gdkevents-win32.c
11017         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
11018
11019         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
11020         implementation object.
11021
11022         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
11023         not just windows.
11024         
11025         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
11026         Use the wrapper object.
11027         
11028 2000-10-06  Havoc Pennington  <hp@redhat.com>
11029
11030         * Makefile.am (SRC_SUBDIRS): contrib subdir
11031
11032         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
11033         so it can be used in Xlib version
11034
11035         * demos/testpixbuf.c (update_timeout): error checking from 1.0
11036         tree
11037
11038         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
11039         change from 1.0 tree that returns first frame of animation
11040         if the loaded file is an animation.
11041
11042         * contrib: add new directory to hold stuff that comes with GTK+
11043         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
11044         
11045         * configure.in: add contrib/*
11046
11047 2000-10-05  Havoc Pennington  <hp@redhat.com>
11048
11049         * demos/testpixbuf-save.c: add pixbuf save test
11050
11051         * demos/Makefile.am: add testpixbuf-save.c
11052
11053 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
11054
11055         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
11056         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
11057         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
11058         * gtk/gtktreeselection.[ch]: Replaced
11059         "node_selected"/"node_unselected" signal with "selection_changed"
11060         signal.
11061
11062 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
11063
11064         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
11065         tree widget.
11066
11067 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
11068
11069         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
11070         drawing.
11071
11072 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
11073
11074         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
11075         Move list pointer forwards before removing item from
11076         list. (Crash reported by Salmaso Raffaele)
11077
11078         * gdk/gdkwindow.h: Remove spurious trailing ,
11079
11080         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
11081         dependencies on uninstalled libraries, sorry folks.
11082
11083 2000-10-04  Havoc Pennington  <hp@redhat.com>
11084
11085         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
11086         gtk/gtkiconfactory.c: Fix copyrights    
11087
11088         * demos/testpixbuf.c: add inline pixbuf test
11089         
11090 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
11091
11092         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
11093         Add gdk_window_iconify.
11094
11095         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
11096         (gdk_window_set_geometry_hints): Add win_gravity
11097         to geometry structure.
11098
11099         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
11100         Implement _NET_WM_PING.
11101
11102         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
11103         Set _NET_WM_PID on the client leader.
11104
11105         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
11106         Handle UTF-8 better.
11107
11108         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
11109         UTF-8 better, set _NET_WM_NAME as well. Only set
11110         icon name if it hasn't previously been explicitely 
11111         set.
11112
11113 2000-10-03  Havoc Pennington  <hp@redhat.com>
11114
11115         * gtk/testtextbuffer.c: clean up trailing whitespace,
11116         add extensive tests for tag toggle iteration.
11117         
11118         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
11119         distance
11120
11121         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
11122         optimize case where the tag root is on level 1
11123         (gtk_text_line_previous_could_contain_tag): attempt to implement
11124         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
11125         functionality
11126
11127         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
11128         Implement this, though not very efficiently.
11129
11130         * gtk/gtktextiterprivate.h: reformat
11131
11132         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
11133         iterator
11134
11135         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
11136         this to properly revalidate the iterators.
11137
11138         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
11139         properly at the end of the line (and therefore on empty lines)
11140
11141         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
11142         maybe we should return a value...
11143
11144 2000-10-03  Tor Lillqvist  <tml@iki.fi>
11145
11146         * config.h.win32: Guard definition of alloca(). glib.h now handles
11147         that.
11148
11149         * gdk/gdk.def
11150         * gtk/gtk.def: Add new entry points.
11151
11152         Changes just to make GTK+ build without errors on Win32. No hope
11153         of it working in its current state, though...:
11154         
11155         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
11156         some functions from the X11 backend, just to make GTK+ build.
11157
11158         * gdk/makefile.mingw.in
11159         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
11160         number. Add new object files.
11161
11162         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
11163         GetMessageTime to get timestamp (where on X11 uses
11164         gdk_x11_get_server_time()).
11165
11166 2000-10-02  Havoc Pennington  <hp@pobox.com>
11167
11168         * gtk/gtktextview.c: text_window_* weren't static and should have
11169         been.
11170         Start work on child widgets; not yet complete, syncing to 
11171         office computer.
11172
11173         * gtk/gtktextchild.h: change this to contain a public interface,
11174         starting work on child interfaces.
11175         * gtk/gtktextchildprivate.h: move private interfaces here
11176
11177         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
11178
11179         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
11180         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
11181         gtk/gtktextmark.c: copyright notices
11182
11183         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
11184         internal functions      
11185
11186         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
11187         internal function
11188
11189         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
11190         Reformatting    
11191
11192 2000-09-30  Havoc Pennington  <hp@pobox.com>
11193
11194         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
11195         NULL start/end pointers
11196
11197         * gtk/gtktextbuffer.c: Write some docs
11198         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
11199         NULL, so you can just check whether there's a selection.        
11200
11201         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
11202         cleanup_line or segments_changed ourselves, it gets done 
11203         in unlink_segment
11204
11205         * gtk/gtktextmark.h:
11206         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
11207         
11208         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
11209
11210         * gtk/gtktextmark.c: delete some more old Tk cruft
11211
11212         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
11213         mark before removing it, so we can emit MARK_DELETED with a valid
11214         pointer.
11215         (gtk_text_buffer_mark_set): hold ref across signal emission
11216
11217         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
11218         whining about attempts to delete special marks
11219
11220         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
11221         underscore, since it's internal.
11222
11223         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
11224         now implemented in terms of iterators in gtktextiter.h
11225
11226         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
11227         New function, destructively sets contents of buffer. Also 
11228         a convenient way to clear the buffer by setting text to ""
11229
11230         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
11231         multiline string literal
11232
11233         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
11234         text changes.
11235
11236         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
11237         is not dereferenceable
11238         (gtk_text_iter_forward_lines): fix return value
11239
11240 2000-09-29  Havoc Pennington  <hp@redhat.com>
11241
11242         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
11243
11244         * gtk/gtktextview.c: Implement drag thresholding; change functions 
11245         that set border window size to have nicer name
11246         (gtk_text_view_mark_set_handler):  Fix this to have the 
11247         right signature.
11248
11249         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
11250
11251         * gtk/testtext.c: Update with API changes, put line numbers on 
11252         both sides.
11253         
11254         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
11255         with this
11256
11257         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
11258         pixbuf; delete a big block of #if 0 Tk code
11259
11260         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
11261         insert_pixmap with insert_pixbuf
11262
11263 2000-09-29  Martin Baulig  <baulig@suse.de>
11264
11265         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
11266         confusion with the GdkPixbuf of the GNOME 1.x platform.
11267
11268 2000-09-29  Havoc Pennington  <hp@pobox.com>
11269
11270         * gtk/gtktextview.c: Implement the side windows.
11271
11272         * gtk/testtext.c: Implement simple line numbering in the 
11273         left side window; seems to make scrolling sloooow. Oops.
11274         Also, cursor blink is for some reason causing redraws
11275         of the line numbers. Should investigate...
11276
11277 2000-09-28  Havoc Pennington  <hp@redhat.com>
11278
11279         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
11280         scrolling child windows, and draw focus rectangle properly.
11281         
11282         (gtk_text_view_buffer_to_window_coords):
11283         Coordinate transformation to deal with all these freaking windows
11284         and offsets
11285         (gtk_text_view_window_to_buffer_coords): transform the other way
11286
11287         * gtk/testtext.c (create_buffer): Update to match Pango API change
11288
11289         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
11290         anonymous tags
11291         (foreach_unref): don't emit remove signal from finalize, just
11292         set tag's parent to NULL
11293
11294 2000-09-26  Havoc Pennington  <hp@redhat.com>
11295
11296         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
11297         Fix some warnings       
11298
11299 2000-09-26  Havoc Pennington  <hp@redhat.com>
11300
11301         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
11302         headers into the private header list
11303
11304         * Makefile.am (pkgconfig_DATA): install pkg-config files
11305
11306         * configure.in: add pkg-config files
11307
11308         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
11309
11310         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
11311         outstanding icon caches on theme change.
11312
11313         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
11314         important types:
11315
11316         (GtkIconSource): Specification for creating a pixbuf 
11317         appropriate for a direction/state/size triplet from 
11318         a source pixbuf or filename
11319
11320         (GtkIconSet): List of GtkIconSource objects that are used to
11321         create the "same" icon (e.g. an OK button icon), and cache for
11322         rendered icons
11323
11324         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
11325         up the icon set for a given stock ID.  GTK maintains a stack of
11326         GtkIconFactory to search, and applications or libraries can add
11327         additional icon factories on top of the stack
11328         
11329         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
11330         the set of GtkIconSource specified for a given stock ID into 
11331         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
11332         RcStyle, under the specified stock ID.
11333
11334         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
11335         render_icon used to derive a GdkPixbuf from a GtkIconSource.
11336         This allows people to theme how prelight, insensitive, etc. are
11337         done.
11338
11339         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
11340         icon factories for a style, and return the resulting 
11341         icon set if any.
11342
11343         (gtk_style_render_icon): Render an icon using the render_icon 
11344         method in the GtkStyleClass.
11345
11346         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
11347         Use the style for a given widget to look up a stock ID, get the
11348         icon set, and render an icon using the render_icon method 
11349         of the style
11350
11351         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
11352         (contains information about a stock item), the built-in stock item
11353         IDs, and functions to add/lookup stock items.
11354
11355         * gtk/stock-icons/*: Stock icons that come with GTK
11356
11357         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
11358         a button based on a GtkStockItem
11359         (gtk_button_new_accel): Takes a uline string and accel group, and
11360         installs the accelerator.
11361
11362         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
11363         image-display widget.
11364
11365 2000-09-25  Havoc Pennington  <hp@redhat.com>
11366
11367         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
11368
11369         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
11370         Fix a bug when removing node data, we didn't properly 
11371         re-splice the linked list after removing the data.
11372
11373         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
11374         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
11375
11376         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
11377
11378         * gtk/gtktextlayout.c (set_para_values): Set tab array 
11379         for the layout from the GtkTextTag.
11380
11381         * gtk/gtktexttypes.h: delete tab and search cruft, 
11382         remove g_convert() in favor of GLib version
11383
11384         * gtk/gtktexttypes.c: remove tab implementation from here,
11385         move to Pango
11386
11387         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
11388         tab stuff using new PangoTabArray from Pango
11389
11390         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
11391         unused border_width stuff
11392
11393 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
11394
11395         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
11396         glib) and now useless utf_to_latin1() latin1_to_utf()
11397
11398         * gtk/gtktextview.[ch]: Change ::move_insert and
11399         ::delete_text action signals to ::move and ::delete;
11400         create the signals with the right enumeration type,
11401         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
11402         C-v bindings, change Home, End to move to beginning/end
11403         of line, Add C-Home C-End to move to beginning/end
11404         of buffer. Change ::cut_text to ::cut_clipboard, etc;
11405         combine ::scroll_text into ::move; use new GtkSelectionData
11406         functions to simplify DND text handling.
11407         
11408         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
11409         deletion enumerations here, rename enumeration values to 
11410         be consistently plural.
11411
11412         * gtk/gtktextbuffer.c: Use new clipboard interfaces
11413         for cut/copy/paste and primary selection.
11414
11415         * gtk/gtktextbuffer.[ch]: Remove excess time and
11416         'interactive' arguments from cut/copy/paste;
11417         rename cut to cut_clipboard, etc; remove
11418         gtk_text_buffer_get_clipboard_contents().
11419
11420         * gtk/gtktextlayout.[ch]: Add 
11421         gtk_text_layout_move_iter_to_line_end() to move the iter to 
11422         line ends.
11423
11424         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
11425         Functions to set or get a UTF-8 string on the selection
11426         data.
11427
11428         * gtk/gtkclipboard.[ch]: New, simplified selection handling
11429         interfaces.
11430
11431         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
11432         created widgets - one of these is useless if we don't.
11433
11434         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
11435         a public function clear all targets registered for the
11436         widget.
11437
11438         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
11439         Never call gtk_widget_realize() - that was just asking
11440         for bizarre side-effects.
11441
11442         * gtk/gtkselection.c (gtk_selection_owner_set): Call
11443         gdk_selection_owner_set even if the widget is the
11444         same so that we reliably update the timestamp on
11445         the server.
11446
11447         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
11448         gdk_x11_get_server_time() function.
11449         
11450         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
11451         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
11452         Add some tricky filtering on serial numbers for
11453         selection clear events to fix up long-standard
11454         race condition FIXME's in gtkselection.c.
11455
11456         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
11457         routines to convert from utf8 to compound text or
11458         STRING and from a text property to UTF-8.
11459
11460         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
11461         a convenience function gdk_get_current_event_time().
11462
11463         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
11464         and free selection_data->data properly
11465
11466 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
11467
11468         * gtk/gtkthemes.c: Remove some unecessary includes.
11469
11470 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
11471
11472         * gtk/gtktextdisplay.c
11473         * gtk/gtktextlayout.c
11474         * gtk/gtktexttag.c
11475         * gtk/gtktexttag.h
11476         * gtk/testtext.c: Change the overstrike property to strikethrough,
11477         to closer match pango.
11478
11479 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
11480
11481         * gtk/gtktextview.c: Fix up visibility so that focus,
11482         cursor_visible and blink interact properly.  Reenable cursor blink
11483         which had been roughly disabled. Make blink and focus
11484         properly per-view.
11485
11486         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
11487         Add a flag for whether to display insertion cursor and
11488         a function to set the flag.
11489
11490         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
11491         get_line_y() to get_line_yrange(), to be a bit more generally
11492         useful.
11493
11494 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
11495
11496         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
11497           do stop_navigating_submenu, to clear last timeout properly.
11498           Also in gtk_menu_motion_notify move ignore_enter above
11499           the conditional to make it always happen as suggested by Owen
11500
11501 2000-09-07  Tor Lillqvist  <tml@iki.fi>
11502
11503         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
11504
11505         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
11506         w32api headers.
11507
11508         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
11509         declarations.
11510
11511         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
11512         (gdk_win32_get_colormap): A line had been deleted by mistake.
11513
11514         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
11515         (gdk_event_translate): Handle more virtual keycodes to be able to
11516         generate GDK events for Control-comma, Control-period, etc.
11517
11518         * gtk/gtk.def: Add some missing entry points.
11519
11520 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
11521
11522         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
11523         Doc comment fixing. (Mostly non-matching parameter names.)
11524
11525         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
11526         comments a little to avoid looking like a doc comment.
11527
11528         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
11529         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
11530         conversions be changed to GError?)
11531
11532         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
11533         Move private #defines into .c file.
11534
11535         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
11536         order of argument addition, remove duplicates.
11537
11538         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
11539         parent class is FrameClass, not BinClass.
11540
11541         * gtk/gtk.h: Add gtkinvisible, which was missing.
11542         (It's occasionalyl useful for client apps, if seldom.)
11543
11544         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
11545         #define.
11546
11547 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
11548
11549         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
11550         coordinates when creating window, instead of GDK-space
11551         coordinates. (Avoid BadValue on too large windows.)
11552
11553 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
11554
11555         * configure.in (use_mmx_asm): Remove conftest* after use along the
11556         lines of AC_TRY_COMPILE.        
11557         
11558         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
11559         of g_dirname, which is deprecated.
11560         (gtk_rc_parse_any): Removed calls to
11561         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
11562
11563         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
11564         Removed calls to g_hash_table_{freeze,thaw}, as they are
11565         deprecated now.
11566
11567         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
11568         instead of g_basename.
11569         
11570 2000-09-04 Elliot Lee <sopwith@redhat.com>
11571         
11572         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
11573         ANSI warning.
11574
11575 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
11576
11577         * gtk/gtkwidget.h:  Add some documenting comments about 
11578           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
11579           just as owen said on irc.
11580
11581         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
11582           set HAS_DEFAULT.  Only set it if there isn't another window
11583           holding it (a focus window which RECEIVES_DEFAULT) and only unset
11584           it if the widget is not the focused window with RECEIVES_DEFAULT.
11585           This fixes weird double default bugs in dialogs which has things
11586           call gtk_window_set_default at times.
11587
11588 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
11589
11590         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
11591         Nils Barth and David Santiago to improve submenu
11592         navigation. The patch does this by creating a triangular
11593         region from the point where the pointer leaves the
11594         menu to the submenu.  While the pointer is in
11595         that region and a timeout has not expired, events 
11596         that would cause the active submenu to change are
11597         ignored.
11598
11599 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
11600
11601         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
11602         moving a toplevel window immediately after sizing it would
11603         result in it being sized back to the old size since 
11604         impl->width, impl->height aren't updated until we hear
11605         back from the server. There is still a (longstanding) bug
11606         here that gdk_window_get_size() will give the wrong size
11607         until we do hear back.
11608
11609 2000-08-31  Havoc Pennington  <hp@redhat.com>
11610
11611         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
11612         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
11613         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
11614         Rename GtkTextStyleValues to GtkTextAttributes
11615
11616 2000-08-31  Havoc Pennington  <hp@pobox.com>
11617
11618         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
11619         for rapid testing whether an iterator is the end iterator
11620         (gtk_text_btree_new): init end line cache
11621         (gtk_text_line_is_last): use fast cached line to 
11622         see if we're the last line.
11623         (get_last_line): use cached line here too, should 
11624         speed up some random unrelated code.
11625         
11626 2000-08-30  Havoc Pennington  <hp@pobox.com>
11627
11628         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
11629         signals.
11630
11631         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
11632         delete_text signals. This allows the signals to be used for
11633         implementing undo.
11634
11635         * gtk/gtktextbuffer.c: Change signal handler signatures; 
11636         provide "interactive" argument when emitting insert_text or
11637         delete_text signal.
11638         
11639 2000-08-30  Havoc Pennington  <hp@pobox.com>
11640
11641         * gtk/gtktextbuffer.c: Docs
11642
11643 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
11644
11645         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
11646         from switch statements, since Tor removed the enumeration
11647         value.
11648         
11649         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
11650         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
11651
11652 2000-08-29 Elliot Lee <sopwith@redhat.com>
11653         * */*.h: Use G_GNUC_CONST.
11654
11655 2000-08-27  Havoc Pennington  <hp@pobox.com>
11656
11657         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
11658         minor indentation fixes, inserted some FIXME about stuff I
11659         realized was broken while documenting it.
11660         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
11661         GTK convention  
11662
11663 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
11664
11665         * gtk/testgtk.c (create_styles): Fix double free of
11666         font desc.
11667
11668 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
11669
11670         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
11671         
11672         * gtk/testgtk.c (create_styles): Add a test for modifying
11673         the style through gtk_widget_modify_*.
11674
11675         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
11676         a function to get the current modifier style.
11677
11678         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
11679         of the passed in GtkRcStyle instead of ref'ing it.
11680
11681         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
11682
11683 2000-08-20  Tor Lillqvist  <tml@iki.fi>
11684
11685         * gdk/gdkimage.h
11686         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
11687         shared memory image+pixmap GdkImage type, or
11688         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
11689         I am dropping that.
11690
11691         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
11692         actually call gtk_init_abi_check(), passing also
11693         sizeof(GtkWindow). Ditto for gtk_init_check(). 
11694
11695         * gtk/gtk.def
11696         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
11697         New functions, used to check that the GTK+-using code has been
11698         compiled using the correct compiler and switches. In particular,
11699         with gcc one has to use the -fnative-struct switch as GTK+ is
11700         compiled with that.
11701
11702 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
11703
11704         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
11705         ->prev fields when merging lists. (Found simultaneously
11706         by Pawel Salek and Jakub Jelinek)
11707
11708 2000-08-12  Tor Lillqvist  <tml@iki.fi>
11709
11710         * gdk/gdk.def
11711         * gtk/gtk.def: Add missing entries.
11712
11713         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
11714         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
11715
11716         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
11717         function. Dummy implementation at this point.
11718
11719         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
11720         rules. Undefine GTK_COMPILATION when compiling the test programs.
11721         
11722         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
11723
11724 2000-08-11  Tor Lillqvist  <tml@iki.fi>
11725
11726         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
11727         to convert back and forth from UTF-8 and the "system" (or "current
11728         locale") charset when necessary. Indentation/spacing cleanup.
11729
11730 2000-08-10  Havoc Pennington  <hp@redhat.com>
11731
11732         * Makefile.am (snapshot): Change the format of the snapshot
11733         version to match glib
11734
11735         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
11736         from EXTRA_DIST since it doesn't seem to exist
11737
11738 2000-08-10  Tor Lillqvist  <tml@iki.fi>
11739
11740         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
11741         version of the directory name (not the UTF-8 one) when building
11742         the path name to stat().
11743
11744 2000-08-03  Elliot Lee  <sopwith@redhat.com>
11745
11746         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
11747         PANGO_ATTR_SHAPE set.
11748
11749 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
11750
11751         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
11752         Peter Osterlund to simplify the code while keeping the
11753         functionality the same.
11754
11755 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
11756
11757         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
11758         is_viewable() test further inside the function, since removing the 
11759         window from the redraw list without clearing ->update_area
11760         was also very broken.
11761
11762 2000-08-02  Tor Lillqvist  <tml@iki.fi>
11763
11764         * configure.in: Check for <unistd.h>.
11765
11766 2000-08-01  Martin Baulig  <baulig@suse.de>
11767
11768         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
11769         to display the message that this is a development version of GTK+.
11770
11771 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
11772
11773         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
11774         was depending on widget->allocation instead of the width of text_area,
11775         which was incorrect for subclasses like GtkSpinButton.
11776
11777         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
11778         with width == 1 tests that should be width == -1.
11779
11780 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
11781
11782         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
11783         (broken, Elliot, every single window blank on X) custom code with call
11784         to gdk_window_is_viewable() which a) prevents code duplicate and
11785         b) works. 
11786
11787 2000-07-31  Elliot Lee  <sopwith@redhat.com>
11788
11789         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
11790         to get the GDK_PARENT_ROOT() macro to work.
11791         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
11792         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
11793         of, windows that aren't shown.
11794         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
11795         pointer grab stuff.
11796
11797 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
11798
11799         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
11800           s/gtk_main_iteration/g_main_iteration/
11801
11802           Did this already in change:
11803                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
11804           don't know how it got reverted.
11805
11806 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
11807
11808         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
11809         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
11810
11811         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
11812         not gdk_pixbuf.
11813
11814 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
11815
11816         * configure.in,po/{sp,sr}.po: Added Serbian files
11817
11818 2000-07-30  Tor Lillqvist  <tml@iki.fi>
11819
11820         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
11821
11822         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
11823         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
11824         GIOChannel implementation.
11825
11826         * gdk/win32/gdkinput.c
11827         * gdk/win32/gdkpango-win32.c: Update license name here, too.
11828
11829         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
11830         definition to match prototype.
11831
11832         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
11833
11834 2000-07-27  Elliot Lee  <sopwith@redhat.com>
11835
11836         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
11837         function, to allow handling image formats that cannot be detected
11838         by looking at content alone.
11839
11840 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
11841
11842         * docs/tutorial/*.gif *.jpg *.eps
11843           Update these to the same look-n-feel.
11844           Why does including images in DocBook suck so badly?
11845
11846 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
11847
11848         * gtk/gtktable.c: applied patch from Phil Thompson
11849         <phil@river-bank.demon.co.uk> that enables space settings for
11850         the last row/columns as well.
11851
11852 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
11853
11854         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
11855         updates the license headers to the GNU Lesser General Public License,
11856         as well as updating the copyright year to 2000.
11857
11858 2000-07-26  Robert Brady  <rwb197@zepler.org>
11859
11860         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
11861           and po/Makefile, was installing and looking for them under gtk20
11862           and gtk2 respectively.
11863
11864 2000-07-25  Havoc Pennington  <hp@redhat.com>
11865
11866         * gtk/testtext.c: Comment out some stuff that depends on the rest
11867         of my patches.
11868
11869 2000-07-25  Havoc Pennington  <hp@redhat.com>
11870
11871         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
11872         buffer
11873
11874 2000-07-25  Havoc Pennington  <hp@redhat.com>
11875
11876         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
11877         widget changes.
11878
11879         * gtk/gtktextview.h: To be consistent with usage of "line"
11880         throughout the API to mean "newline-terminated thingy", change
11881         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
11882         to MOVEMENT_LINE.
11883
11884         (GtkTextView): Add flags for default editability, and whether to
11885         show the cursor. Add functions to get/set that. Add 
11886
11887         (gtk_text_view_get_iter_location): new function
11888
11889         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
11890         gtktextlayout.h
11891         (g_convert): Add g_convert temporarily, will go in glib in a bit
11892         
11893         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
11894         GtkTextTagTableForeach instead of brokenly using GHFunc.
11895         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
11896
11897         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
11898         moved to public header.
11899
11900         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
11901         "invisible", since "elide" was a bad name.
11902         (gtk_text_tag_get_priority): Added
11903
11904         (GtkTextStyleValues): put this in public header, along with
11905         functions to use it.
11906
11907         * gtk/gtktextmarkprivate.h: Include more headers, since we no
11908         longer include gtktextbtree.h.
11909
11910         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
11911         gtk_text_mark_deleted
11912
11913         * gtk/gtktextlayout.h: Don't include the "really private" headers,
11914         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
11915         to make this possible. Now we only need to install
11916         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
11917         (However the Makefile.am isn't changed yet because of the
11918         logistics of merging gtk-hp-patches piecemeal)
11919
11920         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
11921         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
11922         gtk_text_iter_get_line is now used in the public API for a
11923         different purpose.
11924
11925         * gtk/gtktextiter.h: Clean up function names to be more
11926         consistent. Always call char offset "offset" and byte index
11927         "index". A "line" is always a line number. 
11928
11929         (gtk_text_iter_is_last): new function, more efficient than 
11930         the existing way to check
11931         (gtk_text_iter_is_first): new function, also more efficient
11932
11933         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
11934
11935         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
11936         gtk_text_iter_forward_char, etc.
11937
11938         (gtk_text_iter_forward_to_tag_toggle): Renamed from
11939         forward_find_tag_toggle, since this isn't a linear search
11940
11941         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
11942
11943         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
11944         New functions, search for a buffer substring.
11945
11946         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
11947         interactive and default editable (since we need to store that info
11948         until we receive the selection data).
11949
11950         Remove all the _at_char and at_line etc. versions of functions;
11951         only have iterator versions.
11952
11953         Add _interactive() versions of functions, that consider the
11954         editability of text. (FIXME add interactive flag to the 
11955         insert/delete signals per Darin's suggestion)
11956
11957         (gtk_text_buffer_get_tag_table): new function, demand-creates the
11958         tag table if necessary
11959
11960         Remove declaration of gtk_text_buffer_get_iter_from_string
11961
11962         (_gtk_text_buffer_get_btree): private/internal function, added.
11963         
11964
11965         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
11966         (gtk_text_line_is_last): new function
11967
11968 2000-07-25  Havoc Pennington  <hp@redhat.com>
11969
11970         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
11971         using GtkProgressBar. See Changes-2.0.txt for details.
11972
11973         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
11974         "pulse_step" which are the equivalent of
11975         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
11976         Implement new API.
11977         
11978         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
11979         (use_text_format) to mark whether text set on the progress bar is
11980         a format string. Deprecate entire GtkProgress interface.
11981
11982         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
11983         (gtk_progress_build_string): make this a no-op if use_text_format
11984         is FALSE
11985
11986         * docs/Changes-2.0.txt: Describe progress bar changes.
11987
11988 2000-07-25  Tor Lillqvist  <tml@iki.fi>
11989
11990         * Makefile.am: Include the build directory.
11991
11992         * configure.in: Generate build/Makefile, build/win32/Makefile,
11993         gdk/, gdk/win32/, and gtk/makefile.mingw.
11994
11995         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
11996         Add GETTEXT_PACKAGE.
11997         
11998         * gdk/gdk.def
11999         * gtk/gtk.def: Updates.
12000
12001         * gdk/gdkfont.h
12002         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
12003         need them any longer.
12004
12005         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
12006
12007         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
12008         PANGOWIN32_LIBS and gdk_pixbuf.
12009
12010         * gdk/win32: Compiles, but no doubt doesn't work at all.
12011
12012         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
12013
12014         * gdk/win32/gdkinput.c: New file, temporarily.
12015         
12016         * gdk/win32/gdkinput-win32.h: New file
12017
12018         * gdk/win32/gdkinputprivate.h: Remove.
12019
12020         * gdk/win32/gdkpango-win32.c: New file.
12021
12022         * gtk/makefile.mingw.in: New file
12023
12024         * gtk/makefile.cygwin: Removed
12025         
12026         * gtk/Makefile.am: Update accordingly.
12027
12028         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
12029         made externally visible.
12030
12031         * gtk/gtkmain.c: Use it.
12032         
12033         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
12034         is enough.
12035
12036         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
12037
12038 2000-07-24 Elliot Lee <sopwith@redhat.com>
12039         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
12040         individual backends already.
12041         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
12042         again. Yes, there really is a good reason for this, if you are using the gdkregion
12043         internals, and if you're not, why do you care?
12044         * gdk/gdkwindow.c: Fix inverted condition
12045         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
12046         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
12047         * gtk/gtkrange.c: Redraw trough when moving.
12048         * gtk/gtktypeutils.c: Fix warning by adding const cast.
12049         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
12050
12051 2000-07-23  Tor Lillqvist  <tml@iki.fi>
12052
12053         * configure.in: Check for mkstemp and sigsetjmp. Output
12054         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
12055
12056         More work on GDK for Win32. Still in an intermediate state.
12057
12058         * gdk/makefile.cygwin
12059         * gdk/win32/makefile.cygwin: Removed.
12060         
12061         * gdk/makefile.mingw.in
12062         * gdk/win32/makefile.mingw.in: New files.
12063
12064         * gdk/Makefile.am
12065         * gdk/win32/Makefile.am: Generate and distribute them.
12066
12067         * gdk/win32/gdkwindow-win32.h
12068         * gdk/win32/gdkdrawable-win32.h
12069         * gdk/win32/gdkpixmap-win32.h: New files.
12070
12071         * gdk/win32/gdkcolor-win32.c
12072         * gdk/win32/gdkcursor-win32.c
12073         * gdk/win32/gdkdrawable-win32.c
12074         * gdk/win32/gdkgc-win32.c
12075         * gdk/win32/gdkimage-win32.c
12076         * gdk/win32/gdkprivate-win32.h
12077         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
12078         Rename fields and variables called xcursor, xid, etc (these names
12079         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
12080
12081 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
12082
12083         * gtk/gtkentry.[ch]: Fix some problems with vertical
12084         alignment.
12085
12086         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
12087         char/byte confusion.
12088
12089 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
12090
12091         * gtk/gtktextview.c (changed_handler): Fix bug where
12092         redraw wasn't being done properly when height of
12093         dirty region changed.
12094
12095         * demos/Makefile.am: Remove various references to
12096         -lgmodule
12097
12098 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
12099
12100         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
12101         PangoAttrShape to reserve space for pixmaps, add 
12102         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
12103         in the display functions.
12104         
12105         * gtk/testgtk.c (create_layout): Set some more exotic
12106         scrolled window options
12107
12108         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
12109         Add function to set the shadow type of a window, to allow
12110         putting a shadow around widgets such as GtkLayout or GnomeCanvas
12111         which don't draw their own frame.
12112
12113 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
12114
12115         * docs/tutorial/package-db-tutorial.sh: New file for
12116           packaging DocBook format tutorial
12117
12118 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
12119
12120         * docs/tutorial/gtk-tut.sgml: Minor updates
12121
12122         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
12123
12124 2000-07-19  Tor Lillqvist  <tml@iki.fi>
12125
12126         * gtk/gtksignal.c: Fix C++ comment.
12127
12128         * gtk/gtkimmulticontext.c
12129         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
12130         don't return value from void functions.
12131
12132         * gtk/gtk.def: Add gtk_rc_style_unref.
12133
12134 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
12135
12136         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
12137         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
12138         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
12139         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
12140         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
12141         gtk/gtktypeutils.h: Include files outside of the extern "C"
12142         block. Makes some C++ compiler happy. Reported by Denis Vakatov
12143         <vakatov@peony.nlm.nih.gov>.
12144
12145 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
12146
12147         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
12148           Completes first pass. Hurrah!
12149
12150 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
12151
12152         * docs/tutorial/gtk-tut.sgml: More clean ups.
12153
12154 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
12155
12156         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
12157         paint the background of the text area which was accidentally
12158         removed at some point.
12159
12160         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
12161           
12162          - Move most of the functionality from the theme vtable
12163            into GtkRcStyleClass and GtkStyleClass. The moved
12164            vtable functions were changed a bit in the move to
12165            work better in their new home.
12166
12167          - Get rid of the engine and engine_data fields from
12168            GtkRcStyle and GtkStyle; instead the theme
12169            engine derives theme-specific subclasses of GtkRcStyle
12170            and GtkStyle
12171
12172          - Add extra dlsym() found entry point to themes,
12173            theme_create_rc_style().
12174
12175         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
12176         in gtk_style_real_copy.
12177
12178         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
12179         to register a type associated with an engine. (The engine
12180         won't be unloaded as there is an instance of the type.)
12181
12182
12183 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
12184
12185         * docs/tutorial/gtk-tut.sgml: Clean ups.
12186
12187 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
12188
12189         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
12190           of cleaning up to do.
12191
12192 2000-07-15  Tor Lillqvist  <tml@iki.fi>
12193
12194         * gdk/testgdk.c: New file, quick hack to test backends for
12195         pixel-by-pixel correctness of the most simple graphic operations.
12196
12197 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
12198
12199         * Really release 1.3.1
12200         
12201         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
12202         include structure.
12203
12204 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
12205
12206         * Released 1.3.1
12207
12208 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
12209
12210         * gtk/gtktextlayout.c: use FALSE for size_only most
12211         of the time when calling gtk_text_layout_get_line_display()
12212         to avoid causing double reshapes when a redraw follows
12213         immediately after.
12214
12215 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
12216
12217         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
12218         appropriate region and gdk_window_process_updates() so trough
12219         updating doesn't lag behind the window being scrolled.
12220
12221         * gdk/gdkgc.c: Make parent_class pointer static.
12222          
12223 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
12224
12225         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
12226         include <string.h>.
12227          
12228         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
12229         cut-and-paste error in computing memory offset for 4 channels.
12230
12231 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
12232
12233         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
12234         gtk_rc_append_default_pixmap_path(), since it wasn't
12235         adding an interesting path and we don't have a meaningful
12236         default for this value.
12237
12238 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
12239
12240         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
12241         gtk-config to gtk-config-2.0 move gtk_.m4 to
12242         gtk-2.0.m4
12243
12244         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
12245         gdk/Makefile.am demos/Makefile.am: Change 
12246         library names to libgtk-1.3.la, etc, so that we
12247         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
12248
12249         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
12250         gdk/Makefile.am gdk/x11/Makfile.am
12251         Move include files into /usr/include/gtk-2.0, 
12252         /usr/lib/gtk-2.0/include/
12253          
12254         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
12255         gtk/gtkintl.h: Change package for gettext from 
12256         gtk+ to gtk20. Put hack in autogen.sh to modify
12257         po/Makefile.in.in after gettextize to make this
12258         possible.
12259
12260         * gtk+.spec: Some updates, not tested.
12261
12262         * gdk-pixbuf/Makefile.am: Move loaders into
12263         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
12264
12265         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
12266         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
12267         to THEMENAME/gtk-2.0/. Move engine directory  to
12268         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
12269         
12270 2000-07-12  Tor Lillqvist  <tml@iki.fi>
12271
12272         Win32 changes, still doesn't build though.
12273
12274         * gdk/makefile.cygwin
12275         * gdk/win32/makefile.cygwin
12276         * gtk/makefile.cygwin: Updates.
12277
12278         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
12279         default values for fg and bg pixel as X11 does (0 and 1), not
12280         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
12281         Use 0 for pen width by default (treated as 1 anyway later, but for
12282         apps that might check the value in the GdkGC).
12283         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
12284         interface to gdk_gc_predraw and _postdraw.
12285
12286         * gdk/win32/gdkwin32.h
12287         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
12288
12289         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
12290         extraneous semicolon.
12291
12292         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
12293
12294         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
12295         not the Win32 bitspixel value.
12296
12297         * gdk/win32/gdkcc-win32.c:
12298         * gdk/win32/gdkcolor-win32.c 
12299         * gdk/win32/gdkprivate-win32.h
12300         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
12301         GDK object structure.
12302
12303 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
12304
12305         * docs/tutorial/gtk_tut_12.es.sgml (name): 
12306         * docs/tutorial/gtk_tut_it.sgml (name): 
12307         * docs/tutorial/gtk_tut_fr.sgml (name): 
12308         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
12309         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
12310
12311 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
12312
12313         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
12314           small changes.
12315
12316 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
12317
12318         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
12319         a bug here, never been here and never fixed anything ;(
12320         (don't segfault if tree->root_tree is NULL, which happens prior
12321         to widget realization, but puke instead).
12322
12323 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
12324
12325         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
12326         add the necessary tokens.
12327
12328         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
12329         (gtk_rc_style_to_style): copy thicknesses.
12330         (gtk_rc_init_style): apply thicknesses.
12331         (gtk_rc_parse_style): parse xthickness and ythickness.
12332
12333         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
12334
12335         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
12336         (gdk_window_new): 
12337         (_gdk_windowing_window_init): 
12338         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
12339         (gdk_pixmap_create_from_data): 
12340         (gdk_bitmap_create_from_data): 
12341         (gdk_pixmap_new): 
12342         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
12343         (gdk_image_new): 
12344         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
12345         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
12346         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
12347         (gdk_colormap_get_system): 
12348         (gdk_colormap_new): 
12349         * gdk/gdkwindow.c (gdk_window_init): 
12350         * gtk/gtkstyle.c (gtk_style_new):
12351         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
12352         * gdk/gdkpixmap.c (gdk_pixmap_init): 
12353         * gtk/gtkrc.c (gtk_rc_style_new):
12354         use g_object_new() instead of g_type_create_instance() which
12355         is a private function for fundamental type implementations.
12356
12357 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
12358
12359         * configure.in: Add check for db2html
12360
12361 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
12362
12363         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
12364         hack to set glib_debug_objects based on gtk_debug_flags.
12365
12366 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
12367
12368         * INSTALL.in: Update the Prerequisites section.
12369
12370         * Makefile.am demos/Makefile.am docs/Makefile.am
12371         docs/tutorial/Makefile.am gdk/x11/Makefile.am
12372         gdk/linux-fb/Makefile.am: Dist fixes
12373
12374 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
12375
12376         * NEWS: 10,000 foot view of 1.3.1 changes.
12377
12378 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
12379
12380         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
12381         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
12382         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
12383         gdk/x11/gdkmain-x11.c: 
12384
12385         Patch from George Lebl to add a GdkGrabStatus enumeration to use
12386         as a return value of gdk_*_grab(). Previously, we just
12387         returned the X11 values directly.
12388
12389 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
12390
12391         * gdk/x11/Makefile.am: Patch from George Lebl to 
12392         install all the headers in the right place.
12393
12394 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
12395
12396         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
12397           initial conversion to DocBook.
12398
12399 2000-07-04  Tor Lillqvist  <tml@iki.fi>
12400
12401         * README.win32: Improve a bit.
12402
12403         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
12404         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
12405         Alt+0nnn on the numpad (used to enter characters by numeric code
12406         from current DOS or ANSI codepage) working correctly, as in other
12407         Windows apps.
12408
12409         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
12410         same argument validity tests as in X11 version.
12411         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
12412
12413         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
12414         definitions in case missing from headers.
12415
12416         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
12417         destroy the window-specific cursor.
12418         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
12419         calling GetModuleHandle(NULL).
12420         (gdk_window_set_cursor): Reworked to always copy the passed cursor
12421         with CopyCursor before setting it as the window-specific
12422         cursor. It is OK for the caller to destroy the GdkCursor (and thus
12423         also its Windows cursor) after calling this function. Destroy any
12424         previous window-specific cursor.
12425
12426 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
12427
12428         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
12429         font charset is iso8859-1, not iso-8859-1.
12430
12431 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
12432
12433         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
12434         Use g_get_charset() instead of g_get_codeset().
12435
12436         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
12437         Comment out some strdup'ing functions to keep timj
12438         happy until we finish fighting this out.
12439
12440 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
12441
12442         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
12443         <= width or height.
12444
12445         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
12446         from 1.2 for parent/child states.
12447
12448         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
12449         of typos.
12450
12451         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
12452         event structures, replace with a generic axes field. Replace 
12453         deviceid/sourec with GdkDevice *device.
12454
12455         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
12456         to extract particular axis use value from event. (Also
12457         can be used for normal X/Y.)
12458
12459         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
12460         allow for arbitrary number of axes, namespace everything
12461         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
12462         everywhere.
12463
12464         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
12465         Get rid of the gdk_input_vtable setup if favor of simply
12466         defining the functions in gdkinput-none/gxi/xfree.c in
12467         a similar fashion to the way that the port structure is 
12468         done.
12469
12470         * gtk/gtkdnd.c: Fix fields of synthesized button press event
12471         for new event structures. 
12472
12473         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
12474         new device interfaces.
12475
12476 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
12477
12478         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
12479         set the initial text.
12480
12481         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
12482         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
12483         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
12484         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
12485
12486         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
12487         pango_layout_set_font_description to simplify.
12488
12489 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
12490
12491         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
12492         pango_layout_set_font_description to simplify.
12493
12494 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
12495
12496         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
12497         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
12498         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
12499
12500         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
12501         PANGO_PIXELS() macro.
12502
12503 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
12504
12505         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
12506         that returns a PangoContext owned by the widget and updated to
12507         match future changes in the widget. Also, make 
12508         gtk_widget_create_pango_layout() use this context. If we ever
12509         add a ::changed signal to PangoContext, this will make things
12510         much more convenient. 
12511
12512         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
12513         in the appropriate places instead of destroying the layouts and
12514         creating new ones.
12515
12516         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
12517         in a few strategic places.
12518
12519 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
12520
12521         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
12522         gtk_widget_size_request() on reparented child, if one. Otherwise,
12523         queue_resize() on the child never results in it getting size-requested
12524         at all.
12525
12526         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
12527         in option menus, so that (with luck) people won't copy it into
12528         their apps in the future.
12529
12530         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
12531         to gtk_option_menu_calc_size. This isn't perfect, but should fix
12532         a lot of problems with changing the size of the menu's menu
12533         items after adding it to the option menu.
12534
12535         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
12536
12537         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
12538         the text direction for a widget changes.
12539
12540         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
12541         ::direction_changed to get rid of various hacks.
12542
12543 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
12544
12545         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
12546         name.
12547
12548 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
12549
12550         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
12551         flag to the structure. Do not call XFreePixmap on pixmaps created
12552         by gdk_pixmap_foreign_new().
12553
12554 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
12555
12556         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
12557         value using GdkRGB functionality given GdkColormap and GdkColor.
12558         (name not final, waiting for inspiration.)
12559         
12560         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
12561         set the foreground/background of a GC using the GC's colormap
12562         and GdkRGB. (name not final, waiting for inspiration.)
12563
12564         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
12565         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
12566
12567         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
12568         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
12569         purely a function of the corresponding colormap. Make
12570         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
12571
12572         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
12573         gdk_pixbuf_*create_from_xpm_* in terms of
12574         gdk_pixbuf_new_from_xpm_data(), move into platform independent
12575         code.
12576
12577         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
12578         advantage of the new draw_rgb_32_image_dithalign.
12579
12580         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
12581
12582         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
12583         on each created GC.
12584
12585         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
12586
12587         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
12588         which we initialize from the drawable when the GC is created,
12589         if the drawable has a colormap.
12590
12591         * gdk/x11/gdkgc-x11.c: include string.h for memset.
12592
12593         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
12594
12595         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
12596
12597 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
12598
12599         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
12600         actually returning expose events, make sure to set
12601         the count field properly.
12602
12603         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
12604         accidentally reintroced bug which always cleared
12605         the graphics_exposures value. 
12606
12607 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
12608
12609         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
12610
12611 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
12612
12613         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
12614
12615 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
12616
12617         * docs/faq/gtk-faq.sgml: Start of Section 6.
12618
12619 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
12620
12621         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
12622         
12623         (Fixes problem with drawing childless frames. Pointed out
12624         by and a first patch from Anders)
12625         
12626         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
12627         compute a child_allocation, even if we don't have a child.
12628
12629         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
12630         Always chain to the parent's impl, even if we don't have a child.
12631
12632 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
12633
12634         * gdk/gdkrgb.c: If possible, create only a single shm segment and
12635         use multiple parts of it instead of creating a bunch of separate
12636         segments, since the maximum number of segments per system is not
12637         large. (This might be worth backporting to GTK+-1.2.x if we make a
12638         new release )
12639
12640         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
12641         structure in preparation for per-colormap GdkRGB.
12642
12643         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
12644         to False when we get EINVAL from shmget so that the caller of
12645         gdk_image_new can retry with a smaller segment size.
12646
12647 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
12648
12649         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
12650
12651 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
12652
12653         * configure.in: make the current version number 1.3.1 (binary age 0,
12654         interface age 0).
12655         
12656         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
12657         gtkcompat.h is all we want.
12658
12659         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
12660         GLib primitive types. fixed g_type_register_fundamental() argument
12661         ordering.
12662
12663         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
12664         compiles.
12665
12666         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
12667         object code cleanup, comment trigraph fixes, etc...
12668
12669 2000-06-23  Havoc Pennington  <hp@redhat.com>
12670
12671         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
12672         instead of making up a bogus name for first_para_mark
12673
12674         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
12675         0 as a context ID
12676
12677 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
12678
12679         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
12680
12681 2000-06-21  Havoc Pennington  <hp@pobox.com>
12682
12683         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
12684         we didn't check window->bg_pixmap != GDK_NO_BG.
12685
12686         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
12687         gdk-pixbuf
12688
12689 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
12690
12691         * docs/faq/gtk-faq.sgm: Move file to here.
12692           TODO: Update Makfile.am 
12693
12694 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
12695
12696         * docs/gtk-faq.sgm: Add Section 2
12697
12698 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
12699
12700         * docs/gtk-faq.sgm: New file. Start of DocBook
12701           version of the FAQ.
12702
12703 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
12704
12705         * configure.in (GDK_PIXBUF_MAJOR): Define version
12706         numbers for GDK_PIXBUF_*, as they get substituted
12707         into a header file. Need to consider versioning
12708         for gdk-pixbuf more carefully later.
12709
12710 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
12711
12712         Work with srcdir != builddir.   
12713         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
12714         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
12715         * demos/testpixbuf.c: Likewise.
12716         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
12717         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
12718         <gdk/x11/gdkx.h>.
12719         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
12720         "gdk-pixbuf.h".
12721         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
12722
12723 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
12724
12725         * TODO.xml: Change 1.4 version numbers to 2.0.
12726
12727 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
12728
12729         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
12730         fixups to GTK+ standard.
12731
12732 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
12733
12734         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
12735         gdk-pixbuf.
12736
12737         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
12738         fixups for GObject.
12739
12740         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
12741         gdk-pixbuf with GDK dependencies moved into GDK.
12742         
12743         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
12744         move gdk-pixbuf-loader here until GObject has signals.
12745
12746         * demos/: New directory of demos. Move demos from
12747         gdk-pixbuf here.
12748
12749         * demos/pixbuf-init.c: Small bit of code to check for
12750         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
12751         set GDK_PIXBUF_MODULEDIR appropriately.
12752
12753         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
12754         define which no longer makes sense.
12755
12756 2000-06-21  Havoc Pennington  <hp@redhat.com>
12757
12758         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
12759         gtk_get_default_language
12760
12761         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
12762         new function to get the default language
12763
12764         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
12765         s/gtk_text_view_style_values/gtk_text_style_values/
12766
12767         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
12768         Add a "language" field to tags.
12769
12770         (gtk_text_tag_set_arg): Fix bug in setting
12771         "bg_full_height_set" tag.
12772
12773 2000-06-21  Havoc Pennington  <hp@redhat.com>
12774
12775         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
12776         in the interfaces
12777
12778         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
12779         stuff instead when possible.
12780
12781         * gtk/gtktexttypes.h: Delete some unused constants
12782
12783         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
12784         testtextbuffer.c: use glib instead of custom unicode routines
12785
12786 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
12787
12788         * docs/es/: Removed mistakenly added generated sgml
12789
12790         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
12791         Remove outdated info files.
12792
12793         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
12794         Moved tutorial files into subdir
12795
12796         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
12797         subdir.
12798
12799         * docs/man/gtk_button.pod: Remove. (contents will be
12800         integrated into gtk-reference button page.)
12801
12802         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
12803         docs/faq/Makefile.am: Adjust for new organization
12804
12805 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
12806
12807         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
12808         not $(MKINSTALLDIRS)
12809
12810 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
12811
12812         * gtk/testgtk.c (create_text): Finish the job Elliot started
12813         of removing font setting test for text widget. (Since text widget
12814         and GdkFont are not deprecated, and cause portability problems.)
12815
12816 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
12817
12818         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
12819         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
12820         Remove use of libunicode in favor of new GLib functions.
12821
12822         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
12823         nano-x, framebuffer. The X11 include is just a hack until we get
12824         the necessary functions in gdkcolor.h, so there is no reason to
12825         add other includes of platforms.
12826
12827         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
12828         window bigger than the screen change.
12829
12830         * gtk/testgtk.c: Revert some random changes from Elliot
12831         that had no particular point and were causing testgtkrc
12832         not to function correctly.
12833         
12834         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
12835         because GdkSegment and GdkRegionBox have the same fields,
12836         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
12837         results in clearer code.
12838
12839         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
12840         gdk_input_translate_coordinates): Fix missed GdkObjectification
12841
12842 2000-06-18  Elliot Lee  <sopwith@redhat.com>
12843
12844         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
12845         * gtk/gtk{plug,socket}.h: Missed commits from previous.
12846
12847 2000-06-20  Havoc Pennington  <hp@redhat.com>
12848
12849         * modules/linux-fb/Makefile.am: Make this compile
12850         without framebuffer enabled
12851
12852         * gdk/linux-fb/Makefile.am: Add conditional to not build
12853         framebuffer unless specified in configure
12854
12855         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
12856         the size of the target instead of source if -1 was passed for
12857         width/height
12858
12859         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
12860         width/height confusion.
12861
12862 2000-06-19  Havoc Pennington  <hp@redhat.com>
12863
12864         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
12865         GDK_DRAWABLE_XID. In the future, we probably want to make it
12866         faster with G_DISABLE_CHECKS turned on.
12867
12868 2000-06-14  Havoc Pennington  <hp@redhat.com>
12869
12870         * gdk/Makefile.am: add gdkpixmap.c
12871
12872         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
12873         s/gdk_image_init/_gdk_windowing_image_init
12874
12875         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
12876         ref/unref
12877
12878         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
12879
12880         * gdk/gdkcompat.h: remove GdkWindowType compat, since
12881         GdkWindowType is now non-deprecated; 
12882         change gdk_window_get_type() compat to be
12883         gdk_window_get_window_type().
12884
12885         * gdk/gdkdnd.h: make GdkDragContext a GObject.
12886
12887         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
12888         virtual GObject. Make all functions call into the vtable.
12889         Move gdk_image_put() guts in here. Remove GdkDrawableType
12890         and gdk_drawable_get_type(), these are now GdkWindow-specific.
12891         draw_image, get_depth, get_size, set_colormap, get_colormap,
12892         get_visual added to the vtable.
12893         
12894         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
12895         GObject. Virtualize everything. 
12896         (gdk_gc_new_with_values): remove check for destroyed window,
12897         because now GdkWindow::create_gc will check this.
12898         (gdk_gc_set_values): New function to set GC values, this 
12899         was already implemented but wasn't in the header
12900
12901         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
12902
12903         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
12904         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
12905         remove _gdk_window_class; add _gdk_window_impl_get_type() and
12906         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
12907         _gdk_windowing_window_init, rename gdk_image_init to
12908         _gdk_windowing_image_init.
12909         
12910         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
12911         (gdk_draw_layout): Remove check for destroyed window, 
12912         because all the drawable methods already check it.
12913         
12914         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
12915         Add gdkpixmap.c which contains implementation of GdkDrawable
12916         virtual table (by chaining to a platform-specific implementation
12917         object).
12918         
12919         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
12920         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
12921         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
12922         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
12923         GdkColormapPrivate. 
12924
12925         * gdk/gdktypes.h: #include <glib-object.h>
12926
12927         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
12928         Move most functionality to platform-specific implementation
12929         object. GdkWindow itself now handles the backing store, then
12930         chains to the platform-specific implementation.
12931         (gdk_window_get_window_type): return GdkWindowType of the window.
12932         (gdk_window_peek_children): New routine, returns the children of 
12933         a GdkWindow
12934         (gdk_window_get_children): Was in X11-specific code and did 
12935         XQueryTree. Changed to simply return a copy of window->children; 
12936         so it can go in cross-platform code.
12937         
12938         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
12939
12940         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
12941         GdkColormap; just changed to use the new private data instead
12942         of casting to GdkColormapPrivate.
12943
12944         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
12945         gdk_cursor_new().
12946
12947         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
12948         (private data member in the GObject). 
12949         (xdnd_manager_source_filter): Function had broken 
12950         error handling, fix it (use gdk_error_trap_push).
12951
12952         * gdk/x11/gdkdrawable-x11.c: This file now implements
12953         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
12954         base class is purely for the convenience of the X port,
12955         and not part of the interface to cross-platform GDK.
12956
12957         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
12958         
12959         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
12960         specific to X, and returned by the create_gc virtual method
12961         of GdkDrawableImplX11. 
12962         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
12963         rather than gchar, this was also changed in the GdkGC vtable.
12964         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
12965         mask is 0, return immediately, instead of checking every flag.
12966         This is faster, and keeps us from segfaulting if values is NULL
12967         and the mask contains some nonzero flags.
12968
12969         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
12970         GdkWindow.
12971
12972         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
12973         GdkWindowPrivate is gone.
12974
12975         * gdk/x11/gdkim-x11.c: rename things that got renamed.
12976
12977         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
12978         remove the image_put stuff that got transferred to GdkDrawable.
12979         
12980         * gdk/x11/gdkinput.c: renamings
12981
12982         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
12983
12984         * gdk/x11/gdkpixmap-x11.c: GObject conversion
12985
12986         * gdk/x11/gdkprivate-x11.h: indentation fixes
12987
12988         * gdk/x11/gdkproperty-x11.c: renamings
12989
12990         * gdk/x11/gdkselection-x11.c: renamings
12991
12992         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
12993         implements the platform-specific "impl" object.
12994         Moved gdk_window_get_children to gdk/gdkwindow.c
12995
12996         * gdk/x11/gdkx.h: Remove all the private structs and private datas
12997         that no longer exist. Add declaration of GdkGCX11 object here.
12998         Fix all the macros to still work. 
12999
13000         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
13001         GdkDragContext from the boxed types since they are now GObjects.
13002
13003         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
13004         moved xthickness/ythickness into the instance. GtkStyleClass
13005         functions are now in the standard vtable for GtkStyle, so you have
13006         to create a GObject subclass to write a theme engine.
13007         (gtk_style_copy): fixed a leaked PangoFontDescription
13008         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
13009         can be the standard GObject function.
13010         
13011         * Throughout GTK:
13012         s/style->klass->[xy]thickness/style->[xy]thickness
13013         s/pango_layout_unref/g_object_unref/
13014
13015         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
13016         
13017         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
13018         accessing GDK internals.
13019
13020         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
13021         accessing GDK internals.
13022
13023 2000-06-18  Elliot Lee  <sopwith@redhat.com>
13024
13025         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
13026
13027         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
13028         problem by calculating event position relative to the trough
13029         rather than the slider.
13030         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
13031
13032         * gdk/gdkgc.h: Add GDK_NOR.
13033
13034         * configure.in, Makefile.am: Add modules top level dir
13035         * configure.in: Only use pangox library if building x11 target.
13036         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
13037
13038 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
13039
13040         * gtk/gtkcolorsel.c: Change private class member to be named
13041         private_data throughout the file.
13042
13043         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
13044         private_data to avoid clashing with keyword.
13045
13046 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
13047
13048         * gdk/gdkdnd.h: Add comment to remove warning.
13049
13050 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
13051
13052         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
13053         Byelorussian language; changed the Makefile and file names 
13054         to reflect that.
13055
13056 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
13057
13058         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
13059         rather than gdk_window_hide; this makes things work
13060         correctly if the window is programmatically hidden while
13061         iconified.
13062
13063 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
13064
13065         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
13066         cut and paste typo where wrong pixmap was being
13067         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
13068
13069 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
13070
13071         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
13072         Add helper function to compute format / bytes 
13073         relationship. Use in a couple places to fix up
13074         errors which assume 8 * format.
13075
13076         * gtk/gtkselection.c (gtk_selection_request): Use 32
13077         rather than 8 * sizeof (GdkAtom), to work correctly
13078         on Alpha.
13079
13080 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
13081
13082         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
13083         libgtk.la
13084         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
13085         versions
13086
13087         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
13088         checking macros return NULL since the function has a return value.
13089
13090 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
13091
13092         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
13093         GTK+ from building at all.
13094
13095         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
13096
13097 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
13098
13099         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
13100         gtk/Makefile.am: make it possible to configure gtk for different
13101         targets on the same platform. The library name is now 
13102         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
13103         flag. Only the x11 target compiles right now.
13104         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
13105         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
13106         * gdk/nanox/gdk*generic*: delete generic region code.
13107         * gdk/linux-fb/gdk*generic*: delete generic region code.
13108         * README.nanox: update information.
13109         
13110 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
13111
13112         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
13113         prepend not append. (Pointed out by Brett Hall.)
13114
13115 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
13116
13117         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
13118
13119 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
13120
13121         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
13122         need this later, and this makes sure that the atexit for
13123         glib gets called after that for GDK, so atexits are
13124         properly ordered for object leak checking.
13125
13126         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
13127
13128         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
13129         pango_x_shutdown_display()
13130
13131         * gtk/simple.c (main): Close window on destroy.
13132
13133 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
13134
13135         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
13136         to treat initial creation different from setting with 
13137         regards to the graphics-exposures parameter, so add a parameter
13138         indicating whether this is initial or not.
13139
13140 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
13141
13142         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
13143         to sort of work by adding an extra return_exposes arg
13144         to gdk_event_translate() - it might be better to simply
13145         deprecate the function altogether and force people to rewrite
13146         without it. gdk_window_scroll() handles most of it, and where
13147         gdk_window_scroll() doesn't work, simply redrawing more does.
13148
13149         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
13150         assertion.
13151
13152         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
13153
13154         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
13155         bunch of pretty much useless /* Print debugging info */ comments 
13156         which had drifted away from the code they were commenting.
13157
13158 2000-06-02  Havoc Pennington  <hp@pobox.com>
13159
13160         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
13161         is in working order.
13162         
13163         * gtk/testtext.c: Change to reflect anonymous mark API
13164
13165         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
13166
13167         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
13168         field, which was unused.
13169
13170         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
13171         saves some typing.
13172
13173         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
13174
13175         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
13176         flag on the insertion point and selection bound
13177
13178         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
13179         make mark-manipulation functions take a GtkTextMark* instead of a
13180         mark name.
13181         
13182         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
13183         GtkTextMarkBody; will be used to detect attempts to delete
13184         the permanent marks (insert and selection bound)
13185
13186         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
13187
13188 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
13189
13190         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
13191         flag to on.
13192
13193         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
13194         Honor DOUBLE_BUFFRED_FLAG
13195
13196         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
13197         function to set the DOUBLE_BUFFERED flag.
13198
13199         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
13200         or not exposes done on the widget should be double-buffered.
13201
13202         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
13203         to be what would be expected. (Fixes problem with a
13204         g_return_if_fail() validating a TextDirection enumeration)
13205
13206 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
13207
13208         * gtk/gtkwidget.c: Remove all references to 
13209         offscreen flag which was no longer used.
13210
13211         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
13212
13213         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
13214         for non-null label_widget->parent.
13215
13216         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
13217         which no longer was used.
13218
13219         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
13220
13221         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
13222         for null arguments.
13223
13224         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
13225         check for destroyed windows.
13226
13227 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
13228
13229         * gtk/gtkimmulticontext.c: Add a finalize method and unref
13230         the slave context there.
13231
13232         * gtk/gtkinvisible.[ch]: Make reference counting behavior
13233         identical to GtkWindow.
13234
13235 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
13236
13237         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
13238         pangox to here, so we can write them independent of rendering
13239         system, using GDK primitives.
13240
13241         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
13242         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
13243         since we have a rendering-system independent implementation in
13244         terms of draw_glyphs().
13245         
13246         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
13247         function to render a single line.
13248
13249         * gdk/x11/gdkpango.c: Move the guts of this file mostly
13250         into ../gdkpango.c, which simplifies things, since we
13251         don't have to deal with raw X gc's.
13252
13253 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
13254
13255         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
13256         get the logical attributes for a given GtkTextLine.
13257
13258 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
13259
13260         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
13261         g_locale_get_codeset() to g_get_codeset() change.
13262
13263 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
13264
13265         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
13266         descriptions.
13267
13268         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
13269         the entry.
13270
13271         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
13272         redoing (vastly simplifying) for Pango. Still needs quite
13273         a bit of work. (Size selection is currently poor. List of 
13274         predefined sizes is not a good idea, since all of these
13275         sizes won't necessarily be distinct.)
13276
13277 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
13278
13279         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
13280         CODESET results for LANG=C.
13281
13282 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
13283
13284         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
13285         which takes a stringized pango font description;
13286         ignore the older 'font' and 'fontset' declarations.
13287
13288         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
13289         field with a GdkFont derived via gdk_font_from_description(),
13290         for compatibility. (Should we just remove it entirely?
13291         Probably too much compatibility breakage, but people
13292         should be migrating to the new Pango stuff as quickly
13293         as possible.)
13294
13295 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
13296
13297         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
13298
13299 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
13300
13301         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
13302         redoing; there are some bugs in size allocation right
13303         now, the semi-existant distinction between header / day
13304         fonts was removed, but, with Pango, could actually
13305         be made functional in a nice way.
13306         
13307         * gtk/testcalender: Move calender from examples into this
13308         directory as a test program. (We really need to restrcture
13309         testgtk into a whole directory full of tests for every
13310         widget or functionality group, separated into multiple .c
13311         files.)
13312
13313 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
13314
13315         * gtk/testgtk.c (file_exists): Fix stupid typo that
13316         was keeping RC file from being loaded.
13317
13318         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
13319         RC file font code.
13320
13321 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
13322
13323         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
13324         Add function to load a GdkFont from a PangoFontDescription.
13325
13326 2000-05-29  Tor Lillqvist  <tml@iki.fi>
13327
13328         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
13329         variable should be of type GdkEventPrivate.
13330
13331 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
13332
13333         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
13334         to have any widget for the label, use a GtkLabel widget
13335         to display the text. (Based partially on a patch from
13336         Anders Carlson.)
13337
13338         (Quite a bit of code reorganization - strip 90% of the
13339         guts out of gtkaspectframe and add a single virtual
13340         func to GtkFrameClass - compute_child_allocation.)
13341
13342 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
13343
13344         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
13345         (Removed clist->row_center_offset field because caching
13346         it wasn't saving time or code, added private function
13347         _gtk_clist_create_cell_layout()).
13348
13349 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
13350
13351         * gtk/gtkaccellabel.c: Pangoized.
13352
13353         * gtk/[hv]ruler.c: Pangoized
13354
13355 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
13356
13357         * gtk/gtkfilesel.c (gtk_file_selection_init):
13358         Use gtk_clist_set_column_auto_resize() to remove need
13359         need for manual column width computations.
13360
13361 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
13362
13363         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
13364         ensuring Pango correctness, and considerably simplifying the
13365         code.
13366         
13367         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
13368
13369         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
13370         getting of numbers of lines.
13371
13372         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
13373         to the actual requested width of the lable, not to the wrap
13374         width we set.
13375
13376         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
13377
13378         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
13379           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
13380
13381         * gtk/gtktextview.c: Fix structure inheritance.
13382
13383         * gtk/gtkprogressbar.c: Pangoize.
13384
13385 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
13386
13387         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
13388         in a function.
13389
13390         * gtk/gtktextlayout.c (find_display_line_above): Fixed
13391         bug with computing line tops.
13392
13393         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
13394
13395 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
13396
13397         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
13398         and y_offset coordinates to do what we need now. (The offset between
13399         buffer and layout coordinates has been reintroduced, but is a 
13400         bit different than before.)
13401
13402         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
13403         handle the adjustments ourselves, and scroll as necessary using
13404         the new gdk_window_scroll().
13405         
13406         The advantage of this is that when we are incrementally revalidating,
13407         we are essentially rearranging things around the visible portion
13408         of the screen. With the old setup, the visible portion of the
13409         screen was moved around in the layout, so scrolling and redrawing
13410         to track that caused jumping of the display. Since we now
13411         control the scrolling ourselves, we can suppress this and
13412         only redraw when things actually change.
13413
13414 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
13415
13416         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
13417         the region not just redisplay it after-all, since we store the
13418         cursors in the LineDisplay. (Ugly interactions here between
13419         GtkLayout and GtkTextBTree here.)
13420         
13421         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
13422
13423 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
13424
13425         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
13426         Added function to scroll contents of a window while keeping the
13427         window constant. Works by XCopyArea or guffaw-scrolling depending
13428         on the details of how the window is set up. (guffaw-scrolling
13429         still needs to be filled in.)
13430
13431 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
13432
13433         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
13434         move the debugging that was tied to a global variable
13435         to that.
13436
13437         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
13438
13439         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
13440         validated flag, in line data instead of setting height/width to
13441         -1. This allows us to perform operations with partially invalid
13442         buffer (using the old size for invalid lines) and thus to do
13443         incremental vaidation. Keep height/width aggregates up to date
13444         when deleting text and rebalancing the tree.
13445
13446         * gtk/gtktextbtree.[ch]: Add functions validate a line
13447         (gtk_text_btree_validate_line), and to validate up
13448         to a number of pixels (gtk_text_btree_validate).
13449
13450         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
13451         that indicates that something is changed and a revalidation
13452         pass is needed. Change ::need_repaint to ::changed, and
13453         make it take old and new yranges instead of a rectangle.
13454
13455         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
13456         the line_data_destroy() function from 
13457         gtk_text_btree_add_view() to a virtual function in 
13458         GtkTextLayout
13459
13460         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
13461         since we are handling partial repaints in a different fashion
13462         now.
13463
13464         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
13465         of the selection instead of queueing a repaint on the
13466         entire widget.
13467
13468         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
13469         get_selection_bounds() down to btree, make the function
13470         in buffer a wrapper around the btree function.
13471
13472         * gtk/gtktextlayout.[ch]: Add functions to check if the
13473         layout is valid and to recompute either a range of pixels
13474         aroudn a line or a certain total number of pixels.
13475
13476         * gtk/gtktextlayout.[ch]: Cache a single line display;
13477         now that we only redraw the needed portions, the hit rate
13478         for this cache is quite high.
13479         
13480         * gtk/gtktextview.[ch]: Keep track of the first paragraph
13481         on the screen so that when re-laying-out the buffer, we can
13482         keep the same place. This requires connecting to ::value_changed
13483         on the adjustments
13484
13485         * gtk/gtktextview.[ch]: Add idle functions to revalidate
13486         the buffer after we receive an ::invalidated signal.
13487         
13488 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
13489
13490         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
13491         to max of allocation and layout size, not just to the
13492         layout size.
13493
13494         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
13495         Invalidate window so it gets redrawn properly.
13496
13497         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
13498         to mean the entire window.
13499
13500         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
13501         into public header.
13502
13503 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
13504
13505         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
13506         to get the name of a mark.
13507
13508         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
13509         to find the paragraph from a y position.
13510
13511 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
13512
13513         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
13514         nodes have width/height >= 0, not > 0.
13515
13516 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
13517
13518         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
13519         Add a size_only flag, so when we only need the size, we don't create
13520         useless appearance attributes.
13521
13522         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
13523         duplicate setting of font description.
13524
13525         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
13526
13527 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
13528
13529         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
13530         EXTRA_DIST. It does not work well when the file that
13531         everything depends on is not in the tarball.
13532
13533 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
13534
13535         * gtk/testgtk.c: Some hacks and fixes so that it basically
13536         works when not sitting in the GTK+ build tree.
13537
13538 2000-05-03  Havoc Pennington  <hp@redhat.com>
13539
13540         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
13541         Properly determine the ordering of the tag root and the current
13542         line within the tree. Previous algorithm only worked if the tag
13543         root's immediate parent was the common root of both the current
13544         line and the tag root.
13545
13546 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
13547
13548         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
13549         alignment.
13550
13551         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
13552         the widget text directional dynamically.
13553
13554         * gtk/gtktextview.[ch]: Added functions to get and set default
13555         wrap mode.
13556
13557 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
13558
13559         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
13560         in cursor location computation.
13561
13562 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
13563
13564         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
13565         vadjusment values properly when layout gets smaller.
13566
13567         * gtk/gtktextview.c (need_repaint_handler): Areas being
13568         passed in are far completely inaccurate, and sometimes
13569         too small, so, for now, just queue a redraw on the
13570         whole visible region.
13571
13572 2000-04-25  Havoc Pennington  <hp@redhat.com>
13573
13574         * gtk/gtktextbtree.c (summary_destroy): new function to 
13575         destroy tag summary nodes
13576         (gtk_text_line_next_could_contain_tag): this function was 
13577         totally broken if the line passed in wasn't below the tag
13578         root. Fix it.
13579         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
13580         "wildcard" case, we have to do a linear scan. Blah.
13581         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
13582         we have to do the linear scan
13583         (tag_removed_cb): When a tag is removed from the tag table, 
13584         remove the GtkTextTagInfo node from the btree.
13585         (gtk_text_btree_spew): Implement the spew function, for 
13586         our debugging pleasure.
13587
13588 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
13589
13590         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
13591         a problem with referring to the wrong buffer.
13592
13593         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
13594
13595         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
13596         font description to gtk_style_new() - otherwise things
13597         don't work without a .gtkrc file.
13598
13599         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
13600         tags table if we create it ourself, too.
13601
13602         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
13603         it was conflicting with XKB modifiers.
13604
13605         * gtk/gtktextview.[ch]: Add simple support for 
13606         GtkIMContext.
13607
13608 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
13609
13610         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
13611         with deletion from last commit.
13612
13613 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
13614
13615         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
13616         in the context from the current locale.
13617         
13618         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
13619         context, not hardcoded value.
13620
13621         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
13622         not logical.
13623
13624 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
13625
13626         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
13627         attributes - that doesn't handle partial-glyph selection
13628         properly. Instead use new pango_layout_line_get_x_ranges()
13629         functionality to draw the selection.
13630
13631         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
13632         now properly handles out-of-range coordinates.
13633
13634         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
13635
13636         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
13637         public.
13638
13639         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
13640         for paragraphs opposite to the base direction of the widget.
13641
13642         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
13643
13644         * gtk/gtktextlayout.c: Don't split segments on marks, since that
13645         causes Arabic words to reshape as you cursor through.
13646
13647         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
13648         cursor position when moving vertically with the arrow keys and
13649         scrolling with page-up/page-down. (Arrow keys save only the X,
13650         scrolling saves both X and Y.)
13651
13652         This means you can line-up / line-down or page-up / page-down
13653         without losing your place, and also that moving vertically
13654         with the cursor keys keeps the same X position, not the same
13655         character count:
13656
13657         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
13658         arrow keys move by display lines, not paragraphs.
13659
13660 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
13661
13662         * gtk/gtklayout.c: Make sure that the bin window is at least
13663         as big as the allocation. (Should we also make sure that the
13664         bin window is big enough to completely cover widget->window?)
13665
13666         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
13667         function to get the onscreen rectangle.
13668
13669         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
13670         for offsets in window coordinates.
13671
13672 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
13673
13674         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
13675         confusion.
13676
13677         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
13678         from the widget direction.
13679
13680         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
13681         Add a "direction" attribute.
13682
13683         * gtk/gtktextview.c: global s/tkxt/text_view/.
13684
13685         * gtk/testtext.c: Added long block of text in Arabic, to test out
13686         the direction attributes. (Some problems with the shaping system
13687         for arabic become obvious - like the fact the cursor splits words
13688         into unjoined pieces.)
13689
13690 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
13691
13692         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
13693
13694         * gtk/gtktextlayout.c: Fix up alignment.
13695
13696         * gtk/testtext.c: Add some tests for centering, wrapping.
13697
13698 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
13699
13700         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
13701         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
13702         If we wrote GTK+-specific layout-render function this could just replace
13703         the draw_layout() operation in the vtable.
13704
13705         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
13706         pango_layout_get_cursor_pos() and use that function.
13707
13708         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
13709         is a non-static symbol.
13710
13711         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
13712         with gtk_text_btree_find_line_by_y()
13713
13714         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
13715         renderer that handles GtkTextAppearance attributes.
13716
13717         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
13718
13719           - Move the values in the style that don't affect geometry into a
13720             GtkTextAppearance structure.
13721           - Change underline to take a PangoUnderline and "font" a string
13722             representation of a font description
13723           - Add a "font_desc" attribute which takes a FontDescription structure.
13724
13725         * gtk/gtktextlayout.[ch]:
13726
13727           - Get rid of the display-line list per each line. Instead, we
13728             generate, on demand, a GtkTextLineDisplay structure which]
13729             contains a PangoLayout * and other necesary information
13730             (offsets, cursor locations) for displaying a paragraph.
13731           - Get rid of the code to wrap lines, create display chunks,
13732             etc. Instead, we just go through a paragraph and convert
13733             it into the necessary inputs to a PangoLayout.
13734           - Implement a new attribute type, GtkTextAttrAppearance. This
13735             holds a GtkTextAppearance, and is used to pass colors, 
13736             stipple, etc, through from the layout to the display without
13737             having to use lots and lots of individual attributes.
13738           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
13739             in terms of PangoLayout functions.
13740         
13741         * gtk/gtktextview.c: 
13742          
13743           - Handle passing the necessary PangoContext to the layout
13744           - Some fixups in painting to deal with the automatic backing store
13745             and offsetting of GTK+-1.4
13746           - Add a style_set handler so that the default style reacts
13747             properly to theme changes.
13748         
13749         * gtk/gtktext?*.[ch]: Random code-style fixes.
13750
13751         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
13752
13753 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
13754
13755         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
13756         in original form preparatory to Pango-ization and gdkimcontext-ization.
13757
13758 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
13759
13760         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
13761         so that we can derive from gtkimcontext in language bindings properly.
13762
13763 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
13764
13765         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
13766         Add a compose table including (almost) all the compose combinations
13767         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
13768         data in the XIM implementation.
13769
13770         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
13771         Moved functions to convert keyvalues from and to unicode here from
13772         the win32 port and made them public.
13773
13774 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
13775
13776         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
13777
13778 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
13779
13780         * gtk/gtkimcontext.[ch]: Base class for new input context system
13781
13782         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
13783         the real input context implementation to be loaded from modules
13784         and switched on the fly.
13785
13786         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
13787         context that just does direct keysymbol => unicode translation.
13788
13789         * gtk/gtkentry.[ch]: Start switching editing over to using
13790         GtkInputContext. (No handling of preedit yet.)
13791
13792 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
13793
13794         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
13795         many substitutions. (klass should not be subsituted.)
13796
13797 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
13798
13799         * configure.in: Add checks for Pango
13800
13801         * configure.in docs/Makefile.am: Add test for sgml2html
13802         and allow 'make dist' without building html, but print out
13803         warnings in that case. (For making snapshots)
13804
13805         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
13806         Add Pango libraries and C flags
13807
13808         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
13809         Add function (gdk_draw_layout) to draw a pango layout.
13810
13811         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
13812         for getting Pango contexts for GDK.
13813
13814         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
13815
13816         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
13817         editing.
13818
13819         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
13820         keysym => unicode translations. More languages can be added
13821         here, but real input-method support is needed.
13822
13823         * docs/Changes-1.4.txt: Added note about entry behavior.
13824         
13825         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
13826         to set the reading direction for a widget and the global direction.
13827         Add test which allows toggling the global direction. Two private
13828         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
13829
13830         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
13831           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
13832
13833         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
13834
13835         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
13836         underlining now handled by Pango.
13837
13838         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
13839         to RCStyle and Style. (Having both this and the old font name and GdkFont 
13840         is temporary.)
13841
13842         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
13843         convenience functions for creating contexts and layouts for widgets.
13844
13845         * gtk/testgtk.c: Enhance label tests with multilingual labels.
13846
13847 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
13848
13849         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
13850         titles to be active, even if they aren't visible.
13851         (gtk_clist_column_titles_passive):  Ditto.
13852
13853 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
13854
13855         * gtkmenu.c:
13856         * gtkmenu.h:
13857         * gtktypeutils.h: Spelling/grammar fixes in comments.
13858
13859 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
13860
13861         * gdk/nanox/*.h: add missing header files.
13862
13863 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
13864
13865         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
13866         send_event to TRUE.
13867         (gtk_drawing_area_size): queue a resize.
13868
13869 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
13870
13871         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
13872         the handlers, also invalidate them. bug nailed down by Karl Nelson
13873         <kenelson@ece.ucdavis.edu>.
13874
13875 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
13876
13877         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
13878         "(nil)" foundries, patch from Grigorios Magklis.
13879
13880         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
13881         on non-available fonts, based on a patch by Grigorios Magklis
13882         <maglis@cs.rochester.edu>.
13883
13884 2000-05-18  Elliot Lee  <sopwith@redhat.com>
13885
13886         * gdk/x11/gdkregion-generic.c: If a region does not have any
13887         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
13888         instead of GDK_OVERLAP_RECTANGLE_IN.
13889
13890 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
13891
13892         * gtk/gtklayout.c (gtk_layout_map): Remove references to
13893         OFFSCREEN, as it is no longer necessary.
13894
13895 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
13896
13897         * gtk/gtkcolorsel.c: Patch from David Santiago
13898         <mrcooger@cyberverse.com> to change things so that the 
13899         indicator of the active palette entry is done independently,
13900         not via the focus, since it should always be visible.
13901
13902 2000-05-17  Tor Lillqvist  <tml@iki.fi>
13903
13904         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
13905         refcount leaks as in the X11 backend.
13906
13907         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
13908         cosmetics.
13909
13910         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
13911         backend. Add _gdk_windowing_window_destroy().
13912
13913         * gtk/gtkcolorsel.c: Include correct backend-specific header.
13914         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
13915         either, but these probably do exist on nanox?)
13916         
13917         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
13918         which isn't necessarily defined by <math.h>.
13919
13920         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
13921         ancestry past GtkObject.
13922
13923         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
13924         from DLL on Win32.
13925
13926         * gtk/gtk.def: Update corresponding to recent changes.
13927
13928         * gtk/makefile.{cygwin,msc}: Updates.
13929
13930 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
13931
13932         * docs/Changes-1.4.txt: A bit of editing.
13933
13934         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
13935         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
13936         to clear the update area for the window, and clear it
13937         when hiding a window.
13938
13939         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
13940         if window destroyed.
13941
13942         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
13943
13944         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
13945         gdk_window_destroy() to the generic code, since there was a lot of 
13946         window-system-independent logic it in. Add a function:
13947         
13948          _gdk_window_destroy() 
13949
13950         to the internal API to destroy a window without unreferencing it.
13951         Add a function:
13952
13953          _gdk_windowing_window_destroy()
13954
13955         That does the windowing-system-dependent part of destroying 
13956         the window.
13957
13958 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
13959
13960         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
13961
13962 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
13963
13964         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
13965         Make gtk_widget_shape_combine_mask() keep a reference count on
13966         the pixmap since it keeps it around.
13967
13968 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
13969
13970         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
13971         leak.
13972
13973         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
13974         leak with event filters.
13975
13976 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
13977
13978         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
13979         signal handlers with the right data arguments. (Fixes
13980         some warnings when a widget was repeatedly set as a drag
13981         destination.)
13982
13983         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
13984         window so we can avoid avoid setting the DND properties on the
13985         toplevel window repeatedly.
13986
13987 2000-05-13  Tor Lillqvist  <tml@iki.fi>
13988
13989         * gdk/win32/gdkwin32.h: Define more message types missing from
13990         mingw headers.
13991
13992         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
13993         call gdk_window_destroy_notify(). It was never called. This
13994         probably meant that the GdkWindow was never freed. Thanks Owen for
13995         noticing (!).
13996
13997         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
13998         window as destroyed before calling DestroyWindow(). DestroyWindow()
13999         causes a call to the window procedure (gdk_WindowProc), which
14000         calls gdk_event_translate(), which calls
14001         gdk_window_destroy_notify(), which gets confused unless the window
14002         is set as destroyed.
14003
14004         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
14005         this function to indicate it's win32 only. Put inside #ifdef
14006         G_ENABLE_DEBUG.
14007
14008         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
14009         debugging function. (gdk_event_translate:) Add a default branch
14010         that uses the above function to print debug messages with all
14011         Windows messages symbolically.
14012
14013         * gdk/win32/gdkprivate-win32.h: Declare it, and
14014         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
14015
14016 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
14017
14018         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
14019         public header file.
14020
14021 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
14022
14023         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
14024
14025         * gtk/gtktext.c: made the adjustments no-construct args, simply
14026         provide default adjustments.
14027         (gtk_text_destroy): release adjustments.
14028
14029         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
14030         adjustment argument non-construct.
14031
14032         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
14033         instead of in finalize.
14034         (gtk_progress_get_text_from_value): 
14035         (gtk_progress_get_current_text): 
14036         (gtk_progress_set_value): 
14037         (gtk_progress_get_percentage_from_value): 
14038         (gtk_progress_get_current_percentage): 
14039         (gtk_progress_set_percentage): 
14040         (gtk_progress_configure): ensure an adjustment is present.
14041
14042 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
14043
14044         * gtk/gtkcolorsel.[hc]:
14045         * gtk/gtkcolorseldialog.[hc]:
14046         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
14047         their parent implementation, use bit fields for boolean values, don't
14048         create unused widgets, usage of glib types, braces go on their own
14049         lines, function argument alignment, #include directives etc. etc. etc..
14050
14051         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
14052
14053 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
14054
14055         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
14056
14057         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
14058         of NULL.
14059
14060         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
14061         to freed data.
14062         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
14063
14064         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
14065         to NULL when the toplevel is getting destroyed.
14066         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
14067         (gtk_menu_destroy): 
14068         (gtk_menu_init): store the information of whether we have to
14069         readd the initial child ref_count during destruction in a new
14070         GtkMenu field needs_destruction_ref_count.
14071
14072         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
14073         here, those reading: learn from my mistake! ;)
14074         in order for set_?adjustment to support a default adjustemnt if
14075         invoked with an adjustment pointer of NULL, the code read (pseudo):
14076         if (v->adjustment) unref (v->adjustment);
14077         if (!adjustment) adjustment = adjustment_new ();
14078         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
14079         now imagine the first unref to actually free the old adjustment and
14080         adjustment_new() creating a new adjustment from the very same memory
14081         portion. here, the latter comparision will unintendedly fail, and
14082         all hell breaks loose.
14083         (gtk_viewport_set_hadjustment):
14084         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
14085         after unreferencing it.
14086
14087         * gtk/gtkcontainer.[hc]: removed toplevel registration
14088         functions: gtk_container_register_toplevel(),
14089         gtk_container_unregister_toplevel() and
14090         gtk_container_get_toplevels() which had wrong semantics
14091         anyways: it didn't reference and copy the list.
14092
14093         * gtk/gtkwindow.c: we take over the container toplevel registration
14094         bussiness now. windows are registered across multiple destructions,
14095         untill they are finalized. the initial implicit reference count
14096         users are holding on windows is removed with the first destruction
14097         though.
14098         (gtk_window_init): ref & sink and set has_user_ref_count, got
14099         rid of gtk_container_register_toplevel() call. add window to
14100         toplevel_list.
14101         (gtk_window_destroy): unref the window if has_user_ref_count
14102         is still set, got rid of call to
14103         gtk_container_unregister_toplevel().
14104         (gtk_window_finalize): remove window from toplevel list.
14105         (gtk_window_list_toplevels): new function to return a newly
14106         created list with referenced toplevels.
14107         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
14108
14109         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
14110         adjustment a non-construct arg.
14111         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
14112         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
14113         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
14114
14115         * gtk/gtkrange.c: added some realized checks.
14116         (gtk_range_destroy): get rid of the h/v adjustments in the
14117         destroy handler instead of finalize. remove timer.
14118         (gtk_range_get_adjustment): demand create adjustment.
14119
14120         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
14121         we simply create them on demand now and get rid of them in
14122         the destroy handler.
14123         (gtk_viewport_destroy): get rid of the h/v adjustments in the
14124         destroy handler instead of finalize.
14125         (gtk_viewport_get_hadjustment): 
14126         (gtk_viewport_get_vadjustment): 
14127         (gtk_viewport_size_allocate): demand create h/v adjustment
14128         if required.
14129
14130         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
14131         gtk_widget_real_destroy () functionality.
14132         (gtk_widget_real_destroy): reinitialize with a new style, instead
14133         of setting widget->style to NULL.
14134
14135 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
14136
14137         * gtk/gtkcalendar.c:
14138         * gtk/gtkbutton.c: ported _get_type() implementation over to
14139         GType, either to preserve memchunks allocation facilities,
14140         or because Gtk+ 1.0 GtkTypeInfo was still being used.
14141
14142         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
14143         over. prepare for ::destroy to be emitted multiple times.
14144         removed reference tracer magic. chain into GObjectClass.shutdown()
14145         to emit ::destroy signal.
14146
14147         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
14148         fundamental.
14149
14150         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
14151         cludge.
14152
14153         * gtk/gtksocket.c:
14154         * gtk/gtkplug.c:
14155         * gtk/gtklayout.c:
14156         * gtk/gtklabel.c:
14157         * gtk/gtkargcollector.c:
14158         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
14159         not being a fundamental anymore, and to work with the new
14160         type system (nuked fundamental type varargs clutter).
14161
14162         * gtk/*.c: install finalize handlers in the GObjectClass
14163         part of the class structure.
14164         changed direct GTK_OBJECT()->klass accesses to
14165         GTK_*_GET_CLASS().
14166         changed direct object_class->type accesses to GTK_CLASS_TYPE().
14167
14168         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
14169         GType. made most of the GTK_*() type macros and Gtk* typedefs
14170         simple wrappers around macros and types provided by GType.
14171         most notably, a significant portion of the old API vanished:
14172         GTK_TYPE_MAKE(),
14173         GTK_TYPE_SEQNO(),
14174         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
14175         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
14176         GTK_TYPE_ARGS,
14177         GTK_TYPE_CALLBACK,
14178         GTK_TYPE_C_CALLBACK,
14179         GTK_TYPE_FOREIGN,
14180         GtkTypeQuery,
14181         gtk_type_query(),
14182         gtk_type_set_varargs_type(),
14183         gtk_type_get_varargs_type(),
14184         gtk_type_check_object_cast(),
14185         gtk_type_check_class_cast(),
14186         gtk_type_describe_tree(),
14187         gtk_type_describe_heritage(),
14188         gtk_type_free(),
14189         gtk_type_children_types(),
14190         gtk_type_set_chunk_alloc(),
14191         gtk_type_register_enum(),
14192         gtk_type_register_flags(),
14193         gtk_type_parent_class().
14194         replacements, where available are described in ../docs/Changes-1.4.txt.
14195         implemented compatibility functions for the remaining API.
14196
14197         * configure.in: depend on glib 1.3.1, use gobject module.
14198
14199 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
14200
14201         * TODO.xml: Various updates to current status.
14202
14203 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
14204
14205         * gtk.m4: Print out version when test succeeds.
14206
14207 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
14208
14209         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
14210         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
14211         
14212         (Original triangle color selector from Simon Budig
14213         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
14214         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
14215         Santiago <mrcooger@cyberverse.com>)
14216
14217         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
14218         out into a separate widget.
14219
14220         * gtk/testgtk.c: Add some checkbuttons for toggling palette
14221         and opacity controls.
14222
14223 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
14224
14225         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
14226         snuck in prematurely.
14227
14228 2000-05-07  Tor Lillqvist  <tml@iki.fi>
14229
14230         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
14231         had deleted a ! operator by mistake, which caused
14232         GDK_SELECTION_CLEAR events never to be generated, which caused
14233         only the first copy to the clipboard from an gtkeditable to
14234         actually cause a copy to the Windows clipboard.
14235
14236 2000-05-06  Tor Lillqvist  <tml@iki.fi>
14237
14238         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
14239         compilation, too. Current mingw gcc distributions include the
14240         necessary headers. Also the necessary IIDs are now in mingw
14241         headers/libraries, and own definitions unnecessary.
14242
14243         More hacking on OLE2 DND, still doesn't work though, and thus
14244         ifdeffed out.
14245
14246         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
14247         here, too.
14248
14249 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
14250
14251         * gdk/nanox/*: nano-X port work in progress.
14252         * gdk/simple.c: simple test for Gdk.
14253         * README.nanox: notes about the port: read this first!
14254         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
14255         with nano-X.
14256
14257 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
14258
14259         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
14260         gdk_window_clear() into common code, implement in terms of
14261         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
14262         not redirected to the backing rectangle.
14263
14264 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
14265
14266         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
14267         EXTRA_DIST. It does not work well when the file that
14268         everything depends on is not in the tarball.
14269
14270 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
14271
14272         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
14273         with recursion where process_updates() is called from
14274         an expose handler. (GtkTextView is highly broken in
14275         doing this, but it should work, so it is a nice test
14276         case.)
14277
14278 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
14279
14280         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
14281         handle the case where updates are queued during processing of
14282         updates.
14283
14284 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
14285
14286         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
14287         window is on gdk_display - use that instead of segfaulting.
14288
14289 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
14290
14291         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
14292         broken and require an empty arg, give it to them.
14293
14294 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
14295
14296         * gtk/gtklabel.h: indentation fixes.
14297
14298 2000-05-02  Tor Lillqvist  <tml@iki.fi>
14299
14300         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
14301         draw too narrow or too low arcs, they seem to fail, at least with
14302         some display drivers.
14303
14304         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
14305
14306         Large changes to the Win32 backend, partially made necessary by
14307         the changes to the backend-independent internal
14308         structures. Attempts to implement similar backing store stuff as
14309         on X11. The current (CVS) version of the Win32 backend is *not* as
14310         stable as it was before the no-flicker branch was merged. A
14311         zipfile with that version is available from
14312         http://www.gimp.org/win32/. That should be use by "production"
14313         code until this CVS version is usable. (But note, the Win32
14314         backend has never been claimed to be "production quality".)
14315
14316         * README.win32: Add the above comment about versions.
14317
14318         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
14319
14320         * gdk/gdk.def: Update.
14321
14322         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
14323         presumably be replaced by some more better mechanism as 1.4 gets
14324         closer to release shape.
14325
14326         * gdk/makefile.{cygwin,msc}: Update.
14327
14328         * gdk/win32/*.c: Correct inclusions of the backend-specific and
14329         internal headers. Change code according to changes in these. Use
14330         gdk_drawable_*, not gdk_window_* where necessary.
14331
14332         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
14333         our old DND.
14334
14335         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
14336         to interpret single characters as UTF-8. Thanks to Hans Breuer.
14337         Use correct function name in warning messages.
14338
14339         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
14340         GSourceFuncs gdk_event_prepare and gdk_event_check.
14341         (gdk_event_get_graphics_expose): Do implement, use
14342         PeekMessage. Thanks to Hans Breuer.
14343         (event_mask_string): Debugging function to print an GdkEventMask.
14344         (gdk_pointer_grab): Use it.
14345
14346         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
14347         (old) book I used claimed was Hangul actually is CJK Unified
14348         Ideographs Extension A. Also, Hangul Syllables were missing.
14349         Improve logging.
14350
14351         * gdk/win32/gdkgc-win32.c: Largish changes.
14352
14353         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
14354         g_win32_getlocale() from GLib, and not setlocale() to get current
14355         locale name.
14356
14357         * gdk/win32/gdkprivate-win32.h
14358         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
14359         gdkwin32.h, similarily as in the X11 backend.
14360
14361         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
14362         assignment was used instead of equals in if test. Thanks to Hans
14363         Breuer.
14364
14365         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
14366         the X11 version.
14367
14368         * gdk/win32/makefile.{cygwin,msc}
14369         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
14370         path to the Win32 headers that works also with the mingw compiler.
14371
14372         * gtk/gtkstyle.c: Include <string.h>.
14373
14374 2000-04-26  Havoc Pennington  <hp@redhat.com>
14375
14376         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
14377         replacing the broken gtk_label_get ()
14378
14379 2000-04-15  Havoc Pennington  <hp@pobox.com>
14380
14381         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
14382         this keeps scanner scripts from getting confused.
14383
14384         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
14385         data, rather than void
14386
14387 2000-04-15  Tor Lillqvist  <tml@iki.fi>
14388
14389         * gtk/gtkclist.c (gtk_clist_motion)
14390         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
14391         with is_hint FALSE, get x and y from the event. They used to be
14392         used uninitialised. The Win32 backend never sends motion events
14393         marked as hints. This for instance fixes the annoying file and
14394         font selector behaviour in the Win32 version.
14395
14396 2000-04-14  Tor Lillqvist  <tml@iki.fi>
14397
14398         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
14399         gtk_private_n_signals variables, they are used by some software,
14400         sigh.
14401
14402         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
14403         installation directory from the Registry, where the installer
14404         should have put it.
14405
14406 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
14407
14408         * gdk/x11/Makefile.am: Fix problem with installation directory for
14409         gdkx.h
14410
14411         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
14412         <mrcooger@cyberverse.com> so that when selecting menus with the
14413         mouse, the first item will not be selected, but when selecting
14414         with an accelerator, or navigating left-right on a menubar with
14415         the menus popped up, the first item will be selected.
14416
14417 2000-04-05  Dan Damian  <dand@dnttm.ro>
14418
14419         * configure.in: Added "ro" to ALL_LINGUAS.
14420
14421 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
14422
14423         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
14424         indentation.
14425
14426         * Makefile.am (EXTRA_DIST): Fix typo.
14427
14428         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
14429         to catch gdkconfig.h
14430
14431         * gtk/gtkitemfactory.c: Added FIXME.
14432
14433 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
14434
14435         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
14436         s/return_if_fail/return_val_if_fail/g and add a return value.
14437
14438 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
14439
14440         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
14441         merge slipup.
14442
14443         * gdk/gdkinput.h: Fix missing line from merge.
14444
14445 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
14446
14447         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
14448         instead of gdkprivate.h.
14449
14450 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
14451
14452         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
14453         parent class to correctly be GtkDialogClass.
14454
14455 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
14456
14457         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
14458         toplevel windows and their immediate children by their parents,
14459         since the size of toplevel windows is out of our immediate
14460         control and we don't get any real benefit from trying to track
14461         this size for clipping.
14462
14463         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
14464         for input_only windows.
14465
14466         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
14467         to fix some hacks and make sure that we don't try to set the
14468         background of input only windows.
14469
14470 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
14471
14472         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
14473         the _really_ internal stuff, and leave gdkprivate.h for the fake private
14474         stuff that we've traditionally exposed.
14475
14476         * gdk/**.c: Use gdkinternals.h where appropriate.
14477
14478         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
14479         not include gdkprivate-x11.h, move all stuff of conceivable public
14480         interest into gdkx.h; keep all really private stuff in
14481         uninstalled header gdkprivate-x11.h.
14482
14483         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
14484         image->image_put on windows through a new function _gdk_window_draw_image()
14485         to allow us to do backing store for images. (Sort of ugly)
14486
14487         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
14488         contexts locally so that we can offset them properly when drawing 
14489         onto backing pixmaps.
14490
14491         * gdk/gdkinput.h: Reindented
14492
14493         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
14494         pixmap or color for the window, so we can properly initialize
14495         our double-buffer pixmaps, and also so that we temporarily set
14496         a background of None while scrolling.
14497
14498         * gdk/gdkregion.h: Revise region boolean operators to have an
14499         interface that is actually convenient - switch from creating new
14500         regions on every op, to "methods" that modify existing regions
14501         (A = A OP B). 3 argument forms which allow dest == src, would also
14502         be possible, but the current interfaces seem to map nicely
14503         onto what needs to be done. (There is quite a lot of region
14504         code in GDK now.)
14505
14506         * gdk/gdkregion.h: Add constructor from rectangle and a copy
14507         operator.
14508
14509         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
14510         gdkpoly-generic.h: Copy region code from Xlib, switch it over
14511         to 32 bit coordinates, modify it to be mostly GTK+ style
14512         and to have interfaces that match gdkregion.h.
14513
14514         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
14515         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
14516         create a backing pixmap and redirect all drawing to
14517         that backing pixmap until a matching gdk_window_end_paint().
14518
14519         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
14520         Create a special drawable class for GtkWindow's that 
14521         redirects the drawing to the backing pixmap as necessary
14522         and then calls the real operations in _gdk_windowing_window_class.
14523
14524         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
14525         Store invalid region for each window. Generate expose events for invalid
14526         region in an idle. This replaces both the expose compression
14527         and the redrawing queuing in GTK+. It is both more efficient and
14528         simpler than either one individually and far more so then the
14529         combination.
14530
14531         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
14532         Emulate 32 bit coordinates for windows with 16 bit coordinates
14533         by offsetting drawing, guffaw scrolling techniques and
14534         mapping/unmapping child windows as necessary.
14535
14536         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
14537         where, when invalid regions are processed, the region is stored,
14538         and if expose events come in that are detectably duplicate
14539         the processed exposes (by comparison of event serial numbers),
14540         the stored region is subtracted out of those exposes.
14541
14542         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
14543         regions newly exposed when scrolling or resizing windows.
14544         This, combined with forcing processesing of queued invalidated
14545         regions, gives nice flicker-free scrolling.
14546
14547         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
14548         invalidated regions after every scroll.
14549
14550         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
14551         emulation in GDK. Its, for all practical purposes just a
14552         GtkViewport/GtkFixed hybrid now.
14553
14554         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
14555         (16-bit) structures as necessary instead of just casting.
14556
14557         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
14558         in terms of the structures from gdkregion-generic.c, using appropriate
14559         offsets from GDK to X11 coordinates. Cache clip mask and
14560         origin and ts origin locally and only flush to the server
14561         when drawing, to avoid constantly setting and resetting these
14562         values when offsetting GC's for scrolling and backing pixmaps.
14563
14564         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
14565
14566         * gtk/gtkcontainer.c: Call process_all_updates at end
14567         of resizing to reduce flicker. (Avoids having redraw
14568         lag arbitrarily behind resize under some circumstances)
14569
14570         * gtk/gtkentry.c: Remove old backing store code, and simply take
14571         advantage of the new backing store capabilities of GDK.
14572
14573         * gtk/gtkmain.c: Simple implementation of widget backing
14574         store - simply push a paint while handling each expose.
14575         (Should really be configurable widget for widget.)
14576         
14577         * gtk/gtkwidget.c: Remove all the old complicated redraw
14578         code, and simply invalidate the GDK windows from
14579         gdk_window_queue_clear(), etc. (Sigh, so much carefully
14580         debugged complexity ... gone to the winds.)
14581
14582         Remove all the code for suppressing expose events while
14583         resizes are pending; this isn't needed since the invalid
14584         areas won't be processed until after the resizes are
14585         processed, since they are in a lower priority idle.
14586
14587 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
14588
14589         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
14590         and height of dest rectangle for non-intersecting rectangles.
14591
14592 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
14593
14594         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
14595         for GdkRectangle.
14596
14597 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
14598
14599         * gdk/gdk{events,image,private,types,window}.h
14600          gdk/x11/gdkinputprivate.h: Change all coordinates
14601          from int16 to int. Also, Change width and height from
14602          unsigned to signed to avoid all the stupid C 
14603          signedness bugs.
14604
14605 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
14606
14607         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
14608         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
14609         Add some more detailed checking.
14610
14611         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
14612         New function to retrieve the depth of a drawable.
14613
14614         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
14615         field, reorder fields to save memory. 
14616
14617 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
14618
14619         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
14620         of the background image instead of scaling the background down to
14621         a line.
14622
14623         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
14624         which temporarily set slider to wrong size.
14625
14626         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
14627         queue_clear().
14628
14629 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
14630
14631 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
14632
14633         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
14634
14635 2000-03-17  Tor Lillqvist  <tml@iki.fi>
14636
14637         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
14638         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
14639
14640         * gdk/win32/gdkfont-win32.c
14641         * gdk/win32/gdkproperty-win32.c
14642         * gdk/win32/gdkselection-win32.c
14643         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
14644         now declared such.
14645
14646 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
14647
14648         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
14649
14650 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
14651
14652         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
14653         is called without trapping X errors.
14654
14655 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
14656
14657         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
14658         way into the fontset lists.
14659
14660 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
14661
14662         * gtk/gtkthemes.h: add extern "C" scope.
14663
14664 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
14665
14666         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
14667         to make appends to the list constant. (gtk-guy-990901-0.patch)
14668
14669 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
14670
14671         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
14672         for the typename hash table.
14673
14674 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
14675
14676         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
14677         to make sure we never divide by zero. 
14678         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
14679
14680 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
14681
14682         * gtk/gtkfontsel.c: Apply patch from
14683         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
14684         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
14685
14686         Also, some cleanups in atom handling.
14687
14688 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
14689
14690         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
14691         not GtkWidget.
14692
14693 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
14694
14695         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
14696         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
14697         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
14698         more guint wrap-around bugs before going to bed.
14699
14700 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
14701
14702         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
14703         guint wrap arounds in allocation.width.
14704
14705         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
14706         process untill we fit the allocation given.
14707
14708 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
14709
14710         * gtk/gtkwidget.c:
14711         (gtk_widget_unrealize): guard widget access with ref/unref
14712         around signal emission.
14713         (gtk_widget_hide): same here, but also check its destroyed
14714         state before queueing a resize.
14715
14716 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
14717
14718         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
14719         of gtk_default_insensitive_bg as insensitive base color.
14720
14721         * gtk/gtktext.c (gtk_text_style_set): set the background color according
14722         to the widget's state.
14723         (gtk_text_realize): same here.
14724         (gtk_text_state_changed): same here.
14725         (draw_bg_rect): compare background color against base[] from
14726         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
14727
14728 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
14729
14730         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
14731         grabs are active, unless a delete event is send to the toplevel
14732         of the currently grab holding widget.
14733
14734 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
14735
14736         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
14737         debugging g_print's.
14738
14739 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
14740
14741         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
14742         ever make the scrolled-window requisition ever depend on the 
14743         visibility state of the scrollbars for the AUTOMATIC policy. 
14744         This breaks the GTK+ requisition model, and causes loops.
14745
14746 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
14747
14748         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
14749         the default font to avoid problems with XFree86-4.0 where the
14750         default charset is iso10646-1, not iso8859-1.
14751
14752 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
14753
14754         * acinclude.m4
14755         * config.guess
14756         * config.sub
14757         * ltconfig
14758         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
14759
14760         * gtk/Makefile.am: minor cosmetic consistency tweak
14761
14762 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
14763
14764         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
14765         the activate_time to 0, so that we handle a quick
14766         press/release press/release properly and don't suppress
14767         the second release. (Red Hat bug #7545)
14768
14769 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
14770
14771         * gtk/gtkctree.c (row_delete):
14772         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
14773         bugs with destruction notifier, *always* update internal
14774         structures *before* calling user code.
14775
14776 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
14777
14778         A few more fixes for bug #5487, #2051, #2677.
14779         * gtk/gtkclist.c : 
14780         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
14781         not GDK_BUTTON_PRESS.
14782         (resync_selection): resync only if selection_mode is
14783         GTK_SELECTION_EXTENDED
14784         * gtk/gtkctree.c (resync_selection): same here
14785
14786 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
14787
14788         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
14789         gdk_drag_get_selection() and gtk_menu_detach().
14790
14791         [ From Jeroen Ruigrok/Asmodai ]
14792
14793 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
14794
14795         * gtk/gtknotebook.c (gtk_notebook_size_request): 
14796         page->tab_label can be NULL.
14797
14798 2000-01-25  Havoc Pennington  <hp@pobox.com>
14799         
14800         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
14801         arg is boolean
14802
14803         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
14804
14805         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
14806
14807         * gdk/gdkproperty.c (gdk_property_get): return boolean
14808
14809         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
14810
14811         * gdk/gdkim.c (gdk_im_ready): return boolean
14812
14813         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
14814
14815         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
14816         glib clash, should fix glib)
14817
14818         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
14819         (gdk_get_show_events): return gboolean, and canonicalize 
14820         to TRUE/FALSE
14821
14822         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
14823         colormap is private
14824         (gdk_colors_alloc): gboolean whether to be contiguous
14825         (gdk_color_equal): return gboolean since we are a predicate
14826         and not a qsort() (this looks semi-wrong due to glib breakage,
14827         IMO glib should be fixed)
14828         
14829         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
14830         (gdk_get_use_xshm): return gboolean
14831         (gdk_pointer_is_grabbed): return gboolean
14832
14833         * gdk/gdk.h: Change prototypes to match all the above changes,
14834         and re-run egtk-format-protos as required.
14835
14836 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
14837
14838         * gtk/gtkctree.c (resync_selection): 
14839         * gtk/gtkclist.c (resync_selection):
14840
14841         Return immediately if clist->drag_pos < 0. This is a workaround
14842         for the corrupt state that the clist gets into when a
14843         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
14844
14845         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
14846         
14847         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
14848         variable from recent commit.
14849
14850 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
14851
14852         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
14853
14854 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
14855
14856         * gtk/Makefile.am: prefix all autogenerated source that get build in
14857         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
14858         in builddir. since we subsequently cd into srcdir for autogeneration,
14859         the paths have to be stripped from the target file names, thusly we
14860         use $(@F) as target names now.
14861         put a comment about configure.in's --disable-rebuilds option,
14862         which can be used for non-writable source directories, for development
14863         setups though, srcdir has to be *writable*.
14864
14865 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
14866
14867         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
14868           Finish the job of allowing event to be NULL.
14869           (Fixes bug #4283, reported by Chris Blizzard)
14870
14871         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
14872           things so that the cursor appears on screen, properly
14873           take into account INNER_BORDER.
14874           (Fixes bug #4754, reported by Antonio Campos)
14875
14876 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
14877
14878         * gtk/gtknotebook.c (gtk_notebook_map): Don't
14879           show the tab_label unless it itself is visible.
14880
14881           gtk/gtknotebook.c (gtk_notebook_size_request):
14882           Do a better job of making sure that the visibility
14883           of the tab label corresponds to whether it should
14884           be mapped or not.
14885
14886 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
14887
14888         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
14889           Use the requisition, not the allocation, since the
14890           allocation has not necessarily been computed yet.
14891           (Pointed out by Eugene Osintsev)
14892
14893 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
14894
14895         * gtk/gtkstyle.c (gtk_style_new): Dont' set
14896           style/base[GTK_STATE_INSENSITIVE] both to
14897           gtk_default_insensitive_bg!
14898           (Bug #2187, reported by Jonathan Blandford)
14899
14900         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
14901           Add Alt_L, Alt_R to list of invalid accelerators.
14902           (Bug #3736, reported by Vlad Harchev)
14903
14904 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
14905
14906         * gtk/gtkfilesel.c (open_ref_dir): Fix several
14907         bugs which occured after an attempt to open 
14908         invalid home directory left cmpl_state->reference_dir == NULL.
14909
14910          - completion on files in home directory didn't work
14911          - completion on an empty string caused  segfault
14912
14913          (Bug #3678, reported by Steve Ratcliffe)
14914
14915         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
14916         cut and paste error that was causing scales to
14917         be incorrectly positioned.
14918         (Bug #2956,
14919          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
14920
14921 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
14922
14923         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
14924         when checking for dcgettext, if we've found we needed
14925         it for dgettext.
14926 +
14927 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
14928
14929         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
14930         queue_clear on NO_WINDOW widgets during a reparent,
14931         since at that point the window and widget heirarchies
14932         are out of sync. This stops crashing in some cases
14933         (the scrolled window reparent test, for instance), and
14934         _probably_ won't cause drawing errors.
14935
14936         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
14937         test do what it was supposed to do and be robust against
14938         window closings, etc. (Bug #2443)
14939
14940 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
14941
14942         * gtk/gtkentry.c: Fix return values on mouse events.
14943         (Bug #2686, Sky <seb_sky@yahoo.com>)
14944
14945         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
14946         (pointed out by George Lebl)
14947
14948         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
14949         (From Ettore Perazzoli  <ettore@helixcode.com>)
14950  
14951 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
14952
14953         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
14954         clicks between rows or outside calender area correctly.
14955         (Patch from Damon Chaplin)
14956
14957         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
14958         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
14959           Call destroy function when overwriting existing data. 
14960           (Pointed out by Damon Chaplin)
14961
14962 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
14963
14964         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
14965           which was causing problems on various systems with Xmu.
14966           This hasn't been needed for a very long time.
14967           (Fixes #1185 3167)
14968
14969 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
14970
14971         * gdk/gdki18n.h: Include <ctype.h> when defining
14972           gdk_isw* in terms of is* as a fallback.
14973           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
14974
14975 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
14976
14977         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
14978           realize the widget when it is size allocated!
14979           (old, old bug)
14980
14981         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
14982           Removed unused call to gdk_window_get_size() that
14983           showed up when the above was fixed.
14984
14985 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
14986
14987         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
14988           fix up widget->window when the widget is a
14989           NO_WINDOW container widget.
14990
14991 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
14992
14993         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
14994           to account for the fact that feof() does _not_ 
14995           return TRUE on errors, and thus avoid infinite loops
14996           when trying to use gdk_pixmap_create_from_xpm()
14997           on unreadable values.
14998
14999 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
15000
15001         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
15002
15003 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
15004
15005         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
15006           gdk_gc_set_dashes to take gint8 instead of gchar to
15007           make it clearer that it is _not_ a NULL terminated string.
15008
15009         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
15010           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
15011           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
15012           arguments.
15013
15014 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
15015
15016         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
15017         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
15018         background size relative to our allocation, guard against small
15019         allocations, we may have not yet been size allocated.
15020
15021 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
15022
15023         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
15024         not just version == 3. We implement all 3 + most of 4 - 
15025         (we don't support matching text/plain;charset=iso-8859-1
15026         to a dest that expects text/plain). We'll still advertise
15027         3 to be safe, but any client implementing version >= 3
15028         must interoperate with 3.
15029         
15030 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
15031
15032         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
15033         background and gc members, add a warning in gtk_tooltips_set_color()
15034         indicating that this function is deprecated.
15035
15036 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
15037
15038         * docs/gtkfaq.sgml: FAQ Update:
15039           - Minor cleanups (Emmanuel, me)
15040           - New questions:
15041                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
15042                 How can I retrieve the text from a GtkMenuItem? (timj)
15043                 How do I validate/limit/filter the input to a GtkEntry? (me)
15044                 Memory does not seem to be released when I free the list
15045                         nodes I've allocated (timj)
15046
15047 2000-03-07  Tor Lillqvist  <tml@iki.fi>
15048
15049         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
15050         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
15051         for which it is no use to call GetLastError onWin9x.
15052         (gdk_other_api_failed) New function, for general error
15053         reporting without calling GetLastError.
15054         (gdk_win32_api_failed) OTOH, this function always calls
15055         GetLastError. (gdk_win32_last_error_string) Remove this function,
15056         GLib has the equivalent now.
15057
15058         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
15059         call them with function name, file name and line number in the
15060         arguments.
15061
15062         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
15063         functions.
15064         
15065         * gtk/gtk.def: Add some missing entry points.
15066
15067         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
15068         gtk_paned_set_gutter_size, which don't exist any longer, as void.
15069         
15070         Fixes by Hans Breuer:
15071
15072         * gdk/makefile.msc: Update for debugging.
15073
15074         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
15075         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
15076         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
15077         in the dash_list.
15078
15079         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
15080         the x11 backend.
15081
15082         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
15083
15084         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
15085
15086 2000-03-04  Tor Lillqvist  <tml@iki.fi>
15087
15088         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
15089         just pixel value of background colour.
15090
15091         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
15092         containing code snippet previously duplicated in a couple of
15093         places.
15094         
15095         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
15096         gdk_colormap_color.
15097
15098         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
15099         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
15100         events for autorepeated Shift, Control and Alt keys. Use
15101         gdk_colormap_color.
15102
15103         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
15104         pointer is inside the window the cursor of which we are setting,
15105         call SetCursor immediately.
15106
15107         * gdk/win32/makefile.cygwin
15108         * gtk/makefile.cygwin: If we don't have the build number stamp
15109         file, use zero.
15110
15111         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
15112         gtk_paned_set_gutter_size as empty.
15113
15114         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
15115         
15116 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
15117
15118         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
15119           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
15120           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
15121           docs/gtk_tut.sgml docs/gtk.texi TODO:
15122
15123           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
15124
15125 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
15126
15127         * gtk/gtkcalendar.c: Implement num_marked_dates,
15128           and don't emit mutiple day_selected signals on
15129           month_prev.
15130
15131 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
15132
15133         * docs/make-todo (lineno): let title and logo be configurable so
15134         that GNOME can use this script too.
15135
15136         * TODO.xml: added logourl and a title
15137
15138 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
15139
15140         * TODO.xml: Added some UI items, and an explanatory
15141         comment at the top of the file.
15142
15143 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
15144
15145         * TODO.xml: some updates, added abunch of new entries.
15146         a note for those fiddeling with this file, when done
15147         with it, invoke:
15148         $ ./docs/make-todo TODO.xml >/dev/null
15149         and correct output errors before comitting changes.
15150
15151 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
15152
15153         * TODO.xml: Added XML-structured TODO file.
15154         * docs/make-todo: python script to turn TODO.xml into
15155           pretty XML output. 
15156
15157 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
15158
15159         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
15160         the function to let it draw the seven dots, instead of the old,
15161         much maligned, method.
15162         (draw_dot): New function to draw a dot.
15163
15164         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
15165         to draw the handle inside the border width as opposed to outside.
15166         Use paint function instead of gdk_draw_point.
15167
15168         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
15169         to draw the handle inside the border width as opposed to outside.
15170         Use paint function instead of gdk_draw_point.
15171
15172         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
15173         Change indenting to be more GTK like.
15174
15175 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
15176
15177         * docs/gtk_tut.sgml: New section on GtkCalendar
15178         * examples/calendar: Update example code
15179
15180 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
15181
15182         * docs/gtkfaq.sgml: FAQ Update
15183
15184 2000-02-19  Anders Carlsson  <andersca@gnu.org>
15185
15186         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
15187         to prevent the scroll event to be propagated upwards.
15188
15189 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
15190
15191         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
15192         OwnerGrabButtonMask from button entries for
15193         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
15194
15195         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
15196         to the event mask (which will result in button/press release
15197         being added to the event mask on Unix) so scrolling works
15198         for layouts in scroll windows.
15199
15200         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
15201
15202         Patch from Anders Carlsson  <andersca@gnu.org> to add
15203         a scroll event.
15204
15205         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
15206         scrolling to the "Test Scrolling" part of testgtk.
15207  
15208         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
15209  
15210         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
15211         it against GDK_SCROLL.
15212  
15213         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
15214         way of mouse wheel scrolling.
15215  
15216         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
15217  
15218         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
15219  
15220         * gtk/gtkmain.c: Removed previous mouse wheel hack.
15221  
15222         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
15223         gdk_event_mask_table.
15224  
15225         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
15226         GdkEventScroll handler.
15227  
15228         * gdk/gdkevents.h: Added GdkEventScroll structure.
15229  
15230 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
15231
15232         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
15233         and Anders Carlsson to change the Paned widgets so that they
15234         can be dragged from anywhere along the length. Also change
15235         the way that this is drawn to make this apparent.
15236
15237         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
15238         from George Lebl to check that option_menu->menu is present
15239         before getting history.
15240
15241 2000-02-14  Tor Lillqvist  <tml@iki.fi>
15242
15243         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
15244         before the assertion for non-NULL segment list.
15245
15246         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
15247         Seems that pattern brushes *must* be 8x8 pixels! At least on my
15248         machine, but it might be display driver dependent. Sigh, so make
15249         sure the stipple is that size. Does Windows suck or what?
15250
15251         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
15252         places.
15253
15254 2000-02-13  Havoc Pennington  <hp@pobox.com>
15255
15256         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
15257         refcount to 1
15258         (gdk_cursor_new): init refcount to 1
15259
15260         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
15261
15262 2000-02-13  Tor Lillqvist  <tml@iki.fi>
15263
15264         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
15265         so that we don't have to do unnecessary settings to the HDC.
15266
15267         * gdk/win32/gdkdrawable-win32.c
15268         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
15269         gdk_gc_predraw.
15270
15271         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
15272         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
15273         GDI paths, call WidenPath to get the outline of the stroken path,
15274         and then fill the outline (with the brush that was built from the
15275         stipple).
15276
15277         * gdk/win32/gdkgc-win32.c: Factor out common code from
15278         _gdk_win32_gc_new and gdk_win32_gc_set_values into
15279         gdk_win32_gc_values_to_win32values. Use correct colour for
15280         SetBkColor() (Until now the code actually used a random colour in
15281         the call to SetBkColor()... but that didn't show up as not many
15282         GDI APIs use the background colour. Pattern (opaque stippled)
15283         brushes do.)
15284
15285         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
15286         gdk_win32_api_failed): New functions for error logging.
15287
15288         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
15289         WIN32_API_FAILED to call them, passing function or file name and
15290         line number.
15291
15292         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
15293
15294         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
15295         GdkColor for foreground and background in GdkGCWin32Data.
15296
15297         * gdk/makefile.cygwin: Link in the resource object separately.
15298
15299         * gdk/win32/rc/gdk.rc
15300         * gtk/gtk.rc (New file)
15301         * gdk/win32/makefile.cygwin
15302         * gtk/makefile.cygwin: Update build number in DLLs automatically,
15303         as in GLib.
15304
15305 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
15306
15307         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
15308         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
15309         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
15310         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
15311         parameters given and cursor->ref_count. coding style fixups.
15312
15313         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
15314         not GtkWidget.
15315         
15316         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
15317         fix up widget macros and add _GET_CLASS() variant.
15318         
15319         * gtk/*.c: some GtkType fixups.
15320
15321 2000-02-09  Tor Lillqvist  <tml@iki.fi>
15322
15323         * gdk/win32/gdkproperty-win32.c
15324         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
15325         were reversed.
15326
15327 2000-02-04  Tor Lillqvist  <tml@iki.fi>
15328
15329         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
15330         g_filename_to_utf8 to convert the font names Windows gives us from
15331         whatever is the default codepage to UTF-8.
15332         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
15333         in the other direction.
15334
15335         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
15336         error in debugging output.
15337
15338 2000-02-02  Tor Lillqvist  <tml@iki.fi>
15339
15340         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
15341         and height parameters to gdk_window_clear_area(). Not minus one.
15342
15343 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
15344
15345         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
15346         checks if the widget passed to gtk_drag_get_data() was not the
15347         dest widget.
15348
15349 2000-02-01  Tor Lillqvist  <tml@iki.fi>
15350
15351         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
15352         g_filename_from_utf8 functions (which were added a moment ago to
15353         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
15354         size buffers.
15355
15356         gtk_file_selection_get_filename returns the filename in the C
15357         runtime encoding. It calls g_filename_from_utf8, but copies the
15358         returned string to a static buffer, which is returned. I think
15359         this is better than returning the result from g_filename_from_utf8
15360         directly, which would mean all apps that use it would have to free
15361         the return value. Or should this function care about this issue at
15362         all? Maybe a new function with clearly defined semantics.
15363
15364         * gtk/gtkfilesel.h: Add comment about
15365         gtk_file_selection_get_filename returning the filename in the C
15366         runtime's encoding.
15367
15368         * README.win32
15369         * gdk/gdk.def
15370         * gdk/makefile.{cygwin,msc}
15371         * gtk/gtk.def: Updates.
15372
15373         * gdk/gdkcursor-win32.c: Initialise refcount.
15374
15375 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
15376
15377         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
15378
15379 2000-01-30  Havoc Pennington  <hp@pobox.com>
15380
15381         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
15382         destroy
15383
15384         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
15385
15386         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
15387         implemented in platform-specific code
15388
15389         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
15390
15391         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
15392         underscore in front
15393
15394         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
15395         put an underscore in front
15396
15397         * gdk/gdkcursor.c: new file, implements
15398         gdk_cursor_ref/gdk_cursor_unref
15399
15400         * gdk/gdkcursor.h: Refcount GdkCursor
15401
15402         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
15403
15404 2000-01-29  Tor Lillqvist  <tml@iki.fi>
15405
15406         * gdk/gdkwindow.h
15407         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
15408
15409 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
15410
15411         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
15412         structures to properly inherit from GtkWidget not GtkBin.
15413
15414 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
15415
15416         * gtk+.spec.in: Added lib/gtk+/include/* to %files
15417         (bug #5178 - Peter Wainright)
15418         
15419         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
15420         so that it will be installed.
15421         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
15422
15423 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
15424
15425         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
15426         for the GtkStyleClass vtable const.
15427
15428         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
15429         take a const string argument like GtkTranslateFunc. This will
15430         require changes in use code.
15431
15432 2000-01-19  Tor Lillqvist  <tml@iki.fi>
15433
15434         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
15435         semantics (to mimic the X11 backend, which just calls XClearArea)
15436         is to check for zero width (and height), and in that case use the
15437         window's width minus x (height minus y). This fixes for instance
15438         some redraw problems with gtkclist, which were easily noticeable
15439         in the gtk file selection widget.
15440
15441         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
15442         windows.
15443
15444 2000-01-13  Tor Lillqvist  <tml@iki.fi>
15445
15446         * configure.in
15447         * gdk/Makefile.am
15448         * gdk/x11/Makefile.am
15449         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
15450         (bug #5177).
15451         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
15452         out later.
15453
15454 2000-01-09  Tor Lillqvist  <tml@iki.fi>
15455
15456         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
15457         WM_MOVE for iconified or invisible windows. This fixes various
15458         problems when minimising windows. Thanks to Bernd Herd.
15459
15460 2000-01-05  Tor Lillqvist  <tml@iki.fi>
15461
15462         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
15463         backend's draw_lines method, not draw_points.
15464
15465 2000-01-02  Tor Lillqvist  <tml@iki.fi>
15466
15467         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
15468         before Owen's reorganisation: Don't have queued_events and
15469         queued_tail statics in this file, but use gdk_queued_events and
15470         gdk_queued_tail. This makes exposure event compression work again.
15471
15472         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
15473         seem to be needed?
15474
15475 1999-12-30  Tor Lillqvist  <tml@iki.fi>
15476
15477         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
15478         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
15479         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
15480         doesn't do anything.
15481
15482         * gdk/gdk.def: Add gdk_xid_table_insert.
15483
15484         * gdk/win32/gdkprivate-win32.h
15485         * gdk/win32/gdkevents-win32.c
15486         * gdk/win32/gdkinput-win32.c
15487         
15488         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
15489         extension_events field in the GdkWindowWin32Data struct. Use only
15490         the extension_events field in GdkWindowPrivate. Previously one was
15491         set, and the other one tested, which broke tablet
15492         functionality. Thanks to Keishi Suenaga for pointing this out.
15493
15494 1999-12-18  Tor Lillqvist  <tml@iki.fi>
15495
15496         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
15497         When handling a single character (text length == 1), don't handle
15498         it as if it was UTF-8.
15499
15500 1999-12-11  Tor Lillqvist  <tml@iki.fi>
15501
15502         * Makefile.am: Distribute README.win32.
15503         
15504         * gdk/Makefile.am
15505         * gdk/win32/Makefile.am: Distribute Win32 files.
15506
15507         * gdk/makefile.msc: New file.
15508
15509         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
15510         after label).
15511
15512         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
15513         gdk_error_code as GDKVAR, as they are referred outside GDK.
15514
15515         * gdk/win32/makefile.msc: Update.
15516
15517         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
15518         tweaks. Check only if at least one of those Unicode subrange bits
15519         we care for is set. If no code page bits are set, guess (wildly)
15520         based on the charset.
15521
15522         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
15523
15524         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
15525         non-NULL.
15526
15527         * gtk/gtkdnd.c
15528         * gtk/gtklayout.c
15529         * gtk/gtkplug.c
15530         * gtk/gtkselection.c
15531         * gtk/gtksocket.c
15532         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
15533         appropriate. There must be a cleaner way to handle this?
15534
15535         * gtk/gtkrc.c: Must include windows.h on Win32.
15536
15537         * gtk/testgtk.c: No need to include gdkx.h.
15538
15539         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
15540
15541 1999-12-07  Tor Lillqvist  <tml@iki.fi>
15542
15543         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
15544         the rbearing is set to the same as the width, but this should be
15545         fixed.
15546
15547 1999-12-06  Tor Lillqvist  <tml@iki.fi>
15548
15549         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
15550         function. If Windows doesn't tell us what Unicode subranges a font
15551         covers, guesstimate based on the codepages it covers. This will
15552         hopefully help those Windows versions or fonts that don't give us
15553         any useful Unicode subrange information with GetTextCharsetInfo.
15554         Call this function in gdk_font_load_internal.
15555
15556         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
15557         minor changes.
15558
15559 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
15560
15561         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
15562         New function, long needed.
15563
15564 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
15565
15566         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
15567         only_if_exists argument of gdk_atom_intern to
15568         bool.
15569
15570 1999-11-25  Tor Lillqvist  <tml@iki.fi>
15571
15572         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
15573         Fix two copy&paste errors.
15574
15575         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
15576         win32 has changed.
15577
15578         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
15579         GdkWin32SingleFont struct.
15580
15581         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
15582         subranges of loaded fonts. Clear font signature first, in case
15583         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
15584         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
15585
15586         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
15587         Unoffset clip region.
15588
15589 1999-11-23  Tor Lillqvist  <tml@iki.fi>
15590
15591         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
15592         event->any.window before calling filter functions.
15593
15594 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
15595
15596         * gtk/gtkgamma.h: Adapt cast macros to standard.
15597
15598 [ Merges from 1.2 ]
15599
15600 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
15601
15602         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
15603         If translation does not include a '/', use entire
15604         translation instead of crashing.
15605
15606 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
15607
15608         * docs/gtk_tut.sgml:
15609         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
15610
15611 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
15612
15613         * gtk/gtkselection.c (gtk_target_list_remove): Use
15614         g_list_remove_link, not g_list_remove.
15615
15616         [ From Geert Bevin <gbevin@thunderstorms.org> ]
15617         
15618 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
15619
15620         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
15621         statement upon unselection (how the heck did that slip in?).
15622
15623 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
15624
15625         * gtk/gtktext.c (gtk_text_freeze): 
15626         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
15627         in frozen state (and aparently crashes). patch provided by Anders
15628         Melchiorsen <and@kampsax.dtu.dk>.
15629
15630 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
15631
15632         * fix insensitive default/focus widget activation,
15633         reported by Matt Goodall <mgg@isotek.co.uk>.
15634
15635         * gtk/gtkwindow.c (gtk_window_key_press_event): 
15636         (gtk_window_activate_default):
15637         (gtk_window_activate_focus):
15638         return handled=FALSE for actiavtion of insensitive default
15639         widgets. return handled=TRUE for activation of insensitive
15640         focus widgets. don't activate in either case.
15641
15642 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
15643
15644         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
15645         and $glib_cflags to match library order and in the
15646         theory that an old version of GLib is more likely to
15647         be in the include directory for X then vice-versa.
15648         (Bug #2776)
15649
15650 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
15651
15652         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
15653         to determine the locale for fontsets, not LC_MESSAGES;
15654         the user may want English messages with a handling
15655         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
15656         will still be broken) (Bug #2891)
15657
15658 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
15659
15660         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
15661
15662 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
15663
15664         * gtk/gtkrc.ko: Changed the Korean default fontset.
15665
15666 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
15667
15668         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
15669         where when scrolling to the left or top double exposes
15670         were done, causing major slowdowns.
15671
15672 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
15673
15674         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
15675         names to lowercase and alphanumeric, before looking
15676         them up.
15677
15678         * gtk/Makefile.am: Install codeset variant gtkrc files
15679         with normalized names.
15680
15681 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
15682
15683         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
15684         popup menus when the menu is already visible, but its parent
15685         is still hidden, (happens after tornoff window got hidden).
15686
15687 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
15688
15689         * gtk/Makefile.am (install-data-local): Fix
15690         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
15691         deleted, causing error messages on install.
15692
15693 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
15694
15695         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
15696         the handle as well, since we now sometimes ignore
15697         exposes on the handle while resizing.
15698
15699 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
15700
15701         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
15702         extra g_free introduced in one of the last one or two 
15703         commits.
15704
15705 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
15706
15707         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
15708         consistent, put each style that a gtkrc.* file creates
15709         in a unique namespace, remove old files before installing.
15710
15711 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
15712
15713         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
15714         gtk_rc_init is called multiple times. (Yes, people who
15715         do that have bugs in their code.)
15716
15717 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
15718
15719         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
15720         Remove it since it's generated by the Makefile anyway
15721
15722 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
15723
15724         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
15725         device->info.axes for core pointer.
15726
15727 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
15728
15729         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
15730         idle_id, to deal with obsolete, broken C libraries.
15731
15732 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
15733
15734         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
15735         allocation->x/y twice!
15736
15737         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
15738         consistent with gtk_vscale_pos_trough().
15739
15740 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
15741
15742         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
15743         be queueing a resize on a toplevel container between
15744         the time we show it and when we map it. So, we need
15745         to test GTK_WIDGET_VISIBLE() for toplevels, and only
15746         use GTK_WIDGET_DRAWABLE() for child windows.
15747
15748 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
15749
15750         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
15751         (fixes bug #2144)
15752
15753 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
15754
15755         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
15756         container DRAWABLE (instead of VISIBLE), so we don't queue
15757         resizes on non-toplevel containers.
15758
15759 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
15760
15761         * gtk/gtkselection.[ch]: Make the data argument
15762         const guchar *.
15763
15764 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
15765
15766         * gtk/gtkwindow.c: Try to behave sensibly if 
15767         the focus widget is the window itself. (Should
15768         we allow this at all?)
15769
15770 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
15771
15772         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
15773         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
15774         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
15775         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
15776         in prototypes and implementations consistent (Tomas Ogren).
15777
15778         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
15779         before the widget is unparented (reported by damon).
15780
15781         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
15782         since we provide unsigned data anyways.
15783
15784 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
15785
15786         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
15787         the call to gtk_tooltips_layout_text() until later.
15788
15789         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
15790         Call gtk_widget_ensure_style() before using the style.
15791
15792 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
15793
15794         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
15795         for old widgets that don't propagate draws to all
15796         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
15797
15798 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
15799
15800         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
15801         for a redraw but just the widget that requested the resize.
15802
15803 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
15804
15805         * gtk/gtkcontainer.c: added new widget level method
15806         gtk_container_set_reallocate_redraws() and a GtkContainer flag
15807         reallocate_redraws : 1 to reflect the setting, exported this through
15808         the argument system as a boolean ::reallocate_redraws.
15809
15810         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
15811         on the widget because the allocation changes, do so as well for
15812         widget->parent if the parent has reallocate_redraws set to TRUE.
15813         with that containers requesting reallocation redraws get automatically
15814         redrawn if their children changed allocation (this unfortunately
15815         affects also other children that didn't change allocation, but we
15816         cannot work around that before 1.3).
15817
15818 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
15819
15820         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
15821         _and_ height are >0 (not _or_).
15822
15823         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
15824         instead of gtk_container_queue_resize(), which is a core gtk internal
15825         function (must have been on crack when i queued that).
15826
15827         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
15828         we can check more reliably if we want to discard expose events.
15829         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
15830         flag.
15831         
15832         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
15833         we simply trust these events. for deciding whether to discard exposes,
15834         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
15835         
15836 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
15837
15838         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
15839         queues of areas that are completely off screen.
15840
15841         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
15842         logic for handleboxes.
15843
15844         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
15845         check on width/height.
15846
15847 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
15848
15849         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
15850         we are fine with using $@ the way we do (if we actually encounter
15851         brokeness with $@ in VPATH builds because of additional path prefixes,
15852         we need to use $(@F) actually).
15853
15854 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
15855
15856         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
15857         short lived bugs, that would allow language bindings to do surgeries
15858         to our guts.
15859
15860 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
15861
15862         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
15863         where comparison was being done against an uninitialized
15864         value causing intermittant results depending on
15865         compiler flags. Also make it clearer that we aren't
15866         ever initializing the child as 0x0 (though this will
15867         be caught in gtk_widget_size_allocate())
15868
15869 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
15870
15871         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
15872         gtk_window_unset_transient_for() call after we do checks
15873         involving the old transient parent.
15874         [ From Lance Capser <lmc@cyberhighway.net> ]
15875
15876 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
15877
15878         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
15879         an empty file.
15880
15881 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
15882
15883         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
15884         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
15885
15886 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
15887
15888         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
15889         `$@' is valid only in the build dir, not after we've done 
15890         `cd $srcdir'.  Also use `test -f' instead of less portable
15891         `test -e'.
15892
15893 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
15894
15895         * gtk/gtktext.c (correct_cache_insert): Rewrite
15896          for simplicity, and hopefully correctness.
15897          (Fixes bug #1322, which was a segfault when
15898           on some insertions with the properties around
15899           the insertion set up just wrong.)
15900
15901         * gtk/gtktext.c (gtk_text_adjustment): When we receive
15902          a "changed" signal, clamp the new value to the adjustment
15903          bounds to avoid segfaulting if someone tries to change
15904          the adjustment to a bogus value. (Bug #1795)
15905
15906 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
15907
15908         * gtk/gtkmain.c: Ignore unexpected destroy notifies
15909         for children, for toplevel windows handle them
15910         like delete_event.
15911
15912         * gtk/gtkplug.c: Add an unrealize handler so that
15913         we unref plug->socket_window when we are done
15914         with it.
15915
15916 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
15917
15918         * gtk/gtktext.c (clear_area): Fix stupid signedness
15919          problem that was causing background to sometimes
15920          be misaligned.
15921
15922 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
15923
15924         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
15925         
15926         * gtk/gtkmenu.c (gtk_menu_position): Make
15927          sure we never position menus with negative x, y,
15928          since gtk_widget_set_uposition() can't handle that.
15929
15930         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
15931          Modify the positioning code a bit so that we always
15932          put the top-left corner onscreen. (This is for
15933          UI reasons, gtk_menu_position() now takes care of
15934          gtk_widet_set_uposition() brokeness.)
15935
15936 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
15937
15938         * gtk/Makefile.am: fixed up things for -jx, x > 1.
15939
15940 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
15941
15942         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
15943           RC style that is passed in. The lack of the ref
15944           before was a bug. If people worked around this
15945           bug, this will introduce a slight memory leak
15946           in their code. The code should typically look like:
15947
15948             rc_style = gtk_rc_style_new ();
15949             [...]
15950             gtk_widget_modify_style (widget, rc_style);
15951             gtk_rc_style_unref (rc_style);
15952
15953         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
15954           the style if it was already set.
15955
15956         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
15957           style if it was set before.
15958
15959 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
15960
15961         * gtk/testgtk.c (main): Add a check to see if we
15962           are being run from the correct directory and
15963           to quit nicely if we are not.
15964
15965         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
15966           static.
15967
15968 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
15969
15970         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
15971
15972         * gtk/gtkwindow.c:
15973         queue resizes unconditionally (gtk_widget_queue_resize will figure
15974         what to do if the window is not realized).
15975         (gtk_window_move_resize): only recenter the window
15976         for GTK_WIN_POS_CENTER_ALWAYS.
15977         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
15978         the same way as GTK_WIN_POS_CENTER.
15979
15980 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
15981
15982         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
15983         with (!(info->last_flags & GDK_HINT_POS)) instead of
15984         (!info->last_flags & GDK_HINT_POS).
15985
15986         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
15987         new_height unconditionally, because we use these values even if
15988         !default_size_changed && !hints_changed.
15989         comented the (default_size_changed || hints_changed) case with
15990         respect to resize rejects from the window manager.
15991
15992         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
15993         in the zvt condition hack, since this includes the window hints, set
15994         the hints after the handling_resize case.
15995
15996         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
15997         window is initially shown with to the geometry.
15998
15999 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
16000
16001         * gtk/gtkwindow.c (gtk_window_move_resize):
16002         s/size_changed/default_size_changed/g so i know what's
16003         really going on (frying brain on smaller flame now).
16004
16005 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
16006
16007         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
16008         we have size_changed upon handling_resize. this is a gross
16009         workaround for the broken zvt widget and should be removed in
16010         1.3 again (search for FIXME).
16011         Owen provided an accurate comment for this:
16012
16013         /* We could be here for two reasons
16014          *  1) We coincidentally got a resize while handling
16015          *     another resize.
16016          *  2) Our computation of size_changed was completely
16017          *     screwed up, probably because one of our children
16018          *     is broken. It's probably a zvt widget.
16019          *
16020          * For 1), we could just go ahead and ask for the
16021          * new size right now, but doing that for 2)
16022          * might well be fighting the user (and can even
16023          * trigger a loop). Since we really don't want to
16024          * do that, we requeue a resize in hopes that
16025          * by the time it gets handled, the child has seen
16026          * the light and is willing to go along with the
16027          * new size. (this happens for the zvt widget, since
16028          * the size_allocate() above will have stored the
16029          * requisition corresponding to the new size in the
16030          * zvt widget)
16031          *
16032          * This doesn't buy us anything for 1), but it shouldn't
16033          * hurt us too badly, since it is what would have
16034          * happened if we had gotten the configure event before
16035          * the new size had been set.
16036          */
16037
16038 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
16039
16040         * gtk/gtkrc.c: deal properly with the fact that RC
16041           style lists may include rc styles more than once.
16042
16043         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
16044           unused static function.
16045
16046         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
16047           stack of directories of RC files currently being
16048           parsed and implicitely add them to pixmap path.
16049           
16050           This fixes a bug where the directory would get
16051           appended then overwritten by pixmap_path declarations.
16052
16053           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
16054
16055         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
16056           theme's exit function. (Patch from Peter Wainwright,
16057           bug #1454)
16058
16059         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
16060           Add a destroy() handler to take care of removing
16061           group for menu item. (Fixes bug #1197)
16062
16063         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
16064           in warning message.
16065
16066 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
16067
16068         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
16069         roundtrip to figure window's width and height, since we know that
16070         anyways from widget->allocation.
16071
16072 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
16073
16074         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
16075           the hints after we request the new size.
16076
16077 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
16078
16079         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
16080           GTK_WIDGET_REALIZED() assertion - we can compute the
16081           hints before we are realized.
16082
16083         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
16084           hint changing so that we have a value of hints_changed
16085           when we decide whether to constrain the window size.
16086
16087         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
16088
16089         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
16090         change back to G_MAXINT.
16091
16092 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
16093
16094         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
16095         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
16096         contain uncluttered values.
16097         (gtk_window_compute_hints): simply assert that window is realized
16098         and that geometry_info is valid, since we rely on this anyways.
16099         (gtk_window_constrain_size): major cleanups to the code.
16100         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
16101         for the base size, instead of the minimums. use 32767 as max width
16102         and height (like in gtkwindow.c) instead of G_MAXINT.
16103
16104 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
16105
16106         * cleaned up the GtkContainer.need_resize flag handling mess, we
16107         only need to force resize requests when we were prematurely
16108         realized, or our widget tree was modified when we were temporarily
16109         hidden. handling these cases directly upon showing the window (i.e.
16110         while the GdkWindow is still unmapped) avoids the need to wait for
16111         a configure event response and therefore makes the GUI more snappier
16112         and avoids blank windows during the roundtrip.
16113
16114         * gtk/gtkwidget.c:
16115         (gtk_widget_hide): 
16116         (gtk_widget_show): don't queue resizes on toplevels, they know how
16117         to deal with matters.
16118
16119         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
16120         flag directly for not visible resize containers and spare us unecessary
16121         signal emissions.
16122
16123         * gtk/gtkwindow.c:
16124         (gtk_window_realize): if we need to enforce premature size allocation,
16125         queue a container resize so we are correctly resized later on.
16126         (gtk_window_init):
16127         (gtk_window_size_request):
16128         don't freak around with the ->need_resize flag,
16129         gtk_container_queue_resize() will care about that.
16130         (gtk_window_show):
16131         handle initial resizing issues here, we can handle matters better in
16132         this place, especially since we know that our GdkWindow is still
16133         unmapped.
16134         (gtk_window_move_resize):
16135         don't care about ->need_resize at all.
16136         handle size changes properly that occoured while we waited for a
16137         configure event.
16138
16139 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
16140
16141         * gtk/gtkwidget.c (gtk_widget_set_uposition):
16142         * gtk/gtkwindow.[hc] (gtk_window_reposition):
16143         Move the hint setting code from gtk_widget_set_uposition
16144         to here; set the hints so that we respect any previously
16145         set geometry hints.
16146
16147         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
16148         change the window hints here or move the window here,
16149         let that happen in gtk_window_move_resize().
16150
16151 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
16152
16153         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
16154         to already queued resizes (and therefore redraws) on a widget, check
16155         its anchestry as well.
16156
16157         * gtk/gtkcontainer.c:
16158         (gtk_container_queue_resize): clear resize widgets for resize
16159         containers before aborting prematurely. this is especially important
16160         for toplevels which may need imemdiate processing or their resize
16161         handler to be queued.
16162         (gtk_container_dequeue_resize_handler): added new internal function for
16163         gtkwindow.c.
16164
16165         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
16166         configure event, take possible changes in window position into account
16167         as well.
16168         if we request a new window size, queue up a resize handler that will
16169         last until the configure event response arrives.
16170         combined the ->need_resize case (initial show) with the general size
16171         (hints) changed case and added even more comments.
16172         if !auto_shrink, only revert to the old allocation if the new size
16173         is smaller than the current allocation.
16174
16175 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
16176
16177         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
16178                            gtk_window_set_geometry_hints
16179                            gtk_window_set_default_size):
16180         When hints are set, queue a resize so that the hints will
16181         be eventually reset on the toplevel.
16182
16183         * gtk/gtkwindow.c (gtk_window_show): Use
16184         gtk_window_compute_default_size(). Clear the need_resize flag
16185         on the initail map so that we don't unnecessarily trigger the
16186         resize code.
16187
16188         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
16189         into separate functions. Compare the hints we are setting
16190         with what we set last time so that we can accurately
16191         tell when we need to reset the hints.
16192
16193         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
16194         function to figure out the size from requisition
16195         and default_size.
16196
16197         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
16198         from fvwm to constrain a size to the geometry hints.
16199
16200         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
16201         to compare two sets of geometry hints.
16202
16203         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
16204         from gtk_window_set_hints(), just compute the hints,
16205         don't set them.
16206
16207         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
16208         code from gtk_window_move_resize() to separate function,
16209         rationalize a bit.
16210
16211 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
16212
16213         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
16214         structure into a new private structure.
16215
16216         * gtkrc.c: Split GtkRcStyle into public/private.
16217         In the private part, add a list of pointers to the
16218         RcStyle lists this RcStyle participates in.
16219
16220         * gtkrc.c: When a RcStyle is free, remove all
16221         lists referencing it from the 
16222         realized_style_ht hash, and free those lists.
16223         
16224         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
16225         gtk_rc_init(), since that adds the default styles
16226         to the list of parsed RC files again.
16227
16228         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
16229         
16230 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
16231
16232         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
16233         checks that ensure that a widget's allocation is at least 1 in width
16234         and height. (GNOME note: this doesn't affect old panel code anymore,
16235         because GtkSocket will request width and height of at least 1 since
16236         Fri Jul 23).
16237
16238         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
16239         allocated yet (happens if the user realizes the window prematurely),
16240         size request and allocate it.
16241         (gtk_window_size_allocate): guard against guint underflows.
16242
16243 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
16244
16245         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
16246         in gtk_built_sources, so gtk.defs gets built prior to all other
16247         sources.
16248
16249 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
16250
16251         * gtk/Makefile.am:
16252         invoke indent on gtkmarshal.*. 
16253         rewrote source generation rules, use COPYING as oldest source tag for
16254         a piggyback rule to generate all sources from (don't touch it ;).
16255         major cleanups, strip spaces on build rules for GNU Make.
16256
16257         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
16258         source and target files from commandline arguments. don't invoke indent.
16259
16260 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
16261
16262         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
16263         notebook after switch to avoid drawing problems.
16264         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
16265         
16266         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
16267         show them instead. 
16268         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
16269
16270 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
16271
16272         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
16273         notebook after switch to avoid drawing problems.
16274         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
16275         
16276         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
16277         show them instead. 
16278         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
16279
16280 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
16281
16282         * gtk/gtkwindow.c:
16283         we use window->need_resize from configure_event now, to indicate that
16284         the gtkwindow should keep its allocation (e.g. because the user resized
16285         the window through window manager handles). resize_count is now reliably
16286         used to figure whether we got the allocation we requested from the
16287         window manager.
16288         configure events get queued as resizes now, the real stuff (size
16289         computation and allocation) now only goes on in gtk_window_move_resize().
16290         GtkWindow's requisition now contains its *real* requisition (like all
16291         other widgets), *not* taking usize into account.
16292         geometry_info->last_{width|height} is now updated from set_hints() only
16293         so it always contains the last hints we set for the window manager.
16294         made some event handlers return TRUE instead of FALSE.
16295         the overall code should be much more straight forward now, and the
16296         significant code portions are accompanied by comments now.
16297         (gtk_window_set_hints):
16298         removed requisition argument and made it
16299         fetch the requisition through gtk_widget_get_child_requisition.
16300         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
16301         does that now.
16302         (gtk_window_show):
16303         ensure that the widget is realized before calling 
16304         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
16305         ensure that we got properly size requested and allocated before
16306         realization.
16307         (gtk_window_configure_event):
16308         ignore plain window moves, or reallocate the widget tree through the
16309         resize queue otherwise.
16310         (gtk_window_move_resize):
16311         mostly rewrote this function to figure window manager hints more
16312         reliably, coalesce window moves and resizes to reduce configure events
16313         and do actuall size allocations.
16314
16315 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
16316
16317         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
16318         that have a resize pending, because a redraw is already queued for them.
16319
16320         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
16321         hack to clear resize_widgets.
16322
16323         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
16324         for resize containers prior to size allocation. (this is also a bit
16325         ugly, but avoids side effects for stopped emissions and is thus more
16326         reliable).
16327         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
16328
16329         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
16330         function from gtk_tooltips_expose, as we connect to ::expose_event
16331         *and* ::draw now.
16332
16333 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
16334
16335         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
16336         checks.
16337         (gtk_target_list_unref): Likewise.
16338
16339         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
16340
16341 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
16342
16343         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
16344         guard against division by zero. (Fixes bug #1339)
16345
16346 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
16347
16348         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
16349         Prevent the trivial leak of information of allowing
16350         word motion when the entry is not visible.
16351
16352 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
16353
16354         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
16355         modality to error dialog as well as confirmation dialogs.
16356         (Bug #1803, reported by Rosanna Wing Sze Yuen)
16357
16358 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
16359
16360         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
16361         tree->view_lines.
16362         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
16363
16364         * gtk/Makefile.am (install-data-local): Solaris apparently
16365         has various troubles with ln -f; use rm first instead.
16366         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
16367
16368 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
16369
16370         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
16371         use `cp' followed by `rm' (the `rm' was already there).
16372
16373 July 30, 1999 Elliot Lee <sopwith@redhat.com>
16374         
16375         * configure.in: Fix autoconf warnings about cross compilation by
16376         trying to provide sane defaults for AC_TRY_RUN.
16377         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
16378         put them into $(srcdir) when generated. Also add a dependency of
16379         gtksignal.h on gtkmarshal.h for -j builds. 
16380         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
16381
16382 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
16383
16384         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
16385         GDK_THREADS_{LEAVE,ENTER} pair.
16386         (From Paul Fisher <pnfisher@redhat.com>)
16387
16388 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
16389
16390         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
16391         width and height are always >0 (owen).
16392
16393 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
16394
16395         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
16396         change that assured that a widget's allocated with and height are
16397         always >1, since this breaks *buggy* panel code. unfortunately this
16398         back-breaks the gimp's color selector.
16399
16400         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
16401         allocation is always >0 in width and height, before sending the
16402         configure event; this is a *gross* hack to get the gimp back to work.
16403         
16404         * marked both cases with TODO-1.3
16405
16406 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
16407
16408         * gtk/gtktext.c: Don't display wrap indicators when
16409         text is not editable and word wrap is on.
16410
16411 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
16412
16413         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
16414         option menus here as they are not derived from menu shell, assure that
16415         the option menu has a menu we can add items to.
16416
16417 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
16418
16419         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
16420         width/height to (gint) before calculations and check against < 0 to
16421         avoid guint wraparounds.
16422
16423 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
16424
16425         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
16426         width and height is never zero. sanity check both dimensions against
16427         32767 and issue a warning if the allocation is greater than that.
16428
16429 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
16430
16431         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
16432         to g_main_pending() as well.
16433
16434 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
16435
16436         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
16437         call to g_main_iteration() - since that will regrab
16438         GTK+ lock to process events.
16439
16440 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
16441
16442         * gtk/gtkwindow.c
16443         - Regularize with the rest of GTK+ by making widget->requisition
16444           not reflect the set_usize()
16445         - Always recompute geometry hints, then check if they
16446           changed before sending them to the X server. The
16447           previous checks for changes would fail in a number
16448           of circumstances. 
16449
16450 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
16451
16452         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
16453
16454 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
16455
16456         * gtk/gtkdnd.c:
16457         - Code cleanups
16458         - Instantaneously update on modifier key presses
16459         - Allow cancellation of the drag with Escape.
16460
16461 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
16462
16463         * gtk/testgtk.c (create_handle_box): Set the policy
16464         to auto_shrink - otherwise the appearance is rather
16465         strange when flipping between horizontal and vertical.
16466
16467 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
16468
16469         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
16470         (gtk_window_set_default_size): don't change a value if it's < 0.
16471         queue a resize.
16472
16473 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
16474
16475         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
16476
16477 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
16478
16479         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
16480         add an extra "/" when concating "/" + filename.
16481         (From Matt Grossman <mattg@oz.net>)
16482
16483 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
16484
16485         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
16486         for fg_gc if we set it for drawing pixmap.
16487
16488 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
16489
16490         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
16491         
16492         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
16493         already set, call old engine's destroy function and
16494         unref the old engine.
16495
16496 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
16497
16498         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
16499
16500 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
16501
16502         * gtk/gtkaccelgroup.h: mark certain functions as internal.
16503
16504 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
16505
16506         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
16507         expand behaviour changed.
16508
16509         * gtk/gtklabel.c (gtk_label_set_pattern):
16510         (gtk_label_set_justify):
16511         (gtk_label_set_line_wrap):
16512         don't bother invoking queue_clear, the reallocation does
16513         that for us, always free_words so the upcoming resize will
16514         relayout the label's contents.
16515
16516 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
16517
16518         * applied argument implementation patches from Elena Devdariani
16519         <elena@cogent.ca>.
16520
16521         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
16522         ::space_style, ::relief
16523         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
16524         * gtk/gtkpreview.c: ::expand
16525         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
16526         * gtk/gtknotebook.c: ::homogeneous
16527         * gtk/gtklabel.c: ::wrap
16528         * gtk/gtklist.c: ::selection_mode
16529         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
16530         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
16531         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
16532         * gtk/gtkclist.c: ::sort_type
16533         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
16534         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
16535
16536 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
16537
16538         * gtk/gtkstyle.c: Removed ill-thought-out part of last
16539         comment.
16540
16541 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
16542
16543         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
16544         counting right when we have to attach a new style
16545         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
16546
16547         * gtk/gtkstyle.c: Documented the refcounting
16548         peculularities of gtk_style_attach.
16549
16550 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
16551
16552         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
16553         window types.
16554
16555         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
16556         of GTK_TOPLEVEL for creating the window.
16557
16558 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
16559
16560         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
16561         the last argument (reported by Per Winkvist).
16562         
16563 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
16564
16565         Fixes for invisible XOR lines (Frank Loemker
16566         <floemker@TechFak.Uni-Bielefeld.DE>)
16567         
16568         * gtk/gtkclist.c (gtk_clist_realize): Always use
16569         a non-zero pixel for GDK_XOR.
16570
16571         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
16572         Use GDK_INVERT instead of GDK_XOR.
16573
16574 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
16575
16576         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
16577         signals if h/voffsets differ from adjustment values.
16578         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
16579
16580 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
16581
16582         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
16583         ::selection-done emissions up to the topmost menu shell.
16584
16585 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
16586
16587         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
16588         the user data on the window before destroying it.
16589
16590         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
16591         unrealize handler to take care of destroying 
16592         notebook->panel properly. 
16593         (Bug #1198 - Morten Welinder <terra@diku.dk>)
16594
16595         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
16596         of g_new and g_realloc to stop memory leak. (Actually,
16597         we could just use g_realloc(), but I'm not 100% sure
16598         that is portable).
16599         (Bug #1196 - Morten Welinder <terra@diku.dk>)
16600
16601 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
16602
16603         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
16604
16605         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
16606         for fontsets.
16607
16608         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
16609         with bin/button confusion.
16610
16611 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
16612
16613         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
16614         and show how preselection of radio items is done.
16615
16616 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
16617
16618         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
16619         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
16620         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
16621         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
16622         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
16623         * gtk/gtktable.c (gtk_table_attach): 
16624         * gtk/gtklist.c (gtk_list_insert_items): 
16625         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
16626         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
16627         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
16628         * gtk/gtkbin.c (gtk_bin_add): 
16629         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
16630         * gtk/gtkfixed.c (gtk_fixed_put): 
16631         * gtk/gtklayout.c (gtk_layout_put):
16632         general fixups to container_add logic. always realize child if
16633         child->parent is realized, only map the child and queue a resize
16634         if child and child->parent are both visible.
16635
16636 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
16637
16638         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
16639         instead of gtk_container_foreach to walk and unrealize children, so
16640         composite children get also unrealized.
16641         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
16642         (gtk_widget_map): assert that the widget is visible (basic constrain).
16643         (gtk_widget_real_map): assert that the widget is realized (basic
16644         constrain).
16645
16646 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
16647
16648         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
16649
16650 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
16651
16652         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
16653         file for iso-8859-2 locales.
16654
16655         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
16656
16657 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
16658
16659         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
16660          (Pointed out by andy@rz.uni-karlsruhe.de and others).
16661          Remove some suspicious and useless lines. 
16662
16663 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
16664
16665         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
16666         width,height = 0, 0 to mean - here to edge of window,
16667         instead of -1, -1, since the former is all we support.
16668
16669 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
16670
16671         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
16672         when removing from quit_functions list.
16673
16674 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
16675
16676         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
16677
16678 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
16679
16680         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
16681          When redrawing characters on non-visible entry, use appropriate
16682          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
16683
16684 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
16685
16686         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
16687         from drag coordinates.
16688         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
16689         use drag_dest_cell.
16690
16691         * gtk/gtktree (drag_dest_cell)
16692         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
16693         (Bug #1129)
16694
16695 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
16696
16697         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
16698         translate_* fields.
16699         (gtk_item_factory_finalize): invoke translate_notify independant from
16700         translate_data.
16701         (gtk_item_factory_set_translate_func): likewise.
16702         (gtk_item_factory_destroy): only remove ifactory pointer from those
16703         widgets that belong to us (stupid me).
16704
16705 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
16706
16707         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
16708         rc_style list when lookup succeeeds.
16709
16710 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
16711
16712         * gtk/gtkctree.c (resync_selection): 
16713         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
16714         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
16715         bug.
16716
16717 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
16718
16719         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
16720         Add some missing GDK_THREADS_ENTER()/LEAVE around
16721         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
16722
16723 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
16724
16725         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
16726         rather than emit_by_name.
16727
16728         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
16729         on the widget across multiple signal emissions.
16730         (gtk_editable_delete_text): same here.
16731         (gtk_editable_class_init): set widget_class->activate_signal after
16732         editable_signals[ACTIVATE] has been created.
16733
16734 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
16735
16736         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
16737         position here prematurely -- we might not have the
16738         right ->min_position and ->max_position yet.
16739
16740 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
16741
16742         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
16743         Add error traps so if the other end of the connection
16744         dies, we survive.
16745
16746         * gtk/gtkselection.c (gtk_selection_notify): Clean
16747         up properly when selection property retrieval fails.
16748         
16749         * gtk/gtkselection.c (gtk_selection_request): Correctly
16750         reject SelectionRequest notifies where the handler
16751         returns no data.
16752
16753 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
16754
16755         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
16756         when we've previously highlighted.
16757
16758         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
16759         emit two "drag_leave" signals for Motif drops.
16760
16761         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
16762         back the correct status messages when dropping from
16763         Motif onto a proxy window that is rejecting the
16764         drop.
16765
16766 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
16767
16768         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
16769         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
16770         to compare two argument values. added gtk_arg_to_valueloc() to set a
16771         variable from an arg through its location (pointer).
16772
16773         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
16774         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
16775         as gfloat*, uchars are collected as guchar*, ints are collected as
16776         gint*, etc...
16777
16778 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
16779
16780         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
16781         Include <string.h> instead of <strings.h>.
16782
16783         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
16784         (actually, a lot more duplicate includes occur if
16785          you trace through the sequence of #include's)
16786         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
16787         
16788 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
16789
16790         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
16791         gtk-a-higuti-990322-[0-3]
16792
16793         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
16794         that was causing -DX_LOCALE not to work.
16795
16796         * gtk/gtkrc.c (gtk_rc_init):
16797         X_LOCALE will never have LC_MESSAGES defined
16798
16799 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
16800
16801         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
16802         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
16803
16804         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
16805         left/right as well (gtk-michael-980726-0.patch.gz).
16806
16807         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
16808         for pointer values, use gchar instead of char. fixed uline allocation
16809         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
16810         chunks instead of G_ALLOC_ONLY.
16811         (gtk_label_size_request): always alter requisition as passed and leave
16812         widget->requisition alone.
16813         (gtk_label_set_text): allow NULL strings.
16814         (gtk_label_new): likewise.
16815
16816 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
16817
16818         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
16819
16820 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
16821
16822         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
16823         *and* mapped (i.e. drawable).
16824         (gtk_bin_expose): only send exposes to drawable children.
16825
16826         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
16827         (gtk_box_expose): only send exposes to drawable children.
16828
16829         * gtk/gtkhscale.c (gtk_hscale_draw): 
16830         * gtk/gtkvscale.c (gtk_vscale_draw):
16831         hm, this is an ugly one. we first compute the size of our trough area
16832         here (window relative) and then check intersection with the draw_area
16833         which is parent relative because we're a NO_WINDOW widget, so we need
16834         to offset the trough area by allocation.x and allocation.y before the
16835         check. (this must not be done for the background area though, since
16836         that's already computed parent relative).
16837
16838 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
16839
16840         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
16841         unrealize title buttons.
16842
16843 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
16844
16845         * gtk/gtkclist.c (gtk_clist_column_title_passive)
16846         (gtk_clist_column_title_active): 
16847         only connect/disconnect to GtkWidgetClass::event to block mouse events.
16848
16849         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
16850         zero initialize event, removed superfluous gdk_window_get_pointer call
16851
16852         * gtk/gtklist.c (gtk_list_vertical_timeout)
16853         (gtk_list_horizontal_timeout): removed superfluous
16854         gdk_window_get_pointer call
16855
16856 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
16857
16858         * plugging problems reported by "Bruce Mitchener, Jr."
16859         <bruce@puremagic.com> due to a purify session.
16860
16861         * gtk/gtkstyle.c:
16862         (gtk_style_ref): 
16863         (gtk_style_unref): assert ref_count to be > 0.
16864
16865         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
16866         the requisition.
16867         (gtk_clist_set_shift): likewise.
16868
16869         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
16870         adjustments.
16871
16872         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
16873         event before sending it and set send_event to TRUE (which needs to
16874         be done for *all* synthesized events).
16875         (gtk_list_vertical_timeout): likewise.
16876
16877         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
16878         leaks.
16879
16880         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
16881         to TRUE when synthesizing events.
16882
16883 [ *** end of merges from 1.2 *** ]      
16884         
16885 1999-11-21  Tor Lillqvist  <tml@iki.fi>
16886
16887         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
16888         (or copied from gdkconfig.h.win32 on Win32, sigh).
16889
16890         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
16891
16892         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
16893
16894         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
16895
16896         * gdk/gdkconfig.h.win32: New file.
16897
16898         * gdk/win32/makefile.cygwin: Build just a static archive here.
16899
16900         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
16901         for the DLL from the static archive built above.
16902
16903         * gdk/gdk.def: Moved here from the win32 subdirectory.
16904
16905         * gdk/win32/*: Adapt for the changed private struct organisation.
16906
16907         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
16908
16909 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
16910
16911         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
16912         for wheel mice (buttons 4 and 5).
16913
16914 1999-11-18  Tor Lillqvist  <tml@iki.fi>
16915
16916         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
16917         drawables use just the pixel field in the foreground and
16918         background GdkColor of the GdkGC.
16919
16920         gdk_gc_set_{fore,back}ground() are called in the GIMP with
16921         GdkColors containing uninitialized (red,green,blue) fields, and
16922         just the pixel field filled in, and furthermore in the
16923         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
16924         It thus turns out that we really don't need to have the full
16925         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
16926         it later to have just the pixel values.
16927
16928 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
16929
16930         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
16931
16932 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
16933
16934         * docs/gtkfaq.sgml: threads example from Erik Mouw.
16935         New question on GtkLabel background colors.
16936
16937         * docs/gtk_tut.sgml:
16938           - Correct the example code callback
16939             function definitions.
16940           - Update the gtkdial example code, from Frans van Schaik.
16941           - Update setselection.c to current API.
16942
16943         * examples/Makefile examples/*/*.c: Update to code
16944         listed in tutorial.
16945
16946 1999-11-10  Tor Lillqvist  <tml@iki.fi>
16947
16948         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
16949         subrange table (from the "Developing International Software for
16950         WIndows 95 and Windows NT" book) was missing the Hangul syllable
16951         block... Get the loaded font's charset correctly.
16952
16953         (Note that this, and the other *-win32.c files, still really are
16954         the old ones, the win32 subdirectory is not ready for compilation
16955         yet after the reorg.)
16956
16957 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
16958
16959         * gtk/gtkclist.c: Fix off-by-one bug in parameter
16960         check.
16961
16962 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
16963
16964         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
16965         on results of XQueryDeviceState().
16966
16967 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
16968
16969         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
16970         we need to accesss only ->children. We need an accessor
16971         for the children.
16972
16973         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
16974         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
16975         to get rid of gdkx.h include.
16976         
16977         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
16978         and random references to 'None'.
16979
16980         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
16981         Get rid of unused #include <gdk/gdkx.h>
16982
16983         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
16984         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
16985         gdkconfig.h.
16986
16987 1999-11-08  Tor Lillqvist  <tml@iki.fi>
16988
16989         * gdk/win32/gdkdraw.c
16990         * gdk/win32/gdkfont.c
16991         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
16992         following yesterday's changes. (Unrelated to Owen's reorg.)
16993
16994 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
16995
16996         * gdk/x11/gdkinput-gxi.c: Add missing include,
16997           fix GdkWindowPrivate => GdkDrawablePrivate.
16998
16999         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
17000
17001         * gdk/x11/Makefile.am (xinput_sources): Add missing
17002         backslash to fix building with --with-xinput=none
17003
17004 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
17005
17006         Move all X specific code into the x11/ directory.
17007         Aside from shuffling things around, did the following:
17008
17009        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
17010          gdk_arg_context_* - a simple argument parsing system
17011          in the style of popt.
17012
17013        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
17014          gdk/x11/gdkprivate-x11.h:
17015          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
17016          add ->klass and ->klass_data fields. The klass_data
17017          field points to an auxilliary structure that is
17018          windowing system dependent.
17019
17020        * gdk/gdkfont.c: Make most of the measurement functions
17021          simply wrappers around gdk_text_extents().
17022
17023        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
17024          _gdk_font_strlen() function that hides the weird
17025          behavior in gtk+-1.[02] where a string is interpreted
17026          differently for 8-bit and 16-bit fonts.
17027
17028        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
17029          to store common code for synthesizing double/triple
17030          press events.
17031         
17032        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
17033          Make all the function that modify an existing GC
17034          simply wrappers around gdk_gc_set_values().
17035          
17036        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
17037          for throwing out later.
17038
17039        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
17040          GdkImagePrivate and GdkColormapPrivate to have a
17041          windowing system dependent part (GdkFontPrivateX etc.)
17042          that "derives" from the system-independent part.
17043
17044        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
17045          Got rid of the included-source-files for XInput in
17046          favor of automake conditionals. (Which didn't exist
17047          when XInput support was originally added.)
17048
17049        * gdk/gdkrgb.c: Remove the visual id from the debugging
17050          statements since that is X11 specific; print out
17051          type/depth info instead.
17052          
17053
17054 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
17055
17056         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
17057         loading duplicates of hashed fonts.
17058
17059         * gdk/gdk.c (gdk_keysym_convert_case): rename
17060         gdk_XConvertCase to gdk_keysym_convert_case, allow
17061         results to be NULL in the GTK+ style.
17062
17063         * gdk/gdkcompat.h: Started compatibility header
17064         for renames.
17065
17066 1999-11-07  Tor Lillqvist  <tml@iki.fi>
17067
17068         * gdk/win32/gdkprivate.h: New font private structures, related to
17069         fontsets.
17070
17071         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
17072         gdk_font_list_free(). On X11, will just be wrappers to
17073         XListFonts() and XFreeFontNames(). On Win32, the code previously
17074         in gtkfontsel.c is now here.
17075
17076         New function gdk_font_xlfd_create(). On X11 will get the FONT
17077         property of the font (for GDK_FONT_FONTs), or call
17078         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
17079         builds a XLFD style name from the font information in the LOGFONT
17080         struct(s).
17081
17082         New function gdk_font_xlfd_free(), which correspondingly frees the
17083         string returned by gdk_font_xlfd_create().
17084
17085         Implement fontsets on Win32. Add a function that iterates over a
17086         wide char string and calls a callback function for each substring
17087         of wide chars from the same Unicode subrange (and thus probably
17088         available in the same real font).
17089
17090         Improve the XLFD emulation a bit.
17091
17092         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
17093
17094         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
17095         Beta3, WM_IME_CHAR messages don't seem to contain the composed
17096         multi-byte char as with the Active IMM on Win9x. Oh well, handle
17097         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
17098         ImmGetCompositionStringW() to get the composed Unicode chars.
17099
17100         * gdk/win32/gdkgc.c
17101         * gdk/win32/gdkdraw.c: Changes needed because of the font private
17102         struct changes.
17103
17104         * gdk/win32/gdk.def: Add the new functions.
17105
17106 1999-11-04  Tor Lillqvist  <tml@iki.fi>
17107
17108         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
17109         get the Platform SDK to get <dimm.h>.
17110
17111         * gdk/win32/gdkevents.c: More event handling fixes and
17112         simplification. Never generate motion events with is_hint true. We
17113         used to do that on bogus grounds earlier. Windows sends
17114         WM_MOUSEMOVE messages on button events even if the mouse hasn't
17115         moved, ignore these.
17116
17117         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
17118
17119         * gdk/win32/gdkglobals.c
17120         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
17121         the TrackMouseEvent function, and use it.
17122
17123         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
17124         char before calling WideCharToMultiByte in order to get a string
17125         for the window title.
17126
17127         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
17128
17129         * gdk/win32/gdk.def: Remove obsolete functions.
17130
17131         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
17132         /nodefaultlib and /defaultlib switches.
17133
17134         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
17135
17136 1999-10-31  Tor Lillqvist  <tml@iki.fi>
17137
17138         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
17139         EuroSign).
17140
17141         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
17142         same type as GdkWChar, especially on Win32.
17143
17144         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
17145
17146         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
17147         before passing to Windows GDI for drawing etc. Convert to the
17148         system default codepage before passing to Windows as window
17149         titles.
17150
17151         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
17152         support changing input locale on the fly.
17153
17154         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
17155         on-the-fly changes. Convert incoming characters from the current
17156         codepage to Unicode (and then to a UTF-8 multi-byte string) based
17157         on the current input language. Use keysym<->Unicode mapping tables
17158         and functions borrowed from xterm sources.
17159
17160         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
17161         editions of Win9x, use the ActiveX-based Active IMM (Input Method
17162         Manager) if available. IMEs and the Active IMM are available under
17163         the disguise of Chinese, Korean and Japanese support for IE and
17164         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
17165         support is present in all editions (as long as you install it).
17166
17167         Call DispatchMessage from gdk_events_queue() (and thus
17168         gdk_WindowProc()), instead of duplicating the code in
17169         gdk_WindowProc().
17170
17171         Reworked the grab handling and propagation code, factored out
17172         duplicated code snippets into separate functions. Other cleanups,
17173         too.
17174
17175         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
17176         the <dimm.h> header describing the Active IMM.
17177
17178         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
17179         just do the same as for "single" fonts.
17180
17181         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
17182         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
17183         the new keysyms from gdkkeysyms.h.
17184
17185         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
17186         fontset, so that gtkentry uses wide characters.
17187
17188         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
17189         GTk+'s system directory "gtk+", not "gtk".
17190
17191 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
17192
17193         * docs/gtkfaq.sgml: FAQ update
17194
17195 1999-10-21  Tor Lillqvist  <tml@iki.fi>
17196
17197         * gdk/win32/gdkprivate.h: Add more font private data.
17198
17199         * gdk/win32/gdkfont.c
17200         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
17201         fonts and strings. Now works much better. You still have to
17202         have a correct font selected, though. No fontset emulation yet.
17203
17204 1999-10-19  Tor Lillqvist  <tml@iki.fi>
17205
17206         * gtk/maketypes.awk: Use G_OS_WIN32.
17207
17208         * gtk/gtk.def: Add some missing entry points. Also some non-public
17209         ones, but PyGTK porter claims to need them.
17210
17211         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
17212         built-in type generation.
17213
17214 1999-10-14  Tor Lillqvist  <tml@iki.fi>
17215
17216         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
17217         GDK_FONT_FONT fonts (which is all we have for now, we don't
17218         emulate fontsets). The X11 version uses plain XDrawString in that
17219         case, too. The string passed to gdk_draw_text_wc seems to be in
17220         fact (at least, when used by gtkentry and gtktext) either in a
17221         single-byte charset, or a DBCS. Not Unicode.
17222
17223         This fixes the problem in gtkfontsel, where even if you had
17224         selected a font with a non-Latin1 charset (windows-greek, for
17225         instance), the preview still used Latin-1 glyphs.
17226
17227         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
17228         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
17229         (gdk_font_load): Recognize the demibold etc weights, even if we
17230         don't have the corresponding constants in the headers.
17231         (gdk_font_hash_insert): Use same hash mechanism as in the X11
17232         version. Should save font resources a bit, when we don't have
17233         multiple HFONTs for the same font.
17234
17235         * gdk/win32/gdkprivate.h: Add the names field as in the X11
17236         version.
17237
17238 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
17239
17240         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
17241         X values
17242
17243 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
17244
17245         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
17246         layout support (as mentioned on
17247         http://www.jcinteractive.com/gnome-ui/software/widgets/)
17248
17249 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
17250
17251         * gtk/fnmatch.c
17252         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
17253
17254 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
17255
17256         * configure.in (ALL_LINGUAS): Added Galician (gl)
17257
17258 1999-10-05  Tor Lillqvist  <tml@iki.fi>
17259
17260         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
17261
17262         * gdk/win32/gdkcompat.c: New file, actually provide an
17263         implementation for the deprecated functions. (Just temporarily.)
17264
17265         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
17266
17267         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
17268
17269         * gdk/win32/gdk.def gtk/gtk.def: Updates.
17270
17271 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
17272
17273         * configure.in: Added "uk" to ALL_LINGUAS.
17274         
17275 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
17276
17277         * configure.in: correct checking for BeOS check
17278
17279         * gdk/gdktypes.h
17280         * gtk/fnmatch.c
17281         * gtk/gtkfilesel.c
17282         * gtk/gtkitemfactory.c
17283         * gtk/gtkmain.[ch]
17284         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
17285
17286 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
17287
17288         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
17289         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
17290         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
17291         by Bulgarian). 
17292
17293 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
17294
17295         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
17296         Fix a reference to window_private->destroyed.   
17297
17298         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
17299         (ugly) setting of an internal GdkWindow member to use
17300         a _slightly_ cleaner macro.
17301
17302         * gdk/gdkprivate.h: Split GdkWindowPrivate into
17303         GdkDrawablePrivate and GdkWindowPrivate.
17304         Add extra macros for accessing GDK_DRAWABLE_ components.
17305
17306         * *.[ch]: Massive adjustments for the above, use the
17307         new macros in a lot of places.
17308
17309 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
17310
17311         * gdk/gdktypes.h: Make GdkDrawable the base type,
17312         not GdkWindow.
17313
17314 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
17315
17316         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
17317
17318 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
17319
17320         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
17321
17322 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
17323
17324         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
17325         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
17326
17327         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
17328
17329         * docs/gtk-config.1: Now autogenerated.
17330         * docs/Changes-1.4.txt: started
17331         
17332 1999-10-03  Tor Lillqvist  <tml@iki.fi>
17333
17334         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
17335         to #ifdef also here.
17336
17337         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
17338         Owen did to the X11 backend.
17339
17340         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
17341         ScrollWindowEx when blitting inside a window, it can't be correct
17342         in the general case.
17343
17344         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
17345         WM_GETMINMAXINFO is easier.
17346
17347         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
17348         depth equal to the bitspixel value, not the visual's depth.
17349
17350         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
17351         to 24 even if the bitspixel value is 32.
17352
17353         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
17354         need to check for depth==32 when bpp==32, depth will always be 24.
17355
17356 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
17357
17358         * docs/Changes-1.4.txt: Started
17359         
17360         * gtk/Makefile.am (gdk_headers): Include all the new headers.
17361
17362         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
17363         
17364         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
17365         into C file.
17366         
17367         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
17368         header to gdkinputprivate.h.
17369
17370         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
17371         unused since before 1.2.
17372
17373 1999-09-30  Tor Lillqvist  <tml@iki.fi>
17374
17375         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
17376         expand possible hex escapes in the font family (put there by
17377         logfont_to_xlfd if the font name isn't a legal XLFD font family,
17378         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
17379         On Win32, add hex escapes here, too.
17380
17381 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
17382
17383         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
17384         to #ifdef GDK_WINDOWING_X11.
17385
17386 [ Merges from gtk-1-2 ]
17387
17388 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
17389
17390         * configure.in: fixed "GNU Make" check to pass with new make version
17391         3.77.95.
17392
17393 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
17394
17395         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
17396         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
17397         AM_PATH_GTK() macros don't get confused by the -pre1.
17398
17399 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
17400
17401         * configure.in (REBUILD): Change check for perl5
17402           to check explicitely for v >= 5.002. (5.001
17403           does not work with our scripts.)
17404
17405 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
17406
17407         * configure.in: evaluate $PERL for the perl version check. added
17408         --disable-rebuilds to give the user an option to completely disable
17409         any source autogeneration rules.
17410
17411 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
17412
17413         * configure.in: evaluate $ac_make when checking for GNU Make.
17414
17415 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
17416
17417         * docs/Makefile.am: added generation.txt.
17418
17419         * Makefile.am: require automake 1.4, build README from README.in and
17420         INSTALL from INSTALL.in in dist-hook.
17421         
17422         * README.in:
17423         * INSTALL.in: new files to autogenerate README and INSTALL from.
17424
17425         * configure.in: figure whether we have GNU Make
17426
17427         * docs/generation.txt: minor additions/corrections.
17428
17429 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
17430
17431         * docs/gtkfaq.sgml: FAQ Update
17432
17433 July 30, 1999 Elliot Lee <sopwith@redhat.com>
17434         
17435         * configure.in: Fix autoconf warnings about cross compilation by
17436         trying to provide sane defaults for AC_TRY_RUN.
17437
17438 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
17439
17440         * ltconfig
17441         * ltmain.sh: upgrade to libtool 1.3.3
17442
17443 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
17444
17445         * INSTALL: Indicate that the --with-glib= configure
17446         time flag is unsupported.
17447
17448 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
17449
17450         * docs/generation.txt: Added a file that gives
17451         documenation about the autogeneration process for
17452         various autogenerated files.
17453         
17454 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
17455
17456         * configure.in (LIBS): Look for libgmodule in the
17457         right location.
17458
17459 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
17460
17461         * docs/gtk_tut.sgml: Removed references to
17462         code examples in my directory on gtk.org as
17463         they should all be in the tutorial now.
17464
17465         * docs/gtk_tut.sgml: Added sources for dial-test
17466         and scribble-xinput programs that were previously
17467         missing.
17468
17469 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
17470
17471         * TODO: Added entry about menu keyboard navigation, removed
17472         some finished items.
17473
17474 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
17475
17476         * acinclude.m4: Standardize on func_dgettext
17477         not func_gettext, so that the checks for dgettext
17478         actually are paid attention to.
17479
17480 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
17481
17482         * configure.in (LIBS): Add $INTLLIBS into $LIBS
17483         directly, rather than repeating the checks for
17484         gettext.
17485
17486         * INSTALL: Added information about gettext and
17487         NLS support.
17488
17489         * acinclude.m4 (LIBM): Check for dgettext, not
17490         just gettext. This should hopefully fix things wrt
17491         systems with old versions of GNU gettext installed.
17492
17493 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
17494
17495         * configure.in (LIBS): Look for libgmodule in the
17496         right location.
17497
17498 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
17499
17500         * autogen.sh: add --enable-maintainer-mode
17501
17502         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
17503
17504 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
17505
17506         * docs/gtk-config.1.in:
17507           docs/Makefile.am:
17508           configure.in: gtk-config is now generated.
17509
17510         * docs/gtk-config.1: Removed, now generated.
17511
17512 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
17513
17514         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
17515         handle CreateNotify itself, still put out a debuging message for
17516         --gdk-debug=events. made the ReparentNotify debugging message more
17517         verbose.
17518         wrap xcoords translation for ConfigureEvents into an error trap,
17519         a destroy event may already be pending, and in that case, the
17520         actuall coordinate values are not at all critical.
17521
17522 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
17523
17524         * gdk/gdkcc.c: Stop leaking the color_hash all over
17525         the place. Simplify and improve the logic.
17526
17527 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
17528
17529         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
17530         for prototypes and function implementations consistent (reported
17531         by Tomas Ogren).
17532
17533 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
17534
17535         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
17536         send_event set in debugging output.
17537         (gdk_compress_exposures): default initialize the event so we don't
17538         operate on bogus values (namely send_event).
17539
17540 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
17541
17542         * gdk/gdkwindow.c: When we receive an unexpected
17543         destroy notify on one of our windows, don't just
17544         warn about it, also mark our windows as destroyed.
17545
17546 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
17547
17548         * gdk/gdkfont.c (gdk_font_hash_insert): Add
17549           name => font and name => fontset hashes. The 
17550           name => fontset hash is a _big_ win since we
17551           weren't previously caching fontsets at all and loading
17552           fontsets is expensive. The name => font hash
17553           is less of a win, but it does save us from doing
17554           repeated XQueryFont calls on the same font.
17555
17556         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
17557           list so we can remove font/fontset from hash.
17558
17559 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
17560
17561         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
17562           and slightly confusing test. [ XInternAtom (,,TRUE)
17563           will never return None ].
17564
17565 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
17566
17567         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
17568           gdk/gdkwindow.c (gdk_window_set_hints):
17569
17570         Don't omit setting the properties if flags == 0 -
17571         there may be an existing set of properties there
17572         already. (Very old bug. Would it be better to
17573         delete the property instead?)
17574
17575         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
17576           spelling error in comment.
17577
17578 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
17579
17580         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
17581           to avoid stomping over gdk_error_warnings.
17582
17583         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
17584           as (bits_per_pixel + 7) / 8. This gives the same
17585           result as before for multiples of 8, but actually
17586           a "reasonable" value for 1bit or 4bit displays.
17587
17588 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
17589
17590         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
17591         GNU Make.
17592
17593 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
17594
17595         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
17596         discarding configure events.
17597
17598 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
17599
17600         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
17601         refcount is greater than zero.
17602
17603         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
17604
17605         * gdk/gdkfont.c (gdk_font_unref): Likewise.
17606
17607         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
17608
17609         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
17610
17611 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
17612
17613         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
17614         that format 32 => sizeof(item) == 4. It really is
17615         sizeof(long).
17616
17617 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
17618
17619         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
17620         core dump at all on X IO errors, only core dump
17621         if --enable-debug for X errors.
17622
17623 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
17624
17625         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
17626         unknown window:" message. disabled ConfigureNotify discarding code,
17627         because it led to events being processed out of order.
17628
17629 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
17630
17631         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
17632
17633         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
17634         we export this function, supress error warnings and don't reset the
17635         error code in the first half of this function.
17636
17637         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
17638         code (instead of just -1) so gdk_error_trap_pop() reveals something
17639         actually informative about the error that happened.
17640
17641         * gdk/*.c:
17642         don't rely on gdk_error_code being -1 if an error occoured, but just
17643         gdk_error_code != 0.
17644
17645 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
17646
17647         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
17648         pointer *before* invoking the filter function, so we at least don't
17649         crash if a filter is removed that is currently executed. window filters
17650         *really* need to be made truely reentrant at some point.
17651
17652 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
17653
17654         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
17655         PropertyNotify debug messages.
17656
17657 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
17658         
17659         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
17660         
17661         * gdk/gdkim.c: Fix cut-and-paste errors for 
17662         x/y and PreeditAttributes/StatusAttributes.
17663
17664 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
17665
17666         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
17667         G_MAXINT to 2^16 to alleviate overflow problems in
17668         various window managers.
17669
17670 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
17671
17672         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
17673         for fontsets.
17674
17675 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
17676
17677         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
17678         Initialize size_hints.x and size_hints.y because kwm
17679         brokenly pays attention to them.
17680         (Bug #1181 -  Lars Heete <hel@admin.de>)
17681
17682 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
17683
17684         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
17685         return value of gdk_list_visuals(). 
17686         (Bug #1193 - Morten Welinder <terra@diku.dk>)
17687
17688 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
17689
17690         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
17691         XSetIMValues to (void *) when comparing to NULL, to workaround
17692         the problem of some compilers barfing since older X headers don't
17693         have the prototype for it.
17694
17695 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
17696
17697         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
17698         for pseudocolor where colormap->colors was double
17699         allocated.
17700
17701         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
17702         color value in the hash table with the pixel filled
17703         in so when we do later hash table lookups, the color
17704         value is correct.
17705         
17706 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
17707
17708         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
17709         making the call
17710
17711 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
17712
17713         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
17714         pointed out by Morten Welinder <terra@diku.dk>.
17715
17716 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
17717
17718         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
17719           default filter from the list
17720
17721 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
17722
17723         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
17724           default filter from the list
17725
17726 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
17727
17728         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
17729
17730         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
17731         g_strdup_printf instead of calcing the length separately
17732
17733 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
17734
17735         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
17736         that we don't do in many other places. (Fixing duplicate 
17737         #include of config.h)
17738
17739         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
17740         Otherwise, #ifndef XINPUT_NONE check in the latter
17741         doesn't work. (Bug #546)
17742
17743 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
17744
17745         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
17746         "None" case insensitive.
17747
17748 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
17749
17750         * gdk/gdkselection.c: 
17751         Add error traps so if the other end of the connection
17752         dies, we survive.
17753
17754 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
17755
17756         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
17757         dest_xid field into two fields - one for the window
17758         to send in messages, one to indicate the last looked
17759         up window for caching purposes. This is needed, so
17760         that Leave messages get the correct window.
17761
17762 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
17763
17764         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
17765         Fix warning created by people mucking around
17766         with the gsource API.
17767
17768         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
17769         Change mapping between GIOCondition and GdkInputCondition
17770         to match the way the Linux kernel does it. This should
17771         fix problems where closed pipes were no longer signalling
17772         GDK_INPUT_READ on systems with a native poll().
17773
17774 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
17775
17776         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
17777         explicitly for the string "None" - it is in the XPM
17778         spec and some servers treat unknown colors in odd ways
17779         (like asking the user!)
17780
17781 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
17782
17783         * gdk/gdkevents.c: made "->" into a "." of previous change so
17784         it compiles
17785
17786 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
17787
17788         * gdk/gdkevents.c (gdk_compress_exposures): Set the
17789         window field of the event structure before calling
17790         user filters.
17791
17792 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
17793
17794         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
17795         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
17796
17797 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
17798
17799         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
17800         intermediate text property - prevents major memory
17801         leak when gdk_use_mb.
17802         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
17803
17804 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
17805
17806         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
17807         gtk-a-higuti-990322-[0-3]
17808
17809         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
17810         sizeof(wchar_t) != sizeof (GdkWChar)
17811
17812         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
17813         that was causing -DX_LOCALE not to work.
17814
17815         * gtk/gtkrc.c (gtk_rc_init):
17816         X_LOCALE will never have LC_MESSAGES defined
17817
17818         * gdk/gdk.c (gdk_init_check):
17819         Remove --xim-preedit and --xim-status from argv properly.
17820
17821         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
17822         that the client window is present on the X server
17823         before we pass it to the input method.
17824
17825 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
17826
17827         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
17828         if --display is specified on the command line, than
17829         the drag window will not be created on that display.
17830         
17831 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
17832
17833         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
17834         lookups with only_if_exists == TRUE were inserting
17835         bogus values into the atom cache.
17836
17837 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
17838
17839         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
17840         then reset it to NULL.
17841
17842         * gdk/gdkcolor.c:
17843         (gdk_colors_free): 
17844         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
17845         key for g_hash_table_remove() in both functions, this prevents us
17846         from accessing possibly uninitialized portions of a GdkColor structure
17847         where we are only interested in its pixel value.
17848
17849 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
17850
17851         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
17852         font hash table, if we have a GdkFontPrivate entry for this font
17853         already, simply increment its reference count, provided by Olaf Dietsche
17854         <olaf.dietsche+list.gtk@netcologne.de>.
17855
17856 1999-09-21  Tor Lillqvist  <tml@iki.fi>
17857
17858         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
17859         just to be sure.
17860
17861         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
17862         unused variables, leftovers from the X11 version.
17863
17864         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
17865
17866         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
17867         downcase fields on X11.
17868
17869 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
17870         
17871         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
17872         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
17873
17874 1999-09-17  Tor Lillqvist  <tml@iki.fi>
17875
17876         * gdk/win32/gdk.def: Add gdk_threads_mutex.
17877
17878         * gtk/makefile.msc: Correct path to libintl.
17879
17880         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
17881         use of gint vs. int, and gint vs. gboolean in headers and
17882         definitions. Use GtkType for the *_get_type functions. Note that
17883         these changes preserve binary compatibility.
17884
17885         * gdk/gdk.c
17886         * gdk/win32/gdk.c
17887         * gdk/gdk.h: Fix inconsistencies: gint vs int.
17888
17889         * gtk/gtkmain.c
17890         * gtk/gtkclist.c
17891         * gtk/gtkmenufactory.c
17892         * gtk/gtknotebook.c
17893         * gtk/gtkwidget.c: Fix inconsistencies, also gint
17894         vs. gboolean.
17895
17896         * gtk/gtkcolorsel.[ch]
17897         * gtk/gtkcombo.[ch]
17898         * gtk/gtkdrawingarea.[ch]
17899         * gtk/gtkgamma.[ch]
17900         * gtk/gtkhandlebox.[ch]
17901         * gtk/gtkhpaned.[ch]
17902         * gtk/gtkhruler.[ch]
17903         * gtk/gtkplug.[ch]
17904         * gtk/gtkpreview.[ch]
17905         * gtk/gtkruler.[ch]
17906         * gtk/gtksocket.[ch]
17907         * gtk/gtkstatusbar.[ch]
17908         * gtk/gtktoolbar.[ch]
17909         * gtk/gtkvbbox.[ch]
17910         * gtk/gtkvpaned.[ch]
17911         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
17912         functions.
17913
17914         * gtk/gtkgamma.h: Fix bug, missing () in call of
17915         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
17916
17917 1999-09-14  Tor Lillqvist  <tml@iki.fi>
17918
17919         * gdk/gdkcolor.c (gdk_colormap_new)
17920         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
17921         colormap->colors was allocated twice.
17922
17923         * gdk/win32/gdk.c: Remove some unused stuff.
17924
17925         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
17926         colormap.
17927
17928         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
17929         * gtk/gtklabel.h (gtk_label_get_type)
17930         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
17931         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
17932         in a couple of places, not guint.
17933
17934 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
17935
17936         * configure.in,po/et.po: added Estonian language file
17937
17938 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
17939
17940         * configure.in,po/da.po: added Danish file
17941
17942 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
17943
17944         * docs/gtkfaq.sgml: Minor FAQ Update
17945
17946 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
17947
17948         * docs/gtkfaq.sgml: FAQ update
17949
17950 1999-08-27  Tor Lillqvist  <tml@iki.fi>
17951
17952         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
17953         way to get window contents continually refreshed while resizing. I
17954         didn't like the effects myself, so it's not on by default.
17955
17956         * gdk/win32/gdkprivate.h: New flag variable
17957         gdk_event_func_from_window_proc, FALSE by default.
17958
17959         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
17960         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
17961         are passed --gdk-event-func-from-window-proc.
17962
17963         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
17964         and we have am event_func, call it instead of enqueing the event.
17965
17966 1999-08-23  Tor Lillqvist  <tml@iki.fi>
17967
17968         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
17969         Kelley: Set expose_count in GdkEventExposes correctly.
17970
17971         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
17972         MULTIPLE_WINDOW_CLASSES).
17973
17974         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
17975         for bug in NT, apparently NT *does* draw the end pixel, too, in
17976         LineTo with a one-pixel pen, so we don't have to do it ourselves.
17977
17978 1999-08-21  Tor Lillqvist  <tml@iki.fi>
17979
17980         Improvements by Hans Breuer: 
17981
17982         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
17983
17984         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
17985         CS_?REDRAW flags as they cause lots of (late) redraws when "show
17986         window contents while dragging" is turned on. Allocate at least
17987         one unique class for every GdkWindowType. If support for single
17988         window-specific icons is ever needed (eg. Dialog specific), every
17989         such window should get its own class.
17990
17991 1999-08-19  Tor Lillqvist  <tml@iki.fi>
17992
17993         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
17994         error that caused crashes.
17995
17996 1999-08-17  Tor Lillqvist  <tml@iki.fi>
17997
17998         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
17999         window, use ScrollWindowEx, and call UpdateWindow. This prevents
18000         bugs when for instance part of the window was outside the
18001         display. Thanks to Philippe Colantoni for finding and fixing this.
18002
18003 1999-08-16  Tor Lillqvist  <tml@iki.fi>
18004
18005         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
18006         endpoint calculations which were totally wrong. (A little RTFMing
18007         helps a lot ;-)
18008
18009         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
18010         from a separate directory, not from gettext, because of licensing
18011         issues (we want to use the LGPL version).
18012
18013         * README.win32: Mention the intl from glibc vs from gettext issue.
18014
18015 1999-08-13  Tor Lillqvist  <tml@iki.fi>
18016
18017         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
18018         in the key event handling: Now AltGr chars work again. Also,
18019         now Alt-digits are passed up as well as Control-digits.
18020         Pass keypad plus and minus as normal plus and minus.
18021
18022 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
18023
18024         * docs/gtkfaq.sgml: FAQ Update
18025
18026 1999-07-25  Tor Lillqvist  <tml@iki.fi>
18027
18028         * README.win32
18029         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
18030         the Wintab SDK.
18031
18032         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
18033         OK, but getting closer. Guard against bogus tilt data from Wacom
18034         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
18035         enable easier building without Wintab.
18036
18037         * gdk/win32/gdkinput.h
18038         * gdk/win32/gdkevents.c 
18039         * gdk/win32/gdkwindow.c: Minor changes related related to above.
18040         
18041         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
18042         code. As we have just one visual on Win32, no sense to have it in a
18043         table, and no need for the hash table.
18044
18045         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
18046         better on white background.
18047
18048 1999-07-21  Tor Lillqvist  <tml@iki.fi>
18049
18050         * README.win32: Update gcc build instructions. Mention gettext is
18051         GPL.
18052
18053         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
18054         supported cursor size with GetSystemMetrics.
18055
18056         * gdk/win32/gdkfont.c
18057         * gtk/gtkfontsel.c: Guard against some font weight and charset
18058         symbols being undefined (in mingw32 headers).
18059
18060         * gdk/win32/makefile.cygwin
18061         * gtk/makefile.cygwin
18062         * gtk/gtkthemes.c: No longer need to have differently named
18063         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
18064
18065 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
18066
18067         * docs/gtkfaq.sgml: Long awaited FAQ update.
18068
18069 1999-07-15  Tor Lillqvist  <tml@iki.fi>
18070
18071         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
18072         it. Obscure bit manipulation needed.
18073
18074         * gdk/win32/gdkevents.c: Logging.
18075         
18076         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
18077         style (file name include compiler name) for theme engines.
18078
18079 1999-07-13  Tor Lillqvist  <tml@iki.fi>
18080
18081         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
18082
18083         * gdk/win32/gdkevents.c: Fix long-standing bug in key
18084         events. The key.string wasn't zero-terminated, still we strdup'ed
18085         it in gdk_event_copy(). Synthesize crossing events for button
18086         events before possible propagation.
18087
18088         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
18089
18090         * gdk/win32/makefile.cygwin
18091         * gtk/makefile.cygwin: Use new DLL naming style for the
18092         GCC-compiled ones.
18093
18094         * gdk/win32/makefile.msc
18095         * gtk/makefile.msc: Cosmetics mostly.
18096
18097         * gtk/gtk.def: Add missing entry points.
18098
18099         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
18100
18101 1999-07-09  Tor Lillqvist  <tml@iki.fi>
18102
18103         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
18104         or height is zero. Don't print a warning if Pie or Arc fails, they
18105         always fail (?) for very narrow ellipses.
18106
18107         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
18108         the part or the destination window corresponding to source area
18109         outside of the source drawable's boundary.
18110
18111         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
18112         anything if less than two points.
18113
18114         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
18115         return NULL. Gtk cut-and-paste inside a single program works
18116         better this way. (It always gets the clipboard contents from
18117         Windows, not from its own copy, which is cleared anyway. I can't
18118         say I fully understand what happens... Emulating the X selection
18119         and property stuff is a bit of a mess.)
18120
18121         * gdk/win32/gdkevents.c
18122         * gdk/win32/gdkproperty.c: A bit more verbose logging.
18123
18124         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
18125         that never got deleted). Revamp gdk_region_shrink.
18126
18127         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
18128         after use.
18129
18130         * gtk/gtk.def: Add some missing entry points.
18131
18132         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
18133         component.
18134
18135 1999-07-04  Tor Lillqvist  <tml@iki.fi>
18136
18137         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
18138         Control-digits specially.
18139
18140 1999-07-03  Tor Lillqvist  <tml@iki.fi>
18141
18142         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
18143
18144 1999-06-28  Tor Lillqvist  <tml@iki.fi>
18145
18146         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
18147         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
18148         finding this.)
18149
18150 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
18151
18152         * gtk+.spec.in: Corrected some typos in files section.
18153         
18154 1999-06-15  Tor Lillqvist  <tml@iki.fi>
18155
18156         * README.win32: Mention using GNU gettext.
18157         * config.h.win32: Enable NLS stuff.
18158         * gtk/makefile.msc: Use GNU gettext.
18159         * gdk/win32/gdkdnd.c: Minor header reorg.
18160         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
18161         cosmetics.
18162         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
18163         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
18164
18165 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
18166
18167         * acinclude.m4
18168         * config.guess
18169         * config.status
18170         * ltconfig
18171         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
18172
18173 1999-05-30  Tor Lillqvist  <tml@iki.fi>
18174
18175         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
18176         SafeAdjustWindowRectEx. Don't override all calls to
18177         AdjustWindowRectEx by it, but use it only in two places: When
18178         creating a new top-level window and when moving a top-level
18179         window.
18180
18181         Use screen coordinate rectangle, not client rectangle, in
18182         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
18183         when we try to place a window so that the decoration (mainly,
18184         title bar) isn't visible.
18185
18186         These changes fix the bug that showed up for instance as the
18187         GIMP's saved top-level windows moving right and down (by an amount
18188         equal to the window decoration) for each session. This bug showed
18189         up also in testgtk's "Saved Position".
18190
18191         gdk_window_resize also redone a bit.
18192
18193 1999-05-25  Tor Lillqvist  <tml@iki.fi>
18194
18195         * gtk/testgtkrc: Add (commented out) Windows-style theme
18196         include line.
18197
18198         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
18199
18200 1999-05-18  Tor Lillqvist  <tml@iki.fi>
18201
18202         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
18203         gdkx.h to a gdk subdirectory, so that applications can include
18204         these with <gdk/*.h> without trouble.
18205
18206         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
18207         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
18208         have their bitmap destroyed.
18209
18210         * gdk/win32/gdk.def: Add gdk_root_parent.
18211
18212 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
18213
18214         * configure.in
18215           gtk-config.in
18216           ltconfig
18217           ltmain.sh     
18218           gtk/Makefile.am: changes to compile nicely (with xlib) 
18219           on BeOS
18220
18221 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
18222
18223         * acinclude.m4
18224         * config.guess
18225         * config.sub
18226         * ltconfig
18227         * ltmain.sh: upgrade to libtool 1.3
18228
18229 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
18230
18231         * gtk/gtkclist.c:
18232         * gtk/gtkctree.c: merges from gtk-1-2
18233
18234 1999-04-25  Tor Lillqvist  <tml@iki.fi>
18235
18236         Support added for building using a GNU toolchain on Win32,
18237         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
18238
18239         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
18240         * config.h.win32: Changes for gcc.
18241         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
18242         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
18243         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
18244         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
18245         Protect shl stuff unavaiilable with mingw32 headers.
18246         * gdk/win32/gdkevents.c: Fix typo.
18247         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
18248         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
18249         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
18250         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
18251         the mingw32 headers.
18252         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
18253         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
18254         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
18255         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
18256         Test for NATIVE_WIN32, not _MSC_VER.
18257         * gtk/gtkmain.c: No use warning about developer version on Win32,
18258         there aren't any non-developer versions anyhow.
18259         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
18260         * gtk/makefile.msc: Use pthread from another directory. Minor other
18261         changes. 
18262
18263 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
18264
18265         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
18266           default filter from the list
18267
18268 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
18269
18270         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
18271          when gtk_widget_grab_default() is called for a widget that
18272          is not within a GtkWindow.
18273
18274 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
18275
18276         * docs/gtk_tut.sgml, examples/clist.c: use a
18277           scrolled window in the clist example. Minor
18278           tutorial fixes.
18279
18280 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
18281
18282         * docs/gtk_tut.sgml: Style check from David King
18283           <dking@youvegotmail.net>
18284
18285 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
18286
18287         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
18288         compile with unknown value of GDK_WINDOWING
18289
18290 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
18291
18292         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
18293         after the rule is fired.
18294         (install-exec-local): Install gdkconfig.h only if the contents are
18295         different from the currently installed gdkconfig.h.
18296
18297 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
18298
18299         * gdk/Makefile.am (configexecincludedir): Rename from 
18300         configincludedir so that gdkconfig.h will be installed 
18301         as part of `make install-exec'. 
18302
18303 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
18304
18305         * acinclude.m4
18306         * config.guess
18307         * config.sub
18308         * ltconfig
18309         * ltmain.sh: upgrade to libtool 1.2f
18310
18311         * autogen.sh: libtool is not required to autogen gtk+
18312
18313         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
18314         needed)
18315
18316 1999-03-18  Tor Lillqvist  <tml@iki.fi>
18317
18318         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
18319         declaring gdk variables exported/imported from the DLL. New image
18320         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
18321         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
18322         GDK_DRAG_PROTO_OLE2.
18323
18324         * gdk/gdk.h: Merge in Win32 version: Two new functions,
18325         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
18326         declared only for the Win32 version, but could be in the X11
18327         version as well. (Needed for a Xlib-less gdk_imlib.)
18328         gdk_color_hash should have only one parameter. Declare
18329         gdk_threads_mutex with GDKVAR.
18330         
18331         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
18332         just one parameter.
18333
18334         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
18335         per pixel, not bits.
18336
18337         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
18338         Fetch bpp (which means bits-per-pixel here) from another place on
18339         Win32. Accept also depth==32 (which we might get on Win32) with
18340         bpp==32.
18341
18342         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
18343         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
18344         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
18345         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
18346         in the backend-dependent directory, not in the common gdk
18347         directory.
18348
18349         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
18350         headers.
18351
18352 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
18353
18354         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
18355         want to use the Gtk+ devel version (which is true, and yes - even i am
18356         currently working with the 1.2.x branch). so everyone reading this, you
18357         probably want to issue
18358         cvs checkout -r glib-1-2 glib
18359         and
18360         cvs checkout -r gtk-1-2 gtk+
18361         as your next two comands.
18362
18363 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
18364
18365         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
18366         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
18367
18368         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
18369         file. strongly deprecated the GTK_HAVE_* macros, we provide
18370         GTK_CHECK_VERSION() for people that need to check for certain
18371         Gtk+ versions.
18372
18373         * gtk/gtkcompat.h: removed this from CVS.
18374         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
18375         idea right from the start, it just didn't seem like that back then.
18376
18377 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
18378
18379         * merges from gtk-1-2:
18380
18381 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
18382
18383         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
18384         item factory class has been created.
18385         (gtk_item_factory_parse_rc): likewise.
18386
18387         * gtk/gtkmenu.c:
18388         keep proper references for old_active_menu_item.
18389         (gtk_menu_reparent): unset the usize of the new parent,
18390         so the menu can sanely be size requested and we don't get nasty screen
18391         artefacts upon next reparentation.
18392         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
18393         enter notify. only synthesize enter notifies if the pointer really is
18394         inside the event window.
18395         (gtk_menu_popdown): use gtk_menu_shell_deselect().
18396         (gtk_menu_popup): move the background setting stuff into
18397         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
18398
18399         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
18400         gtk_menu_shell_select_item() to select the new item.
18401         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
18402         do the right thing for deselection as well.
18403
18404 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
18405
18406         * gtk/gtkwidget.[hc]:
18407         (gtk_widget_accelerators_locked): return whether a widget's accelerators
18408         are locked.
18409
18410         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
18411         existing accelerators if the widget's accelerators are locked.
18412
18413 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
18414
18415         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
18416
18417         * gtk/gtkmenu.c: truely forward key press and key release events to
18418         the menu widget from the toplevel or tearoff window. we can't simply
18419         connect to that, we need to stop further processing of the events as
18420         well.
18421
18422 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
18423
18424         * gtk/gtkmenu.c:
18425         (gtk_menu_key_press): pass event->keyval, event->state to
18426         gtk_accelerator_valid, instead of event->keyval twice.
18427         refuse to install single letter accelerators for menus that use
18428         single letter shortcuts.
18429
18430         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
18431         gtk_menu_ensure_uline_accel_group().
18432
18433         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
18434         which will always return an uline accel group, made
18435         gtk_menu_get_uline_accel_group() return NULL if the group isn't
18436         yet created.
18437
18438 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
18439
18440         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
18441
18442         * gtk/gtkclist.c (gtk_clist_column_title_passive):
18443         Leave button sensitive, trap  button_press, button_release,
18444         motion_notify, enter_notify and leave_notify events instead.
18445         (gtk_clist_column_title_active): disconnect event handler.
18446         (gtk_clist_drag_data_get): fixed memory leak. Reported by
18447         Guillaume Laurent <glaurent@worldnet.fr>
18448
18449 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
18450
18451         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
18452         width/height mixups.
18453
18454         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
18455         if needed.
18456
18457 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
18458
18459         * gtk/testgtk.c (create_item_factory): unref the item factory after
18460         window's destruction.
18461
18462         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
18463         count on the menu shell around the menu item's activation, since the
18464         signal emission may cause menu shell destruction.
18465
18466         * gtk/gtkitemfactory.c:
18467         the previous code leaked one accel group per menu. we use
18468         gtk_menu_get_uline_accel_group() now to fix that, and with that
18469         also create the underline accelerator group of the menus only if
18470         required (i.e. an underline accelerator has been specified).
18471         (gtk_item_factory_construct):
18472         (gtk_item_factory_create_item): removed code that would create an
18473         extra accel group for the menu (and leak references).
18474         (gtk_item_factory_create_item): adapted the underline accelerator
18475         installation code to properly feature gtk_menu_get_uline_accel_group().
18476
18477         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
18478         menu->accel_group, this may return NULL if the accelerator group
18479         hasn't been set yet.
18480         added gtk_menu_get_uline_accel_group() to retrive the underline
18481         accelerator group of the menu, this will be created on demand
18482         and proper care is taken about its reference count.
18483
18484         * gtk/gtkitemfactory.h:
18485         * gtk/gtkitemfactory.c:
18486         dumped the approach of keeping a widgets by action list on the
18487         factory since the factory<->widget destroy negotiation didn't work
18488         and would be hard to get going at all. instead we keep a list of
18489         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
18490         persistant throughout a program's life time).
18491         also, i removed the static const gchar *key_* variables, and made
18492         them inline strings (they weren't actually used anyways).
18493         (gtk_item_factory_add_item): update ifactory->items.
18494         (gtk_item_factory_destroy): destroy ifactory->items (and remove
18495         the item factory pointer from the remaining ifactory widgets).
18496         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
18497         list to find the widget.
18498         (gtk_item_factory_get_item): new function that works around
18499         gtk_item_factory_get_widget() limitations, this function will only
18500         return menu items, even for <Branch> entries.
18501
18502 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
18503
18504         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
18505         font hash table, if we have a GdkFontPrivate entry for this font
18506         already, simply increment its reference count, provided by Olaf Dietsche
18507         <olaf.dietsche+list.gtk@netcologne.de>.
18508
18509         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
18510         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
18511
18512 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
18513
18514         * gtk/gtkcontainer.c:
18515         (gtk_container_add_with_args):
18516         (gtk_container_addv):
18517         (gtk_container_add): before adding a child to a conatiner, make sure
18518         it is (default) constructed, this is neccessary because under certain
18519         circumstances the child will get relized and mapped immediatedly, in
18520         which case it has to be constructed already.
18521
18522 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
18523
18524         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
18525         values > 1 as TRUE also.
18526
18527 1999-03-16  Tor Lillqvist  <tml@iki.fi>
18528
18529         * README.win32: New file.
18530                 
18531         * configure.in: Check for lstat.
18532
18533         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
18534         completeness.
18535
18536         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
18537
18538         * gtk/gtk.def: Removed CRs.
18539
18540         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
18541         ..\gdk\win32).
18542
18543         * gdk/win32/makefile.msc: Correct upwards relative paths.
18544         
18545 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
18546
18547         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
18548           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
18549           it was connecting a void function to expose_event and the int
18550           returning function to the draw signal
18551
18552 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
18553
18554         * configure.in:
18555         Use correct path to libgmodule.la when ref'ing uninstalled copy
18556         of glib.  (Already in stable branch, Bug #417)
18557
18558 1999-03-15  Tor Lillqvist  <tml@iki.fi>
18559
18560         Win32 merge and general portability stuff:
18561                 
18562         * acconfig.h,configure.in: Check for <sys/time.h>.
18563
18564         * gdk/win32: New directory (actually, been there for a while).
18565         
18566         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
18567         NATIVE_WIN32, and use these. Always case fold on Win32. No
18568         backslashed escapes on native Win32.
18569
18570         * gtk/{gtk.def,makefile.msc}: New files.
18571
18572         * gtk/Makefile.am: Add above new files.
18573         
18574         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
18575         instead of <strings.h>.
18576
18577         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
18578         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
18579         <unistd.h> appropriately.
18580
18581         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
18582         Use ABS() (from <glib.h>) instead of abs().
18583         
18584         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
18585         of gtk (and thus glib) headers, so that WIN32 will be
18586         defined. With MS C, include <direct.h> for mkdir prototype.
18587
18588         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
18589         some casts, needed by MS C.
18590
18591         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
18592         implemented).
18593
18594         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
18595         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
18596         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
18597
18598         * gtk/gtkmain.h: Mark variables for export/import on Win32.
18599                 
18600         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
18601         the event is not a hint, or its window is not the slider. Needed
18602         on Win32, at least.
18603
18604         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
18605         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
18606         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
18607         a subdirectory of the Windows directory as gtk system
18608         configuration directory.
18609
18610         * gtk/gtkselection.c: No chunks on Win32.
18611
18612         * gtk/gtksocket.c: Not implemented on Win32.
18613
18614         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
18615
18616         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
18617
18618         * gtk/maketypes.awk: Declare variables with a macro that expands to
18619         necessary export/import magic in the case of Win32.
18620                 
18621         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
18622
18623 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
18624
18625         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
18626         since those were meant only for gdki18n.h.  
18627         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
18628         for widechar tests.
18629         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
18630
18631 1999-03-13  Tor Lillqvist  <tml@iki.fi>
18632
18633         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
18634         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
18635
18636         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
18637         installed) to CFLAGS.
18638
18639         * gdk/Makefile.am: Add rules for gdkconfig.h.
18640
18641         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
18642         APIs.
18643
18644         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
18645         gdkx.h anyway when compiling for X11.
18646         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
18647         general): Merge in Win32 version.
18648         
18649         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
18650         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
18651         expansion (if we don't have HAVE_PWD_H), allow for drive
18652         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
18653         included code from Craig Setera's port to Win32 (the one that uses
18654         X11, and the cygwin dll), even if it probably will be abandoned.
18655
18656         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
18657         the user entered one herself.  This way one can complete *.h and
18658         don't get matches on any .help files, for instance.
18659         
18660 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
18661
18662         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
18663         font hash table, if we have a GdkFontPrivate entry for this font
18664         already, simply increment its reference count, provided by Olaf Dietsche
18665         <olaf.dietsche+list.gtk@netcologne.de>.
18666
18667         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
18668         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
18669
18670 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
18671
18672         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
18673         the number of calls to gdk_draw_point() (and thus to X) by
18674         clipping the points by hand.
18675
18676         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
18677         the clip parameter.
18678         (gtk_handle_box_paint): Only paint the handle if the expose area
18679         intersects it.
18680
18681 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
18682
18683         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
18684
18685 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
18686
18687         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
18688         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
18689
18690 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
18691
18692         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
18693          textmode (O_TEXT) for OS/2 version.
18694
18695 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
18696
18697         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
18698         GtkSpinButton, "input" and "output", to make the output more flexible.
18699         The user has to provide a mapping between adjustment->value and the
18700         output string (and vice versa, if the spin button is editable). 
18701         See testgtk for examples.
18702
18703 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
18704
18705         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
18706         new one.
18707         
18708         * configure.in: set gtk+ version to 1.3.0.